123a71fd6SScott BrandenBroadcom Kona Family Clocks 223a71fd6SScott Branden 323a71fd6SScott BrandenThis binding is associated with Broadcom SoCs having "Kona" style 423a71fd6SScott Brandenclock control units (CCUs). A CCU is a clock provider that manages 523a71fd6SScott Brandena set of clock signals. Each CCU is represented by a node in the 623a71fd6SScott Brandendevice tree. 723a71fd6SScott Branden 823a71fd6SScott BrandenThis binding uses the common clock binding: 923a71fd6SScott Branden Documentation/devicetree/bindings/clock/clock-bindings.txt 1023a71fd6SScott Branden 1123a71fd6SScott BrandenRequired properties: 1223a71fd6SScott Branden- compatible 1323a71fd6SScott Branden Shall have a value of the form "brcm,<model>-<which>-ccu", 1423a71fd6SScott Branden where <model> is a Broadcom SoC model number and <which> is 1523a71fd6SScott Branden the name of a defined CCU. For example: 1623a71fd6SScott Branden "brcm,bcm11351-root-ccu" 1723a71fd6SScott Branden The compatible strings used for each supported SoC family 1823a71fd6SScott Branden are defined below. 1923a71fd6SScott Branden- reg 2023a71fd6SScott Branden Shall define the base and range of the address space 2123a71fd6SScott Branden containing clock control registers 2223a71fd6SScott Branden- #clock-cells 2323a71fd6SScott Branden Shall have value <1>. The permitted clock-specifier values 2423a71fd6SScott Branden are defined below. 2523a71fd6SScott Branden- clock-output-names 2623a71fd6SScott Branden Shall be an ordered list of strings defining the names of 2723a71fd6SScott Branden the clocks provided by the CCU. 2823a71fd6SScott Branden 2923a71fd6SScott BrandenDevice tree example: 3023a71fd6SScott Branden 3123a71fd6SScott Branden slave_ccu: slave_ccu { 3223a71fd6SScott Branden compatible = "brcm,bcm11351-slave-ccu"; 3323a71fd6SScott Branden reg = <0x3e011000 0x0f00>; 3423a71fd6SScott Branden #clock-cells = <1>; 3523a71fd6SScott Branden clock-output-names = "uartb", 3623a71fd6SScott Branden "uartb2", 3723a71fd6SScott Branden "uartb3", 3823a71fd6SScott Branden "uartb4"; 3923a71fd6SScott Branden }; 4023a71fd6SScott Branden 4123a71fd6SScott Branden ref_crystal_clk: ref_crystal { 4223a71fd6SScott Branden #clock-cells = <0>; 4323a71fd6SScott Branden compatible = "fixed-clock"; 4423a71fd6SScott Branden clock-frequency = <26000000>; 4523a71fd6SScott Branden }; 4623a71fd6SScott Branden 4723a71fd6SScott Branden uart@3e002000 { 4823a71fd6SScott Branden compatible = "brcm,bcm11351-dw-apb-uart", "snps,dw-apb-uart"; 4923a71fd6SScott Branden status = "disabled"; 5023a71fd6SScott Branden reg = <0x3e002000 0x1000>; 5123a71fd6SScott Branden clocks = <&slave_ccu BCM281XX_SLAVE_CCU_UARTB3>; 5223a71fd6SScott Branden interrupts = <GIC_SPI 65 IRQ_TYPE_LEVEL_HIGH>; 5323a71fd6SScott Branden reg-shift = <2>; 5423a71fd6SScott Branden reg-io-width = <4>; 5523a71fd6SScott Branden }; 5623a71fd6SScott Branden 5723a71fd6SScott BrandenBCM281XX family 5823a71fd6SScott Branden--------------- 5923a71fd6SScott BrandenCCU compatible string values for SoCs in the BCM281XX family are: 6023a71fd6SScott Branden "brcm,bcm11351-root-ccu" 6123a71fd6SScott Branden "brcm,bcm11351-aon-ccu" 6223a71fd6SScott Branden "brcm,bcm11351-hub-ccu" 6323a71fd6SScott Branden "brcm,bcm11351-master-ccu" 6423a71fd6SScott Branden "brcm,bcm11351-slave-ccu" 6523a71fd6SScott Branden 6623a71fd6SScott BrandenThe following table defines the set of CCUs and clock specifiers for 6723a71fd6SScott BrandenBCM281XX family clocks. When a clock consumer references a clocks, 6823a71fd6SScott Brandenits symbolic specifier (rather than its numeric index value) should 6923a71fd6SScott Brandenbe used. These specifiers are defined in: 7023a71fd6SScott Branden "include/dt-bindings/clock/bcm281xx.h" 7123a71fd6SScott Branden 7223a71fd6SScott Branden CCU Clock Type Index Specifier 7323a71fd6SScott Branden --- ----- ---- ----- --------- 7423a71fd6SScott Branden root frac_1m peri 0 BCM281XX_ROOT_CCU_FRAC_1M 7523a71fd6SScott Branden 7623a71fd6SScott Branden aon hub_timer peri 0 BCM281XX_AON_CCU_HUB_TIMER 7723a71fd6SScott Branden aon pmu_bsc peri 1 BCM281XX_AON_CCU_PMU_BSC 7823a71fd6SScott Branden aon pmu_bsc_var peri 2 BCM281XX_AON_CCU_PMU_BSC_VAR 7923a71fd6SScott Branden 8023a71fd6SScott Branden hub tmon_1m peri 0 BCM281XX_HUB_CCU_TMON_1M 8123a71fd6SScott Branden 8223a71fd6SScott Branden master sdio1 peri 0 BCM281XX_MASTER_CCU_SDIO1 8323a71fd6SScott Branden master sdio2 peri 1 BCM281XX_MASTER_CCU_SDIO2 8423a71fd6SScott Branden master sdio3 peri 2 BCM281XX_MASTER_CCU_SDIO3 8523a71fd6SScott Branden master sdio4 peri 3 BCM281XX_MASTER_CCU_SDIO4 8623a71fd6SScott Branden master dmac peri 4 BCM281XX_MASTER_CCU_DMAC 8723a71fd6SScott Branden master usb_ic peri 5 BCM281XX_MASTER_CCU_USB_IC 8823a71fd6SScott Branden master hsic2_48m peri 6 BCM281XX_MASTER_CCU_HSIC_48M 8923a71fd6SScott Branden master hsic2_12m peri 7 BCM281XX_MASTER_CCU_HSIC_12M 9023a71fd6SScott Branden 9123a71fd6SScott Branden slave uartb peri 0 BCM281XX_SLAVE_CCU_UARTB 9223a71fd6SScott Branden slave uartb2 peri 1 BCM281XX_SLAVE_CCU_UARTB2 9323a71fd6SScott Branden slave uartb3 peri 2 BCM281XX_SLAVE_CCU_UARTB3 9423a71fd6SScott Branden slave uartb4 peri 3 BCM281XX_SLAVE_CCU_UARTB4 9523a71fd6SScott Branden slave ssp0 peri 4 BCM281XX_SLAVE_CCU_SSP0 9623a71fd6SScott Branden slave ssp2 peri 5 BCM281XX_SLAVE_CCU_SSP2 9723a71fd6SScott Branden slave bsc1 peri 6 BCM281XX_SLAVE_CCU_BSC1 9823a71fd6SScott Branden slave bsc2 peri 7 BCM281XX_SLAVE_CCU_BSC2 9923a71fd6SScott Branden slave bsc3 peri 8 BCM281XX_SLAVE_CCU_BSC3 10023a71fd6SScott Branden slave pwm peri 9 BCM281XX_SLAVE_CCU_PWM 10123a71fd6SScott Branden 10223a71fd6SScott Branden 10323a71fd6SScott BrandenBCM21664 family 10423a71fd6SScott Branden--------------- 10523a71fd6SScott BrandenCCU compatible string values for SoCs in the BCM21664 family are: 10623a71fd6SScott Branden "brcm,bcm21664-root-ccu" 10723a71fd6SScott Branden "brcm,bcm21664-aon-ccu" 10823a71fd6SScott Branden "brcm,bcm21664-master-ccu" 10923a71fd6SScott Branden "brcm,bcm21664-slave-ccu" 11023a71fd6SScott Branden 11123a71fd6SScott BrandenThe following table defines the set of CCUs and clock specifiers for 11223a71fd6SScott BrandenBCM21664 family clocks. When a clock consumer references a clocks, 11323a71fd6SScott Brandenits symbolic specifier (rather than its numeric index value) should 11423a71fd6SScott Brandenbe used. These specifiers are defined in: 11523a71fd6SScott Branden "include/dt-bindings/clock/bcm21664.h" 11623a71fd6SScott Branden 11723a71fd6SScott Branden CCU Clock Type Index Specifier 11823a71fd6SScott Branden --- ----- ---- ----- --------- 11923a71fd6SScott Branden root frac_1m peri 0 BCM21664_ROOT_CCU_FRAC_1M 12023a71fd6SScott Branden 12123a71fd6SScott Branden aon hub_timer peri 0 BCM21664_AON_CCU_HUB_TIMER 12223a71fd6SScott Branden 12323a71fd6SScott Branden master sdio1 peri 0 BCM21664_MASTER_CCU_SDIO1 12423a71fd6SScott Branden master sdio2 peri 1 BCM21664_MASTER_CCU_SDIO2 12523a71fd6SScott Branden master sdio3 peri 2 BCM21664_MASTER_CCU_SDIO3 12623a71fd6SScott Branden master sdio4 peri 3 BCM21664_MASTER_CCU_SDIO4 12723a71fd6SScott Branden master sdio1_sleep peri 4 BCM21664_MASTER_CCU_SDIO1_SLEEP 12823a71fd6SScott Branden master sdio2_sleep peri 5 BCM21664_MASTER_CCU_SDIO2_SLEEP 12923a71fd6SScott Branden master sdio3_sleep peri 6 BCM21664_MASTER_CCU_SDIO3_SLEEP 13023a71fd6SScott Branden master sdio4_sleep peri 7 BCM21664_MASTER_CCU_SDIO4_SLEEP 13123a71fd6SScott Branden 13223a71fd6SScott Branden slave uartb peri 0 BCM21664_SLAVE_CCU_UARTB 13323a71fd6SScott Branden slave uartb2 peri 1 BCM21664_SLAVE_CCU_UARTB2 13423a71fd6SScott Branden slave uartb3 peri 2 BCM21664_SLAVE_CCU_UARTB3 13523a71fd6SScott Branden slave uartb4 peri 3 BCM21664_SLAVE_CCU_UARTB4 13623a71fd6SScott Branden slave bsc1 peri 4 BCM21664_SLAVE_CCU_BSC1 13723a71fd6SScott Branden slave bsc2 peri 5 BCM21664_SLAVE_CCU_BSC2 13823a71fd6SScott Branden slave bsc3 peri 6 BCM21664_SLAVE_CCU_BSC3 13923a71fd6SScott Branden slave bsc4 peri 7 BCM21664_SLAVE_CCU_BSC4 140