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