blob: 28167c0cf2719ffdad2159562a8de962f25c2b26 [file] [log] [blame]
Tom Rini53633a82024-02-29 12:33:36 -05001# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/mtd/nand-controller.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: NAND Controller Common Properties
8
9maintainers:
10 - Miquel Raynal <miquel.raynal@bootlin.com>
11 - Richard Weinberger <richard@nod.at>
12
13description: |
14 The NAND controller should be represented with its own DT node, and
15 all NAND chips attached to this controller should be defined as
16 children nodes of the NAND controller. This representation should be
17 enforced even for simple controllers supporting only one chip.
18
19properties:
20 $nodename:
21 pattern: "^nand-controller(@.*)?"
22
23 "#address-cells":
24 const: 1
25
26 "#size-cells":
27 const: 0
28
29 ranges: true
30
31 cs-gpios:
32 description:
33 Array of chip-select available to the controller. The first
34 entries are a 1:1 mapping of the available chip-select on the
35 NAND controller (even if they are not used). As many additional
36 chip-select as needed may follow and should be phandles of GPIO
37 lines. 'reg' entries of the NAND chip subnodes become indexes of
38 this array when this property is present.
39 minItems: 1
40 maxItems: 8
41
42patternProperties:
43 "^nand@[a-f0-9]$":
44 type: object
45 $ref: raw-nand-chip.yaml#
46
47required:
48 - "#address-cells"
49 - "#size-cells"
50
51# This is a generic file other binding inherit from and extend
52additionalProperties: true
53
54examples:
55 - |
56 nand-controller {
57 #address-cells = <1>;
58 #size-cells = <0>;
59 cs-gpios = <0>, <&gpioA 1>; /* A single native CS is available */
60
61 /* controller specific properties */
62
63 nand@0 {
64 reg = <0>; /* Native CS */
65 /* NAND chip specific properties */
66 };
67
68 nand@1 {
69 reg = <1>; /* GPIO CS */
70 };
71 };