diff options
Diffstat (limited to 'arch/arm/mach-imx/clk-imx51-imx53.c')
-rw-r--r-- | arch/arm/mach-imx/clk-imx51-imx53.c | 26 |
1 files changed, 13 insertions, 13 deletions
diff --git a/arch/arm/mach-imx/clk-imx51-imx53.c b/arch/arm/mach-imx/clk-imx51-imx53.c index 73b241db63c8..e8c0473c7568 100644 --- a/arch/arm/mach-imx/clk-imx51-imx53.c +++ b/arch/arm/mach-imx/clk-imx51-imx53.c | |||
@@ -87,6 +87,7 @@ enum imx5_clks { | |||
87 | }; | 87 | }; |
88 | 88 | ||
89 | static struct clk *clk[clk_max]; | 89 | static struct clk *clk[clk_max]; |
90 | static struct clk_onecell_data clk_data; | ||
90 | 91 | ||
91 | static void __init mx5_clocks_common_init(unsigned long rate_ckil, | 92 | static void __init mx5_clocks_common_init(unsigned long rate_ckil, |
92 | unsigned long rate_osc, unsigned long rate_ckih1, | 93 | unsigned long rate_osc, unsigned long rate_ckih1, |
@@ -318,6 +319,7 @@ int __init mx51_clocks_init(unsigned long rate_ckil, unsigned long rate_osc, | |||
318 | unsigned long rate_ckih1, unsigned long rate_ckih2) | 319 | unsigned long rate_ckih1, unsigned long rate_ckih2) |
319 | { | 320 | { |
320 | int i; | 321 | int i; |
322 | struct device_node *np; | ||
321 | 323 | ||
322 | clk[pll1_sw] = imx_clk_pllv2("pll1_sw", "osc", MX51_DPLL1_BASE); | 324 | clk[pll1_sw] = imx_clk_pllv2("pll1_sw", "osc", MX51_DPLL1_BASE); |
323 | clk[pll2_sw] = imx_clk_pllv2("pll2_sw", "osc", MX51_DPLL2_BASE); | 325 | clk[pll2_sw] = imx_clk_pllv2("pll2_sw", "osc", MX51_DPLL2_BASE); |
@@ -346,6 +348,11 @@ int __init mx51_clocks_init(unsigned long rate_ckil, unsigned long rate_osc, | |||
346 | pr_err("i.MX51 clk %d: register failed with %ld\n", | 348 | pr_err("i.MX51 clk %d: register failed with %ld\n", |
347 | i, PTR_ERR(clk[i])); | 349 | i, PTR_ERR(clk[i])); |
348 | 350 | ||
351 | np = of_find_compatible_node(NULL, NULL, "fsl,imx51-ccm"); | ||
352 | clk_data.clks = clk; | ||
353 | clk_data.clk_num = ARRAY_SIZE(clk); | ||
354 | of_clk_add_provider(np, of_clk_src_onecell_get, &clk_data); | ||
355 | |||
349 | mx5_clocks_common_init(rate_ckil, rate_osc, rate_ckih1, rate_ckih2); | 356 | mx5_clocks_common_init(rate_ckil, rate_osc, rate_ckih1, rate_ckih2); |
350 | 357 | ||
351 | clk_register_clkdev(clk[hsi2c_gate], NULL, "imx21-i2c.2"); | 358 | clk_register_clkdev(clk[hsi2c_gate], NULL, "imx21-i2c.2"); |
@@ -368,10 +375,6 @@ int __init mx51_clocks_init(unsigned long rate_ckil, unsigned long rate_osc, | |||
368 | clk_register_clkdev(clk[esdhc4_ipg_gate], "ipg", "sdhci-esdhc-imx51.3"); | 375 | clk_register_clkdev(clk[esdhc4_ipg_gate], "ipg", "sdhci-esdhc-imx51.3"); |
369 | clk_register_clkdev(clk[dummy], "ahb", "sdhci-esdhc-imx51.3"); | 376 | clk_register_clkdev(clk[dummy], "ahb", "sdhci-esdhc-imx51.3"); |
370 | clk_register_clkdev(clk[esdhc4_per_gate], "per", "sdhci-esdhc-imx51.3"); | 377 | clk_register_clkdev(clk[esdhc4_per_gate], "per", "sdhci-esdhc-imx51.3"); |
371 | clk_register_clkdev(clk[ssi1_ipg_gate], NULL, "83fcc000.ssi"); | ||
372 | clk_register_clkdev(clk[ssi2_ipg_gate], NULL, "70014000.ssi"); | ||
373 | clk_register_clkdev(clk[ssi3_ipg_gate], NULL, "83fe8000.ssi"); | ||
374 | clk_register_clkdev(clk[nfc_gate], NULL, "83fdb000.nand"); | ||
375 | 378 | ||
376 | /* set the usboh3 parent to pll2_sw */ | 379 | /* set the usboh3 parent to pll2_sw */ |
377 | clk_set_parent(clk[usboh3_sel], clk[pll2_sw]); | 380 | clk_set_parent(clk[usboh3_sel], clk[pll2_sw]); |
@@ -395,6 +398,7 @@ int __init mx53_clocks_init(unsigned long rate_ckil, unsigned long rate_osc, | |||
395 | { | 398 | { |
396 | int i; | 399 | int i; |
397 | unsigned long r; | 400 | unsigned long r; |
401 | struct device_node *np; | ||
398 | 402 | ||
399 | clk[pll1_sw] = imx_clk_pllv2("pll1_sw", "osc", MX53_DPLL1_BASE); | 403 | clk[pll1_sw] = imx_clk_pllv2("pll1_sw", "osc", MX53_DPLL1_BASE); |
400 | clk[pll2_sw] = imx_clk_pllv2("pll2_sw", "osc", MX53_DPLL2_BASE); | 404 | clk[pll2_sw] = imx_clk_pllv2("pll2_sw", "osc", MX53_DPLL2_BASE); |
@@ -439,6 +443,11 @@ int __init mx53_clocks_init(unsigned long rate_ckil, unsigned long rate_osc, | |||
439 | pr_err("i.MX53 clk %d: register failed with %ld\n", | 443 | pr_err("i.MX53 clk %d: register failed with %ld\n", |
440 | i, PTR_ERR(clk[i])); | 444 | i, PTR_ERR(clk[i])); |
441 | 445 | ||
446 | np = of_find_compatible_node(NULL, NULL, "fsl,imx53-ccm"); | ||
447 | clk_data.clks = clk; | ||
448 | clk_data.clk_num = ARRAY_SIZE(clk); | ||
449 | of_clk_add_provider(np, of_clk_src_onecell_get, &clk_data); | ||
450 | |||
442 | mx5_clocks_common_init(rate_ckil, rate_osc, rate_ckih1, rate_ckih2); | 451 | mx5_clocks_common_init(rate_ckil, rate_osc, rate_ckih1, rate_ckih2); |
443 | 452 | ||
444 | clk_register_clkdev(clk[vpu_gate], NULL, "imx53-vpu.0"); | 453 | clk_register_clkdev(clk[vpu_gate], NULL, "imx53-vpu.0"); |
@@ -461,15 +470,6 @@ int __init mx53_clocks_init(unsigned long rate_ckil, unsigned long rate_osc, | |||
461 | clk_register_clkdev(clk[esdhc4_ipg_gate], "ipg", "sdhci-esdhc-imx53.3"); | 470 | clk_register_clkdev(clk[esdhc4_ipg_gate], "ipg", "sdhci-esdhc-imx53.3"); |
462 | clk_register_clkdev(clk[dummy], "ahb", "sdhci-esdhc-imx53.3"); | 471 | clk_register_clkdev(clk[dummy], "ahb", "sdhci-esdhc-imx53.3"); |
463 | clk_register_clkdev(clk[esdhc4_per_gate], "per", "sdhci-esdhc-imx53.3"); | 472 | clk_register_clkdev(clk[esdhc4_per_gate], "per", "sdhci-esdhc-imx53.3"); |
464 | clk_register_clkdev(clk[ssi1_ipg_gate], NULL, "63fcc000.ssi"); | ||
465 | clk_register_clkdev(clk[ssi2_ipg_gate], NULL, "50014000.ssi"); | ||
466 | clk_register_clkdev(clk[ssi3_ipg_gate], NULL, "63fd0000.ssi"); | ||
467 | clk_register_clkdev(clk[nfc_gate], NULL, "63fdb000.nand"); | ||
468 | clk_register_clkdev(clk[can1_ipg_gate], "ipg", "53fc8000.can"); | ||
469 | clk_register_clkdev(clk[can1_serial_gate], "per", "53fc8000.can"); | ||
470 | clk_register_clkdev(clk[can2_ipg_gate], "ipg", "53fcc000.can"); | ||
471 | clk_register_clkdev(clk[can2_serial_gate], "per", "53fcc000.can"); | ||
472 | clk_register_clkdev(clk[dummy], NULL, "53fa4000.rtc"); | ||
473 | 473 | ||
474 | /* set SDHC root clock to 200MHZ*/ | 474 | /* set SDHC root clock to 200MHZ*/ |
475 | clk_set_rate(clk[esdhc_a_podf], 200000000); | 475 | clk_set_rate(clk[esdhc_a_podf], 200000000); |