1493d37ceSAnson Huang# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2493d37ceSAnson Huang%YAML 1.2 3493d37ceSAnson Huang--- 4493d37ceSAnson Huang$id: http://devicetree.org/schemas/mtd/gpmi-nand.yaml# 5493d37ceSAnson Huang$schema: http://devicetree.org/meta-schemas/core.yaml# 6493d37ceSAnson Huang 7493d37ceSAnson Huangtitle: Freescale General-Purpose Media Interface (GPMI) binding 8493d37ceSAnson Huang 9493d37ceSAnson Huangmaintainers: 10493d37ceSAnson Huang - Han Xu <han.xu@nxp.com> 11493d37ceSAnson Huang 12493d37ceSAnson Huangdescription: | 13493d37ceSAnson Huang The GPMI nand controller provides an interface to control the NAND 14493d37ceSAnson Huang flash chips. The device tree may optionally contain sub-nodes 15493d37ceSAnson Huang describing partitions of the address space. See partition.txt for 16493d37ceSAnson Huang more detail. 17493d37ceSAnson Huang 18493d37ceSAnson Huangproperties: 19493d37ceSAnson Huang compatible: 20b781592cSKrzysztof Kozlowski oneOf: 21b781592cSKrzysztof Kozlowski - enum: 22493d37ceSAnson Huang - fsl,imx23-gpmi-nand 23493d37ceSAnson Huang - fsl,imx28-gpmi-nand 24493d37ceSAnson Huang - fsl,imx6q-gpmi-nand 25493d37ceSAnson Huang - fsl,imx6sx-gpmi-nand 26493d37ceSAnson Huang - fsl,imx7d-gpmi-nand 27b781592cSKrzysztof Kozlowski - items: 28b781592cSKrzysztof Kozlowski - enum: 29b781592cSKrzysztof Kozlowski - fsl,imx8mm-gpmi-nand 30b781592cSKrzysztof Kozlowski - fsl,imx8mn-gpmi-nand 31b781592cSKrzysztof Kozlowski - const: fsl,imx7d-gpmi-nand 32493d37ceSAnson Huang 33493d37ceSAnson Huang reg: 34493d37ceSAnson Huang items: 35493d37ceSAnson Huang - description: Address and length of gpmi block. 36493d37ceSAnson Huang - description: Address and length of bch block. 37493d37ceSAnson Huang 38493d37ceSAnson Huang reg-names: 39493d37ceSAnson Huang items: 40493d37ceSAnson Huang - const: gpmi-nand 41493d37ceSAnson Huang - const: bch 42493d37ceSAnson Huang 43493d37ceSAnson Huang interrupts: 44493d37ceSAnson Huang maxItems: 1 45493d37ceSAnson Huang 46493d37ceSAnson Huang interrupt-names: 47493d37ceSAnson Huang const: bch 48493d37ceSAnson Huang 49493d37ceSAnson Huang dmas: 50493d37ceSAnson Huang maxItems: 1 51493d37ceSAnson Huang 52493d37ceSAnson Huang dma-names: 53493d37ceSAnson Huang const: rx-tx 54493d37ceSAnson Huang 55493d37ceSAnson Huang clocks: 56493d37ceSAnson Huang minItems: 1 57493d37ceSAnson Huang maxItems: 5 58493d37ceSAnson Huang 59493d37ceSAnson Huang clock-names: 60493d37ceSAnson Huang minItems: 1 61493d37ceSAnson Huang maxItems: 5 62493d37ceSAnson Huang 63493d37ceSAnson Huang fsl,use-minimum-ecc: 64493d37ceSAnson Huang type: boolean 65493d37ceSAnson Huang description: | 66493d37ceSAnson Huang Protect this NAND flash with the minimum ECC strength required. 67493d37ceSAnson Huang The required ECC strength is automatically discoverable for some 68493d37ceSAnson Huang flash (e.g., according to the ONFI standard). However, note that 69493d37ceSAnson Huang if this strength is not discoverable or this property is not enabled, 70493d37ceSAnson Huang the software may chooses an implementation-defined ECC scheme. 71493d37ceSAnson Huang 72493d37ceSAnson Huang fsl,no-blockmark-swap: 73493d37ceSAnson Huang type: boolean 74493d37ceSAnson Huang description: | 75493d37ceSAnson Huang Don't swap the bad block marker from the OOB area with the byte in 76493d37ceSAnson Huang the data area but rely on the flash based BBT for identifying bad blocks. 77493d37ceSAnson Huang NOTE: this is only valid in conjunction with 'nand-on-flash-bbt'. 78493d37ceSAnson Huang WARNING: on i.MX28 blockmark swapping cannot be disabled for the BootROM 79493d37ceSAnson Huang in the FCB. Thus, partitions written from Linux with this feature turned 80493d37ceSAnson Huang on may not be accessible by the BootROM code. 81493d37ceSAnson Huang 82493d37ceSAnson Huangrequired: 83493d37ceSAnson Huang - compatible 84493d37ceSAnson Huang - reg 85493d37ceSAnson Huang - reg-names 86493d37ceSAnson Huang - interrupts 87493d37ceSAnson Huang - interrupt-names 88493d37ceSAnson Huang - clocks 89493d37ceSAnson Huang - clock-names 90493d37ceSAnson Huang - dmas 91493d37ceSAnson Huang - dma-names 92493d37ceSAnson Huang 93493d37ceSAnson HuangunevaluatedProperties: false 94493d37ceSAnson Huang 95*6d912c49SKrzysztof KozlowskiallOf: 96*6d912c49SKrzysztof Kozlowski - $ref: "nand-controller.yaml" 97*6d912c49SKrzysztof Kozlowski 98*6d912c49SKrzysztof Kozlowski - if: 99*6d912c49SKrzysztof Kozlowski properties: 100*6d912c49SKrzysztof Kozlowski compatible: 101*6d912c49SKrzysztof Kozlowski contains: 102*6d912c49SKrzysztof Kozlowski enum: 103*6d912c49SKrzysztof Kozlowski - fsl,imx23-gpmi-nand 104*6d912c49SKrzysztof Kozlowski - fsl,imx28-gpmi-nand 105*6d912c49SKrzysztof Kozlowski then: 106*6d912c49SKrzysztof Kozlowski properties: 107*6d912c49SKrzysztof Kozlowski clocks: 108*6d912c49SKrzysztof Kozlowski items: 109*6d912c49SKrzysztof Kozlowski - description: SoC gpmi io clock 110*6d912c49SKrzysztof Kozlowski clock-names: 111*6d912c49SKrzysztof Kozlowski items: 112*6d912c49SKrzysztof Kozlowski - const: gpmi_io 113*6d912c49SKrzysztof Kozlowski 114*6d912c49SKrzysztof Kozlowski - if: 115*6d912c49SKrzysztof Kozlowski properties: 116*6d912c49SKrzysztof Kozlowski compatible: 117*6d912c49SKrzysztof Kozlowski contains: 118*6d912c49SKrzysztof Kozlowski enum: 119*6d912c49SKrzysztof Kozlowski - fsl,imx6q-gpmi-nand 120*6d912c49SKrzysztof Kozlowski - fsl,imx6sx-gpmi-nand 121*6d912c49SKrzysztof Kozlowski then: 122*6d912c49SKrzysztof Kozlowski properties: 123*6d912c49SKrzysztof Kozlowski clocks: 124*6d912c49SKrzysztof Kozlowski items: 125*6d912c49SKrzysztof Kozlowski - description: SoC gpmi io clock 126*6d912c49SKrzysztof Kozlowski - description: SoC gpmi apb clock 127*6d912c49SKrzysztof Kozlowski - description: SoC gpmi bch clock 128*6d912c49SKrzysztof Kozlowski - description: SoC gpmi bch apb clock 129*6d912c49SKrzysztof Kozlowski - description: SoC per1 bch clock 130*6d912c49SKrzysztof Kozlowski clock-names: 131*6d912c49SKrzysztof Kozlowski items: 132*6d912c49SKrzysztof Kozlowski - const: gpmi_io 133*6d912c49SKrzysztof Kozlowski - const: gpmi_apb 134*6d912c49SKrzysztof Kozlowski - const: gpmi_bch 135*6d912c49SKrzysztof Kozlowski - const: gpmi_bch_apb 136*6d912c49SKrzysztof Kozlowski - const: per1_bch 137*6d912c49SKrzysztof Kozlowski 138*6d912c49SKrzysztof Kozlowski - if: 139*6d912c49SKrzysztof Kozlowski properties: 140*6d912c49SKrzysztof Kozlowski compatible: 141*6d912c49SKrzysztof Kozlowski contains: 142*6d912c49SKrzysztof Kozlowski const: fsl,imx7d-gpmi-nand 143*6d912c49SKrzysztof Kozlowski then: 144*6d912c49SKrzysztof Kozlowski properties: 145*6d912c49SKrzysztof Kozlowski clocks: 146*6d912c49SKrzysztof Kozlowski items: 147*6d912c49SKrzysztof Kozlowski - description: SoC gpmi io clock 148*6d912c49SKrzysztof Kozlowski - description: SoC gpmi bch apb clock 149*6d912c49SKrzysztof Kozlowski clock-names: 150*6d912c49SKrzysztof Kozlowski minItems: 2 151*6d912c49SKrzysztof Kozlowski maxItems: 2 152*6d912c49SKrzysztof Kozlowski items: 153*6d912c49SKrzysztof Kozlowski - const: gpmi_io 154*6d912c49SKrzysztof Kozlowski - const: gpmi_bch_apb 155*6d912c49SKrzysztof Kozlowski 156493d37ceSAnson Huangexamples: 157493d37ceSAnson Huang - | 158493d37ceSAnson Huang nand-controller@8000c000 { 159493d37ceSAnson Huang #address-cells = <1>; 160493d37ceSAnson Huang #size-cells = <0>; 161493d37ceSAnson Huang compatible = "fsl,imx28-gpmi-nand"; 162493d37ceSAnson Huang reg = <0x8000c000 0x2000>, <0x8000a000 0x2000>; 163493d37ceSAnson Huang reg-names = "gpmi-nand", "bch"; 164493d37ceSAnson Huang interrupts = <41>; 165493d37ceSAnson Huang interrupt-names = "bch"; 166493d37ceSAnson Huang clocks = <&clks 50>; 167493d37ceSAnson Huang clock-names = "gpmi_io"; 168493d37ceSAnson Huang dmas = <&dma_apbh 4>; 169493d37ceSAnson Huang dma-names = "rx-tx"; 170493d37ceSAnson Huang }; 171