summaryrefslogtreecommitdiffstats
path: root/Documentation/devicetree/bindings/arm/cpus.txt
blob: f32494dbfe194202e05e556f6509d303a4e194d6 (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
72
73
74
75
76
77
* ARM CPUs binding description

The device tree allows to describe the layout of CPUs in a system through
the "cpus" node, which in turn contains a number of subnodes (ie "cpu")
defining properties for every cpu.

Bindings for CPU nodes follow the ePAPR standard, available from:

http://devicetree.org

For the ARM architecture every CPU node must contain the following properties:

- device_type:	must be "cpu"
- reg:		property matching the CPU MPIDR[23:0] register bits
		reg[31:24] bits must be set to 0
- compatible:	should be one of:
		"arm,arm1020"
		"arm,arm1020e"
		"arm,arm1022"
		"arm,arm1026"
		"arm,arm720"
		"arm,arm740"
		"arm,arm7tdmi"
		"arm,arm920"
		"arm,arm922"
		"arm,arm925"
		"arm,arm926"
		"arm,arm940"
		"arm,arm946"
		"arm,arm9tdmi"
		"arm,cortex-a5"
		"arm,cortex-a7"
		"arm,cortex-a8"
		"arm,cortex-a9"
		"arm,cortex-a15"
		"arm,arm1136"
		"arm,arm1156"
		"arm,arm1176"
		"arm,arm11mpcore"
		"faraday,fa526"
		"intel,sa110"
		"intel,sa1100"
		"marvell,feroceon"
		"marvell,mohawk"
		"marvell,xsc3"
		"marvell,xscale"

Example:

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

		CPU0: cpu@0 {
			device_type = "cpu";
			compatible = "arm,cortex-a15";
			reg = <0x0>;
		};

		CPU1: cpu@1 {
			device_type = "cpu";
			compatible = "arm,cortex-a15";
			reg = <0x1>;
		};

		CPU2: cpu@100 {
			device_type = "cpu";
			compatible = "arm,cortex-a7";
			reg = <0x100>;
		};

		CPU3: cpu@101 {
			device_type = "cpu";
			compatible = "arm,cortex-a7";
			reg = <0x101>;
		};
	};