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