diff options
author | Rajendra Nayak <rnayak@ti.com> | 2013-02-08 10:35:14 -0500 |
---|---|---|
committer | Paul Walmsley <paul@pwsan.com> | 2013-02-08 13:47:24 -0500 |
commit | d0758237eeadde80ca36856345016bbc05b0e2b4 (patch) | |
tree | ca60efb6bc2390335526c307beaff6b62dcb25cb /arch/arm/mach-omap2 | |
parent | 0c3c22f9c53e2fc282d0fb221a6e8c9cf9eeafe8 (diff) |
ARM: OMAP4: clock data: Add missing clkdm association for dpll_usb
dpll_usb needs the clkdm association so the clkdm can be
turned on before a relock. All other dplls for omap4 belong
to the ALWON (always on) domain.
The association was present as part of the older data file
(clock44xx_data.c) but looks like got accidently dropped with
the common clk convertion.
More details of the patch which fixed this up in the older
data file can be dound here..
http://www.spinics.net/lists/linux-omap/msg63076.html
Adding the .clkdm_name as part of the clk_hw_omap struct also
means a new .init needs to be part of the clk_ops for dpll_usb
to initialise the clkdm.
Signed-off-by: Rajendra Nayak <rnayak@ti.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
Diffstat (limited to 'arch/arm/mach-omap2')
-rw-r--r-- | arch/arm/mach-omap2/cclock44xx_data.c | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/arch/arm/mach-omap2/cclock44xx_data.c b/arch/arm/mach-omap2/cclock44xx_data.c index a2cc046b47f4..e71a19ce3048 100644 --- a/arch/arm/mach-omap2/cclock44xx_data.c +++ b/arch/arm/mach-omap2/cclock44xx_data.c | |||
@@ -595,15 +595,26 @@ static const char *dpll_usb_ck_parents[] = { | |||
595 | 595 | ||
596 | static struct clk dpll_usb_ck; | 596 | static struct clk dpll_usb_ck; |
597 | 597 | ||
598 | static const struct clk_ops dpll_usb_ck_ops = { | ||
599 | .enable = &omap3_noncore_dpll_enable, | ||
600 | .disable = &omap3_noncore_dpll_disable, | ||
601 | .recalc_rate = &omap3_dpll_recalc, | ||
602 | .round_rate = &omap2_dpll_round_rate, | ||
603 | .set_rate = &omap3_noncore_dpll_set_rate, | ||
604 | .get_parent = &omap2_init_dpll_parent, | ||
605 | .init = &omap2_init_clk_clkdm, | ||
606 | }; | ||
607 | |||
598 | static struct clk_hw_omap dpll_usb_ck_hw = { | 608 | static struct clk_hw_omap dpll_usb_ck_hw = { |
599 | .hw = { | 609 | .hw = { |
600 | .clk = &dpll_usb_ck, | 610 | .clk = &dpll_usb_ck, |
601 | }, | 611 | }, |
602 | .dpll_data = &dpll_usb_dd, | 612 | .dpll_data = &dpll_usb_dd, |
613 | .clkdm_name = "l3_init_clkdm", | ||
603 | .ops = &clkhwops_omap3_dpll, | 614 | .ops = &clkhwops_omap3_dpll, |
604 | }; | 615 | }; |
605 | 616 | ||
606 | DEFINE_STRUCT_CLK(dpll_usb_ck, dpll_usb_ck_parents, dpll_ck_ops); | 617 | DEFINE_STRUCT_CLK(dpll_usb_ck, dpll_usb_ck_parents, dpll_usb_ck_ops); |
607 | 618 | ||
608 | static const char *dpll_usb_clkdcoldo_ck_parents[] = { | 619 | static const char *dpll_usb_clkdcoldo_ck_parents[] = { |
609 | "dpll_usb_ck", | 620 | "dpll_usb_ck", |