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
patternProperties :
'^clock-controller@[a-f0-9]+$' :
$ref : ../clock/brcm,iproc-clocks.yaml
2021-09-13 10:00:23 +02:00
'^phy@[a-f0-9]+$' :
$ref : ../phy/bcm-ns-usb2-phy.yaml
2021-10-08 22:59:36 +02:00
'^pin-controller@[a-f0-9]+$' :
$ref : ../pinctrl/brcm,ns-pinmux.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 :
- |
2021-09-13 10:00:23 +02:00
#include <dt-bindings/clock/bcm-nsp.h>
2021-07-13 11:47:45 +02:00
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:23 +02:00
phy@164 {
compatible = "brcm,ns-usb2-phy";
reg = <0x164 0x4>;
brcm,syscon-clkset = <&clkset>;
clocks = <&genpll BCM_NSP_GENPLL_USB_PHY_REF_CLK>;
clock-names = "phy-ref-clk";
#phy-cells = <0>;
};
clkset : syscon@180 {
2021-09-13 10:00:21 +02:00
compatible = "brcm,cru-clkset", "syscon";
reg = <0x180 0x4>;
};
2021-10-08 22:59:36 +02:00
pin-controller@1c0 {
2021-07-13 11:47:45 +02:00
compatible = "brcm,bcm4708-pinmux";
2021-10-08 22:59:36 +02:00
reg = <0x1c0 0x24>;
reg-names = "cru_gpio_control";
2021-07-13 11:47:45 +02:00
};
thermal@2c0 {
compatible = "brcm,ns-thermal";
reg = <0x2c0 0x10>;
#thermal-sensor-cells = <0>;
};
};