1 Broadcom iProc Family Clocks
3 This binding uses the common clock binding:
4 Documentation/devicetree/bindings/clock/clock-bindings.txt
6 The iProc clock controller manages clocks that are common to the iProc family.
7 An SoC from the iProc family may have several PPLs, e.g., ARMPLL, GENPLL,
8 LCPLL0, MIPIPLL, and etc., all derived from an onboard crystal. Each PLL
9 comprises of several leaf clocks
11 Required properties for a PLL and its leaf clocks:
14 Should have a value of the form "brcm,<soc>-<pll>". For example, GENPLL on
15 Cygnus has a compatible string of "brcm,cygnus-genpll"
18 Have a value of <1> since there are more than 1 leaf clock of a given PLL
21 Define the base and range of the I/O address space that contain the iProc
22 clock control registers required for the PLL
25 The input parent clock phandle for the PLL. For most iProc PLLs, this is an
26 onboard crystal with a fixed rate
29 An ordered list of strings defining the names of the clocks
35 compatible = "fixed-clock";
36 clock-frequency = <25000000>;
41 compatible = "brcm,cygnus-genpll";
42 reg = <0x0301d000 0x2c>, <0x0301c020 0x4>;
44 clock-output-names = "genpll", "axi21", "250mhz", "ihost_sys",
45 "enet_sw", "audio_125", "can";
48 Required properties for ASIU clocks:
50 ASIU clocks are a special case. These clocks are derived directly from the
51 reference clock of the onboard crystal
54 Should have a value of the form "brcm,<soc>-asiu-clk". For example, ASIU
55 clocks for Cygnus have a compatible string of "brcm,cygnus-asiu-clk"
58 Have a value of <1> since there are more than 1 ASIU clocks
61 Define the base and range of the I/O address space that contain the iProc
62 clock control registers required for ASIU clocks
65 The input parent clock phandle for the ASIU clock, i.e., the onboard
69 An ordered list of strings defining the names of the ASIU clocks
75 compatible = "fixed-clock";
76 clock-frequency = <25000000>;
79 asiu_clks: asiu_clks {
81 compatible = "brcm,cygnus-asiu-clk";
82 reg = <0x0301d048 0xc>, <0x180aa024 0x4>;
84 clock-output-names = "keypad", "adc/touch", "pwm";
89 PLL and leaf clock compatible strings for Cygnus are:
94 "brcm,cygnus-asiu-clk"
95 "brcm,cygnus-audiopll"
97 The following table defines the set of PLL/clock index and ID for Cygnus.
98 These clock IDs are defined in:
99 "include/dt-bindings/clock/bcm-cygnus.h"
101 Clock Source (Parent) Index ID
102 --- ----- ----- ---------
105 armpll crystal N/A N/A
107 keypad crystal (ASIU) 0 BCM_CYGNUS_ASIU_KEYPAD_CLK
108 adc/tsc crystal (ASIU) 1 BCM_CYGNUS_ASIU_ADC_CLK
109 pwm crystal (ASIU) 2 BCM_CYGNUS_ASIU_PWM_CLK
111 genpll crystal 0 BCM_CYGNUS_GENPLL
112 axi21 genpll 1 BCM_CYGNUS_GENPLL_AXI21_CLK
113 250mhz genpll 2 BCM_CYGNUS_GENPLL_250MHZ_CLK
114 ihost_sys genpll 3 BCM_CYGNUS_GENPLL_IHOST_SYS_CLK
115 enet_sw genpll 4 BCM_CYGNUS_GENPLL_ENET_SW_CLK
116 audio_125 genpll 5 BCM_CYGNUS_GENPLL_AUDIO_125_CLK
117 can genpll 6 BCM_CYGNUS_GENPLL_CAN_CLK
119 lcpll0 crystal 0 BCM_CYGNUS_LCPLL0
120 pcie_phy lcpll0 1 BCM_CYGNUS_LCPLL0_PCIE_PHY_REF_CLK
121 ddr_phy lcpll0 2 BCM_CYGNUS_LCPLL0_DDR_PHY_CLK
122 sdio lcpll0 3 BCM_CYGNUS_LCPLL0_SDIO_CLK
123 usb_phy lcpll0 4 BCM_CYGNUS_LCPLL0_USB_PHY_REF_CLK
124 smart_card lcpll0 5 BCM_CYGNUS_LCPLL0_SMART_CARD_CLK
125 ch5_unused lcpll0 6 BCM_CYGNUS_LCPLL0_CH5_UNUSED
127 mipipll crystal 0 BCM_CYGNUS_MIPIPLL
128 ch0_unused mipipll 1 BCM_CYGNUS_MIPIPLL_CH0_UNUSED
129 ch1_lcd mipipll 2 BCM_CYGNUS_MIPIPLL_CH1_LCD
130 ch2_v3d mipipll 3 BCM_CYGNUS_MIPIPLL_CH2_V3D
131 ch3_unused mipipll 4 BCM_CYGNUS_MIPIPLL_CH3_UNUSED
132 ch4_unused mipipll 5 BCM_CYGNUS_MIPIPLL_CH4_UNUSED
133 ch5_unused mipipll 6 BCM_CYGNUS_MIPIPLL_CH5_UNUSED
135 audiopll crystal 0 BCM_CYGNUS_AUDIOPLL
136 ch0_audio audiopll 1 BCM_CYGNUS_AUDIOPLL_CH0
137 ch1_audio audiopll 2 BCM_CYGNUS_AUDIOPLL_CH1
138 ch2_audio audiopll 3 BCM_CYGNUS_AUDIOPLL_CH2
142 PLL and leaf clock compatible strings for Hurricane 2 are:
145 The following table defines the set of PLL/clock for Hurricane 2:
147 Clock Source Index ID
148 --- ----- ----- ---------
151 armpll crystal N/A N/A
154 Northstar and Northstar Plus
156 PLL and leaf clock compatible strings for Northstar and Northstar Plus are:
161 The following table defines the set of PLL/clock index and ID for Northstar and
162 Northstar Plus. These clock IDs are defined in:
163 "include/dt-bindings/clock/bcm-nsp.h"
165 Clock Source Index ID
166 --- ----- ----- ---------
169 armpll crystal N/A N/A
171 genpll crystal 0 BCM_NSP_GENPLL
172 phy genpll 1 BCM_NSP_GENPLL_PHY_CLK
173 ethernetclk genpll 2 BCM_NSP_GENPLL_ENET_SW_CLK
174 usbclk genpll 3 BCM_NSP_GENPLL_USB_PHY_REF_CLK
175 iprocfast genpll 4 BCM_NSP_GENPLL_IPROCFAST_CLK
176 sata1 genpll 5 BCM_NSP_GENPLL_SATA1_CLK
177 sata2 genpll 6 BCM_NSP_GENPLL_SATA2_CLK
179 lcpll0 crystal 0 BCM_NSP_LCPLL0
180 pcie_phy lcpll0 1 BCM_NSP_LCPLL0_PCIE_PHY_REF_CLK
181 sdio lcpll0 2 BCM_NSP_LCPLL0_SDIO_CLK
182 ddr_phy lcpll0 3 BCM_NSP_LCPLL0_DDR_PHY_CLK
186 PLL and leaf clock compatible strings for Northstar 2 are:
187 "brcm,ns2-genpll-scr"
190 "brcm,ns2-lcpll-ports"
192 The following table defines the set of PLL/clock index and ID for Northstar 2.
193 These clock IDs are defined in:
194 "include/dt-bindings/clock/bcm-ns2.h"
196 Clock Source Index ID
197 --- ----- ----- ---------
200 genpll_scr crystal 0 BCM_NS2_GENPLL_SCR
201 scr genpll_scr 1 BCM_NS2_GENPLL_SCR_SCR_CLK
202 fs genpll_scr 2 BCM_NS2_GENPLL_SCR_FS_CLK
203 audio_ref genpll_scr 3 BCM_NS2_GENPLL_SCR_AUDIO_CLK
204 ch3_unused genpll_scr 4 BCM_NS2_GENPLL_SCR_CH3_UNUSED
205 ch4_unused genpll_scr 5 BCM_NS2_GENPLL_SCR_CH4_UNUSED
206 ch5_unused genpll_scr 6 BCM_NS2_GENPLL_SCR_CH5_UNUSED
208 genpll_sw crystal 0 BCM_NS2_GENPLL_SW
209 rpe genpll_sw 1 BCM_NS2_GENPLL_SW_RPE_CLK
210 250 genpll_sw 2 BCM_NS2_GENPLL_SW_250_CLK
211 nic genpll_sw 3 BCM_NS2_GENPLL_SW_NIC_CLK
212 chimp genpll_sw 4 BCM_NS2_GENPLL_SW_CHIMP_CLK
213 port genpll_sw 5 BCM_NS2_GENPLL_SW_PORT_CLK
214 sdio genpll_sw 6 BCM_NS2_GENPLL_SW_SDIO_CLK
216 lcpll_ddr crystal 0 BCM_NS2_LCPLL_DDR
217 pcie_sata_usb lcpll_ddr 1 BCM_NS2_LCPLL_DDR_PCIE_SATA_USB_CLK
218 ddr lcpll_ddr 2 BCM_NS2_LCPLL_DDR_DDR_CLK
219 ch2_unused lcpll_ddr 3 BCM_NS2_LCPLL_DDR_CH2_UNUSED
220 ch3_unused lcpll_ddr 4 BCM_NS2_LCPLL_DDR_CH3_UNUSED
221 ch4_unused lcpll_ddr 5 BCM_NS2_LCPLL_DDR_CH4_UNUSED
222 ch5_unused lcpll_ddr 6 BCM_NS2_LCPLL_DDR_CH5_UNUSED
224 lcpll_ports crystal 0 BCM_NS2_LCPLL_PORTS
225 wan lcpll_ports 1 BCM_NS2_LCPLL_PORTS_WAN_CLK
226 rgmii lcpll_ports 2 BCM_NS2_LCPLL_PORTS_RGMII_CLK
227 ch2_unused lcpll_ports 3 BCM_NS2_LCPLL_PORTS_CH2_UNUSED
228 ch3_unused lcpll_ports 4 BCM_NS2_LCPLL_PORTS_CH3_UNUSED
229 ch4_unused lcpll_ports 5 BCM_NS2_LCPLL_PORTS_CH4_UNUSED
230 ch5_unused lcpll_ports 6 BCM_NS2_LCPLL_PORTS_CH5_UNUSED
234 PLL and leaf clock compatible strings for BCM63138 are:
235 "brcm,bcm63138-armpll"
239 PLL and leaf clock compatible strings for Stingray are:
253 The following table defines the set of PLL/clock index and ID for Stingray.
254 These clock IDs are defined in:
255 "include/dt-bindings/clock/bcm-sr.h"
257 Clock Source Index ID
258 --- ----- ----- ---------
260 crmu_ref25m crystal N/A N/A
262 genpll0 crystal 0 BCM_SR_GENPLL0
263 clk_125m genpll0 1 BCM_SR_GENPLL0_125M_CLK
264 clk_scr genpll0 2 BCM_SR_GENPLL0_SCR_CLK
265 clk_250 genpll0 3 BCM_SR_GENPLL0_250M_CLK
266 clk_pcie_axi genpll0 4 BCM_SR_GENPLL0_PCIE_AXI_CLK
267 clk_paxc_axi_x2 genpll0 5 BCM_SR_GENPLL0_PAXC_AXI_X2_CLK
268 clk_paxc_axi genpll0 6 BCM_SR_GENPLL0_PAXC_AXI_CLK
270 genpll1 crystal 0 BCM_SR_GENPLL1
271 clk_pcie_tl genpll1 1 BCM_SR_GENPLL1_PCIE_TL_CLK
272 clk_mhb_apb genpll1 2 BCM_SR_GENPLL1_MHB_APB_CLK
274 genpll2 crystal 0 BCM_SR_GENPLL2
275 clk_nic genpll2 1 BCM_SR_GENPLL2_NIC_CLK
276 clk_ts_500_ref genpll2 2 BCM_SR_GENPLL2_TS_500_REF_CLK
277 clk_125_nitro genpll2 3 BCM_SR_GENPLL2_125_NITRO_CLK
278 clk_chimp genpll2 4 BCM_SR_GENPLL2_CHIMP_CLK
279 clk_nic_flash genpll2 5 BCM_SR_GENPLL2_NIC_FLASH
281 genpll3 crystal 0 BCM_SR_GENPLL3
282 clk_hsls genpll3 1 BCM_SR_GENPLL3_HSLS_CLK
283 clk_sdio genpll3 2 BCM_SR_GENPLL3_SDIO_CLK
285 genpll4 crystal 0 BCM_SR_GENPLL4
286 ccn genpll4 1 BCM_SR_GENPLL4_CCN_CLK
287 clk_tpiu_pll genpll4 2 BCM_SR_GENPLL4_TPIU_PLL_CLK
288 noc_clk genpll4 3 BCM_SR_GENPLL4_NOC_CLK
289 clk_chclk_fs4 genpll4 4 BCM_SR_GENPLL4_CHCLK_FS4_CLK
290 clk_bridge_fscpu genpll4 5 BCM_SR_GENPLL4_BRIDGE_FSCPU_CLK
293 genpll5 crystal 0 BCM_SR_GENPLL5
294 fs4_hf_clk genpll5 1 BCM_SR_GENPLL5_FS4_HF_CLK
295 crypto_ae_clk genpll5 2 BCM_SR_GENPLL5_CRYPTO_AE_CLK
296 raid_ae_clk genpll5 3 BCM_SR_GENPLL5_RAID_AE_CLK
298 genpll6 crystal 0 BCM_SR_GENPLL6
299 48_usb genpll6 1 BCM_SR_GENPLL6_48_USB_CLK
301 lcpll0 crystal 0 BCM_SR_LCPLL0
302 clk_sata_refp lcpll0 1 BCM_SR_LCPLL0_SATA_REFP_CLK
303 clk_sata_refn lcpll0 2 BCM_SR_LCPLL0_SATA_REFN_CLK
304 clk_usb_ref lcpll0 3 BCM_SR_LCPLL0_USB_REF_CLK
305 sata_refpn lcpll0 3 BCM_SR_LCPLL0_SATA_REFPN_CLK
307 lcpll1 crystal 0 BCM_SR_LCPLL1
308 wan lcpll1 1 BCM_SR_LCPLL0_WAN_CLK
310 lcpll_pcie crystal 0 BCM_SR_LCPLL_PCIE
311 pcie_phy_ref lcpll1 1 BCM_SR_LCPLL_PCIE_PHY_REF_CLK