diff options
Diffstat (limited to 'arch/arm/mach-imx/clk-imx6q.c')
-rw-r--r-- | arch/arm/mach-imx/clk-imx6q.c | 22 |
1 files changed, 19 insertions, 3 deletions
diff --git a/arch/arm/mach-imx/clk-imx6q.c b/arch/arm/mach-imx/clk-imx6q.c index abb42e7453a9..ea89520b6e22 100644 --- a/arch/arm/mach-imx/clk-imx6q.c +++ b/arch/arm/mach-imx/clk-imx6q.c | |||
@@ -147,12 +147,12 @@ enum mx6q_clks { | |||
147 | esai, gpt_ipg, gpt_ipg_per, gpu2d_core, gpu3d_core, hdmi_iahb, | 147 | esai, gpt_ipg, gpt_ipg_per, gpu2d_core, gpu3d_core, hdmi_iahb, |
148 | hdmi_isfr, i2c1, i2c2, i2c3, iim, enfc, ipu1, ipu1_di0, ipu1_di1, ipu2, | 148 | hdmi_isfr, i2c1, i2c2, i2c3, iim, enfc, ipu1, ipu1_di0, ipu1_di1, ipu2, |
149 | ipu2_di0, ldb_di0, ldb_di1, ipu2_di1, hsi_tx, mlb, mmdc_ch0_axi, | 149 | ipu2_di0, ldb_di0, ldb_di1, ipu2_di1, hsi_tx, mlb, mmdc_ch0_axi, |
150 | mmdc_ch1_axi, ocram, openvg_axi, pcie_axi, pwm1, pwm2, pwm3, pwm4, | 150 | mmdc_ch1_axi, ocram, openvg_axi, pcie_axi, pwm1, pwm2, pwm3, pwm4, per1_bch, |
151 | gpmi_bch_apb, gpmi_bch, gpmi_io, gpmi_apb, sata, sdma, spba, ssi1, | 151 | gpmi_bch_apb, gpmi_bch, gpmi_io, gpmi_apb, sata, sdma, spba, ssi1, |
152 | ssi2, ssi3, uart_ipg, uart_serial, usboh3, usdhc1, usdhc2, usdhc3, | 152 | ssi2, ssi3, uart_ipg, uart_serial, usboh3, usdhc1, usdhc2, usdhc3, |
153 | usdhc4, vdo_axi, vpu_axi, cko1, pll1_sys, pll2_bus, pll3_usb_otg, | 153 | usdhc4, vdo_axi, vpu_axi, cko1, pll1_sys, pll2_bus, pll3_usb_otg, |
154 | pll4_audio, pll5_video, pll6_mlb, pll7_usb_host, pll8_enet, ssi1_ipg, | 154 | pll4_audio, pll5_video, pll6_mlb, pll7_usb_host, pll8_enet, ssi1_ipg, |
155 | ssi2_ipg, ssi3_ipg, rom, | 155 | ssi2_ipg, ssi3_ipg, rom, usbphy1, usbphy2, |
156 | clk_max | 156 | clk_max |
157 | }; | 157 | }; |
158 | 158 | ||
@@ -198,6 +198,9 @@ int __init mx6q_clocks_init(void) | |||
198 | clk[pll7_usb_host] = imx_clk_pllv3(IMX_PLLV3_USB, "pll7_usb_host","osc", base + 0x20, 0x2000, 0x3); | 198 | clk[pll7_usb_host] = imx_clk_pllv3(IMX_PLLV3_USB, "pll7_usb_host","osc", base + 0x20, 0x2000, 0x3); |
199 | clk[pll8_enet] = imx_clk_pllv3(IMX_PLLV3_ENET, "pll8_enet", "osc", base + 0xe0, 0x182000, 0x3); | 199 | clk[pll8_enet] = imx_clk_pllv3(IMX_PLLV3_ENET, "pll8_enet", "osc", base + 0xe0, 0x182000, 0x3); |
200 | 200 | ||
201 | clk[usbphy1] = imx_clk_gate("usbphy1", "pll3_usb_otg", base + 0x10, 6); | ||
202 | clk[usbphy2] = imx_clk_gate("usbphy2", "pll7_usb_host", base + 0x20, 6); | ||
203 | |||
201 | /* name parent_name reg idx */ | 204 | /* name parent_name reg idx */ |
202 | clk[pll2_pfd0_352m] = imx_clk_pfd("pll2_pfd0_352m", "pll2_bus", base + 0x100, 0); | 205 | clk[pll2_pfd0_352m] = imx_clk_pfd("pll2_pfd0_352m", "pll2_bus", base + 0x100, 0); |
203 | clk[pll2_pfd1_594m] = imx_clk_pfd("pll2_pfd1_594m", "pll2_bus", base + 0x100, 1); | 206 | clk[pll2_pfd1_594m] = imx_clk_pfd("pll2_pfd1_594m", "pll2_bus", base + 0x100, 1); |
@@ -318,7 +321,7 @@ int __init mx6q_clocks_init(void) | |||
318 | clk[ahb] = imx_clk_busy_divider("ahb", "periph", base + 0x14, 10, 3, base + 0x48, 1); | 321 | clk[ahb] = imx_clk_busy_divider("ahb", "periph", base + 0x14, 10, 3, base + 0x48, 1); |
319 | 322 | ||
320 | /* name parent_name reg shift */ | 323 | /* name parent_name reg shift */ |
321 | clk[apbh_dma] = imx_clk_gate2("apbh_dma", "ahb", base + 0x68, 4); | 324 | clk[apbh_dma] = imx_clk_gate2("apbh_dma", "usdhc3", base + 0x68, 4); |
322 | clk[asrc] = imx_clk_gate2("asrc", "asrc_podf", base + 0x68, 6); | 325 | clk[asrc] = imx_clk_gate2("asrc", "asrc_podf", base + 0x68, 6); |
323 | clk[can1_ipg] = imx_clk_gate2("can1_ipg", "ipg", base + 0x68, 14); | 326 | clk[can1_ipg] = imx_clk_gate2("can1_ipg", "ipg", base + 0x68, 14); |
324 | clk[can1_serial] = imx_clk_gate2("can1_serial", "can_root", base + 0x68, 16); | 327 | clk[can1_serial] = imx_clk_gate2("can1_serial", "can_root", base + 0x68, 16); |
@@ -357,6 +360,7 @@ int __init mx6q_clocks_init(void) | |||
357 | clk[ocram] = imx_clk_gate2("ocram", "ahb", base + 0x74, 28); | 360 | clk[ocram] = imx_clk_gate2("ocram", "ahb", base + 0x74, 28); |
358 | clk[openvg_axi] = imx_clk_gate2("openvg_axi", "axi", base + 0x74, 30); | 361 | clk[openvg_axi] = imx_clk_gate2("openvg_axi", "axi", base + 0x74, 30); |
359 | clk[pcie_axi] = imx_clk_gate2("pcie_axi", "pcie_axi_sel", base + 0x78, 0); | 362 | clk[pcie_axi] = imx_clk_gate2("pcie_axi", "pcie_axi_sel", base + 0x78, 0); |
363 | clk[per1_bch] = imx_clk_gate2("per1_bch", "usdhc3", base + 0x78, 12); | ||
360 | clk[pwm1] = imx_clk_gate2("pwm1", "ipg_per", base + 0x78, 16); | 364 | clk[pwm1] = imx_clk_gate2("pwm1", "ipg_per", base + 0x78, 16); |
361 | clk[pwm2] = imx_clk_gate2("pwm2", "ipg_per", base + 0x78, 18); | 365 | clk[pwm2] = imx_clk_gate2("pwm2", "ipg_per", base + 0x78, 18); |
362 | clk[pwm3] = imx_clk_gate2("pwm3", "ipg_per", base + 0x78, 20); | 366 | clk[pwm3] = imx_clk_gate2("pwm3", "ipg_per", base + 0x78, 20); |
@@ -391,6 +395,18 @@ int __init mx6q_clocks_init(void) | |||
391 | clk_register_clkdev(clk[gpt_ipg], "ipg", "imx-gpt.0"); | 395 | clk_register_clkdev(clk[gpt_ipg], "ipg", "imx-gpt.0"); |
392 | clk_register_clkdev(clk[gpt_ipg_per], "per", "imx-gpt.0"); | 396 | clk_register_clkdev(clk[gpt_ipg_per], "per", "imx-gpt.0"); |
393 | clk_register_clkdev(clk[twd], NULL, "smp_twd"); | 397 | clk_register_clkdev(clk[twd], NULL, "smp_twd"); |
398 | clk_register_clkdev(clk[apbh_dma], NULL, "110000.dma-apbh"); | ||
399 | clk_register_clkdev(clk[per1_bch], "per1_bch", "112000.gpmi-nand"); | ||
400 | clk_register_clkdev(clk[gpmi_bch_apb], "gpmi_bch_apb", "112000.gpmi-nand"); | ||
401 | clk_register_clkdev(clk[gpmi_bch], "gpmi_bch", "112000.gpmi-nand"); | ||
402 | clk_register_clkdev(clk[gpmi_apb], "gpmi_apb", "112000.gpmi-nand"); | ||
403 | clk_register_clkdev(clk[gpmi_io], "gpmi_io", "112000.gpmi-nand"); | ||
404 | clk_register_clkdev(clk[usboh3], NULL, "2184000.usb"); | ||
405 | clk_register_clkdev(clk[usboh3], NULL, "2184200.usb"); | ||
406 | clk_register_clkdev(clk[usboh3], NULL, "2184400.usb"); | ||
407 | clk_register_clkdev(clk[usboh3], NULL, "2184600.usb"); | ||
408 | clk_register_clkdev(clk[usbphy1], NULL, "20c9000.usbphy"); | ||
409 | clk_register_clkdev(clk[usbphy2], NULL, "20ca000.usbphy"); | ||
394 | clk_register_clkdev(clk[uart_serial], "per", "2020000.serial"); | 410 | clk_register_clkdev(clk[uart_serial], "per", "2020000.serial"); |
395 | clk_register_clkdev(clk[uart_ipg], "ipg", "2020000.serial"); | 411 | clk_register_clkdev(clk[uart_ipg], "ipg", "2020000.serial"); |
396 | clk_register_clkdev(clk[uart_serial], "per", "21e8000.serial"); | 412 | clk_register_clkdev(clk[uart_serial], "per", "21e8000.serial"); |