| NAND Flash |
| ---------- |
| |
| (there isn't yet a generic binding in Linux, so this describes what is in |
| U-Boot. There should not be Linux-specific or U-Boot specific binding, just |
| a binding that describes this hardware. But agreeing a binding in Linux in |
| the absence of a driver may be beyond my powers.) |
| |
| The device node for a NAND flash device is as follows: |
| |
| Required properties : |
| - compatible : Should be "manufacturer,device", "nand-flash" |
| |
| This node should sit inside its controller. |
| |
| |
| Nvidia NAND Controller |
| ---------------------- |
| |
| The device node for a NAND flash controller is as follows: |
| |
| Optional properties: |
| |
| nvidia,wp-gpios : GPIO of write-protect line, three cells in the format: |
| phandle, parameter, flags |
| nvidia,nand-width : bus width of the NAND device in bits |
| |
| - nvidia,nand-timing : Timing parameters for the NAND. Each is in ns. |
| Order is: MAX_TRP_TREA, TWB, Max(tCS, tCH, tALS, tALH), |
| TWHR, Max(tCS, tCH, tALS, tALH), TWH, TWP, TRH, TADL |
| |
| MAX_TRP_TREA is: |
| non-EDO mode: Max(tRP, tREA) + 6ns |
| EDO mode: tRP timing |
| |
| The 'reg' property should provide the chip select used by the flash chip. |
| |
| |
| Example |
| ------- |
| |
| nand-controller@0x70008000 { |
| compatible = "nvidia,tegra20-nand"; |
| #address-cells = <1>; |
| #size-cells = <0>; |
| nvidia,wp-gpios = <&gpio 59 0>; /* PH3 */ |
| nvidia,nand-width = <8>; |
| nvidia,timing = <26 100 20 80 20 10 12 10 70>; |
| nand@0 { |
| reg = <0>; |
| compatible = "hynix,hy27uf4g2b", "nand-flash"; |
| }; |
| }; |