mirror of
https://github.com/torvalds/linux.git
synced 2026-04-18 06:44:00 -04:00
The modern NAND controller binding requires NAND chips to be described as
child nodes of the controller, for example:
nand-controller {
...
nand@0 {
/* raw NAND chip properties */
};
};
However, many existing device trees place NAND chip properties directly
within the controller node because those controllers support only a single
chip. This layout is still widely used by older platforms and by other DT
consumers such as U-Boot. Migrating all existing users to the new layout
will take time.
Several kernel drivers, such as ams-delta.c, davinci_nand.c and
fsmc_nand.c, still expect the legacy layout where raw NAND properties are
defined in the controller node.
To support both layouts during the transition:
- Extract NAND chip-related properties into separate schemas
(nand-property.yaml and raw-nand-property.yaml) from
nand-chip.yaml and raw-nand-chip.yaml.
- Introduce nand-controller-legacy.yaml to allow both the
legacy and modern layouts.
- Add a select condition in nand-controller.yaml to prevent
node name pattern matching for fsl,* NAND controllers.
Keep compatibility with existing device trees while allowing gradual
migration to the modern binding structure.
Signed-off-by: Frank Li <Frank.Li@nxp.com>
Reviewed-by: Rob Herring (Arm) <robh@kernel.org>
Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com>
31 lines
752 B
YAML
31 lines
752 B
YAML
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
|
%YAML 1.2
|
|
---
|
|
$id: http://devicetree.org/schemas/mtd/nand-chip.yaml#
|
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
|
|
|
title: NAND Chip Common Properties
|
|
|
|
maintainers:
|
|
- Miquel Raynal <miquel.raynal@bootlin.com>
|
|
|
|
allOf:
|
|
- $ref: mtd.yaml#
|
|
- $ref: nand-property.yaml
|
|
|
|
description: |
|
|
This file covers the generic description of a NAND chip. It implies that the
|
|
bus interface should not be taken into account: both raw NAND devices and
|
|
SPI-NAND devices are concerned by this description.
|
|
|
|
properties:
|
|
reg:
|
|
description:
|
|
Contains the chip-select IDs.
|
|
|
|
required:
|
|
- reg
|
|
|
|
# This file can be referenced by more specific devices (like spi-nands)
|
|
additionalProperties: true
|