提交 e80a9729 编写于 作者: P Paul Walmsley

OMAP2/3/4 clock: rename and clean the omap2_clk_init() functions

Rename the omap2_clk_init() in the OMAP2, 3, and 4 clock code to be
omap2xxx_clk_init(), omap3xxx_clk_init(), etc.  Remove all traces of
the (commented) old virt_prcm_set code from omap3xxx_clk_init() and
omap4xxx_clk_init(), since this will be handled with the OPP code that
is cooking in the PM branch.

After this patch, there should be very little else in the clock code
that blocks a multi-OMAP 2+3 kernel.  (OMAP2420+OMAP2430 still has some
outstanding issues that need to be resolved; this is pending on some
additions to the hwmod data.)
Signed-off-by: NPaul Walmsley <paul@pwsan.com>
上级 d3730192
...@@ -47,7 +47,6 @@ ...@@ -47,7 +47,6 @@
#define DPLL_LOW_POWER_BYPASS 0x5 #define DPLL_LOW_POWER_BYPASS 0x5
#define DPLL_LOCKED 0x7 #define DPLL_LOCKED 0x7
int omap2_clk_init(void);
int omap2_clk_enable(struct clk *clk); int omap2_clk_enable(struct clk *clk);
void omap2_clk_disable(struct clk *clk); void omap2_clk_disable(struct clk *clk);
long omap2_clk_round_rate(struct clk *clk, unsigned long rate); long omap2_clk_round_rate(struct clk *clk, unsigned long rate);
......
...@@ -19,6 +19,7 @@ unsigned long omap2xxx_clk_get_core_rate(struct clk *clk); ...@@ -19,6 +19,7 @@ unsigned long omap2xxx_clk_get_core_rate(struct clk *clk);
u32 omap2xxx_get_apll_clkin(void); u32 omap2xxx_get_apll_clkin(void);
u32 omap2xxx_get_sysclkdiv(void); u32 omap2xxx_get_sysclkdiv(void);
void omap2xxx_clk_prepare_for_reboot(void); void omap2xxx_clk_prepare_for_reboot(void);
int omap2xxx_clk_init(void);
/* REVISIT: These should be set dynamically for CONFIG_MULTI_OMAP2 */ /* REVISIT: These should be set dynamically for CONFIG_MULTI_OMAP2 */
#ifdef CONFIG_ARCH_OMAP2420 #ifdef CONFIG_ARCH_OMAP2420
......
...@@ -2238,7 +2238,7 @@ static struct omap_clk omap24xx_clks[] = { ...@@ -2238,7 +2238,7 @@ static struct omap_clk omap24xx_clks[] = {
* init code * init code
*/ */
int __init omap2_clk_init(void) int __init omap2xxx_clk_init(void)
{ {
const struct prcm_config *prcm; const struct prcm_config *prcm;
struct omap_clk *c; struct omap_clk *c;
......
...@@ -150,7 +150,7 @@ int omap3_dpll4_set_rate(struct clk *clk, unsigned long rate) ...@@ -150,7 +150,7 @@ int omap3_dpll4_set_rate(struct clk *clk, unsigned long rate)
return omap3_noncore_dpll_set_rate(clk, rate); return omap3_noncore_dpll_set_rate(clk, rate);
} }
void omap3_clk_lock_dpll5(void) void __init omap3_clk_lock_dpll5(void)
{ {
struct clk *dpll5_clk; struct clk *dpll5_clk;
struct clk *dpll5_m2_clk; struct clk *dpll5_m2_clk;
......
...@@ -8,6 +8,7 @@ ...@@ -8,6 +8,7 @@
#ifndef __ARCH_ARM_MACH_OMAP2_CLOCK_34XX_H #ifndef __ARCH_ARM_MACH_OMAP2_CLOCK_34XX_H
#define __ARCH_ARM_MACH_OMAP2_CLOCK_34XX_H #define __ARCH_ARM_MACH_OMAP2_CLOCK_34XX_H
int omap3xxx_clk_init(void);
int omap3_dpll4_set_rate(struct clk *clk, unsigned long rate); int omap3_dpll4_set_rate(struct clk *clk, unsigned long rate);
int omap3_core_dpll_m2_set_rate(struct clk *clk, unsigned long rate); int omap3_core_dpll_m2_set_rate(struct clk *clk, unsigned long rate);
void omap3_clk_lock_dpll5(void); void omap3_clk_lock_dpll5(void);
......
...@@ -3212,11 +3212,9 @@ static struct omap_clk omap3xxx_clks[] = { ...@@ -3212,11 +3212,9 @@ static struct omap_clk omap3xxx_clks[] = {
}; };
int __init omap2_clk_init(void) int __init omap3xxx_clk_init(void)
{ {
/* struct prcm_config *prcm; */
struct omap_clk *c; struct omap_clk *c;
/* u32 clkrate; */
u32 cpu_clkflg = CK_3XXX; u32 cpu_clkflg = CK_3XXX;
if (cpu_is_omap3517()) { if (cpu_is_omap3517()) {
...@@ -3254,21 +3252,6 @@ int __init omap2_clk_init(void) ...@@ -3254,21 +3252,6 @@ int __init omap2_clk_init(void)
omap2_init_clk_clkdm(c->lk.clk); omap2_init_clk_clkdm(c->lk.clk);
} }
/* REVISIT: Not yet ready for OMAP3 */
#if 0
/* Check the MPU rate set by bootloader */
clkrate = omap2_get_dpll_rate_24xx(&dpll_ck);
for (prcm = rate_table; prcm->mpu_speed; prcm++) {
if (!(prcm->flags & cpu_mask))
continue;
if (prcm->xtal_speed != sys_ck.rate)
continue;
if (prcm->dpll_speed <= clkrate)
break;
}
curr_prcm_set = prcm;
#endif
recalculate_root_clocks(); recalculate_root_clocks();
printk(KERN_INFO "Clocking rate (Crystal/Core/MPU): " printk(KERN_INFO "Clocking rate (Crystal/Core/MPU): "
......
...@@ -10,6 +10,8 @@ ...@@ -10,6 +10,8 @@
#define OMAP4430_MAX_DPLL_MULT 2048 #define OMAP4430_MAX_DPLL_MULT 2048
#define OMAP4430_MAX_DPLL_DIV 128 #define OMAP4430_MAX_DPLL_DIV 128
int omap4xxx_clk_init(void);
extern const struct clkops clkops_noncore_dpll_ops; extern const struct clkops clkops_noncore_dpll_ops;
#endif #endif
...@@ -2726,11 +2726,9 @@ static struct omap_clk omap44xx_clks[] = { ...@@ -2726,11 +2726,9 @@ static struct omap_clk omap44xx_clks[] = {
CLK(NULL, "utmi_p2_gfclk_ck", &utmi_p2_gfclk_ck, CK_443X), CLK(NULL, "utmi_p2_gfclk_ck", &utmi_p2_gfclk_ck, CK_443X),
}; };
int __init omap2_clk_init(void) int __init omap4xxx_clk_init(void)
{ {
/* struct prcm_config *prcm; */
struct omap_clk *c; struct omap_clk *c;
/* u32 clkrate; */
u32 cpu_clkflg; u32 cpu_clkflg;
if (cpu_is_omap44xx()) { if (cpu_is_omap44xx()) {
......
...@@ -35,7 +35,9 @@ ...@@ -35,7 +35,9 @@
#include <plat/serial.h> #include <plat/serial.h>
#include <plat/vram.h> #include <plat/vram.h>
#include "clock.h" #include "clock2xxx.h"
#include "clock34xx.h"
#include "clock44xx.h"
#include <plat/omap-pm.h> #include <plat/omap-pm.h>
#include <plat/powerdomain.h> #include <plat/powerdomain.h>
...@@ -320,7 +322,16 @@ void __init omap2_init_common_hw(struct omap_sdrc_params *sdrc_cs0, ...@@ -320,7 +322,16 @@ void __init omap2_init_common_hw(struct omap_sdrc_params *sdrc_cs0,
omap2_mux_init(); omap2_mux_init();
omap_pm_if_early_init(mpu_opps, dsp_opps, l3_opps); omap_pm_if_early_init(mpu_opps, dsp_opps, l3_opps);
#endif #endif
omap2_clk_init();
if (cpu_is_omap24xx())
omap2xxx_clk_init();
else if (cpu_is_omap34xx())
omap3xxx_clk_init();
else if (cpu_is_omap44xx())
omap4xxx_clk_init();
else
pr_err("Could not init clock framework - unknown CPU\n");
omap_serial_early_init(); omap_serial_early_init();
#ifndef CONFIG_ARCH_OMAP4 #ifndef CONFIG_ARCH_OMAP4
omap_hwmod_late_init(); omap_hwmod_late_init();
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册