# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/mips/brcm/soc.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: Broadcom cable/DSL/settop platforms
maintainers:
- Florian Fainelli <[email protected]>
description: |
Boards Broadcom cable/DSL/settop SoC shall have the following properties.
The experimental -viper variants are for running Linux on the 3384's
BMIPS4355 cable modem CPU instead of the BMIPS5000 application processor.
properties:
$nodename:
const: '/'
compatible:
enum:
- brcm,bcm3368
- brcm,bcm3384
- brcm,bcm33843
- brcm,bcm3384-viper
- brcm,bcm33843-viper
- brcm,bcm6328
- brcm,bcm6358
- brcm,bcm6362
- brcm,bcm6368
- brcm,bcm63168
- brcm,bcm63268
- brcm,bcm7125
- brcm,bcm7346
- brcm,bcm7358
- brcm,bcm7360
- brcm,bcm7362
- brcm,bcm7420
- brcm,bcm7425
cpus:
type: object
additionalProperties: false
properties:
'#address-cells':
const: 1
'#size-cells':
const: 0
mips-hpt-frequency:
description: MIPS counter high precision timer frequency.
This is common to all CPUs in the system so it lives
under the "cpus" node.
$ref: /schemas/types.yaml#/definitions/uint32
brcm,bmips-cbr-reg:
description: Reference address of the CBR.
Some SoC suffer from a BUG where CBR(Core Base Register)
address might be badly or never initialized by the Bootloader
or reading it from co-processor registers, if the system boots
from secondary CPU, results in invalid address.
The CBR address is always the same on the SoC hence it
can be provided in DT to handle these broken case.
$ref: /schemas/types.yaml#/definitions/uint32
patternProperties:
"^cpu@[0-9]$":
type: object
$ref: /schemas/mips/cpus.yaml#
unevaluatedProperties: false
required:
- mips-hpt-frequency
if:
properties:
compatible:
contains:
enum:
- brcm,bcm6358
- brcm,bcm6368
then:
properties:
cpus:
required:
- brcm,bmips-cbr-reg
additionalProperties: true
examples:
- |
/ {
compatible = "brcm,bcm3368";
#address-cells = <1>;
#size-cells = <1>;
model = "Broadcom 3368";
cpus {
#address-cells = <1>;
#size-cells = <0>;
mips-hpt-frequency = <150000000>;
cpu@0 {
compatible = "brcm,bmips4350";
device_type = "cpu";
reg = <0>;
};
cpu@1 {
compatible = "brcm,bmips4350";
device_type = "cpu";
reg = <1>;
};
};
};
...