0001 Broadcom Kona Family Clocks
0002
0003 This binding is associated with Broadcom SoCs having "Kona" style
0004 clock control units (CCUs). A CCU is a clock provider that manages
0005 a set of clock signals. Each CCU is represented by a node in the
0006 device tree.
0007
0008 This binding uses the common clock binding:
0009 Documentation/devicetree/bindings/clock/clock-bindings.txt
0010
0011 Required properties:
0012 - compatible
0013 Shall have a value of the form "brcm,<model>-<which>-ccu",
0014 where <model> is a Broadcom SoC model number and <which> is
0015 the name of a defined CCU. For example:
0016 "brcm,bcm11351-root-ccu"
0017 The compatible strings used for each supported SoC family
0018 are defined below.
0019 - reg
0020 Shall define the base and range of the address space
0021 containing clock control registers
0022 - #clock-cells
0023 Shall have value <1>. The permitted clock-specifier values
0024 are defined below.
0025 - clock-output-names
0026 Shall be an ordered list of strings defining the names of
0027 the clocks provided by the CCU.
0028
0029 Device tree example:
0030
0031 slave_ccu: slave_ccu {
0032 compatible = "brcm,bcm11351-slave-ccu";
0033 reg = <0x3e011000 0x0f00>;
0034 #clock-cells = <1>;
0035 clock-output-names = "uartb",
0036 "uartb2",
0037 "uartb3",
0038 "uartb4";
0039 };
0040
0041 ref_crystal_clk: ref_crystal {
0042 #clock-cells = <0>;
0043 compatible = "fixed-clock";
0044 clock-frequency = <26000000>;
0045 };
0046
0047 uart@3e002000 {
0048 compatible = "brcm,bcm11351-dw-apb-uart", "snps,dw-apb-uart";
0049 reg = <0x3e002000 0x1000>;
0050 clocks = <&slave_ccu BCM281XX_SLAVE_CCU_UARTB3>;
0051 interrupts = <GIC_SPI 65 IRQ_TYPE_LEVEL_HIGH>;
0052 reg-shift = <2>;
0053 reg-io-width = <4>;
0054 };
0055
0056 BCM281XX family
0057 ---------------
0058 CCU compatible string values for SoCs in the BCM281XX family are:
0059 "brcm,bcm11351-root-ccu"
0060 "brcm,bcm11351-aon-ccu"
0061 "brcm,bcm11351-hub-ccu"
0062 "brcm,bcm11351-master-ccu"
0063 "brcm,bcm11351-slave-ccu"
0064
0065 The following table defines the set of CCUs and clock specifiers for
0066 BCM281XX family clocks. When a clock consumer references a clocks,
0067 its symbolic specifier (rather than its numeric index value) should
0068 be used. These specifiers are defined in:
0069 "include/dt-bindings/clock/bcm281xx.h"
0070
0071 CCU Clock Type Index Specifier
0072 --- ----- ---- ----- ---------
0073 root frac_1m peri 0 BCM281XX_ROOT_CCU_FRAC_1M
0074
0075 aon hub_timer peri 0 BCM281XX_AON_CCU_HUB_TIMER
0076 aon pmu_bsc peri 1 BCM281XX_AON_CCU_PMU_BSC
0077 aon pmu_bsc_var peri 2 BCM281XX_AON_CCU_PMU_BSC_VAR
0078
0079 hub tmon_1m peri 0 BCM281XX_HUB_CCU_TMON_1M
0080
0081 master sdio1 peri 0 BCM281XX_MASTER_CCU_SDIO1
0082 master sdio2 peri 1 BCM281XX_MASTER_CCU_SDIO2
0083 master sdio3 peri 2 BCM281XX_MASTER_CCU_SDIO3
0084 master sdio4 peri 3 BCM281XX_MASTER_CCU_SDIO4
0085 master dmac peri 4 BCM281XX_MASTER_CCU_DMAC
0086 master usb_ic peri 5 BCM281XX_MASTER_CCU_USB_IC
0087 master hsic2_48m peri 6 BCM281XX_MASTER_CCU_HSIC_48M
0088 master hsic2_12m peri 7 BCM281XX_MASTER_CCU_HSIC_12M
0089
0090 slave uartb peri 0 BCM281XX_SLAVE_CCU_UARTB
0091 slave uartb2 peri 1 BCM281XX_SLAVE_CCU_UARTB2
0092 slave uartb3 peri 2 BCM281XX_SLAVE_CCU_UARTB3
0093 slave uartb4 peri 3 BCM281XX_SLAVE_CCU_UARTB4
0094 slave ssp0 peri 4 BCM281XX_SLAVE_CCU_SSP0
0095 slave ssp2 peri 5 BCM281XX_SLAVE_CCU_SSP2
0096 slave bsc1 peri 6 BCM281XX_SLAVE_CCU_BSC1
0097 slave bsc2 peri 7 BCM281XX_SLAVE_CCU_BSC2
0098 slave bsc3 peri 8 BCM281XX_SLAVE_CCU_BSC3
0099 slave pwm peri 9 BCM281XX_SLAVE_CCU_PWM
0100
0101
0102 BCM21664 family
0103 ---------------
0104 CCU compatible string values for SoCs in the BCM21664 family are:
0105 "brcm,bcm21664-root-ccu"
0106 "brcm,bcm21664-aon-ccu"
0107 "brcm,bcm21664-master-ccu"
0108 "brcm,bcm21664-slave-ccu"
0109
0110 The following table defines the set of CCUs and clock specifiers for
0111 BCM21664 family clocks. When a clock consumer references a clocks,
0112 its symbolic specifier (rather than its numeric index value) should
0113 be used. These specifiers are defined in:
0114 "include/dt-bindings/clock/bcm21664.h"
0115
0116 CCU Clock Type Index Specifier
0117 --- ----- ---- ----- ---------
0118 root frac_1m peri 0 BCM21664_ROOT_CCU_FRAC_1M
0119
0120 aon hub_timer peri 0 BCM21664_AON_CCU_HUB_TIMER
0121
0122 master sdio1 peri 0 BCM21664_MASTER_CCU_SDIO1
0123 master sdio2 peri 1 BCM21664_MASTER_CCU_SDIO2
0124 master sdio3 peri 2 BCM21664_MASTER_CCU_SDIO3
0125 master sdio4 peri 3 BCM21664_MASTER_CCU_SDIO4
0126 master sdio1_sleep peri 4 BCM21664_MASTER_CCU_SDIO1_SLEEP
0127 master sdio2_sleep peri 5 BCM21664_MASTER_CCU_SDIO2_SLEEP
0128 master sdio3_sleep peri 6 BCM21664_MASTER_CCU_SDIO3_SLEEP
0129 master sdio4_sleep peri 7 BCM21664_MASTER_CCU_SDIO4_SLEEP
0130
0131 slave uartb peri 0 BCM21664_SLAVE_CCU_UARTB
0132 slave uartb2 peri 1 BCM21664_SLAVE_CCU_UARTB2
0133 slave uartb3 peri 2 BCM21664_SLAVE_CCU_UARTB3
0134 slave uartb4 peri 3 BCM21664_SLAVE_CCU_UARTB4
0135 slave bsc1 peri 4 BCM21664_SLAVE_CCU_BSC1
0136 slave bsc2 peri 5 BCM21664_SLAVE_CCU_BSC2
0137 slave bsc3 peri 6 BCM21664_SLAVE_CCU_BSC3
0138 slave bsc4 peri 7 BCM21664_SLAVE_CCU_BSC4