1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
4 $id: http://devicetree.org/schemas/mtd/gpmi-nand.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
7 title: Freescale General-Purpose Media Interface (GPMI) binding
10 - Han Xu <han.xu@nxp.com>
13 The GPMI nand controller provides an interface to control the NAND
14 flash chips. The device tree may optionally contain sub-nodes
15 describing partitions of the address space. See partition.txt for
25 - fsl,imx6sx-gpmi-nand
29 - fsl,imx8mm-gpmi-nand
30 - fsl,imx8mn-gpmi-nand
31 - const: fsl,imx7d-gpmi-nand
35 - description: Address and length of gpmi block.
36 - description: Address and length of bch block.
66 Protect this NAND flash with the minimum ECC strength required.
67 The required ECC strength is automatically discoverable for some
68 flash (e.g., according to the ONFI standard). However, note that
69 if this strength is not discoverable or this property is not enabled,
70 the software may chooses an implementation-defined ECC scheme.
72 fsl,no-blockmark-swap:
75 Don't swap the bad block marker from the OOB area with the byte in
76 the data area but rely on the flash based BBT for identifying bad blocks.
77 NOTE: this is only valid in conjunction with 'nand-on-flash-bbt'.
78 WARNING: on i.MX28 blockmark swapping cannot be disabled for the BootROM
79 in the FCB. Thus, partitions written from Linux with this feature turned
80 on may not be accessible by the BootROM code.
93 unevaluatedProperties: false
96 - $ref: "nand-controller.yaml"
103 - fsl,imx23-gpmi-nand
104 - fsl,imx28-gpmi-nand
109 - description: SoC gpmi io clock
119 - fsl,imx6q-gpmi-nand
120 - fsl,imx6sx-gpmi-nand
125 - description: SoC gpmi io clock
126 - description: SoC gpmi apb clock
127 - description: SoC gpmi bch clock
128 - description: SoC gpmi bch apb clock
129 - description: SoC per1 bch clock
135 - const: gpmi_bch_apb
142 const: fsl,imx7d-gpmi-nand
147 - description: SoC gpmi io clock
148 - description: SoC gpmi bch apb clock
154 - const: gpmi_bch_apb
158 nand-controller@8000c000 {
159 #address-cells = <1>;
161 compatible = "fsl,imx28-gpmi-nand";
162 reg = <0x8000c000 0x2000>, <0x8000a000 0x2000>;
163 reg-names = "gpmi-nand", "bch";
165 interrupt-names = "bch";
167 clock-names = "gpmi_io";
168 dmas = <&dma_apbh 4>;