aboutsummaryrefslogtreecommitdiffstats
path: root/Documentation/devicetree/bindings/mtd
diff options
context:
space:
mode:
Diffstat (limited to 'Documentation/devicetree/bindings/mtd')
-rw-r--r--Documentation/devicetree/bindings/mtd/atmel-nand.txt40
-rw-r--r--Documentation/devicetree/bindings/mtd/gpmi-nand.txt4
-rw-r--r--Documentation/devicetree/bindings/mtd/lpc32xx-mlc.txt50
-rw-r--r--Documentation/devicetree/bindings/mtd/lpc32xx-slc.txt52
-rw-r--r--Documentation/devicetree/bindings/mtd/mtd-physmap.txt7
5 files changed, 152 insertions, 1 deletions
diff --git a/Documentation/devicetree/bindings/mtd/atmel-nand.txt b/Documentation/devicetree/bindings/mtd/atmel-nand.txt
index a20069502f5a..d555421ea49f 100644
--- a/Documentation/devicetree/bindings/mtd/atmel-nand.txt
+++ b/Documentation/devicetree/bindings/mtd/atmel-nand.txt
@@ -3,7 +3,9 @@ Atmel NAND flash
3Required properties: 3Required properties:
4- compatible : "atmel,at91rm9200-nand". 4- compatible : "atmel,at91rm9200-nand".
5- reg : should specify localbus address and size used for the chip, 5- reg : should specify localbus address and size used for the chip,
6 and if availlable the ECC. 6 and hardware ECC controller if available.
7 If the hardware ECC is PMECC, it should contain address and size for
8 PMECC, PMECC Error Location controller and ROM which has lookup tables.
7- atmel,nand-addr-offset : offset for the address latch. 9- atmel,nand-addr-offset : offset for the address latch.
8- atmel,nand-cmd-offset : offset for the command latch. 10- atmel,nand-cmd-offset : offset for the command latch.
9- #address-cells, #size-cells : Must be present if the device has sub-nodes 11- #address-cells, #size-cells : Must be present if the device has sub-nodes
@@ -16,6 +18,15 @@ Optional properties:
16- nand-ecc-mode : String, operation mode of the NAND ecc mode, soft by default. 18- nand-ecc-mode : String, operation mode of the NAND ecc mode, soft by default.
17 Supported values are: "none", "soft", "hw", "hw_syndrome", "hw_oob_first", 19 Supported values are: "none", "soft", "hw", "hw_syndrome", "hw_oob_first",
18 "soft_bch". 20 "soft_bch".
21- atmel,has-pmecc : boolean to enable Programmable Multibit ECC hardware.
22 Only supported by at91sam9x5 or later sam9 product.
23- atmel,pmecc-cap : error correct capability for Programmable Multibit ECC
24 Controller. Supported values are: 2, 4, 8, 12, 24.
25- atmel,pmecc-sector-size : sector size for ECC computation. Supported values
26 are: 512, 1024.
27- atmel,pmecc-lookup-table-offset : includes two offsets of lookup table in ROM
28 for different sector size. First one is for sector size 512, the next is for
29 sector size 1024.
19- nand-bus-width : 8 or 16 bus width if not present 8 30- nand-bus-width : 8 or 16 bus width if not present 8
20- nand-on-flash-bbt: boolean to enable on flash bbt option if not present false 31- nand-on-flash-bbt: boolean to enable on flash bbt option if not present false
21 32
@@ -39,3 +50,30 @@ nand0: nand@40000000,0 {
39 ... 50 ...
40 }; 51 };
41}; 52};
53
54/* for PMECC supported chips */
55nand0: nand@40000000 {
56 compatible = "atmel,at91rm9200-nand";
57 #address-cells = <1>;
58 #size-cells = <1>;
59 reg = < 0x40000000 0x10000000 /* bus addr & size */
60 0xffffe000 0x00000600 /* PMECC addr & size */
61 0xffffe600 0x00000200 /* PMECC ERRLOC addr & size */
62 0x00100000 0x00100000 /* ROM addr & size */
63 >;
64 atmel,nand-addr-offset = <21>; /* ale */
65 atmel,nand-cmd-offset = <22>; /* cle */
66 nand-on-flash-bbt;
67 nand-ecc-mode = "hw";
68 atmel,has-pmecc; /* enable PMECC */
69 atmel,pmecc-cap = <2>;
70 atmel,pmecc-sector-size = <512>;
71 atmel,pmecc-lookup-table-offset = <0x8000 0x10000>;
72 gpios = <&pioD 5 0 /* rdy */
73 &pioD 4 0 /* nce */
74 0 /* cd */
75 >;
76 partition@0 {
77 ...
78 };
79};
diff --git a/Documentation/devicetree/bindings/mtd/gpmi-nand.txt b/Documentation/devicetree/bindings/mtd/gpmi-nand.txt
index 1a5bbd346d22..3fb3f9015365 100644
--- a/Documentation/devicetree/bindings/mtd/gpmi-nand.txt
+++ b/Documentation/devicetree/bindings/mtd/gpmi-nand.txt
@@ -12,6 +12,10 @@ Required properties:
12 - interrupt-names : The interrupt names "gpmi-dma", "bch"; 12 - interrupt-names : The interrupt names "gpmi-dma", "bch";
13 - fsl,gpmi-dma-channel : Should contain the dma channel it uses. 13 - fsl,gpmi-dma-channel : Should contain the dma channel it uses.
14 14
15Optional properties:
16 - nand-on-flash-bbt: boolean to enable on flash bbt option if not
17 present false
18
15The device tree may optionally contain sub-nodes describing partitions of the 19The device tree may optionally contain sub-nodes describing partitions of the
16address space. See partition.txt for more detail. 20address space. See partition.txt for more detail.
17 21
diff --git a/Documentation/devicetree/bindings/mtd/lpc32xx-mlc.txt b/Documentation/devicetree/bindings/mtd/lpc32xx-mlc.txt
new file mode 100644
index 000000000000..d0a37252eb22
--- /dev/null
+++ b/Documentation/devicetree/bindings/mtd/lpc32xx-mlc.txt
@@ -0,0 +1,50 @@
1NXP LPC32xx SoC NAND MLC controller
2
3Required properties:
4- compatible: "nxp,lpc3220-mlc"
5- reg: Address and size of the controller
6- interrupts: The NAND interrupt specification
7- gpios: GPIO specification for NAND write protect
8
9The following required properties are very controller specific. See the LPC32xx
10User Manual 7.5.14 MLC NAND Timing Register (the values here are specified in
11Hz, to make them independent of actual clock speed and to provide for good
12accuracy:)
13- nxp,tcea_delay: TCEA_DELAY
14- nxp,busy_delay: BUSY_DELAY
15- nxp,nand_ta: NAND_TA
16- nxp,rd_high: RD_HIGH
17- nxp,rd_low: RD_LOW
18- nxp,wr_high: WR_HIGH
19- nxp,wr_low: WR_LOW
20
21Optional subnodes:
22- Partitions, see Documentation/devicetree/bindings/mtd/partition.txt
23
24Example:
25
26 mlc: flash@200A8000 {
27 compatible = "nxp,lpc3220-mlc";
28 reg = <0x200A8000 0x11000>;
29 interrupts = <11 0>;
30 #address-cells = <1>;
31 #size-cells = <1>;
32
33 nxp,tcea-delay = <333333333>;
34 nxp,busy-delay = <10000000>;
35 nxp,nand-ta = <18181818>;
36 nxp,rd-high = <31250000>;
37 nxp,rd-low = <45454545>;
38 nxp,wr-high = <40000000>;
39 nxp,wr-low = <83333333>;
40 gpios = <&gpio 5 19 1>; /* GPO_P3 19, active low */
41
42 mtd0@00000000 {
43 label = "boot";
44 reg = <0x00000000 0x00064000>;
45 read-only;
46 };
47
48 ...
49
50 };
diff --git a/Documentation/devicetree/bindings/mtd/lpc32xx-slc.txt b/Documentation/devicetree/bindings/mtd/lpc32xx-slc.txt
new file mode 100644
index 000000000000..d94edc0fc554
--- /dev/null
+++ b/Documentation/devicetree/bindings/mtd/lpc32xx-slc.txt
@@ -0,0 +1,52 @@
1NXP LPC32xx SoC NAND SLC controller
2
3Required properties:
4- compatible: "nxp,lpc3220-slc"
5- reg: Address and size of the controller
6- nand-on-flash-bbt: Use bad block table on flash
7- gpios: GPIO specification for NAND write protect
8
9The following required properties are very controller specific. See the LPC32xx
10User Manual:
11- nxp,wdr-clks: Delay before Ready signal is tested on write (W_RDY)
12- nxp,rdr-clks: Delay before Ready signal is tested on read (R_RDY)
13(The following values are specified in Hz, to make them independent of actual
14clock speed:)
15- nxp,wwidth: Write pulse width (W_WIDTH)
16- nxp,whold: Write hold time (W_HOLD)
17- nxp,wsetup: Write setup time (W_SETUP)
18- nxp,rwidth: Read pulse width (R_WIDTH)
19- nxp,rhold: Read hold time (R_HOLD)
20- nxp,rsetup: Read setup time (R_SETUP)
21
22Optional subnodes:
23- Partitions, see Documentation/devicetree/bindings/mtd/partition.txt
24
25Example:
26
27 slc: flash@20020000 {
28 compatible = "nxp,lpc3220-slc";
29 reg = <0x20020000 0x1000>;
30 #address-cells = <1>;
31 #size-cells = <1>;
32
33 nxp,wdr-clks = <14>;
34 nxp,wwidth = <40000000>;
35 nxp,whold = <100000000>;
36 nxp,wsetup = <100000000>;
37 nxp,rdr-clks = <14>;
38 nxp,rwidth = <40000000>;
39 nxp,rhold = <66666666>;
40 nxp,rsetup = <100000000>;
41 nand-on-flash-bbt;
42 gpios = <&gpio 5 19 1>; /* GPO_P3 19, active low */
43
44 mtd0@00000000 {
45 label = "phy3250-boot";
46 reg = <0x00000000 0x00064000>;
47 read-only;
48 };
49
50 ...
51
52 };
diff --git a/Documentation/devicetree/bindings/mtd/mtd-physmap.txt b/Documentation/devicetree/bindings/mtd/mtd-physmap.txt
index a63c2bd7de2b..94de19b8f16b 100644
--- a/Documentation/devicetree/bindings/mtd/mtd-physmap.txt
+++ b/Documentation/devicetree/bindings/mtd/mtd-physmap.txt
@@ -16,6 +16,13 @@ file systems on embedded devices.
16 - #address-cells, #size-cells : Must be present if the device has 16 - #address-cells, #size-cells : Must be present if the device has
17 sub-nodes representing partitions (see below). In this case 17 sub-nodes representing partitions (see below). In this case
18 both #address-cells and #size-cells must be equal to 1. 18 both #address-cells and #size-cells must be equal to 1.
19 - no-unaligned-direct-access: boolean to disable the default direct
20 mapping of the flash.
21 On some platforms (e.g. MPC5200) a direct 1:1 mapping may cause
22 problems with JFFS2 usage, as the local bus (LPB) doesn't support
23 unaligned accesses as implemented in the JFFS2 code via memcpy().
24 By defining "no-unaligned-direct-access", the flash will not be
25 exposed directly to the MTD users (e.g. JFFS2) any more.
19 26
20For JEDEC compatible devices, the following additional properties 27For JEDEC compatible devices, the following additional properties
21are defined: 28are defined: