brcm,iproc-clocks.txt 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313
  1. Broadcom iProc Family Clocks
  2. This binding uses the common clock binding:
  3. Documentation/devicetree/bindings/clock/clock-bindings.txt
  4. The iProc clock controller manages clocks that are common to the iProc family.
  5. An SoC from the iProc family may have several PPLs, e.g., ARMPLL, GENPLL,
  6. LCPLL0, MIPIPLL, and etc., all derived from an onboard crystal. Each PLL
  7. comprises of several leaf clocks
  8. Required properties for a PLL and its leaf clocks:
  9. - compatible:
  10. Should have a value of the form "brcm,<soc>-<pll>". For example, GENPLL on
  11. Cygnus has a compatible string of "brcm,cygnus-genpll"
  12. - #clock-cells:
  13. Have a value of <1> since there are more than 1 leaf clock of a given PLL
  14. - reg:
  15. Define the base and range of the I/O address space that contain the iProc
  16. clock control registers required for the PLL
  17. - clocks:
  18. The input parent clock phandle for the PLL. For most iProc PLLs, this is an
  19. onboard crystal with a fixed rate
  20. - clock-output-names:
  21. An ordered list of strings defining the names of the clocks
  22. Example:
  23. osc: oscillator {
  24. #clock-cells = <0>;
  25. compatible = "fixed-clock";
  26. clock-frequency = <25000000>;
  27. };
  28. genpll: genpll {
  29. #clock-cells = <1>;
  30. compatible = "brcm,cygnus-genpll";
  31. reg = <0x0301d000 0x2c>, <0x0301c020 0x4>;
  32. clocks = <&osc>;
  33. clock-output-names = "genpll", "axi21", "250mhz", "ihost_sys",
  34. "enet_sw", "audio_125", "can";
  35. };
  36. Required properties for ASIU clocks:
  37. ASIU clocks are a special case. These clocks are derived directly from the
  38. reference clock of the onboard crystal
  39. - compatible:
  40. Should have a value of the form "brcm,<soc>-asiu-clk". For example, ASIU
  41. clocks for Cygnus have a compatible string of "brcm,cygnus-asiu-clk"
  42. - #clock-cells:
  43. Have a value of <1> since there are more than 1 ASIU clocks
  44. - reg:
  45. Define the base and range of the I/O address space that contain the iProc
  46. clock control registers required for ASIU clocks
  47. - clocks:
  48. The input parent clock phandle for the ASIU clock, i.e., the onboard
  49. crystal
  50. - clock-output-names:
  51. An ordered list of strings defining the names of the ASIU clocks
  52. Example:
  53. osc: oscillator {
  54. #clock-cells = <0>;
  55. compatible = "fixed-clock";
  56. clock-frequency = <25000000>;
  57. };
  58. asiu_clks: asiu_clks {
  59. #clock-cells = <1>;
  60. compatible = "brcm,cygnus-asiu-clk";
  61. reg = <0x0301d048 0xc>, <0x180aa024 0x4>;
  62. clocks = <&osc>;
  63. clock-output-names = "keypad", "adc/touch", "pwm";
  64. };
  65. Cygnus
  66. ------
  67. PLL and leaf clock compatible strings for Cygnus are:
  68. "brcm,cygnus-armpll"
  69. "brcm,cygnus-genpll"
  70. "brcm,cygnus-lcpll0"
  71. "brcm,cygnus-mipipll"
  72. "brcm,cygnus-asiu-clk"
  73. "brcm,cygnus-audiopll"
  74. The following table defines the set of PLL/clock index and ID for Cygnus.
  75. These clock IDs are defined in:
  76. "include/dt-bindings/clock/bcm-cygnus.h"
  77. Clock Source (Parent) Index ID
  78. --- ----- ----- ---------
  79. crystal N/A N/A N/A
  80. armpll crystal N/A N/A
  81. keypad crystal (ASIU) 0 BCM_CYGNUS_ASIU_KEYPAD_CLK
  82. adc/tsc crystal (ASIU) 1 BCM_CYGNUS_ASIU_ADC_CLK
  83. pwm crystal (ASIU) 2 BCM_CYGNUS_ASIU_PWM_CLK
  84. genpll crystal 0 BCM_CYGNUS_GENPLL
  85. axi21 genpll 1 BCM_CYGNUS_GENPLL_AXI21_CLK
  86. 250mhz genpll 2 BCM_CYGNUS_GENPLL_250MHZ_CLK
  87. ihost_sys genpll 3 BCM_CYGNUS_GENPLL_IHOST_SYS_CLK
  88. enet_sw genpll 4 BCM_CYGNUS_GENPLL_ENET_SW_CLK
  89. audio_125 genpll 5 BCM_CYGNUS_GENPLL_AUDIO_125_CLK
  90. can genpll 6 BCM_CYGNUS_GENPLL_CAN_CLK
  91. lcpll0 crystal 0 BCM_CYGNUS_LCPLL0
  92. pcie_phy lcpll0 1 BCM_CYGNUS_LCPLL0_PCIE_PHY_REF_CLK
  93. ddr_phy lcpll0 2 BCM_CYGNUS_LCPLL0_DDR_PHY_CLK
  94. sdio lcpll0 3 BCM_CYGNUS_LCPLL0_SDIO_CLK
  95. usb_phy lcpll0 4 BCM_CYGNUS_LCPLL0_USB_PHY_REF_CLK
  96. smart_card lcpll0 5 BCM_CYGNUS_LCPLL0_SMART_CARD_CLK
  97. ch5_unused lcpll0 6 BCM_CYGNUS_LCPLL0_CH5_UNUSED
  98. mipipll crystal 0 BCM_CYGNUS_MIPIPLL
  99. ch0_unused mipipll 1 BCM_CYGNUS_MIPIPLL_CH0_UNUSED
  100. ch1_lcd mipipll 2 BCM_CYGNUS_MIPIPLL_CH1_LCD
  101. ch2_v3d mipipll 3 BCM_CYGNUS_MIPIPLL_CH2_V3D
  102. ch3_unused mipipll 4 BCM_CYGNUS_MIPIPLL_CH3_UNUSED
  103. ch4_unused mipipll 5 BCM_CYGNUS_MIPIPLL_CH4_UNUSED
  104. ch5_unused mipipll 6 BCM_CYGNUS_MIPIPLL_CH5_UNUSED
  105. audiopll crystal 0 BCM_CYGNUS_AUDIOPLL
  106. ch0_audio audiopll 1 BCM_CYGNUS_AUDIOPLL_CH0
  107. ch1_audio audiopll 2 BCM_CYGNUS_AUDIOPLL_CH1
  108. ch2_audio audiopll 3 BCM_CYGNUS_AUDIOPLL_CH2
  109. Hurricane 2
  110. ------
  111. PLL and leaf clock compatible strings for Hurricane 2 are:
  112. "brcm,hr2-armpll"
  113. The following table defines the set of PLL/clock for Hurricane 2:
  114. Clock Source Index ID
  115. --- ----- ----- ---------
  116. crystal N/A N/A N/A
  117. armpll crystal N/A N/A
  118. Northstar and Northstar Plus
  119. ------
  120. PLL and leaf clock compatible strings for Northstar and Northstar Plus are:
  121. "brcm,nsp-armpll"
  122. "brcm,nsp-genpll"
  123. "brcm,nsp-lcpll0"
  124. The following table defines the set of PLL/clock index and ID for Northstar and
  125. Northstar Plus. These clock IDs are defined in:
  126. "include/dt-bindings/clock/bcm-nsp.h"
  127. Clock Source Index ID
  128. --- ----- ----- ---------
  129. crystal N/A N/A N/A
  130. armpll crystal N/A N/A
  131. genpll crystal 0 BCM_NSP_GENPLL
  132. phy genpll 1 BCM_NSP_GENPLL_PHY_CLK
  133. ethernetclk genpll 2 BCM_NSP_GENPLL_ENET_SW_CLK
  134. usbclk genpll 3 BCM_NSP_GENPLL_USB_PHY_REF_CLK
  135. iprocfast genpll 4 BCM_NSP_GENPLL_IPROCFAST_CLK
  136. sata1 genpll 5 BCM_NSP_GENPLL_SATA1_CLK
  137. sata2 genpll 6 BCM_NSP_GENPLL_SATA2_CLK
  138. lcpll0 crystal 0 BCM_NSP_LCPLL0
  139. pcie_phy lcpll0 1 BCM_NSP_LCPLL0_PCIE_PHY_REF_CLK
  140. sdio lcpll0 2 BCM_NSP_LCPLL0_SDIO_CLK
  141. ddr_phy lcpll0 3 BCM_NSP_LCPLL0_DDR_PHY_CLK
  142. Northstar 2
  143. -----------
  144. PLL and leaf clock compatible strings for Northstar 2 are:
  145. "brcm,ns2-genpll-scr"
  146. "brcm,ns2-genpll-sw"
  147. "brcm,ns2-lcpll-ddr"
  148. "brcm,ns2-lcpll-ports"
  149. The following table defines the set of PLL/clock index and ID for Northstar 2.
  150. These clock IDs are defined in:
  151. "include/dt-bindings/clock/bcm-ns2.h"
  152. Clock Source Index ID
  153. --- ----- ----- ---------
  154. crystal N/A N/A N/A
  155. genpll_scr crystal 0 BCM_NS2_GENPLL_SCR
  156. scr genpll_scr 1 BCM_NS2_GENPLL_SCR_SCR_CLK
  157. fs genpll_scr 2 BCM_NS2_GENPLL_SCR_FS_CLK
  158. audio_ref genpll_scr 3 BCM_NS2_GENPLL_SCR_AUDIO_CLK
  159. ch3_unused genpll_scr 4 BCM_NS2_GENPLL_SCR_CH3_UNUSED
  160. ch4_unused genpll_scr 5 BCM_NS2_GENPLL_SCR_CH4_UNUSED
  161. ch5_unused genpll_scr 6 BCM_NS2_GENPLL_SCR_CH5_UNUSED
  162. genpll_sw crystal 0 BCM_NS2_GENPLL_SW
  163. rpe genpll_sw 1 BCM_NS2_GENPLL_SW_RPE_CLK
  164. 250 genpll_sw 2 BCM_NS2_GENPLL_SW_250_CLK
  165. nic genpll_sw 3 BCM_NS2_GENPLL_SW_NIC_CLK
  166. chimp genpll_sw 4 BCM_NS2_GENPLL_SW_CHIMP_CLK
  167. port genpll_sw 5 BCM_NS2_GENPLL_SW_PORT_CLK
  168. sdio genpll_sw 6 BCM_NS2_GENPLL_SW_SDIO_CLK
  169. lcpll_ddr crystal 0 BCM_NS2_LCPLL_DDR
  170. pcie_sata_usb lcpll_ddr 1 BCM_NS2_LCPLL_DDR_PCIE_SATA_USB_CLK
  171. ddr lcpll_ddr 2 BCM_NS2_LCPLL_DDR_DDR_CLK
  172. ch2_unused lcpll_ddr 3 BCM_NS2_LCPLL_DDR_CH2_UNUSED
  173. ch3_unused lcpll_ddr 4 BCM_NS2_LCPLL_DDR_CH3_UNUSED
  174. ch4_unused lcpll_ddr 5 BCM_NS2_LCPLL_DDR_CH4_UNUSED
  175. ch5_unused lcpll_ddr 6 BCM_NS2_LCPLL_DDR_CH5_UNUSED
  176. lcpll_ports crystal 0 BCM_NS2_LCPLL_PORTS
  177. wan lcpll_ports 1 BCM_NS2_LCPLL_PORTS_WAN_CLK
  178. rgmii lcpll_ports 2 BCM_NS2_LCPLL_PORTS_RGMII_CLK
  179. ch2_unused lcpll_ports 3 BCM_NS2_LCPLL_PORTS_CH2_UNUSED
  180. ch3_unused lcpll_ports 4 BCM_NS2_LCPLL_PORTS_CH3_UNUSED
  181. ch4_unused lcpll_ports 5 BCM_NS2_LCPLL_PORTS_CH4_UNUSED
  182. ch5_unused lcpll_ports 6 BCM_NS2_LCPLL_PORTS_CH5_UNUSED
  183. BCM63138
  184. --------
  185. PLL and leaf clock compatible strings for BCM63138 are:
  186. "brcm,bcm63138-armpll"
  187. Stingray
  188. -----------
  189. PLL and leaf clock compatible strings for Stingray are:
  190. "brcm,sr-genpll0"
  191. "brcm,sr-genpll1"
  192. "brcm,sr-genpll2"
  193. "brcm,sr-genpll3"
  194. "brcm,sr-genpll4"
  195. "brcm,sr-genpll5"
  196. "brcm,sr-genpll6"
  197. "brcm,sr-lcpll0"
  198. "brcm,sr-lcpll1"
  199. "brcm,sr-lcpll-pcie"
  200. The following table defines the set of PLL/clock index and ID for Stingray.
  201. These clock IDs are defined in:
  202. "include/dt-bindings/clock/bcm-sr.h"
  203. Clock Source Index ID
  204. --- ----- ----- ---------
  205. crystal N/A N/A N/A
  206. crmu_ref25m crystal N/A N/A
  207. genpll0 crystal 0 BCM_SR_GENPLL0
  208. clk_125m genpll0 1 BCM_SR_GENPLL0_125M_CLK
  209. clk_scr genpll0 2 BCM_SR_GENPLL0_SCR_CLK
  210. clk_250 genpll0 3 BCM_SR_GENPLL0_250M_CLK
  211. clk_pcie_axi genpll0 4 BCM_SR_GENPLL0_PCIE_AXI_CLK
  212. clk_paxc_axi_x2 genpll0 5 BCM_SR_GENPLL0_PAXC_AXI_X2_CLK
  213. clk_paxc_axi genpll0 6 BCM_SR_GENPLL0_PAXC_AXI_CLK
  214. genpll1 crystal 0 BCM_SR_GENPLL1
  215. clk_pcie_tl genpll1 1 BCM_SR_GENPLL1_PCIE_TL_CLK
  216. clk_mhb_apb genpll1 2 BCM_SR_GENPLL1_MHB_APB_CLK
  217. genpll2 crystal 0 BCM_SR_GENPLL2
  218. clk_nic genpll2 1 BCM_SR_GENPLL2_NIC_CLK
  219. clk_ts_500_ref genpll2 2 BCM_SR_GENPLL2_TS_500_REF_CLK
  220. clk_125_nitro genpll2 3 BCM_SR_GENPLL2_125_NITRO_CLK
  221. clk_chimp genpll2 4 BCM_SR_GENPLL2_CHIMP_CLK
  222. clk_nic_flash genpll2 5 BCM_SR_GENPLL2_NIC_FLASH_CLK
  223. clk_fs genpll2 6 BCM_SR_GENPLL2_FS_CLK
  224. genpll3 crystal 0 BCM_SR_GENPLL3
  225. clk_hsls genpll3 1 BCM_SR_GENPLL3_HSLS_CLK
  226. clk_sdio genpll3 2 BCM_SR_GENPLL3_SDIO_CLK
  227. genpll4 crystal 0 BCM_SR_GENPLL4
  228. clk_ccn genpll4 1 BCM_SR_GENPLL4_CCN_CLK
  229. clk_tpiu_pll genpll4 2 BCM_SR_GENPLL4_TPIU_PLL_CLK
  230. clk_noc genpll4 3 BCM_SR_GENPLL4_NOC_CLK
  231. clk_chclk_fs4 genpll4 4 BCM_SR_GENPLL4_CHCLK_FS4_CLK
  232. clk_bridge_fscpu genpll4 5 BCM_SR_GENPLL4_BRIDGE_FSCPU_CLK
  233. genpll5 crystal 0 BCM_SR_GENPLL5
  234. clk_fs4_hf genpll5 1 BCM_SR_GENPLL5_FS4_HF_CLK
  235. clk_crypto_ae genpll5 2 BCM_SR_GENPLL5_CRYPTO_AE_CLK
  236. clk_raid_ae genpll5 3 BCM_SR_GENPLL5_RAID_AE_CLK
  237. genpll6 crystal 0 BCM_SR_GENPLL6
  238. clk_48_usb genpll6 1 BCM_SR_GENPLL6_48_USB_CLK
  239. lcpll0 crystal 0 BCM_SR_LCPLL0
  240. clk_sata_refp lcpll0 1 BCM_SR_LCPLL0_SATA_REFP_CLK
  241. clk_sata_refn lcpll0 2 BCM_SR_LCPLL0_SATA_REFN_CLK
  242. clk_sata_350 lcpll0 3 BCM_SR_LCPLL0_SATA_350_CLK
  243. clk_sata_500 lcpll0 4 BCM_SR_LCPLL0_SATA_500_CLK
  244. lcpll1 crystal 0 BCM_SR_LCPLL1
  245. clk_wan lcpll1 1 BCM_SR_LCPLL1_WAN_CLK
  246. clk_usb_ref lcpll1 2 BCM_SR_LCPLL1_USB_REF_CLK
  247. clk_crmu_ts lcpll1 3 BCM_SR_LCPLL1_CRMU_TS_CLK
  248. lcpll_pcie crystal 0 BCM_SR_LCPLL_PCIE
  249. clk_pcie_phy_ref lcpll1 1 BCM_SR_LCPLL_PCIE_PHY_REF_CLK