xref: /linux/Documentation/devicetree/bindings/mips/brcm/soc.yaml (revision c532de5a67a70f8533d495f8f2aaa9a0491c3ad0)
1# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/mips/brcm/soc.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: Broadcom cable/DSL/settop platforms
8
9maintainers:
10  - Florian Fainelli <f.fainelli@gmail.com>
11
12description: |
13    Boards Broadcom cable/DSL/settop SoC shall have the following properties.
14    The experimental -viper variants are for running Linux on the 3384's
15    BMIPS4355 cable modem CPU instead of the BMIPS5000 application processor.
16
17properties:
18  $nodename:
19    const: '/'
20
21  compatible:
22    enum:
23      - brcm,bcm3368
24      - brcm,bcm3384
25      - brcm,bcm33843
26      - brcm,bcm3384-viper
27      - brcm,bcm33843-viper
28      - brcm,bcm6328
29      - brcm,bcm6358
30      - brcm,bcm6362
31      - brcm,bcm6368
32      - brcm,bcm63168
33      - brcm,bcm63268
34      - brcm,bcm7125
35      - brcm,bcm7346
36      - brcm,bcm7358
37      - brcm,bcm7360
38      - brcm,bcm7362
39      - brcm,bcm7420
40      - brcm,bcm7425
41
42  cpus:
43    type: object
44    additionalProperties: false
45    properties:
46      '#address-cells':
47        const: 1
48
49      '#size-cells':
50        const: 0
51
52      mips-hpt-frequency:
53        description: MIPS counter high precision timer frequency.
54         This is common to all CPUs in the system so it lives
55         under the "cpus" node.
56        $ref: /schemas/types.yaml#/definitions/uint32
57
58      brcm,bmips-cbr-reg:
59        description: Reference address of the CBR.
60          Some SoC suffer from a BUG where CBR(Core Base Register)
61          address might be badly or never initialized by the Bootloader
62          or reading it from co-processor registers, if the system boots
63          from secondary CPU, results in invalid address.
64          The CBR address is always the same on the SoC hence it
65          can be provided in DT to handle these broken case.
66        $ref: /schemas/types.yaml#/definitions/uint32
67
68    patternProperties:
69      "^cpu@[0-9]$":
70        type: object
71        $ref: /schemas/mips/cpus.yaml#
72        unevaluatedProperties: false
73
74    required:
75      - mips-hpt-frequency
76
77if:
78  properties:
79    compatible:
80      contains:
81        enum:
82          - brcm,bcm6358
83          - brcm,bcm6368
84
85then:
86  properties:
87    cpus:
88      required:
89        - brcm,bmips-cbr-reg
90
91additionalProperties: true
92
93examples:
94  - |
95     / {
96         compatible = "brcm,bcm3368";
97         #address-cells = <1>;
98         #size-cells = <1>;
99         model = "Broadcom 3368";
100
101         cpus {
102           #address-cells = <1>;
103           #size-cells = <0>;
104
105           mips-hpt-frequency = <150000000>;
106
107           cpu@0 {
108             compatible = "brcm,bmips4350";
109             device_type = "cpu";
110             reg = <0>;
111           };
112
113           cpu@1 {
114             compatible = "brcm,bmips4350";
115             device_type = "cpu";
116             reg = <1>;
117           };
118         };
119       };
120...
121