18c2ecf20Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause 28c2ecf20Sopenharmony_ci%YAML 1.2 38c2ecf20Sopenharmony_ci--- 48c2ecf20Sopenharmony_ci$id: http://devicetree.org/schemas/mtd/denali,nand.yaml# 58c2ecf20Sopenharmony_ci$schema: http://devicetree.org/meta-schemas/core.yaml# 68c2ecf20Sopenharmony_ci 78c2ecf20Sopenharmony_cititle: Denali NAND controller 88c2ecf20Sopenharmony_ci 98c2ecf20Sopenharmony_cimaintainers: 108c2ecf20Sopenharmony_ci - Masahiro Yamada <yamada.masahiro@socionext.com> 118c2ecf20Sopenharmony_ci 128c2ecf20Sopenharmony_ciproperties: 138c2ecf20Sopenharmony_ci compatible: 148c2ecf20Sopenharmony_ci enum: 158c2ecf20Sopenharmony_ci - altr,socfpga-denali-nand 168c2ecf20Sopenharmony_ci - socionext,uniphier-denali-nand-v5a 178c2ecf20Sopenharmony_ci - socionext,uniphier-denali-nand-v5b 188c2ecf20Sopenharmony_ci 198c2ecf20Sopenharmony_ci reg-names: 208c2ecf20Sopenharmony_ci description: | 218c2ecf20Sopenharmony_ci There are two register regions: 228c2ecf20Sopenharmony_ci nand_data: host data/command interface 238c2ecf20Sopenharmony_ci denali_reg: register interface 248c2ecf20Sopenharmony_ci items: 258c2ecf20Sopenharmony_ci - const: nand_data 268c2ecf20Sopenharmony_ci - const: denali_reg 278c2ecf20Sopenharmony_ci 288c2ecf20Sopenharmony_ci reg: 298c2ecf20Sopenharmony_ci minItems: 2 308c2ecf20Sopenharmony_ci maxItems: 2 318c2ecf20Sopenharmony_ci 328c2ecf20Sopenharmony_ci interrupts: 338c2ecf20Sopenharmony_ci maxItems: 1 348c2ecf20Sopenharmony_ci 358c2ecf20Sopenharmony_ci clock-names: 368c2ecf20Sopenharmony_ci description: | 378c2ecf20Sopenharmony_ci There are three clocks: 388c2ecf20Sopenharmony_ci nand: controller core clock 398c2ecf20Sopenharmony_ci nand_x: bus interface clock 408c2ecf20Sopenharmony_ci ecc: ECC circuit clock 418c2ecf20Sopenharmony_ci items: 428c2ecf20Sopenharmony_ci - const: nand 438c2ecf20Sopenharmony_ci - const: nand_x 448c2ecf20Sopenharmony_ci - const: ecc 458c2ecf20Sopenharmony_ci 468c2ecf20Sopenharmony_ci clocks: 478c2ecf20Sopenharmony_ci minItems: 3 488c2ecf20Sopenharmony_ci maxItems: 3 498c2ecf20Sopenharmony_ci 508c2ecf20Sopenharmony_ci reset-names: 518c2ecf20Sopenharmony_ci description: | 528c2ecf20Sopenharmony_ci There are two optional resets: 538c2ecf20Sopenharmony_ci nand: controller core reset 548c2ecf20Sopenharmony_ci reg: register reset 558c2ecf20Sopenharmony_ci oneOf: 568c2ecf20Sopenharmony_ci - items: 578c2ecf20Sopenharmony_ci - const: nand 588c2ecf20Sopenharmony_ci - const: reg 598c2ecf20Sopenharmony_ci - const: nand 608c2ecf20Sopenharmony_ci - const: reg 618c2ecf20Sopenharmony_ci 628c2ecf20Sopenharmony_ci resets: 638c2ecf20Sopenharmony_ci minItems: 1 648c2ecf20Sopenharmony_ci maxItems: 2 658c2ecf20Sopenharmony_ci 668c2ecf20Sopenharmony_ciallOf: 678c2ecf20Sopenharmony_ci - $ref: nand-controller.yaml 688c2ecf20Sopenharmony_ci 698c2ecf20Sopenharmony_ci - if: 708c2ecf20Sopenharmony_ci properties: 718c2ecf20Sopenharmony_ci compatible: 728c2ecf20Sopenharmony_ci contains: 738c2ecf20Sopenharmony_ci const: altr,socfpga-denali-nand 748c2ecf20Sopenharmony_ci then: 758c2ecf20Sopenharmony_ci patternProperties: 768c2ecf20Sopenharmony_ci "^nand@[a-f0-9]$": 778c2ecf20Sopenharmony_ci type: object 788c2ecf20Sopenharmony_ci properties: 798c2ecf20Sopenharmony_ci nand-ecc-strength: 808c2ecf20Sopenharmony_ci enum: 818c2ecf20Sopenharmony_ci - 8 828c2ecf20Sopenharmony_ci - 15 838c2ecf20Sopenharmony_ci nand-ecc-step-size: 848c2ecf20Sopenharmony_ci enum: 858c2ecf20Sopenharmony_ci - 512 868c2ecf20Sopenharmony_ci 878c2ecf20Sopenharmony_ci - if: 888c2ecf20Sopenharmony_ci properties: 898c2ecf20Sopenharmony_ci compatible: 908c2ecf20Sopenharmony_ci contains: 918c2ecf20Sopenharmony_ci const: socionext,uniphier-denali-nand-v5a 928c2ecf20Sopenharmony_ci then: 938c2ecf20Sopenharmony_ci patternProperties: 948c2ecf20Sopenharmony_ci "^nand@[a-f0-9]$": 958c2ecf20Sopenharmony_ci type: object 968c2ecf20Sopenharmony_ci properties: 978c2ecf20Sopenharmony_ci nand-ecc-strength: 988c2ecf20Sopenharmony_ci enum: 998c2ecf20Sopenharmony_ci - 8 1008c2ecf20Sopenharmony_ci - 16 1018c2ecf20Sopenharmony_ci - 24 1028c2ecf20Sopenharmony_ci nand-ecc-step-size: 1038c2ecf20Sopenharmony_ci enum: 1048c2ecf20Sopenharmony_ci - 1024 1058c2ecf20Sopenharmony_ci 1068c2ecf20Sopenharmony_ci - if: 1078c2ecf20Sopenharmony_ci properties: 1088c2ecf20Sopenharmony_ci compatible: 1098c2ecf20Sopenharmony_ci contains: 1108c2ecf20Sopenharmony_ci const: socionext,uniphier-denali-nand-v5b 1118c2ecf20Sopenharmony_ci then: 1128c2ecf20Sopenharmony_ci patternProperties: 1138c2ecf20Sopenharmony_ci "^nand@[a-f0-9]$": 1148c2ecf20Sopenharmony_ci type: object 1158c2ecf20Sopenharmony_ci properties: 1168c2ecf20Sopenharmony_ci nand-ecc-strength: 1178c2ecf20Sopenharmony_ci enum: 1188c2ecf20Sopenharmony_ci - 8 1198c2ecf20Sopenharmony_ci - 16 1208c2ecf20Sopenharmony_ci nand-ecc-step-size: 1218c2ecf20Sopenharmony_ci enum: 1228c2ecf20Sopenharmony_ci - 1024 1238c2ecf20Sopenharmony_ci 1248c2ecf20Sopenharmony_cirequired: 1258c2ecf20Sopenharmony_ci - compatible 1268c2ecf20Sopenharmony_ci - reg 1278c2ecf20Sopenharmony_ci - interrupts 1288c2ecf20Sopenharmony_ci - clock-names 1298c2ecf20Sopenharmony_ci - clocks 1308c2ecf20Sopenharmony_ci 1318c2ecf20Sopenharmony_ciunevaluatedProperties: false 1328c2ecf20Sopenharmony_ci 1338c2ecf20Sopenharmony_ciexamples: 1348c2ecf20Sopenharmony_ci - | 1358c2ecf20Sopenharmony_ci nand-controller@ff900000 { 1368c2ecf20Sopenharmony_ci compatible = "altr,socfpga-denali-nand"; 1378c2ecf20Sopenharmony_ci reg-names = "nand_data", "denali_reg"; 1388c2ecf20Sopenharmony_ci reg = <0xff900000 0x20>, <0xffb80000 0x1000>; 1398c2ecf20Sopenharmony_ci interrupts = <0 144 4>; 1408c2ecf20Sopenharmony_ci clock-names = "nand", "nand_x", "ecc"; 1418c2ecf20Sopenharmony_ci clocks = <&nand_clk>, <&nand_x_clk>, <&nand_ecc_clk>; 1428c2ecf20Sopenharmony_ci reset-names = "nand", "reg"; 1438c2ecf20Sopenharmony_ci resets = <&nand_rst>, <&nand_reg_rst>; 1448c2ecf20Sopenharmony_ci #address-cells = <1>; 1458c2ecf20Sopenharmony_ci #size-cells = <0>; 1468c2ecf20Sopenharmony_ci 1478c2ecf20Sopenharmony_ci nand@0 { 1488c2ecf20Sopenharmony_ci reg = <0>; 1498c2ecf20Sopenharmony_ci }; 1508c2ecf20Sopenharmony_ci }; 151