mirror of
https://github.com/torvalds/linux.git
synced 2026-04-19 07:13:56 -04:00
Document brcm,bmips-cbr-reg property. 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. Usage of this property is to give an address also in these broken configuration/bootloader. Signed-off-by: Christian Marangi <ansuelsmth@gmail.com> Acked-by: Conor Dooley <conor.dooley@microchip.com> Reviewed-by: Rob Herring (Arm) <robh@kernel.org> Acked-by: Florian Fainelli <florian.fainelli@broadcom.com> Signed-off-by: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
121 lines
2.8 KiB
YAML
121 lines
2.8 KiB
YAML
# 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 <f.fainelli@gmail.com>
|
|
|
|
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>;
|
|
};
|
|
};
|
|
};
|
|
...
|