154 lines · yaml
1# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause2%YAML 1.23---4$id: http://devicetree.org/schemas/mtd/denali,nand.yaml#5$schema: http://devicetree.org/meta-schemas/core.yaml#6 7title: Denali NAND controller8 9maintainers:10 - Masahiro Yamada <yamada.masahiro@socionext.com>11 12properties:13 compatible:14 enum:15 - altr,socfpga-denali-nand16 - socionext,uniphier-denali-nand-v5a17 - socionext,uniphier-denali-nand-v5b18 19 reg-names:20 description: |21 There are two register regions:22 nand_data: host data/command interface23 denali_reg: register interface24 items:25 - const: nand_data26 - const: denali_reg27 28 reg:29 minItems: 230 maxItems: 231 32 interrupts:33 maxItems: 134 35 clock-names:36 description: |37 There are three clocks:38 nand: controller core clock39 nand_x: bus interface clock40 ecc: ECC circuit clock41 items:42 - const: nand43 - const: nand_x44 - const: ecc45 46 clocks:47 minItems: 348 maxItems: 349 50 reset-names:51 description: |52 There are two optional resets:53 nand: controller core reset54 reg: register reset55 oneOf:56 - items:57 - const: nand58 - const: reg59 - const: nand60 - const: reg61 62 resets:63 minItems: 164 maxItems: 265 66patternProperties:67 "^nand@[a-f0-9]$":68 type: object69 $ref: raw-nand-chip.yaml70 unevaluatedProperties: false71 72allOf:73 - $ref: nand-controller.yaml74 75 - if:76 properties:77 compatible:78 contains:79 const: altr,socfpga-denali-nand80 then:81 patternProperties:82 "^nand@[a-f0-9]$":83 properties:84 nand-ecc-strength:85 enum:86 - 887 - 1588 nand-ecc-step-size:89 enum:90 - 51291 92 - if:93 properties:94 compatible:95 contains:96 const: socionext,uniphier-denali-nand-v5a97 then:98 patternProperties:99 "^nand@[a-f0-9]$":100 properties:101 nand-ecc-strength:102 enum:103 - 8104 - 16105 - 24106 nand-ecc-step-size:107 enum:108 - 1024109 110 - if:111 properties:112 compatible:113 contains:114 const: socionext,uniphier-denali-nand-v5b115 then:116 patternProperties:117 "^nand@[a-f0-9]$":118 properties:119 nand-ecc-strength:120 enum:121 - 8122 - 16123 nand-ecc-step-size:124 enum:125 - 1024126 127required:128 - compatible129 - reg130 - interrupts131 - clock-names132 - clocks133 134unevaluatedProperties: false135 136examples:137 - |138 nand-controller@ff900000 {139 compatible = "altr,socfpga-denali-nand";140 reg-names = "nand_data", "denali_reg";141 reg = <0xff900000 0x20>, <0xffb80000 0x1000>;142 interrupts = <0 144 4>;143 clock-names = "nand", "nand_x", "ecc";144 clocks = <&nand_clk>, <&nand_x_clk>, <&nand_ecc_clk>;145 reset-names = "nand", "reg";146 resets = <&nand_rst>, <&nand_reg_rst>;147 #address-cells = <1>;148 #size-cells = <0>;149 150 nand@0 {151 reg = <0>;152 };153 };154