| * Freescale General-Purpose Media Interface (GPMI) |
| |
| The GPMI nand controller provides an interface to control the |
| NAND flash chips. |
| |
| Required properties: |
| - compatible : should be "fsl,<chip>-gpmi-nand", chip can be: |
| * imx23 |
| * imx28 |
| * imx6q |
| * imx6sx |
| * imx7d |
| - reg : should contain registers location and length for gpmi and bch. |
| - reg-names: Should contain the reg names "gpmi-nand" and "bch" |
| - interrupts : BCH interrupt number. |
| - interrupt-names : Should be "bch". |
| - dmas: DMA specifier, consisting of a phandle to DMA controller node |
| and GPMI DMA channel ID. |
| Refer to dma.txt and fsl-mxs-dma.txt for details. |
| - dma-names: Must be "rx-tx". |
| - clocks : clocks phandle and clock specifier corresponding to each clock |
| specified in clock-names. |
| - clock-names : The "gpmi_io" clock is always required. Which clocks are |
| exactly required depends on chip: |
| * imx23/imx28 : "gpmi_io" |
| * imx6q/sx : "gpmi_io", "gpmi_apb", "gpmi_bch", "gpmi_bch_apb", "per1_bch" |
| * imx7d : "gpmi_io", "gpmi_bch_apb" |
| |
| Optional properties: |
| - nand-on-flash-bbt: boolean to enable on flash bbt option if not |
| present false |
| - fsl,use-minimum-ecc: Protect this NAND flash with the minimum ECC |
| strength required. The required ECC strength is |
| automatically discoverable for some flash |
| (e.g., according to the ONFI standard). |
| However, note that if this strength is not |
| discoverable or this property is not enabled, |
| the software may chooses an implementation-defined |
| ECC scheme. |
| - fsl,no-blockmark-swap: Don't swap the bad block marker from the OOB |
| area with the byte in the data area but rely on the |
| flash based BBT for identifying bad blocks. |
| NOTE: this is only valid in conjunction with |
| 'nand-on-flash-bbt'. |
| WARNING: on i.MX28 blockmark swapping cannot be |
| disabled for the BootROM in the FCB. Thus, |
| partitions written from Linux with this feature |
| turned on may not be accessible by the BootROM |
| code. |
| - nand-ecc-strength: integer representing the number of bits to correct |
| per ECC step. Needs to be a multiple of 2. |
| - nand-ecc-step-size: integer representing the number of data bytes |
| that are covered by a single ECC step. The driver |
| supports 512 and 1024. |
| |
| The device tree may optionally contain sub-nodes describing partitions of the |
| address space. See partition.txt for more detail. |
| |
| Examples: |
| |
| gpmi-nand@8000c000 { |
| compatible = "fsl,imx28-gpmi-nand"; |
| #address-cells = <1>; |
| #size-cells = <1>; |
| reg = <0x8000c000 2000>, <0x8000a000 2000>; |
| reg-names = "gpmi-nand", "bch"; |
| interrupts = <41>; |
| interrupt-names = "bch"; |
| dmas = <&dma_apbh 4>; |
| dma-names = "rx-tx"; |
| |
| partition@0 { |
| ... |
| }; |
| }; |