109 lines · yaml
1# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause2%YAML 1.23---4$id: http://devicetree.org/schemas/mfd/brcm,cru.yaml#5$schema: http://devicetree.org/meta-schemas/core.yaml#6 7title: Broadcom CRU8 9maintainers:10 - Rafał Miłecki <rafal@milecki.pl>11 12description: |13 Broadcom CRU ("Clock and Reset Unit" or "Central Resource Unit") is a hardware14 block grouping smaller blocks. On Broadcom Northstar platform it contains e.g.15 clocks, pinctrl, USB PHY and thermal.16 17properties:18 compatible:19 items:20 - enum:21 - brcm,ns-cru22 - const: simple-mfd23 24 reg:25 description: CRU registers26 27 ranges: true28 29 "#address-cells":30 const: 131 32 "#size-cells":33 const: 134 35patternProperties:36 '^clock-controller@[a-f0-9]+$':37 $ref: /schemas/clock/brcm,iproc-clocks.yaml38 39 '^phy@[a-f0-9]+$':40 $ref: /schemas/phy/bcm-ns-usb2-phy.yaml41 42 '^pinctrl@[a-f0-9]+$':43 $ref: /schemas/pinctrl/brcm,ns-pinmux.yaml44 45 '^syscon@[a-f0-9]+$':46 $ref: syscon.yaml47 48 '^thermal@[a-f0-9]+$':49 $ref: /schemas/thermal/brcm,ns-thermal.yaml50 51additionalProperties: false52 53required:54 - reg55 56examples:57 - |58 #include <dt-bindings/clock/bcm-nsp.h>59 cru-bus@1800c100 {60 compatible = "brcm,ns-cru", "simple-mfd";61 reg = <0x1800c100 0x1d0>;62 ranges;63 #address-cells = <1>;64 #size-cells = <1>;65 66 clock-controller@100 {67 #clock-cells = <1>;68 compatible = "brcm,nsp-lcpll0";69 reg = <0x100 0x14>;70 clocks = <&osc>;71 clock-output-names = "lcpll0", "pcie_phy", "sdio", "ddr_phy";72 };73 74 clock-controller@140 {75 #clock-cells = <1>;76 compatible = "brcm,nsp-genpll";77 reg = <0x140 0x24>;78 clocks = <&osc>;79 clock-output-names = "genpll", "phy", "ethernetclk", "usbclk",80 "iprocfast", "sata1", "sata2";81 };82 83 phy@164 {84 compatible = "brcm,ns-usb2-phy";85 reg = <0x164 0x4>;86 brcm,syscon-clkset = <&clkset>;87 clocks = <&genpll BCM_NSP_GENPLL_USB_PHY_REF_CLK>;88 clock-names = "phy-ref-clk";89 #phy-cells = <0>;90 };91 92 clkset: syscon@180 {93 compatible = "brcm,cru-clkset", "syscon";94 reg = <0x180 0x4>;95 };96 97 pinctrl@1c0 {98 compatible = "brcm,bcm4708-pinmux";99 reg = <0x1c0 0x24>;100 reg-names = "cru_gpio_control";101 };102 103 thermal@2c0 {104 compatible = "brcm,ns-thermal";105 reg = <0x2c0 0x10>;106 #thermal-sensor-cells = <0>;107 };108 };109