1*c66ec88fSEmmanuel VadotBroadcom Kona Family Clocks 2*c66ec88fSEmmanuel Vadot 3*c66ec88fSEmmanuel VadotThis binding is associated with Broadcom SoCs having "Kona" style 4*c66ec88fSEmmanuel Vadotclock control units (CCUs). A CCU is a clock provider that manages 5*c66ec88fSEmmanuel Vadota set of clock signals. Each CCU is represented by a node in the 6*c66ec88fSEmmanuel Vadotdevice tree. 7*c66ec88fSEmmanuel Vadot 8*c66ec88fSEmmanuel VadotThis binding uses the common clock binding: 9*c66ec88fSEmmanuel Vadot Documentation/devicetree/bindings/clock/clock-bindings.txt 10*c66ec88fSEmmanuel Vadot 11*c66ec88fSEmmanuel VadotRequired properties: 12*c66ec88fSEmmanuel Vadot- compatible 13*c66ec88fSEmmanuel Vadot Shall have a value of the form "brcm,<model>-<which>-ccu", 14*c66ec88fSEmmanuel Vadot where <model> is a Broadcom SoC model number and <which> is 15*c66ec88fSEmmanuel Vadot the name of a defined CCU. For example: 16*c66ec88fSEmmanuel Vadot "brcm,bcm11351-root-ccu" 17*c66ec88fSEmmanuel Vadot The compatible strings used for each supported SoC family 18*c66ec88fSEmmanuel Vadot are defined below. 19*c66ec88fSEmmanuel Vadot- reg 20*c66ec88fSEmmanuel Vadot Shall define the base and range of the address space 21*c66ec88fSEmmanuel Vadot containing clock control registers 22*c66ec88fSEmmanuel Vadot- #clock-cells 23*c66ec88fSEmmanuel Vadot Shall have value <1>. The permitted clock-specifier values 24*c66ec88fSEmmanuel Vadot are defined below. 25*c66ec88fSEmmanuel Vadot- clock-output-names 26*c66ec88fSEmmanuel Vadot Shall be an ordered list of strings defining the names of 27*c66ec88fSEmmanuel Vadot the clocks provided by the CCU. 28*c66ec88fSEmmanuel Vadot 29*c66ec88fSEmmanuel VadotDevice tree example: 30*c66ec88fSEmmanuel Vadot 31*c66ec88fSEmmanuel Vadot slave_ccu: slave_ccu { 32*c66ec88fSEmmanuel Vadot compatible = "brcm,bcm11351-slave-ccu"; 33*c66ec88fSEmmanuel Vadot reg = <0x3e011000 0x0f00>; 34*c66ec88fSEmmanuel Vadot #clock-cells = <1>; 35*c66ec88fSEmmanuel Vadot clock-output-names = "uartb", 36*c66ec88fSEmmanuel Vadot "uartb2", 37*c66ec88fSEmmanuel Vadot "uartb3", 38*c66ec88fSEmmanuel Vadot "uartb4"; 39*c66ec88fSEmmanuel Vadot }; 40*c66ec88fSEmmanuel Vadot 41*c66ec88fSEmmanuel Vadot ref_crystal_clk: ref_crystal { 42*c66ec88fSEmmanuel Vadot #clock-cells = <0>; 43*c66ec88fSEmmanuel Vadot compatible = "fixed-clock"; 44*c66ec88fSEmmanuel Vadot clock-frequency = <26000000>; 45*c66ec88fSEmmanuel Vadot }; 46*c66ec88fSEmmanuel Vadot 47*c66ec88fSEmmanuel Vadot uart@3e002000 { 48*c66ec88fSEmmanuel Vadot compatible = "brcm,bcm11351-dw-apb-uart", "snps,dw-apb-uart"; 49*c66ec88fSEmmanuel Vadot reg = <0x3e002000 0x1000>; 50*c66ec88fSEmmanuel Vadot clocks = <&slave_ccu BCM281XX_SLAVE_CCU_UARTB3>; 51*c66ec88fSEmmanuel Vadot interrupts = <GIC_SPI 65 IRQ_TYPE_LEVEL_HIGH>; 52*c66ec88fSEmmanuel Vadot reg-shift = <2>; 53*c66ec88fSEmmanuel Vadot reg-io-width = <4>; 54*c66ec88fSEmmanuel Vadot }; 55*c66ec88fSEmmanuel Vadot 56*c66ec88fSEmmanuel VadotBCM281XX family 57*c66ec88fSEmmanuel Vadot--------------- 58*c66ec88fSEmmanuel VadotCCU compatible string values for SoCs in the BCM281XX family are: 59*c66ec88fSEmmanuel Vadot "brcm,bcm11351-root-ccu" 60*c66ec88fSEmmanuel Vadot "brcm,bcm11351-aon-ccu" 61*c66ec88fSEmmanuel Vadot "brcm,bcm11351-hub-ccu" 62*c66ec88fSEmmanuel Vadot "brcm,bcm11351-master-ccu" 63*c66ec88fSEmmanuel Vadot "brcm,bcm11351-slave-ccu" 64*c66ec88fSEmmanuel Vadot 65*c66ec88fSEmmanuel VadotThe following table defines the set of CCUs and clock specifiers for 66*c66ec88fSEmmanuel VadotBCM281XX family clocks. When a clock consumer references a clocks, 67*c66ec88fSEmmanuel Vadotits symbolic specifier (rather than its numeric index value) should 68*c66ec88fSEmmanuel Vadotbe used. These specifiers are defined in: 69*c66ec88fSEmmanuel Vadot "include/dt-bindings/clock/bcm281xx.h" 70*c66ec88fSEmmanuel Vadot 71*c66ec88fSEmmanuel Vadot CCU Clock Type Index Specifier 72*c66ec88fSEmmanuel Vadot --- ----- ---- ----- --------- 73*c66ec88fSEmmanuel Vadot root frac_1m peri 0 BCM281XX_ROOT_CCU_FRAC_1M 74*c66ec88fSEmmanuel Vadot 75*c66ec88fSEmmanuel Vadot aon hub_timer peri 0 BCM281XX_AON_CCU_HUB_TIMER 76*c66ec88fSEmmanuel Vadot aon pmu_bsc peri 1 BCM281XX_AON_CCU_PMU_BSC 77*c66ec88fSEmmanuel Vadot aon pmu_bsc_var peri 2 BCM281XX_AON_CCU_PMU_BSC_VAR 78*c66ec88fSEmmanuel Vadot 79*c66ec88fSEmmanuel Vadot hub tmon_1m peri 0 BCM281XX_HUB_CCU_TMON_1M 80*c66ec88fSEmmanuel Vadot 81*c66ec88fSEmmanuel Vadot master sdio1 peri 0 BCM281XX_MASTER_CCU_SDIO1 82*c66ec88fSEmmanuel Vadot master sdio2 peri 1 BCM281XX_MASTER_CCU_SDIO2 83*c66ec88fSEmmanuel Vadot master sdio3 peri 2 BCM281XX_MASTER_CCU_SDIO3 84*c66ec88fSEmmanuel Vadot master sdio4 peri 3 BCM281XX_MASTER_CCU_SDIO4 85*c66ec88fSEmmanuel Vadot master dmac peri 4 BCM281XX_MASTER_CCU_DMAC 86*c66ec88fSEmmanuel Vadot master usb_ic peri 5 BCM281XX_MASTER_CCU_USB_IC 87*c66ec88fSEmmanuel Vadot master hsic2_48m peri 6 BCM281XX_MASTER_CCU_HSIC_48M 88*c66ec88fSEmmanuel Vadot master hsic2_12m peri 7 BCM281XX_MASTER_CCU_HSIC_12M 89*c66ec88fSEmmanuel Vadot 90*c66ec88fSEmmanuel Vadot slave uartb peri 0 BCM281XX_SLAVE_CCU_UARTB 91*c66ec88fSEmmanuel Vadot slave uartb2 peri 1 BCM281XX_SLAVE_CCU_UARTB2 92*c66ec88fSEmmanuel Vadot slave uartb3 peri 2 BCM281XX_SLAVE_CCU_UARTB3 93*c66ec88fSEmmanuel Vadot slave uartb4 peri 3 BCM281XX_SLAVE_CCU_UARTB4 94*c66ec88fSEmmanuel Vadot slave ssp0 peri 4 BCM281XX_SLAVE_CCU_SSP0 95*c66ec88fSEmmanuel Vadot slave ssp2 peri 5 BCM281XX_SLAVE_CCU_SSP2 96*c66ec88fSEmmanuel Vadot slave bsc1 peri 6 BCM281XX_SLAVE_CCU_BSC1 97*c66ec88fSEmmanuel Vadot slave bsc2 peri 7 BCM281XX_SLAVE_CCU_BSC2 98*c66ec88fSEmmanuel Vadot slave bsc3 peri 8 BCM281XX_SLAVE_CCU_BSC3 99*c66ec88fSEmmanuel Vadot slave pwm peri 9 BCM281XX_SLAVE_CCU_PWM 100*c66ec88fSEmmanuel Vadot 101*c66ec88fSEmmanuel Vadot 102*c66ec88fSEmmanuel VadotBCM21664 family 103*c66ec88fSEmmanuel Vadot--------------- 104*c66ec88fSEmmanuel VadotCCU compatible string values for SoCs in the BCM21664 family are: 105*c66ec88fSEmmanuel Vadot "brcm,bcm21664-root-ccu" 106*c66ec88fSEmmanuel Vadot "brcm,bcm21664-aon-ccu" 107*c66ec88fSEmmanuel Vadot "brcm,bcm21664-master-ccu" 108*c66ec88fSEmmanuel Vadot "brcm,bcm21664-slave-ccu" 109*c66ec88fSEmmanuel Vadot 110*c66ec88fSEmmanuel VadotThe following table defines the set of CCUs and clock specifiers for 111*c66ec88fSEmmanuel VadotBCM21664 family clocks. When a clock consumer references a clocks, 112*c66ec88fSEmmanuel Vadotits symbolic specifier (rather than its numeric index value) should 113*c66ec88fSEmmanuel Vadotbe used. These specifiers are defined in: 114*c66ec88fSEmmanuel Vadot "include/dt-bindings/clock/bcm21664.h" 115*c66ec88fSEmmanuel Vadot 116*c66ec88fSEmmanuel Vadot CCU Clock Type Index Specifier 117*c66ec88fSEmmanuel Vadot --- ----- ---- ----- --------- 118*c66ec88fSEmmanuel Vadot root frac_1m peri 0 BCM21664_ROOT_CCU_FRAC_1M 119*c66ec88fSEmmanuel Vadot 120*c66ec88fSEmmanuel Vadot aon hub_timer peri 0 BCM21664_AON_CCU_HUB_TIMER 121*c66ec88fSEmmanuel Vadot 122*c66ec88fSEmmanuel Vadot master sdio1 peri 0 BCM21664_MASTER_CCU_SDIO1 123*c66ec88fSEmmanuel Vadot master sdio2 peri 1 BCM21664_MASTER_CCU_SDIO2 124*c66ec88fSEmmanuel Vadot master sdio3 peri 2 BCM21664_MASTER_CCU_SDIO3 125*c66ec88fSEmmanuel Vadot master sdio4 peri 3 BCM21664_MASTER_CCU_SDIO4 126*c66ec88fSEmmanuel Vadot master sdio1_sleep peri 4 BCM21664_MASTER_CCU_SDIO1_SLEEP 127*c66ec88fSEmmanuel Vadot master sdio2_sleep peri 5 BCM21664_MASTER_CCU_SDIO2_SLEEP 128*c66ec88fSEmmanuel Vadot master sdio3_sleep peri 6 BCM21664_MASTER_CCU_SDIO3_SLEEP 129*c66ec88fSEmmanuel Vadot master sdio4_sleep peri 7 BCM21664_MASTER_CCU_SDIO4_SLEEP 130*c66ec88fSEmmanuel Vadot 131*c66ec88fSEmmanuel Vadot slave uartb peri 0 BCM21664_SLAVE_CCU_UARTB 132*c66ec88fSEmmanuel Vadot slave uartb2 peri 1 BCM21664_SLAVE_CCU_UARTB2 133*c66ec88fSEmmanuel Vadot slave uartb3 peri 2 BCM21664_SLAVE_CCU_UARTB3 134*c66ec88fSEmmanuel Vadot slave uartb4 peri 3 BCM21664_SLAVE_CCU_UARTB4 135*c66ec88fSEmmanuel Vadot slave bsc1 peri 4 BCM21664_SLAVE_CCU_BSC1 136*c66ec88fSEmmanuel Vadot slave bsc2 peri 5 BCM21664_SLAVE_CCU_BSC2 137*c66ec88fSEmmanuel Vadot slave bsc3 peri 6 BCM21664_SLAVE_CCU_BSC3 138*c66ec88fSEmmanuel Vadot slave bsc4 peri 7 BCM21664_SLAVE_CCU_BSC4 139