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 HuangallOf: 13493d37ceSAnson Huang - $ref: "nand-controller.yaml" 14493d37ceSAnson Huang 15493d37ceSAnson Huangdescription: | 16493d37ceSAnson Huang The GPMI nand controller provides an interface to control the NAND 17493d37ceSAnson Huang flash chips. The device tree may optionally contain sub-nodes 18493d37ceSAnson Huang describing partitions of the address space. See partition.txt for 19493d37ceSAnson Huang more detail. 20493d37ceSAnson Huang 21493d37ceSAnson Huangproperties: 22493d37ceSAnson Huang compatible: 23b781592cSKrzysztof Kozlowski oneOf: 24b781592cSKrzysztof Kozlowski - enum: 25493d37ceSAnson Huang - fsl,imx23-gpmi-nand 26493d37ceSAnson Huang - fsl,imx28-gpmi-nand 27493d37ceSAnson Huang - fsl,imx6q-gpmi-nand 28493d37ceSAnson Huang - fsl,imx6sx-gpmi-nand 29493d37ceSAnson Huang - fsl,imx7d-gpmi-nand 30b781592cSKrzysztof Kozlowski - items: 31b781592cSKrzysztof Kozlowski - enum: 32b781592cSKrzysztof Kozlowski - fsl,imx8mm-gpmi-nand 33b781592cSKrzysztof Kozlowski - fsl,imx8mn-gpmi-nand 34b781592cSKrzysztof Kozlowski - const: fsl,imx7d-gpmi-nand 35493d37ceSAnson Huang 36493d37ceSAnson Huang reg: 37493d37ceSAnson Huang items: 38493d37ceSAnson Huang - description: Address and length of gpmi block. 39493d37ceSAnson Huang - description: Address and length of bch block. 40493d37ceSAnson Huang 41493d37ceSAnson Huang reg-names: 42493d37ceSAnson Huang items: 43493d37ceSAnson Huang - const: gpmi-nand 44493d37ceSAnson Huang - const: bch 45493d37ceSAnson Huang 46493d37ceSAnson Huang interrupts: 47493d37ceSAnson Huang maxItems: 1 48493d37ceSAnson Huang 49493d37ceSAnson Huang interrupt-names: 50493d37ceSAnson Huang const: bch 51493d37ceSAnson Huang 52493d37ceSAnson Huang dmas: 53493d37ceSAnson Huang maxItems: 1 54493d37ceSAnson Huang 55493d37ceSAnson Huang dma-names: 56493d37ceSAnson Huang const: rx-tx 57493d37ceSAnson Huang 58493d37ceSAnson Huang clocks: 59493d37ceSAnson Huang minItems: 1 60493d37ceSAnson Huang maxItems: 5 61493d37ceSAnson Huang items: 62493d37ceSAnson Huang - description: SoC gpmi io clock 63493d37ceSAnson Huang - description: SoC gpmi apb clock 64493d37ceSAnson Huang - description: SoC gpmi bch clock 65493d37ceSAnson Huang - description: SoC gpmi bch apb clock 66493d37ceSAnson Huang - description: SoC per1 bch clock 67493d37ceSAnson Huang 68493d37ceSAnson Huang clock-names: 69493d37ceSAnson Huang minItems: 1 70493d37ceSAnson Huang maxItems: 5 71493d37ceSAnson Huang items: 72493d37ceSAnson Huang - const: gpmi_io 73493d37ceSAnson Huang - const: gpmi_apb 74493d37ceSAnson Huang - const: gpmi_bch 75493d37ceSAnson Huang - const: gpmi_bch_apb 76493d37ceSAnson Huang - const: per1_bch 77493d37ceSAnson Huang 78493d37ceSAnson Huang fsl,use-minimum-ecc: 79493d37ceSAnson Huang type: boolean 80493d37ceSAnson Huang description: | 81493d37ceSAnson Huang Protect this NAND flash with the minimum ECC strength required. 82493d37ceSAnson Huang The required ECC strength is automatically discoverable for some 83493d37ceSAnson Huang flash (e.g., according to the ONFI standard). However, note that 84493d37ceSAnson Huang if this strength is not discoverable or this property is not enabled, 85493d37ceSAnson Huang the software may chooses an implementation-defined ECC scheme. 86493d37ceSAnson Huang 87493d37ceSAnson Huang fsl,no-blockmark-swap: 88493d37ceSAnson Huang type: boolean 89493d37ceSAnson Huang description: | 90493d37ceSAnson Huang Don't swap the bad block marker from the OOB area with the byte in 91493d37ceSAnson Huang the data area but rely on the flash based BBT for identifying bad blocks. 92493d37ceSAnson Huang NOTE: this is only valid in conjunction with 'nand-on-flash-bbt'. 93493d37ceSAnson Huang WARNING: on i.MX28 blockmark swapping cannot be disabled for the BootROM 94493d37ceSAnson Huang in the FCB. Thus, partitions written from Linux with this feature turned 95493d37ceSAnson Huang on may not be accessible by the BootROM code. 96493d37ceSAnson Huang 97493d37ceSAnson Huangrequired: 98493d37ceSAnson Huang - compatible 99493d37ceSAnson Huang - reg 100493d37ceSAnson Huang - reg-names 101493d37ceSAnson Huang - interrupts 102493d37ceSAnson Huang - interrupt-names 103493d37ceSAnson Huang - clocks 104493d37ceSAnson Huang - clock-names 105493d37ceSAnson Huang - dmas 106493d37ceSAnson Huang - dma-names 107493d37ceSAnson Huang 108493d37ceSAnson HuangunevaluatedProperties: false 109493d37ceSAnson Huang 110493d37ceSAnson Huangexamples: 111493d37ceSAnson Huang - | 112493d37ceSAnson Huang nand-controller@8000c000 { 113493d37ceSAnson Huang #address-cells = <1>; 114493d37ceSAnson Huang #size-cells = <0>; 115493d37ceSAnson Huang compatible = "fsl,imx28-gpmi-nand"; 116493d37ceSAnson Huang reg = <0x8000c000 0x2000>, <0x8000a000 0x2000>; 117493d37ceSAnson Huang reg-names = "gpmi-nand", "bch"; 118493d37ceSAnson Huang interrupts = <41>; 119493d37ceSAnson Huang interrupt-names = "bch"; 120493d37ceSAnson Huang clocks = <&clks 50>; 121493d37ceSAnson Huang clock-names = "gpmi_io"; 122493d37ceSAnson Huang dmas = <&dma_apbh 4>; 123493d37ceSAnson Huang dma-names = "rx-tx"; 124493d37ceSAnson Huang }; 125