Merge branch 'devicetree/merge' into spi/merge
[pandora-kernel.git] / Documentation / devicetree / bindings / mtd / mtd-physmap.txt
1 CFI or JEDEC memory-mapped NOR flash, MTD-RAM (NVRAM...)
2
3 Flash chips (Memory Technology Devices) are often used for solid state
4 file systems on embedded devices.
5
6  - compatible : should contain the specific model of mtd chip(s)
7    used, if known, followed by either "cfi-flash", "jedec-flash"
8    or "mtd-ram".
9  - reg : Address range(s) of the mtd chip(s)
10    It's possible to (optionally) define multiple "reg" tuples so that
11    non-identical chips can be described in one node.
12  - bank-width : Width (in bytes) of the bank.  Equal to the
13    device width times the number of interleaved chips.
14  - device-width : (optional) Width of a single mtd chip.  If
15    omitted, assumed to be equal to 'bank-width'.
16  - #address-cells, #size-cells : Must be present if the device has
17    sub-nodes representing partitions (see below).  In this case
18    both #address-cells and #size-cells must be equal to 1.
19
20 For JEDEC compatible devices, the following additional properties
21 are defined:
22
23  - vendor-id : Contains the flash chip's vendor id (1 byte).
24  - device-id : Contains the flash chip's device id (1 byte).
25
26 In addition to the information on the mtd bank itself, the
27 device tree may optionally contain additional information
28 describing partitions of the address space.  This can be
29 used on platforms which have strong conventions about which
30 portions of a flash are used for what purposes, but which don't
31 use an on-flash partition table such as RedBoot.
32
33 Each partition is represented as a sub-node of the mtd device.
34 Each node's name represents the name of the corresponding
35 partition of the mtd device.
36
37 Flash partitions
38  - reg : The partition's offset and size within the mtd bank.
39  - label : (optional) The label / name for this partition.
40    If omitted, the label is taken from the node name (excluding
41    the unit address).
42  - read-only : (optional) This parameter, if present, is a hint to
43    Linux that this partition should only be mounted
44    read-only.  This is usually used for flash partitions
45    containing early-boot firmware images or data which should not
46    be clobbered.
47
48 Example:
49
50         flash@ff000000 {
51                 compatible = "amd,am29lv128ml", "cfi-flash";
52                 reg = <ff000000 01000000>;
53                 bank-width = <4>;
54                 device-width = <1>;
55                 #address-cells = <1>;
56                 #size-cells = <1>;
57                 fs@0 {
58                         label = "fs";
59                         reg = <0 f80000>;
60                 };
61                 firmware@f80000 {
62                         label ="firmware";
63                         reg = <f80000 80000>;
64                         read-only;
65                 };
66         };
67
68 Here an example with multiple "reg" tuples:
69
70         flash@f0000000,0 {
71                 #address-cells = <1>;
72                 #size-cells = <1>;
73                 compatible = "intel,PC48F4400P0VB", "cfi-flash";
74                 reg = <0 0x00000000 0x02000000
75                        0 0x02000000 0x02000000>;
76                 bank-width = <2>;
77                 partition@0 {
78                         label = "test-part1";
79                         reg = <0 0x04000000>;
80                 };
81         };
82
83 An example using SRAM:
84
85         sram@2,0 {
86                 compatible = "samsung,k6f1616u6a", "mtd-ram";
87                 reg = <2 0 0x00200000>;
88                 bank-width = <2>;
89         };
90