^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1) Device tree bindings for Texas instruments Davinci/Keystone NAND controller
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3) This file provides information, what the device node for the davinci/keystone
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4) NAND interface contains.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 5)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 6) Documentation:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 7) Davinci DM646x - https://www.ti.com/lit/ug/sprueq7c/sprueq7c.pdf
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 8) Kestone - https://www.ti.com/lit/ug/sprugz3a/sprugz3a.pdf
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 9)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 10) Required properties:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 11)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 12) - compatible: "ti,davinci-nand"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 13) "ti,keystone-nand"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 14)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 15) - reg: Contains 2 offset/length values:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 16) - offset and length for the access window.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 17) - offset and length for accessing the AEMIF
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 18) control registers.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 19)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 20) - ti,davinci-chipselect: number of chipselect. Indicates on the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 21) davinci_nand driver which chipselect is used
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 22) for accessing the nand.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 23) Can be in the range [0-3].
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 24)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 25) Recommended properties :
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 26)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 27) - ti,davinci-mask-ale: mask for ALE. Needed for executing address
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 28) phase. These offset will be added to the base
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 29) address for the chip select space the NAND Flash
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 30) device is connected to.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 31) If not set equal to 0x08.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 32)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 33) - ti,davinci-mask-cle: mask for CLE. Needed for executing command
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 34) phase. These offset will be added to the base
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 35) address for the chip select space the NAND Flash
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 36) device is connected to.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 37) If not set equal to 0x10.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 38)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 39) - ti,davinci-mask-chipsel: mask for chipselect address. Needed to mask
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 40) addresses for given chipselect.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 41)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 42) - nand-ecc-mode: operation mode of the NAND ecc mode. ECC mode
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 43) valid values for davinci driver:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 44) - "none"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 45) - "soft"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 46) - "hw"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 47)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 48) - ti,davinci-ecc-bits: used ECC bits, currently supported 1 or 4.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 49)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 50) - nand-bus-width: buswidth 8 or 16. If not present 8.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 51)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 52) - nand-on-flash-bbt: use flash based bad block table support. OOB
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 53) identifier is saved in OOB area. If not present
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 54) false.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 55)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 56) Deprecated properties:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 57)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 58) - ti,davinci-ecc-mode: operation mode of the NAND ecc mode. ECC mode
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 59) valid values for davinci driver:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 60) - "none"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 61) - "soft"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 62) - "hw"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 63)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 64) - ti,davinci-nand-buswidth: buswidth 8 or 16. If not present 8.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 65)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 66) - ti,davinci-nand-use-bbt: use flash based bad block table support. OOB
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 67) identifier is saved in OOB area. If not present
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 68) false.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 69)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 70) Nand device bindings may contain additional sub-nodes describing partitions of
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 71) the address space. See partition.txt for more detail. The NAND Flash timing
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 72) values must be programmed in the chip select’s node of AEMIF
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 73) memory-controller (see Documentation/devicetree/bindings/memory-controllers/
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 74) davinci-aemif.txt).
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 75)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 76) Example(da850 EVM ):
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 77)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 78) nand_cs3@62000000 {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 79) compatible = "ti,davinci-nand";
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 80) reg = <0x62000000 0x807ff
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 81) 0x68000000 0x8000>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 82) ti,davinci-chipselect = <1>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 83) ti,davinci-mask-ale = <0>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 84) ti,davinci-mask-cle = <0>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 85) ti,davinci-mask-chipsel = <0>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 86) nand-ecc-mode = "hw";
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 87) ti,davinci-ecc-bits = <4>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 88) nand-on-flash-bbt;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 89)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 90) partition@180000 {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 91) label = "ubifs";
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 92) reg = <0x180000 0x7e80000>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 93) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 94) };