brcm,iproc-clocks.txt 7.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210
  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. The following table defines the set of PLL/clock index and ID for Cygnus.
  74. These clock IDs are defined in:
  75. "include/dt-bindings/clock/bcm-cygnus.h"
  76. Clock Source (Parent) Index ID
  77. --- ----- ----- ---------
  78. crystal N/A N/A N/A
  79. armpll crystal N/A N/A
  80. keypad crystal (ASIU) 0 BCM_CYGNUS_ASIU_KEYPAD_CLK
  81. adc/tsc crystal (ASIU) 1 BCM_CYGNUS_ASIU_ADC_CLK
  82. pwm crystal (ASIU) 2 BCM_CYGNUS_ASIU_PWM_CLK
  83. genpll crystal 0 BCM_CYGNUS_GENPLL
  84. axi21 genpll 1 BCM_CYGNUS_GENPLL_AXI21_CLK
  85. 250mhz genpll 2 BCM_CYGNUS_GENPLL_250MHZ_CLK
  86. ihost_sys genpll 3 BCM_CYGNUS_GENPLL_IHOST_SYS_CLK
  87. enet_sw genpll 4 BCM_CYGNUS_GENPLL_ENET_SW_CLK
  88. audio_125 genpll 5 BCM_CYGNUS_GENPLL_AUDIO_125_CLK
  89. can genpll 6 BCM_CYGNUS_GENPLL_CAN_CLK
  90. lcpll0 crystal 0 BCM_CYGNUS_LCPLL0
  91. pcie_phy lcpll0 1 BCM_CYGNUS_LCPLL0_PCIE_PHY_REF_CLK
  92. ddr_phy lcpll0 2 BCM_CYGNUS_LCPLL0_DDR_PHY_CLK
  93. sdio lcpll0 3 BCM_CYGNUS_LCPLL0_SDIO_CLK
  94. usb_phy lcpll0 4 BCM_CYGNUS_LCPLL0_USB_PHY_REF_CLK
  95. smart_card lcpll0 5 BCM_CYGNUS_LCPLL0_SMART_CARD_CLK
  96. ch5_unused lcpll0 6 BCM_CYGNUS_LCPLL0_CH5_UNUSED
  97. mipipll crystal 0 BCM_CYGNUS_MIPIPLL
  98. ch0_unused mipipll 1 BCM_CYGNUS_MIPIPLL_CH0_UNUSED
  99. ch1_lcd mipipll 2 BCM_CYGNUS_MIPIPLL_CH1_LCD
  100. ch2_v3d mipipll 3 BCM_CYGNUS_MIPIPLL_CH2_V3D
  101. ch3_unused mipipll 4 BCM_CYGNUS_MIPIPLL_CH3_UNUSED
  102. ch4_unused mipipll 5 BCM_CYGNUS_MIPIPLL_CH4_UNUSED
  103. ch5_unused mipipll 6 BCM_CYGNUS_MIPIPLL_CH5_UNUSED
  104. Northstar and Northstar Plus
  105. ------
  106. PLL and leaf clock compatible strings for Northstar and Northstar Plus are:
  107. "brcm,nsp-armpll"
  108. "brcm,nsp-genpll"
  109. "brcm,nsp-lcpll0"
  110. The following table defines the set of PLL/clock index and ID for Northstar and
  111. Northstar Plus. These clock IDs are defined in:
  112. "include/dt-bindings/clock/bcm-nsp.h"
  113. Clock Source Index ID
  114. --- ----- ----- ---------
  115. crystal N/A N/A N/A
  116. armpll crystal N/A N/A
  117. genpll crystal 0 BCM_NSP_GENPLL
  118. phy genpll 1 BCM_NSP_GENPLL_PHY_CLK
  119. ethernetclk genpll 2 BCM_NSP_GENPLL_ENET_SW_CLK
  120. usbclk genpll 3 BCM_NSP_GENPLL_USB_PHY_REF_CLK
  121. iprocfast genpll 4 BCM_NSP_GENPLL_IPROCFAST_CLK
  122. sata1 genpll 5 BCM_NSP_GENPLL_SATA1_CLK
  123. sata2 genpll 6 BCM_NSP_GENPLL_SATA2_CLK
  124. lcpll0 crystal 0 BCM_NSP_LCPLL0
  125. pcie_phy lcpll0 1 BCM_NSP_LCPLL0_PCIE_PHY_REF_CLK
  126. sdio lcpll0 2 BCM_NSP_LCPLL0_SDIO_CLK
  127. ddr_phy lcpll0 3 BCM_NSP_LCPLL0_DDR_PHY_CLK
  128. Northstar 2
  129. -----------
  130. PLL and leaf clock compatible strings for Northstar 2 are:
  131. "brcm,ns2-genpll-scr"
  132. "brcm,ns2-genpll-sw"
  133. "brcm,ns2-lcpll-ddr"
  134. "brcm,ns2-lcpll-ports"
  135. The following table defines the set of PLL/clock index and ID for Northstar 2.
  136. These clock IDs are defined in:
  137. "include/dt-bindings/clock/bcm-ns2.h"
  138. Clock Source Index ID
  139. --- ----- ----- ---------
  140. crystal N/A N/A N/A
  141. genpll_scr crystal 0 BCM_NS2_GENPLL_SCR
  142. scr genpll_scr 1 BCM_NS2_GENPLL_SCR_SCR_CLK
  143. fs genpll_scr 2 BCM_NS2_GENPLL_SCR_FS_CLK
  144. audio_ref genpll_scr 3 BCM_NS2_GENPLL_SCR_AUDIO_CLK
  145. ch3_unused genpll_scr 4 BCM_NS2_GENPLL_SCR_CH3_UNUSED
  146. ch4_unused genpll_scr 5 BCM_NS2_GENPLL_SCR_CH4_UNUSED
  147. ch5_unused genpll_scr 6 BCM_NS2_GENPLL_SCR_CH5_UNUSED
  148. genpll_sw crystal 0 BCM_NS2_GENPLL_SW
  149. rpe genpll_sw 1 BCM_NS2_GENPLL_SW_RPE_CLK
  150. 250 genpll_sw 2 BCM_NS2_GENPLL_SW_250_CLK
  151. nic genpll_sw 3 BCM_NS2_GENPLL_SW_NIC_CLK
  152. chimp genpll_sw 4 BCM_NS2_GENPLL_SW_CHIMP_CLK
  153. port genpll_sw 5 BCM_NS2_GENPLL_SW_PORT_CLK
  154. sdio genpll_sw 6 BCM_NS2_GENPLL_SW_SDIO_CLK
  155. lcpll_ddr crystal 0 BCM_NS2_LCPLL_DDR
  156. pcie_sata_usb lcpll_ddr 1 BCM_NS2_LCPLL_DDR_PCIE_SATA_USB_CLK
  157. ddr lcpll_ddr 2 BCM_NS2_LCPLL_DDR_DDR_CLK
  158. ch2_unused lcpll_ddr 3 BCM_NS2_LCPLL_DDR_CH2_UNUSED
  159. ch3_unused lcpll_ddr 4 BCM_NS2_LCPLL_DDR_CH3_UNUSED
  160. ch4_unused lcpll_ddr 5 BCM_NS2_LCPLL_DDR_CH4_UNUSED
  161. ch5_unused lcpll_ddr 6 BCM_NS2_LCPLL_DDR_CH5_UNUSED
  162. lcpll_ports crystal 0 BCM_NS2_LCPLL_PORTS
  163. wan lcpll_ports 1 BCM_NS2_LCPLL_PORTS_WAN_CLK
  164. rgmii lcpll_ports 2 BCM_NS2_LCPLL_PORTS_RGMII_CLK
  165. ch2_unused lcpll_ports 3 BCM_NS2_LCPLL_PORTS_CH2_UNUSED
  166. ch3_unused lcpll_ports 4 BCM_NS2_LCPLL_PORTS_CH3_UNUSED
  167. ch4_unused lcpll_ports 5 BCM_NS2_LCPLL_PORTS_CH4_UNUSED
  168. ch5_unused lcpll_ports 6 BCM_NS2_LCPLL_PORTS_CH5_UNUSED