diff options
Diffstat (limited to 'arch/arm/mach-mx3/clock.c')
-rw-r--r-- | arch/arm/mach-mx3/clock.c | 22 |
1 files changed, 18 insertions, 4 deletions
diff --git a/arch/arm/mach-mx3/clock.c b/arch/arm/mach-mx3/clock.c index 8b14239724c9..06bd6180bfc3 100644 --- a/arch/arm/mach-mx3/clock.c +++ b/arch/arm/mach-mx3/clock.c | |||
@@ -29,6 +29,7 @@ | |||
29 | 29 | ||
30 | #include <mach/clock.h> | 30 | #include <mach/clock.h> |
31 | #include <mach/hardware.h> | 31 | #include <mach/hardware.h> |
32 | #include <mach/mx31.h> | ||
32 | #include <mach/common.h> | 33 | #include <mach/common.h> |
33 | 34 | ||
34 | #include "crm_regs.h" | 35 | #include "crm_regs.h" |
@@ -402,6 +403,11 @@ static unsigned long clk_ckih_get_rate(struct clk *clk) | |||
402 | return ckih_rate; | 403 | return ckih_rate; |
403 | } | 404 | } |
404 | 405 | ||
406 | static unsigned long clk_ckil_get_rate(struct clk *clk) | ||
407 | { | ||
408 | return CKIL_CLK_FREQ; | ||
409 | } | ||
410 | |||
405 | static struct clk ckih_clk = { | 411 | static struct clk ckih_clk = { |
406 | .get_rate = clk_ckih_get_rate, | 412 | .get_rate = clk_ckih_get_rate, |
407 | }; | 413 | }; |
@@ -508,6 +514,7 @@ DEFINE_CLOCK(usb_clk1, 0, NULL, 0, usb_get_rate, NULL, &usb_pll_clk) | |||
508 | DEFINE_CLOCK(nfc_clk, 0, NULL, 0, nfc_get_rate, NULL, &ahb_clk); | 514 | DEFINE_CLOCK(nfc_clk, 0, NULL, 0, nfc_get_rate, NULL, &ahb_clk); |
509 | DEFINE_CLOCK(scc_clk, 0, NULL, 0, NULL, NULL, &ipg_clk); | 515 | DEFINE_CLOCK(scc_clk, 0, NULL, 0, NULL, NULL, &ipg_clk); |
510 | DEFINE_CLOCK(ipg_clk, 0, NULL, 0, ipg_get_rate, NULL, &ahb_clk); | 516 | DEFINE_CLOCK(ipg_clk, 0, NULL, 0, ipg_get_rate, NULL, &ahb_clk); |
517 | DEFINE_CLOCK(ckil_clk, 0, NULL, 0, clk_ckil_get_rate, NULL, NULL); | ||
511 | 518 | ||
512 | #define _REGISTER_CLOCK(d, n, c) \ | 519 | #define _REGISTER_CLOCK(d, n, c) \ |
513 | { \ | 520 | { \ |
@@ -518,9 +525,9 @@ DEFINE_CLOCK(ipg_clk, 0, NULL, 0, ipg_get_rate, NULL, &ahb_clk); | |||
518 | 525 | ||
519 | static struct clk_lookup lookups[] = { | 526 | static struct clk_lookup lookups[] = { |
520 | _REGISTER_CLOCK(NULL, "emi", emi_clk) | 527 | _REGISTER_CLOCK(NULL, "emi", emi_clk) |
521 | _REGISTER_CLOCK(NULL, "cspi", cspi1_clk) | 528 | _REGISTER_CLOCK("spi_imx.0", NULL, cspi1_clk) |
522 | _REGISTER_CLOCK(NULL, "cspi", cspi2_clk) | 529 | _REGISTER_CLOCK("spi_imx.1", NULL, cspi2_clk) |
523 | _REGISTER_CLOCK(NULL, "cspi", cspi3_clk) | 530 | _REGISTER_CLOCK("spi_imx.2", NULL, cspi3_clk) |
524 | _REGISTER_CLOCK(NULL, "gpt", gpt_clk) | 531 | _REGISTER_CLOCK(NULL, "gpt", gpt_clk) |
525 | _REGISTER_CLOCK(NULL, "pwm", pwm_clk) | 532 | _REGISTER_CLOCK(NULL, "pwm", pwm_clk) |
526 | _REGISTER_CLOCK(NULL, "wdog", wdog_clk) | 533 | _REGISTER_CLOCK(NULL, "wdog", wdog_clk) |
@@ -531,6 +538,12 @@ static struct clk_lookup lookups[] = { | |||
531 | _REGISTER_CLOCK("ipu-core", NULL, ipu_clk) | 538 | _REGISTER_CLOCK("ipu-core", NULL, ipu_clk) |
532 | _REGISTER_CLOCK("mx3_sdc_fb", NULL, ipu_clk) | 539 | _REGISTER_CLOCK("mx3_sdc_fb", NULL, ipu_clk) |
533 | _REGISTER_CLOCK(NULL, "kpp", kpp_clk) | 540 | _REGISTER_CLOCK(NULL, "kpp", kpp_clk) |
541 | _REGISTER_CLOCK("mxc-ehci.0", "usb", usb_clk1) | ||
542 | _REGISTER_CLOCK("mxc-ehci.0", "usb_ahb", usb_clk2) | ||
543 | _REGISTER_CLOCK("mxc-ehci.1", "usb", usb_clk1) | ||
544 | _REGISTER_CLOCK("mxc-ehci.1", "usb_ahb", usb_clk2) | ||
545 | _REGISTER_CLOCK("mxc-ehci.2", "usb", usb_clk1) | ||
546 | _REGISTER_CLOCK("mxc-ehci.2", "usb_ahb", usb_clk2) | ||
534 | _REGISTER_CLOCK("fsl-usb2-udc", "usb", usb_clk1) | 547 | _REGISTER_CLOCK("fsl-usb2-udc", "usb", usb_clk1) |
535 | _REGISTER_CLOCK("fsl-usb2-udc", "usb_ahb", usb_clk2) | 548 | _REGISTER_CLOCK("fsl-usb2-udc", "usb_ahb", usb_clk2) |
536 | _REGISTER_CLOCK("mx3-camera.0", NULL, csi_clk) | 549 | _REGISTER_CLOCK("mx3-camera.0", NULL, csi_clk) |
@@ -559,6 +572,7 @@ static struct clk_lookup lookups[] = { | |||
559 | _REGISTER_CLOCK(NULL, "iim", iim_clk) | 572 | _REGISTER_CLOCK(NULL, "iim", iim_clk) |
560 | _REGISTER_CLOCK(NULL, "mpeg4", mpeg4_clk) | 573 | _REGISTER_CLOCK(NULL, "mpeg4", mpeg4_clk) |
561 | _REGISTER_CLOCK(NULL, "mbx", mbx_clk) | 574 | _REGISTER_CLOCK(NULL, "mbx", mbx_clk) |
575 | _REGISTER_CLOCK("mxc_rtc", NULL, ckil_clk) | ||
562 | }; | 576 | }; |
563 | 577 | ||
564 | int __init mx31_clocks_init(unsigned long fref) | 578 | int __init mx31_clocks_init(unsigned long fref) |
@@ -609,7 +623,7 @@ int __init mx31_clocks_init(unsigned long fref) | |||
609 | __raw_writel(reg, MXC_CCM_PMCR1); | 623 | __raw_writel(reg, MXC_CCM_PMCR1); |
610 | } | 624 | } |
611 | 625 | ||
612 | mxc_timer_init(&ipg_clk); | 626 | mxc_timer_init(&ipg_clk, IO_ADDRESS(GPT1_BASE_ADDR), MXC_INT_GPT); |
613 | 627 | ||
614 | return 0; | 628 | return 0; |
615 | } | 629 | } |