13449aae3SPaul Cercueil# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 23449aae3SPaul Cercueil%YAML 1.2 33449aae3SPaul Cercueil--- 43449aae3SPaul Cercueil$id: http://devicetree.org/schemas/mtd/ingenic,nand.yaml# 53449aae3SPaul Cercueil$schema: http://devicetree.org/meta-schemas/core.yaml# 63449aae3SPaul Cercueil 7a612130cSKrzysztof Kozlowskititle: Ingenic SoCs NAND controller 83449aae3SPaul Cercueil 93449aae3SPaul Cercueilmaintainers: 103449aae3SPaul Cercueil - Paul Cercueil <paul@crapouillou.net> 113449aae3SPaul Cercueil 123449aae3SPaul CercueilallOf: 133449aae3SPaul Cercueil - $ref: nand-controller.yaml# 14e1dff7f1SRob Herring - $ref: /schemas/memory-controllers/ingenic,nemc-peripherals.yaml# 153449aae3SPaul Cercueil 163449aae3SPaul Cercueilproperties: 173449aae3SPaul Cercueil compatible: 183449aae3SPaul Cercueil enum: 193449aae3SPaul Cercueil - ingenic,jz4740-nand 203449aae3SPaul Cercueil - ingenic,jz4725b-nand 213449aae3SPaul Cercueil - ingenic,jz4780-nand 223449aae3SPaul Cercueil 233449aae3SPaul Cercueil reg: 243449aae3SPaul Cercueil items: 253449aae3SPaul Cercueil - description: Bank number, offset and size of first attached NAND chip 263449aae3SPaul Cercueil - description: Bank number, offset and size of second attached NAND chip 273449aae3SPaul Cercueil - description: Bank number, offset and size of third attached NAND chip 283449aae3SPaul Cercueil - description: Bank number, offset and size of fourth attached NAND chip 293449aae3SPaul Cercueil minItems: 1 303449aae3SPaul Cercueil 313449aae3SPaul Cercueil ecc-engine: true 323449aae3SPaul Cercueil 333449aae3SPaul Cercueil partitions: 343449aae3SPaul Cercueil type: object 3573fc6320SMiquel Raynal deprecated: true 363449aae3SPaul Cercueil description: 373449aae3SPaul Cercueil Node containing description of fixed partitions. 383449aae3SPaul Cercueil 393449aae3SPaul CercueilpatternProperties: 403449aae3SPaul Cercueil "^nand@[a-f0-9]$": 413449aae3SPaul Cercueil type: object 42*711be9c3SMiquel Raynal $ref: raw-nand-chip.yaml 433449aae3SPaul Cercueil properties: 44*711be9c3SMiquel Raynal 453449aae3SPaul Cercueil rb-gpios: 463449aae3SPaul Cercueil description: GPIO specifier for the busy pin. 473449aae3SPaul Cercueil maxItems: 1 483449aae3SPaul Cercueil 493449aae3SPaul Cercueil wp-gpios: 503449aae3SPaul Cercueil description: GPIO specifier for the write-protect pin. 513449aae3SPaul Cercueil maxItems: 1 523449aae3SPaul Cercueil 53*711be9c3SMiquel Raynal unevaluatedProperties: false 54*711be9c3SMiquel Raynal 553449aae3SPaul Cercueilrequired: 563449aae3SPaul Cercueil - compatible 573449aae3SPaul Cercueil - reg 583449aae3SPaul Cercueil 596fdc6e23SRob HerringunevaluatedProperties: false 606fdc6e23SRob Herring 613449aae3SPaul Cercueilexamples: 623449aae3SPaul Cercueil - | 63c4a11bf4SPaul Cercueil #include <dt-bindings/clock/ingenic,jz4780-cgu.h> 643449aae3SPaul Cercueil memory-controller@13410000 { 653449aae3SPaul Cercueil compatible = "ingenic,jz4780-nemc"; 663449aae3SPaul Cercueil reg = <0x13410000 0x10000>; 673449aae3SPaul Cercueil #address-cells = <2>; 683449aae3SPaul Cercueil #size-cells = <1>; 693449aae3SPaul Cercueil ranges = <1 0 0x1b000000 0x1000000>, 703449aae3SPaul Cercueil <2 0 0x1a000000 0x1000000>, 713449aae3SPaul Cercueil <3 0 0x19000000 0x1000000>, 723449aae3SPaul Cercueil <4 0 0x18000000 0x1000000>, 733449aae3SPaul Cercueil <5 0 0x17000000 0x1000000>, 743449aae3SPaul Cercueil <6 0 0x16000000 0x1000000>; 753449aae3SPaul Cercueil 763449aae3SPaul Cercueil clocks = <&cgu JZ4780_CLK_NEMC>; 773449aae3SPaul Cercueil 783449aae3SPaul Cercueil nand-controller@1 { 793449aae3SPaul Cercueil compatible = "ingenic,jz4780-nand"; 803449aae3SPaul Cercueil reg = <1 0 0x1000000>; 813449aae3SPaul Cercueil 823449aae3SPaul Cercueil #address-cells = <1>; 833449aae3SPaul Cercueil #size-cells = <0>; 843449aae3SPaul Cercueil 853449aae3SPaul Cercueil ecc-engine = <&bch>; 863449aae3SPaul Cercueil 873449aae3SPaul Cercueil ingenic,nemc-tAS = <10>; 883449aae3SPaul Cercueil ingenic,nemc-tAH = <5>; 893449aae3SPaul Cercueil ingenic,nemc-tBP = <10>; 903449aae3SPaul Cercueil ingenic,nemc-tAW = <15>; 913449aae3SPaul Cercueil ingenic,nemc-tSTRV = <100>; 923449aae3SPaul Cercueil 933449aae3SPaul Cercueil pinctrl-names = "default"; 943449aae3SPaul Cercueil pinctrl-0 = <&pins_nemc>; 953449aae3SPaul Cercueil 963449aae3SPaul Cercueil nand@1 { 973449aae3SPaul Cercueil reg = <1>; 983449aae3SPaul Cercueil 993449aae3SPaul Cercueil nand-ecc-step-size = <1024>; 1003449aae3SPaul Cercueil nand-ecc-strength = <24>; 1013449aae3SPaul Cercueil nand-ecc-mode = "hw"; 1023449aae3SPaul Cercueil nand-on-flash-bbt; 1033449aae3SPaul Cercueil 1043449aae3SPaul Cercueil pinctrl-names = "default"; 1053449aae3SPaul Cercueil pinctrl-0 = <&pins_nemc_cs1>; 1063449aae3SPaul Cercueil 1073449aae3SPaul Cercueil partitions { 1083449aae3SPaul Cercueil compatible = "fixed-partitions"; 1093449aae3SPaul Cercueil #address-cells = <2>; 1103449aae3SPaul Cercueil #size-cells = <2>; 1113449aae3SPaul Cercueil 1123449aae3SPaul Cercueil partition@0 { 1133449aae3SPaul Cercueil label = "u-boot-spl"; 1143449aae3SPaul Cercueil reg = <0x0 0x0 0x0 0x800000>; 1153449aae3SPaul Cercueil }; 1163449aae3SPaul Cercueil 1173449aae3SPaul Cercueil partition@800000 { 1183449aae3SPaul Cercueil label = "u-boot"; 1193449aae3SPaul Cercueil reg = <0x0 0x800000 0x0 0x200000>; 1203449aae3SPaul Cercueil }; 1213449aae3SPaul Cercueil 1223449aae3SPaul Cercueil partition@a00000 { 1233449aae3SPaul Cercueil label = "u-boot-env"; 1243449aae3SPaul Cercueil reg = <0x0 0xa00000 0x0 0x200000>; 1253449aae3SPaul Cercueil }; 1263449aae3SPaul Cercueil 1273449aae3SPaul Cercueil partition@c00000 { 1283449aae3SPaul Cercueil label = "boot"; 1293449aae3SPaul Cercueil reg = <0x0 0xc00000 0x0 0x4000000>; 1303449aae3SPaul Cercueil }; 1313449aae3SPaul Cercueil 1323449aae3SPaul Cercueil partition@4c00000 { 1333449aae3SPaul Cercueil label = "system"; 1343449aae3SPaul Cercueil reg = <0x0 0x4c00000 0x1 0xfb400000>; 1353449aae3SPaul Cercueil }; 1363449aae3SPaul Cercueil }; 1373449aae3SPaul Cercueil }; 1383449aae3SPaul Cercueil }; 1393449aae3SPaul Cercueil }; 140