2021-07-13 11:47:45 +02:00
# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
%YAML 1.2
---
$id : http://devicetree.org/schemas/mfd/brcm,cru.yaml#
$schema : http://devicetree.org/meta-schemas/core.yaml#
title : Broadcom CRU
maintainers :
- Rafał Miłecki <rafal@milecki.pl>
description : |
Broadcom CRU ("Clock and Reset Unit" or "Central Resource Unit") is a hardware
block grouping smaller blocks. On Broadcom Northstar platform it contains e.g.
clocks, pinctrl, USB PHY and thermal.
properties :
compatible :
items :
- enum :
- brcm,ns-cru
- const : simple-mfd
reg :
description : CRU registers
ranges : true
"#address-cells" :
const : 1
"#size-cells" :
const : 1
pinctrl :
$ref : ../pinctrl/brcm,ns-pinmux.yaml
patternProperties :
'^clock-controller@[a-f0-9]+$' :
$ref : ../clock/brcm,iproc-clocks.yaml
2021-09-13 10:00:21 +02:00
'^syscon@[a-f0-9]+$' :
$ref : syscon.yaml
2021-07-13 11:47:45 +02:00
'^thermal@[a-f0-9]+$' :
$ref : ../thermal/brcm,ns-thermal.yaml
additionalProperties : false
required :
- reg
examples :
- |
cru-bus@1800c100 {
compatible = "brcm,ns-cru", "simple-mfd";
reg = <0x1800c100 0x1d0>;
ranges;
#address-cells = <1>;
#size-cells = <1>;
clock-controller@100 {
#clock-cells = <1>;
compatible = "brcm,nsp-lcpll0";
reg = <0x100 0x14>;
clocks = <&osc>;
clock-output-names = "lcpll0", "pcie_phy", "sdio", "ddr_phy";
};
clock-controller@140 {
#clock-cells = <1>;
compatible = "brcm,nsp-genpll";
reg = <0x140 0x24>;
clocks = <&osc>;
clock-output-names = "genpll", "phy", "ethernetclk", "usbclk",
"iprocfast" , "sata1" , "sata2" ;
};
2021-09-13 10:00:21 +02:00
syscon@180 {
compatible = "brcm,cru-clkset", "syscon";
reg = <0x180 0x4>;
};
2021-07-13 11:47:45 +02:00
pinctrl {
compatible = "brcm,bcm4708-pinmux";
offset = <0x1c0>;
};
thermal@2c0 {
compatible = "brcm,ns-thermal";
reg = <0x2c0 0x10>;
#thermal-sensor-cells = <0>;
};
};