brcm,kona-ccu.txt 5.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139
  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. status = "disabled";
  43. reg = <0x3e002000 0x1000>;
  44. clocks = <&slave_ccu BCM281XX_SLAVE_CCU_UARTB3>;
  45. interrupts = <GIC_SPI 65 IRQ_TYPE_LEVEL_HIGH>;
  46. reg-shift = <2>;
  47. reg-io-width = <4>;
  48. };
  49. BCM281XX family
  50. ---------------
  51. CCU compatible string values for SoCs in the BCM281XX family are:
  52. "brcm,bcm11351-root-ccu"
  53. "brcm,bcm11351-aon-ccu"
  54. "brcm,bcm11351-hub-ccu"
  55. "brcm,bcm11351-master-ccu"
  56. "brcm,bcm11351-slave-ccu"
  57. The following table defines the set of CCUs and clock specifiers for
  58. BCM281XX family clocks. When a clock consumer references a clocks,
  59. its symbolic specifier (rather than its numeric index value) should
  60. be used. These specifiers are defined in:
  61. "include/dt-bindings/clock/bcm281xx.h"
  62. CCU Clock Type Index Specifier
  63. --- ----- ---- ----- ---------
  64. root frac_1m peri 0 BCM281XX_ROOT_CCU_FRAC_1M
  65. aon hub_timer peri 0 BCM281XX_AON_CCU_HUB_TIMER
  66. aon pmu_bsc peri 1 BCM281XX_AON_CCU_PMU_BSC
  67. aon pmu_bsc_var peri 2 BCM281XX_AON_CCU_PMU_BSC_VAR
  68. hub tmon_1m peri 0 BCM281XX_HUB_CCU_TMON_1M
  69. master sdio1 peri 0 BCM281XX_MASTER_CCU_SDIO1
  70. master sdio2 peri 1 BCM281XX_MASTER_CCU_SDIO2
  71. master sdio3 peri 2 BCM281XX_MASTER_CCU_SDIO3
  72. master sdio4 peri 3 BCM281XX_MASTER_CCU_SDIO4
  73. master dmac peri 4 BCM281XX_MASTER_CCU_DMAC
  74. master usb_ic peri 5 BCM281XX_MASTER_CCU_USB_IC
  75. master hsic2_48m peri 6 BCM281XX_MASTER_CCU_HSIC_48M
  76. master hsic2_12m peri 7 BCM281XX_MASTER_CCU_HSIC_12M
  77. slave uartb peri 0 BCM281XX_SLAVE_CCU_UARTB
  78. slave uartb2 peri 1 BCM281XX_SLAVE_CCU_UARTB2
  79. slave uartb3 peri 2 BCM281XX_SLAVE_CCU_UARTB3
  80. slave uartb4 peri 3 BCM281XX_SLAVE_CCU_UARTB4
  81. slave ssp0 peri 4 BCM281XX_SLAVE_CCU_SSP0
  82. slave ssp2 peri 5 BCM281XX_SLAVE_CCU_SSP2
  83. slave bsc1 peri 6 BCM281XX_SLAVE_CCU_BSC1
  84. slave bsc2 peri 7 BCM281XX_SLAVE_CCU_BSC2
  85. slave bsc3 peri 8 BCM281XX_SLAVE_CCU_BSC3
  86. slave pwm peri 9 BCM281XX_SLAVE_CCU_PWM
  87. BCM21664 family
  88. ---------------
  89. CCU compatible string values for SoCs in the BCM21664 family are:
  90. "brcm,bcm21664-root-ccu"
  91. "brcm,bcm21664-aon-ccu"
  92. "brcm,bcm21664-master-ccu"
  93. "brcm,bcm21664-slave-ccu"
  94. The following table defines the set of CCUs and clock specifiers for
  95. BCM21664 family clocks. When a clock consumer references a clocks,
  96. its symbolic specifier (rather than its numeric index value) should
  97. be used. These specifiers are defined in:
  98. "include/dt-bindings/clock/bcm21664.h"
  99. CCU Clock Type Index Specifier
  100. --- ----- ---- ----- ---------
  101. root frac_1m peri 0 BCM21664_ROOT_CCU_FRAC_1M
  102. aon hub_timer peri 0 BCM21664_AON_CCU_HUB_TIMER
  103. master sdio1 peri 0 BCM21664_MASTER_CCU_SDIO1
  104. master sdio2 peri 1 BCM21664_MASTER_CCU_SDIO2
  105. master sdio3 peri 2 BCM21664_MASTER_CCU_SDIO3
  106. master sdio4 peri 3 BCM21664_MASTER_CCU_SDIO4
  107. master sdio1_sleep peri 4 BCM21664_MASTER_CCU_SDIO1_SLEEP
  108. master sdio2_sleep peri 5 BCM21664_MASTER_CCU_SDIO2_SLEEP
  109. master sdio3_sleep peri 6 BCM21664_MASTER_CCU_SDIO3_SLEEP
  110. master sdio4_sleep peri 7 BCM21664_MASTER_CCU_SDIO4_SLEEP
  111. slave uartb peri 0 BCM21664_SLAVE_CCU_UARTB
  112. slave uartb2 peri 1 BCM21664_SLAVE_CCU_UARTB2
  113. slave uartb3 peri 2 BCM21664_SLAVE_CCU_UARTB3
  114. slave uartb4 peri 3 BCM21664_SLAVE_CCU_UARTB4
  115. slave bsc1 peri 4 BCM21664_SLAVE_CCU_BSC1
  116. slave bsc2 peri 5 BCM21664_SLAVE_CCU_BSC2
  117. slave bsc3 peri 6 BCM21664_SLAVE_CCU_BSC3
  118. slave bsc4 peri 7 BCM21664_SLAVE_CCU_BSC4