1354d7675SEmmanuel Vadot# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause 2354d7675SEmmanuel Vadot%YAML 1.2 3354d7675SEmmanuel Vadot--- 4354d7675SEmmanuel Vadot$id: http://devicetree.org/schemas/mfd/brcm,cru.yaml# 5354d7675SEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml# 6354d7675SEmmanuel Vadot 7354d7675SEmmanuel Vadottitle: Broadcom CRU 8354d7675SEmmanuel Vadot 9354d7675SEmmanuel Vadotmaintainers: 10354d7675SEmmanuel Vadot - Rafał Miłecki <rafal@milecki.pl> 11354d7675SEmmanuel Vadot 12354d7675SEmmanuel Vadotdescription: | 13354d7675SEmmanuel Vadot Broadcom CRU ("Clock and Reset Unit" or "Central Resource Unit") is a hardware 14354d7675SEmmanuel Vadot block grouping smaller blocks. On Broadcom Northstar platform it contains e.g. 15354d7675SEmmanuel Vadot clocks, pinctrl, USB PHY and thermal. 16354d7675SEmmanuel Vadot 17354d7675SEmmanuel Vadotproperties: 18354d7675SEmmanuel Vadot compatible: 19354d7675SEmmanuel Vadot items: 20354d7675SEmmanuel Vadot - enum: 21354d7675SEmmanuel Vadot - brcm,ns-cru 22354d7675SEmmanuel Vadot - const: simple-mfd 23354d7675SEmmanuel Vadot 24354d7675SEmmanuel Vadot reg: 25354d7675SEmmanuel Vadot description: CRU registers 26354d7675SEmmanuel Vadot 27354d7675SEmmanuel Vadot ranges: true 28354d7675SEmmanuel Vadot 29354d7675SEmmanuel Vadot "#address-cells": 30354d7675SEmmanuel Vadot const: 1 31354d7675SEmmanuel Vadot 32354d7675SEmmanuel Vadot "#size-cells": 33354d7675SEmmanuel Vadot const: 1 34354d7675SEmmanuel Vadot 35354d7675SEmmanuel VadotpatternProperties: 36354d7675SEmmanuel Vadot '^clock-controller@[a-f0-9]+$': 37354d7675SEmmanuel Vadot $ref: ../clock/brcm,iproc-clocks.yaml 38354d7675SEmmanuel Vadot 398cc087a1SEmmanuel Vadot '^phy@[a-f0-9]+$': 408cc087a1SEmmanuel Vadot $ref: ../phy/bcm-ns-usb2-phy.yaml 418cc087a1SEmmanuel Vadot 42*e67e8565SEmmanuel Vadot '^pinctrl@[a-f0-9]+$': 43354d7675SEmmanuel Vadot $ref: ../pinctrl/brcm,ns-pinmux.yaml 44354d7675SEmmanuel Vadot 458cc087a1SEmmanuel Vadot '^syscon@[a-f0-9]+$': 468cc087a1SEmmanuel Vadot $ref: syscon.yaml 478cc087a1SEmmanuel Vadot 48354d7675SEmmanuel Vadot '^thermal@[a-f0-9]+$': 49354d7675SEmmanuel Vadot $ref: ../thermal/brcm,ns-thermal.yaml 50354d7675SEmmanuel Vadot 51354d7675SEmmanuel VadotadditionalProperties: false 52354d7675SEmmanuel Vadot 53354d7675SEmmanuel Vadotrequired: 54354d7675SEmmanuel Vadot - reg 55354d7675SEmmanuel Vadot 56354d7675SEmmanuel Vadotexamples: 57354d7675SEmmanuel Vadot - | 588cc087a1SEmmanuel Vadot #include <dt-bindings/clock/bcm-nsp.h> 59354d7675SEmmanuel Vadot cru-bus@1800c100 { 60354d7675SEmmanuel Vadot compatible = "brcm,ns-cru", "simple-mfd"; 61354d7675SEmmanuel Vadot reg = <0x1800c100 0x1d0>; 62354d7675SEmmanuel Vadot ranges; 63354d7675SEmmanuel Vadot #address-cells = <1>; 64354d7675SEmmanuel Vadot #size-cells = <1>; 65354d7675SEmmanuel Vadot 66354d7675SEmmanuel Vadot clock-controller@100 { 67354d7675SEmmanuel Vadot #clock-cells = <1>; 68354d7675SEmmanuel Vadot compatible = "brcm,nsp-lcpll0"; 69354d7675SEmmanuel Vadot reg = <0x100 0x14>; 70354d7675SEmmanuel Vadot clocks = <&osc>; 71354d7675SEmmanuel Vadot clock-output-names = "lcpll0", "pcie_phy", "sdio", "ddr_phy"; 72354d7675SEmmanuel Vadot }; 73354d7675SEmmanuel Vadot 74354d7675SEmmanuel Vadot clock-controller@140 { 75354d7675SEmmanuel Vadot #clock-cells = <1>; 76354d7675SEmmanuel Vadot compatible = "brcm,nsp-genpll"; 77354d7675SEmmanuel Vadot reg = <0x140 0x24>; 78354d7675SEmmanuel Vadot clocks = <&osc>; 79354d7675SEmmanuel Vadot clock-output-names = "genpll", "phy", "ethernetclk", "usbclk", 80354d7675SEmmanuel Vadot "iprocfast", "sata1", "sata2"; 81354d7675SEmmanuel Vadot }; 82354d7675SEmmanuel Vadot 838cc087a1SEmmanuel Vadot phy@164 { 848cc087a1SEmmanuel Vadot compatible = "brcm,ns-usb2-phy"; 858cc087a1SEmmanuel Vadot reg = <0x164 0x4>; 868cc087a1SEmmanuel Vadot brcm,syscon-clkset = <&clkset>; 878cc087a1SEmmanuel Vadot clocks = <&genpll BCM_NSP_GENPLL_USB_PHY_REF_CLK>; 888cc087a1SEmmanuel Vadot clock-names = "phy-ref-clk"; 898cc087a1SEmmanuel Vadot #phy-cells = <0>; 908cc087a1SEmmanuel Vadot }; 918cc087a1SEmmanuel Vadot 928cc087a1SEmmanuel Vadot clkset: syscon@180 { 938cc087a1SEmmanuel Vadot compatible = "brcm,cru-clkset", "syscon"; 948cc087a1SEmmanuel Vadot reg = <0x180 0x4>; 958cc087a1SEmmanuel Vadot }; 968cc087a1SEmmanuel Vadot 97*e67e8565SEmmanuel Vadot pinctrl@1c0 { 98354d7675SEmmanuel Vadot compatible = "brcm,bcm4708-pinmux"; 99354d7675SEmmanuel Vadot reg = <0x1c0 0x24>; 100354d7675SEmmanuel Vadot reg-names = "cru_gpio_control"; 101354d7675SEmmanuel Vadot }; 102354d7675SEmmanuel Vadot 103354d7675SEmmanuel Vadot thermal@2c0 { 104354d7675SEmmanuel Vadot compatible = "brcm,ns-thermal"; 105354d7675SEmmanuel Vadot reg = <0x2c0 0x10>; 106354d7675SEmmanuel Vadot #thermal-sensor-cells = <0>; 107354d7675SEmmanuel Vadot }; 108354d7675SEmmanuel Vadot }; 109