1CFI or JEDEC memory-mapped NOR flash, MTD-RAM (NVRAM...) 2 3Flash chips (Memory Technology Devices) are often used for solid state 4file 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 20For JEDEC compatible devices, the following additional properties 21are 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 26In addition to the information on the mtd bank itself, the 27device tree may optionally contain additional information 28describing partitions of the address space. This can be 29used on platforms which have strong conventions about which 30portions of a flash are used for what purposes, but which don't 31use an on-flash partition table such as RedBoot. 32 33Each partition is represented as a sub-node of the mtd device. 34Each node's name represents the name of the corresponding 35partition of the mtd device. 36 37Flash 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 48Example: 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 68Here 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 83An 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 91