1*c6af2e7dSSimon GlassNAND Flash 2*c6af2e7dSSimon Glass---------- 3*c6af2e7dSSimon Glass 4*c6af2e7dSSimon Glass(there isn't yet a generic binding in Linux, so this describes what is in 5*c6af2e7dSSimon GlassU-Boot. There should not be Linux-specific or U-Boot specific binding, just 6*c6af2e7dSSimon Glassa binding that describes this hardware. But agreeing a binding in Linux in 7*c6af2e7dSSimon Glassthe absence of a driver may be beyond my powers.) 8*c6af2e7dSSimon Glass 9*c6af2e7dSSimon GlassThe device node for a NAND flash device is as follows: 10*c6af2e7dSSimon Glass 11*c6af2e7dSSimon GlassRequired properties : 12*c6af2e7dSSimon Glass - compatible : Should be "manufacturer,device", "nand-flash" 13*c6af2e7dSSimon Glass 14*c6af2e7dSSimon GlassThis node should sit inside its controller. 15*c6af2e7dSSimon Glass 16*c6af2e7dSSimon Glass 17*c6af2e7dSSimon GlassNvidia NAND Controller 18*c6af2e7dSSimon Glass---------------------- 19*c6af2e7dSSimon Glass 20*c6af2e7dSSimon GlassThe device node for a NAND flash controller is as follows: 21*c6af2e7dSSimon Glass 22*c6af2e7dSSimon GlassOptional properties: 23*c6af2e7dSSimon Glass 24*c6af2e7dSSimon Glassnvidia,wp-gpios : GPIO of write-protect line, three cells in the format: 25*c6af2e7dSSimon Glass phandle, parameter, flags 26*c6af2e7dSSimon Glassnvidia,nand-width : bus width of the NAND device in bits 27*c6af2e7dSSimon Glass 28*c6af2e7dSSimon Glass - nvidia,nand-timing : Timing parameters for the NAND. Each is in ns. 29*c6af2e7dSSimon Glass Order is: MAX_TRP_TREA, TWB, Max(tCS, tCH, tALS, tALH), 30*c6af2e7dSSimon Glass TWHR, Max(tCS, tCH, tALS, tALH), TWH, TWP, TRH, TADL 31*c6af2e7dSSimon Glass 32*c6af2e7dSSimon Glass MAX_TRP_TREA is: 33*c6af2e7dSSimon Glass non-EDO mode: Max(tRP, tREA) + 6ns 34*c6af2e7dSSimon Glass EDO mode: tRP timing 35*c6af2e7dSSimon Glass 36*c6af2e7dSSimon GlassThe 'reg' property should provide the chip select used by the flash chip. 37*c6af2e7dSSimon Glass 38*c6af2e7dSSimon Glass 39*c6af2e7dSSimon GlassExample 40*c6af2e7dSSimon Glass------- 41*c6af2e7dSSimon Glass 42*c6af2e7dSSimon Glassnand-controller@0x70008000 { 43*c6af2e7dSSimon Glass compatible = "nvidia,tegra20-nand"; 44*c6af2e7dSSimon Glass #address-cells = <1>; 45*c6af2e7dSSimon Glass #size-cells = <0>; 46*c6af2e7dSSimon Glass nvidia,wp-gpios = <&gpio 59 0>; /* PH3 */ 47*c6af2e7dSSimon Glass nvidia,nand-width = <8>; 48*c6af2e7dSSimon Glass nvidia,timing = <26 100 20 80 20 10 12 10 70>; 49*c6af2e7dSSimon Glass nand@0 { 50*c6af2e7dSSimon Glass reg = <0>; 51*c6af2e7dSSimon Glass compatible = "hynix,hy27uf4g2b", "nand-flash"; 52*c6af2e7dSSimon Glass }; 53*c6af2e7dSSimon Glass}; 54