Back to home page

OSCL-LXR

 
 

    


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