xref: /freebsd/sys/contrib/device-tree/Bindings/csky/cpus.txt (revision c66ec88fed842fbaad62c30d510644ceb7bd2d71)
1*c66ec88fSEmmanuel Vadot==================
2*c66ec88fSEmmanuel VadotC-SKY CPU Bindings
3*c66ec88fSEmmanuel Vadot==================
4*c66ec88fSEmmanuel Vadot
5*c66ec88fSEmmanuel VadotThe device tree allows to describe the layout of CPUs in a system through
6*c66ec88fSEmmanuel Vadotthe "cpus" node, which in turn contains a number of subnodes (ie "cpu")
7*c66ec88fSEmmanuel Vadotdefining properties for every cpu.
8*c66ec88fSEmmanuel Vadot
9*c66ec88fSEmmanuel VadotOnly SMP system need to care about the cpus node and single processor
10*c66ec88fSEmmanuel Vadotneedn't define cpus node at all.
11*c66ec88fSEmmanuel Vadot
12*c66ec88fSEmmanuel Vadot=====================================
13*c66ec88fSEmmanuel Vadotcpus and cpu node bindings definition
14*c66ec88fSEmmanuel Vadot=====================================
15*c66ec88fSEmmanuel Vadot
16*c66ec88fSEmmanuel Vadot- cpus node
17*c66ec88fSEmmanuel Vadot
18*c66ec88fSEmmanuel Vadot	Description: Container of cpu nodes
19*c66ec88fSEmmanuel Vadot
20*c66ec88fSEmmanuel Vadot	The node name must be "cpus".
21*c66ec88fSEmmanuel Vadot
22*c66ec88fSEmmanuel Vadot	A cpus node must define the following properties:
23*c66ec88fSEmmanuel Vadot
24*c66ec88fSEmmanuel Vadot	- #address-cells
25*c66ec88fSEmmanuel Vadot		Usage: required
26*c66ec88fSEmmanuel Vadot		Value type: <u32>
27*c66ec88fSEmmanuel Vadot		Definition: must be set to 1
28*c66ec88fSEmmanuel Vadot	- #size-cells
29*c66ec88fSEmmanuel Vadot		Usage: required
30*c66ec88fSEmmanuel Vadot		Value type: <u32>
31*c66ec88fSEmmanuel Vadot		Definition: must be set to 0
32*c66ec88fSEmmanuel Vadot
33*c66ec88fSEmmanuel Vadot- cpu node
34*c66ec88fSEmmanuel Vadot
35*c66ec88fSEmmanuel Vadot	Description: Describes one of SMP cores
36*c66ec88fSEmmanuel Vadot
37*c66ec88fSEmmanuel Vadot	PROPERTIES
38*c66ec88fSEmmanuel Vadot
39*c66ec88fSEmmanuel Vadot	- device_type
40*c66ec88fSEmmanuel Vadot		Usage: required
41*c66ec88fSEmmanuel Vadot		Value type: <string>
42*c66ec88fSEmmanuel Vadot		Definition: must be "cpu"
43*c66ec88fSEmmanuel Vadot	- reg
44*c66ec88fSEmmanuel Vadot		Usage: required
45*c66ec88fSEmmanuel Vadot		Value type: <u32>
46*c66ec88fSEmmanuel Vadot		Definition: CPU index
47*c66ec88fSEmmanuel Vadot	- compatible:
48*c66ec88fSEmmanuel Vadot		Usage: required
49*c66ec88fSEmmanuel Vadot		Value type: <string>
50*c66ec88fSEmmanuel Vadot		Definition: must contain "csky", eg:
51*c66ec88fSEmmanuel Vadot			"csky,610"
52*c66ec88fSEmmanuel Vadot			"csky,807"
53*c66ec88fSEmmanuel Vadot			"csky,810"
54*c66ec88fSEmmanuel Vadot			"csky,860"
55*c66ec88fSEmmanuel Vadot
56*c66ec88fSEmmanuel VadotExample:
57*c66ec88fSEmmanuel Vadot--------
58*c66ec88fSEmmanuel Vadot
59*c66ec88fSEmmanuel Vadot	cpus {
60*c66ec88fSEmmanuel Vadot		#address-cells = <1>;
61*c66ec88fSEmmanuel Vadot		#size-cells = <0>;
62*c66ec88fSEmmanuel Vadot		cpu@0 {
63*c66ec88fSEmmanuel Vadot			device_type = "cpu";
64*c66ec88fSEmmanuel Vadot			reg = <0>;
65*c66ec88fSEmmanuel Vadot			status = "ok";
66*c66ec88fSEmmanuel Vadot		};
67*c66ec88fSEmmanuel Vadot
68*c66ec88fSEmmanuel Vadot		cpu@1 {
69*c66ec88fSEmmanuel Vadot			device_type = "cpu";
70*c66ec88fSEmmanuel Vadot			reg = <1>;
71*c66ec88fSEmmanuel Vadot			status = "ok";
72*c66ec88fSEmmanuel Vadot		};
73*c66ec88fSEmmanuel Vadot	};
74