xref: /freebsd-src/sys/contrib/device-tree/Bindings/mips/brcm/soc.yaml (revision 0e8011faf58b743cc652e3b2ad0f7671227610df)
18bab661aSEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
28bab661aSEmmanuel Vadot%YAML 1.2
38bab661aSEmmanuel Vadot---
48bab661aSEmmanuel Vadot$id: http://devicetree.org/schemas/mips/brcm/soc.yaml#
58bab661aSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
68bab661aSEmmanuel Vadot
78bab661aSEmmanuel Vadottitle: Broadcom cable/DSL/settop platforms
88bab661aSEmmanuel Vadot
98bab661aSEmmanuel Vadotmaintainers:
108bab661aSEmmanuel Vadot  - Florian Fainelli <f.fainelli@gmail.com>
118bab661aSEmmanuel Vadot
128bab661aSEmmanuel Vadotdescription: |
138bab661aSEmmanuel Vadot    Boards Broadcom cable/DSL/settop SoC shall have the following properties.
148bab661aSEmmanuel Vadot    The experimental -viper variants are for running Linux on the 3384's
158bab661aSEmmanuel Vadot    BMIPS4355 cable modem CPU instead of the BMIPS5000 application processor.
168bab661aSEmmanuel Vadot
178bab661aSEmmanuel Vadotproperties:
188bab661aSEmmanuel Vadot  $nodename:
198bab661aSEmmanuel Vadot    const: '/'
208bab661aSEmmanuel Vadot
218bab661aSEmmanuel Vadot  compatible:
228bab661aSEmmanuel Vadot    enum:
238bab661aSEmmanuel Vadot      - brcm,bcm3368
248bab661aSEmmanuel Vadot      - brcm,bcm3384
258bab661aSEmmanuel Vadot      - brcm,bcm33843
268bab661aSEmmanuel Vadot      - brcm,bcm3384-viper
278bab661aSEmmanuel Vadot      - brcm,bcm33843-viper
288bab661aSEmmanuel Vadot      - brcm,bcm6328
298bab661aSEmmanuel Vadot      - brcm,bcm6358
308bab661aSEmmanuel Vadot      - brcm,bcm6362
318bab661aSEmmanuel Vadot      - brcm,bcm6368
328bab661aSEmmanuel Vadot      - brcm,bcm63168
338bab661aSEmmanuel Vadot      - brcm,bcm63268
348bab661aSEmmanuel Vadot      - brcm,bcm7125
358bab661aSEmmanuel Vadot      - brcm,bcm7346
368bab661aSEmmanuel Vadot      - brcm,bcm7358
378bab661aSEmmanuel Vadot      - brcm,bcm7360
388bab661aSEmmanuel Vadot      - brcm,bcm7362
398bab661aSEmmanuel Vadot      - brcm,bcm7420
408bab661aSEmmanuel Vadot      - brcm,bcm7425
418bab661aSEmmanuel Vadot
428bab661aSEmmanuel Vadot  cpus:
438bab661aSEmmanuel Vadot    type: object
448bab661aSEmmanuel Vadot    additionalProperties: false
458bab661aSEmmanuel Vadot    properties:
468bab661aSEmmanuel Vadot      '#address-cells':
478bab661aSEmmanuel Vadot        const: 1
488bab661aSEmmanuel Vadot
498bab661aSEmmanuel Vadot      '#size-cells':
508bab661aSEmmanuel Vadot        const: 0
518bab661aSEmmanuel Vadot
528bab661aSEmmanuel Vadot      mips-hpt-frequency:
538bab661aSEmmanuel Vadot        description: MIPS counter high precision timer frequency.
548bab661aSEmmanuel Vadot         This is common to all CPUs in the system so it lives
558bab661aSEmmanuel Vadot         under the "cpus" node.
568bab661aSEmmanuel Vadot        $ref: /schemas/types.yaml#/definitions/uint32
578bab661aSEmmanuel Vadot
58*0e8011faSEmmanuel Vadot      brcm,bmips-cbr-reg:
59*0e8011faSEmmanuel Vadot        description: Reference address of the CBR.
60*0e8011faSEmmanuel Vadot          Some SoC suffer from a BUG where CBR(Core Base Register)
61*0e8011faSEmmanuel Vadot          address might be badly or never initialized by the Bootloader
62*0e8011faSEmmanuel Vadot          or reading it from co-processor registers, if the system boots
63*0e8011faSEmmanuel Vadot          from secondary CPU, results in invalid address.
64*0e8011faSEmmanuel Vadot          The CBR address is always the same on the SoC hence it
65*0e8011faSEmmanuel Vadot          can be provided in DT to handle these broken case.
66*0e8011faSEmmanuel Vadot        $ref: /schemas/types.yaml#/definitions/uint32
67*0e8011faSEmmanuel Vadot
688bab661aSEmmanuel Vadot    patternProperties:
698bab661aSEmmanuel Vadot      "^cpu@[0-9]$":
708bab661aSEmmanuel Vadot        type: object
718bab661aSEmmanuel Vadot        $ref: /schemas/mips/cpus.yaml#
728bab661aSEmmanuel Vadot        unevaluatedProperties: false
738bab661aSEmmanuel Vadot
748bab661aSEmmanuel Vadot    required:
758bab661aSEmmanuel Vadot      - mips-hpt-frequency
768bab661aSEmmanuel Vadot
77*0e8011faSEmmanuel Vadotif:
78*0e8011faSEmmanuel Vadot  properties:
79*0e8011faSEmmanuel Vadot    compatible:
80*0e8011faSEmmanuel Vadot      contains:
81*0e8011faSEmmanuel Vadot        enum:
82*0e8011faSEmmanuel Vadot          - brcm,bcm6358
83*0e8011faSEmmanuel Vadot          - brcm,bcm6368
84*0e8011faSEmmanuel Vadot
85*0e8011faSEmmanuel Vadotthen:
86*0e8011faSEmmanuel Vadot  properties:
87*0e8011faSEmmanuel Vadot    cpus:
88*0e8011faSEmmanuel Vadot      required:
89*0e8011faSEmmanuel Vadot        - brcm,bmips-cbr-reg
90*0e8011faSEmmanuel Vadot
918bab661aSEmmanuel VadotadditionalProperties: true
928bab661aSEmmanuel Vadot
938bab661aSEmmanuel Vadotexamples:
948bab661aSEmmanuel Vadot  - |
958bab661aSEmmanuel Vadot     / {
968bab661aSEmmanuel Vadot         compatible = "brcm,bcm3368";
978bab661aSEmmanuel Vadot         #address-cells = <1>;
988bab661aSEmmanuel Vadot         #size-cells = <1>;
998bab661aSEmmanuel Vadot         model = "Broadcom 3368";
1008bab661aSEmmanuel Vadot
1018bab661aSEmmanuel Vadot         cpus {
1028bab661aSEmmanuel Vadot           #address-cells = <1>;
1038bab661aSEmmanuel Vadot           #size-cells = <0>;
1048bab661aSEmmanuel Vadot
1058bab661aSEmmanuel Vadot           mips-hpt-frequency = <150000000>;
1068bab661aSEmmanuel Vadot
1078bab661aSEmmanuel Vadot           cpu@0 {
1088bab661aSEmmanuel Vadot             compatible = "brcm,bmips4350";
1098bab661aSEmmanuel Vadot             device_type = "cpu";
1108bab661aSEmmanuel Vadot             reg = <0>;
1118bab661aSEmmanuel Vadot           };
1128bab661aSEmmanuel Vadot
1138bab661aSEmmanuel Vadot           cpu@1 {
1148bab661aSEmmanuel Vadot             compatible = "brcm,bmips4350";
1158bab661aSEmmanuel Vadot             device_type = "cpu";
1168bab661aSEmmanuel Vadot             reg = <1>;
1178bab661aSEmmanuel Vadot           };
1188bab661aSEmmanuel Vadot         };
1198bab661aSEmmanuel Vadot       };
1208bab661aSEmmanuel Vadot...
121