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