brcm,kona-ccu.txt 5.6 KB

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