1 # SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
2 %YAML 1.2
3 ---
4 $id: http://devicetree.org/schemas/mtd/denali,nand.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
6
7 title: Denali NAND controller
8
9 maintainers:
10 - Masahiro Yamada <yamada.masahiro@socionext.com>
11
12 properties:
13 compatible:
14 enum:
15 - altr,socfpga-denali-nand
16 - socionext,uniphier-denali-nand-v5a
17 - socionext,uniphier-denali-nand-v5b
18
19 reg-names:
20 description: |
21 There are two register regions:
22 nand_data: host data/command interface
23 denali_reg: register interface
24 items:
25 - const: nand_data
26 - const: denali_reg
27
28 reg:
29 minItems: 2
30 maxItems: 2
31
32 interrupts:
33 maxItems: 1
34
35 clock-names:
36 description: |
37 There are three clocks:
38 nand: controller core clock
39 nand_x: bus interface clock
40 ecc: ECC circuit clock
41 items:
42 - const: nand
43 - const: nand_x
44 - const: ecc
45
46 clocks:
47 minItems: 3
48 maxItems: 3
49
50 reset-names:
51 description: |
52 There are two optional resets:
53 nand: controller core reset
54 reg: register reset
55 oneOf:
56 - items:
57 - const: nand
58 - const: reg
59 - const: nand
60 - const: reg
61
62 resets:
63 minItems: 1
64 maxItems: 2
65
66 allOf:
67 - $ref: nand-controller.yaml
68
69 - if:
70 properties:
71 compatible:
72 contains:
73 const: altr,socfpga-denali-nand
74 then:
75 patternProperties:
76 "^nand@[a-f0-9]$":
77 type: object
78 properties:
79 nand-ecc-strength:
80 enum:
81 - 8
82 - 15
83 nand-ecc-step-size:
84 enum:
85 - 512
86
87 - if:
88 properties:
89 compatible:
90 contains:
91 const: socionext,uniphier-denali-nand-v5a
92 then:
93 patternProperties:
94 "^nand@[a-f0-9]$":
95 type: object
96 properties:
97 nand-ecc-strength:
98 enum:
99 - 8
100 - 16
101 - 24
102 nand-ecc-step-size:
103 enum:
104 - 1024
105
106 - if:
107 properties:
108 compatible:
109 contains:
110 const: socionext,uniphier-denali-nand-v5b
111 then:
112 patternProperties:
113 "^nand@[a-f0-9]$":
114 type: object
115 properties:
116 nand-ecc-strength:
117 enum:
118 - 8
119 - 16
120 nand-ecc-step-size:
121 enum:
122 - 1024
123
124 required:
125 - compatible
126 - reg
127 - interrupts
128 - clock-names
129 - clocks
130
131 unevaluatedProperties: false
132
133 examples:
134 - |
135 nand-controller@ff900000 {
136 compatible = "altr,socfpga-denali-nand";
137 reg-names = "nand_data", "denali_reg";
138 reg = <0xff900000 0x20>, <0xffb80000 0x1000>;
139 interrupts = <0 144 4>;
140 clock-names = "nand", "nand_x", "ecc";
141 clocks = <&nand_clk>, <&nand_x_clk>, <&nand_ecc_clk>;
142 reset-names = "nand", "reg";
143 resets = <&nand_rst>, <&nand_reg_rst>;
144 #address-cells = <1>;
145 #size-cells = <0>;
146
147 nand@0 {
148 reg = <0>;
149 };
150 };
Cache object: c1f2e651d71cad96ad5af92fbc208761
|