xref: /linux/Documentation/devicetree/bindings/mips/cpus.yaml (revision 79790b6818e96c58fe2bffee1b418c16e64e7b80)
1c8dabef8SSergio Paracuellos# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2c8dabef8SSergio Paracuellos%YAML 1.2
3c8dabef8SSergio Paracuellos---
4c8dabef8SSergio Paracuellos$id: http://devicetree.org/schemas/mips/cpus.yaml#
5c8dabef8SSergio Paracuellos$schema: http://devicetree.org/meta-schemas/core.yaml#
6c8dabef8SSergio Paracuellos
784e85359SKrzysztof Kozlowskititle: MIPS CPUs
8c8dabef8SSergio Paracuellos
9c8dabef8SSergio Paracuellosmaintainers:
10c8dabef8SSergio Paracuellos  - Thomas Bogendoerfer <tsbogend@alpha.franken.de>
11c8dabef8SSergio Paracuellos  - 周琰杰 (Zhou Yanjie) <zhouyanjie@wanyeetech.com>
12c8dabef8SSergio Paracuellos
13c8dabef8SSergio Paracuellosdescription: |
14c8dabef8SSergio Paracuellos  The device tree allows to describe the layout of CPUs in a system through
15c8dabef8SSergio Paracuellos  the "cpus" node, which in turn contains a number of subnodes (ie "cpu")
16c8dabef8SSergio Paracuellos  defining properties for every CPU.
17c8dabef8SSergio Paracuellos
18c8dabef8SSergio Paracuellosproperties:
19c8dabef8SSergio Paracuellos  compatible:
20c8dabef8SSergio Paracuellos    enum:
21c8dabef8SSergio Paracuellos      - brcm,bmips3300
22c8dabef8SSergio Paracuellos      - brcm,bmips4350
23c8dabef8SSergio Paracuellos      - brcm,bmips4380
24c8dabef8SSergio Paracuellos      - brcm,bmips5000
25c8dabef8SSergio Paracuellos      - brcm,bmips5200
26*c4018147SGregory CLEMENT      - img,i6500
27c8dabef8SSergio Paracuellos      - ingenic,xburst-fpu1.0-mxu1.1
28c8dabef8SSergio Paracuellos      - ingenic,xburst-fpu2.0-mxu2.0
29ef395834SGregory CLEMENT      - ingenic,xburst-mxu1.0
30c8dabef8SSergio Paracuellos      - ingenic,xburst2-fpu2.1-mxu2.1-smt
31c8dabef8SSergio Paracuellos      - loongson,gs264
32c8dabef8SSergio Paracuellos      - mips,m14Kc
33c8dabef8SSergio Paracuellos      - mips,mips1004Kc
34ef395834SGregory CLEMENT      - mips,mips24KEc
35ef395834SGregory CLEMENT      - mips,mips24Kc
36ef395834SGregory CLEMENT      - mips,mips4KEc
37ef395834SGregory CLEMENT      - mips,mips4Kc
38ef395834SGregory CLEMENT      - mips,mips74Kc
39c8dabef8SSergio Paracuellos      - mti,interaptiv
40c8dabef8SSergio Paracuellos      - mti,mips14KEc
41c8dabef8SSergio Paracuellos      - mti,mips14Kc
42ef395834SGregory CLEMENT      - mti,mips24KEc
43c8dabef8SSergio Paracuellos
44c8dabef8SSergio Paracuellos  reg:
45c8dabef8SSergio Paracuellos    maxItems: 1
46c8dabef8SSergio Paracuellos
47c8dabef8SSergio Paracuellos  clocks:
48c8dabef8SSergio Paracuellos    maxItems: 1
49c8dabef8SSergio Paracuellos
50c8dabef8SSergio Paracuellos  device_type: true
51c8dabef8SSergio Paracuellos
52c8dabef8SSergio ParacuellosallOf:
53c8dabef8SSergio Paracuellos  - if:
54c8dabef8SSergio Paracuellos      properties:
55c8dabef8SSergio Paracuellos        compatible:
56c8dabef8SSergio Paracuellos          contains:
57c8dabef8SSergio Paracuellos            enum:
58c8dabef8SSergio Paracuellos              - ingenic,xburst-mxu1.0
59c8dabef8SSergio Paracuellos              - ingenic,xburst-fpu1.0-mxu1.1
60c8dabef8SSergio Paracuellos              - ingenic,xburst-fpu2.0-mxu2.0
61c8dabef8SSergio Paracuellos              - ingenic,xburst2-fpu2.1-mxu2.1-smt
62c8dabef8SSergio Paracuellos    then:
63c8dabef8SSergio Paracuellos      required:
64c8dabef8SSergio Paracuellos        - device_type
65c8dabef8SSergio Paracuellos        - clocks
66c8dabef8SSergio Paracuellos
67c8dabef8SSergio Paracuellosrequired:
68c8dabef8SSergio Paracuellos  - compatible
69c8dabef8SSergio Paracuellos  - reg
70c8dabef8SSergio Paracuellos
71c8dabef8SSergio ParacuellosadditionalProperties: false
72c8dabef8SSergio Paracuellos
73c8dabef8SSergio Paracuellosexamples:
74c8dabef8SSergio Paracuellos  - |
75c8dabef8SSergio Paracuellos    cpus {
76c8dabef8SSergio Paracuellos      #size-cells = <0>;
77c8dabef8SSergio Paracuellos      #address-cells = <1>;
78c8dabef8SSergio Paracuellos
79c8dabef8SSergio Paracuellos      cpu@0 {
80c8dabef8SSergio Paracuellos        compatible = "mips,mips1004Kc";
81c8dabef8SSergio Paracuellos        device_type = "cpu";
82c8dabef8SSergio Paracuellos        reg = <0>;
83c8dabef8SSergio Paracuellos      };
84c8dabef8SSergio Paracuellos
85c8dabef8SSergio Paracuellos      cpu@1 {
86c8dabef8SSergio Paracuellos        compatible = "mips,mips1004Kc";
87c8dabef8SSergio Paracuellos        device_type = "cpu";
88c8dabef8SSergio Paracuellos        reg = <1>;
89c8dabef8SSergio Paracuellos      };
90c8dabef8SSergio Paracuellos    };
91c8dabef8SSergio Paracuellos
92c8dabef8SSergio Paracuellos  - |
93c8dabef8SSergio Paracuellos    // Example 2 (Ingenic CPU)
94c8dabef8SSergio Paracuellos    #include <dt-bindings/clock/ingenic,jz4780-cgu.h>
95c8dabef8SSergio Paracuellos
96c8dabef8SSergio Paracuellos    cpus {
97c8dabef8SSergio Paracuellos      #address-cells = <1>;
98c8dabef8SSergio Paracuellos      #size-cells = <0>;
99c8dabef8SSergio Paracuellos
100c8dabef8SSergio Paracuellos      cpu@0 {
101c8dabef8SSergio Paracuellos        compatible = "ingenic,xburst-fpu1.0-mxu1.1";
102c8dabef8SSergio Paracuellos        device_type = "cpu";
103c8dabef8SSergio Paracuellos        reg = <0>;
104c8dabef8SSergio Paracuellos
105c8dabef8SSergio Paracuellos        clocks = <&cgu JZ4780_CLK_CPU>;
106c8dabef8SSergio Paracuellos      };
107c8dabef8SSergio Paracuellos
108c8dabef8SSergio Paracuellos      cpu@1 {
109c8dabef8SSergio Paracuellos        compatible = "ingenic,xburst-fpu1.0-mxu1.1";
110c8dabef8SSergio Paracuellos        device_type = "cpu";
111c8dabef8SSergio Paracuellos        reg = <1>;
112c8dabef8SSergio Paracuellos
113c8dabef8SSergio Paracuellos        clocks = <&cgu JZ4780_CLK_CORE1>;
114c8dabef8SSergio Paracuellos      };
115c8dabef8SSergio Paracuellos    };
116c8dabef8SSergio Paracuellos...
117