| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108 |
- # 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: /schemas/clock/brcm,iproc-clocks.yaml
- '^phy@[a-f0-9]+$':
- $ref: /schemas/phy/bcm-ns-usb2-phy.yaml
- '^pinctrl@[a-f0-9]+$':
- $ref: /schemas/pinctrl/brcm,ns-pinmux.yaml
- '^syscon@[a-f0-9]+$':
- $ref: syscon.yaml
- '^thermal@[a-f0-9]+$':
- $ref: /schemas/thermal/brcm,ns-thermal.yaml
- additionalProperties: false
- required:
- - reg
- examples:
- - |
- #include <dt-bindings/clock/bcm-nsp.h>
- 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";
- };
- 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 {
- compatible = "brcm,cru-clkset", "syscon";
- reg = <0x180 0x4>;
- };
- pinctrl@1c0 {
- compatible = "brcm,bcm4708-pinmux";
- reg = <0x1c0 0x24>;
- reg-names = "cru_gpio_control";
- };
- thermal@2c0 {
- compatible = "brcm,ns-thermal";
- reg = <0x2c0 0x10>;
- #thermal-sensor-cells = <0>;
- };
- };
|