summaryrefslogtreecommitdiff
path: root/Documentation/devicetree/bindings/mtd/partition.txt
blob: 8e5557da1955472b3b2faf8b6c638e9ef5e61293 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
Representing flash partitions in devicetree

Partitions can be represented by sub-nodes of an mtd device. This can be used
on platforms which have strong conventions about which portions of a flash are
used for what purposes, but which don't use an on-flash partition table such
as RedBoot.
NOTE: if the sub-node has a compatible string, then it is not a partition.

#address-cells & #size-cells must both be present in the mtd device. There are
two valid values for both:
<1>: for partitions that require a single 32-bit cell to represent their
     size/address (aka the value is below 4 GiB)
<2>: for partitions that require two 32-bit cells to represent their
     size/address (aka the value is 4 GiB or greater).

Required properties:
- reg : The partition's offset and size within the mtd bank.

Optional properties:
- label : The label / name for this partition.  If omitted, the label is taken
  from the node name (excluding the unit address).
- read-only : This parameter, if present, is a hint to Linux that this
  partition should only be mounted read-only. This is usually used for flash
  partitions containing early-boot firmware images or data which should not be
  clobbered.

Examples:


flash@0 {
	#address-cells = <1>;
	#size-cells = <1>;

	partition@0 {
		label = "u-boot";
		reg = <0x0000000 0x100000>;
		read-only;
	};

	uimage@100000 {
		reg = <0x0100000 0x200000>;
	};
};

flash@1 {
	#address-cells = <1>;
	#size-cells = <2>;

	/* a 4 GiB partition */
	partition@0 {
		label = "filesystem";
		reg = <0x00000000 0x1 0x00000000>;
	};
};

flash@2 {
	#address-cells = <2>;
	#size-cells = <2>;

	/* an 8 GiB partition */
	partition@0 {
		label = "filesystem #1";
		reg = <0x0 0x00000000 0x2 0x00000000>;
	};

	/* a 4 GiB partition */
	partition@200000000 {
		label = "filesystem #2";
		reg = <0x2 0x00000000 0x1 0x00000000>;
	};
};