Commit 8e3bd351 authored by Tony Lindgren's avatar Tony Lindgren

ARM: OMAP2/3: Remove OMAP_PRM_REGADDR and OMAP2_PRM_BASE

Remove OMAP_PRM_REGADDR and use processor specific defines instead.

Also fold in a patch from Kevin Hilman to add _OFFSET #defines
for the PRCM registers to be used with the prm_[read|write]_* macros.
These are used extensively in the forthcoming OMAP PM support.

Also remove now unused OMAP2_PRM_BASE.
Signed-off-by: default avatarKevin Hilman <khilman@deeprootsystems.com>
Signed-off-by: default avatarTony Lindgren <tony@atomide.com>
parent a4ab0d83
...@@ -91,9 +91,9 @@ static void _omap2xxx_clk_commit(struct clk *clk) ...@@ -91,9 +91,9 @@ static void _omap2xxx_clk_commit(struct clk *clk)
return; return;
prm_write_mod_reg(OMAP24XX_VALID_CONFIG, OMAP24XX_GR_MOD, prm_write_mod_reg(OMAP24XX_VALID_CONFIG, OMAP24XX_GR_MOD,
OMAP24XX_PRCM_CLKCFG_CTRL_OFFSET); OMAP2_PRCM_CLKCFG_CTRL_OFFSET);
/* OCP barrier */ /* OCP barrier */
prm_read_mod_reg(OMAP24XX_GR_MOD, OMAP24XX_PRCM_CLKCFG_CTRL_OFFSET); prm_read_mod_reg(OMAP24XX_GR_MOD, OMAP2_PRCM_CLKCFG_CTRL_OFFSET);
} }
/* /*
......
...@@ -233,6 +233,8 @@ static struct prcm_config *curr_prcm_set; ...@@ -233,6 +233,8 @@ static struct prcm_config *curr_prcm_set;
static struct clk *vclk; static struct clk *vclk;
static struct clk *sclk; static struct clk *sclk;
static void __iomem *prcm_clksrc_ctrl;
/*------------------------------------------------------------------------- /*-------------------------------------------------------------------------
* Omap24xx specific clock functions * Omap24xx specific clock functions
*-------------------------------------------------------------------------*/ *-------------------------------------------------------------------------*/
...@@ -269,10 +271,9 @@ static int omap2_enable_osc_ck(struct clk *clk) ...@@ -269,10 +271,9 @@ static int omap2_enable_osc_ck(struct clk *clk)
{ {
u32 pcc; u32 pcc;
pcc = __raw_readl(OMAP24XX_PRCM_CLKSRC_CTRL); pcc = __raw_readl(prcm_clksrc_ctrl);
__raw_writel(pcc & ~OMAP_AUTOEXTCLKMODE_MASK, __raw_writel(pcc & ~OMAP_AUTOEXTCLKMODE_MASK, prcm_clksrc_ctrl);
OMAP24XX_PRCM_CLKSRC_CTRL);
return 0; return 0;
} }
...@@ -281,10 +282,9 @@ static void omap2_disable_osc_ck(struct clk *clk) ...@@ -281,10 +282,9 @@ static void omap2_disable_osc_ck(struct clk *clk)
{ {
u32 pcc; u32 pcc;
pcc = __raw_readl(OMAP24XX_PRCM_CLKSRC_CTRL); pcc = __raw_readl(prcm_clksrc_ctrl);
__raw_writel(pcc | OMAP_AUTOEXTCLKMODE_MASK, __raw_writel(pcc | OMAP_AUTOEXTCLKMODE_MASK, prcm_clksrc_ctrl);
OMAP24XX_PRCM_CLKSRC_CTRL);
} }
static const struct clkops clkops_oscck = { static const struct clkops clkops_oscck = {
...@@ -654,7 +654,7 @@ static u32 omap2_get_sysclkdiv(void) ...@@ -654,7 +654,7 @@ static u32 omap2_get_sysclkdiv(void)
{ {
u32 div; u32 div;
div = __raw_readl(OMAP24XX_PRCM_CLKSRC_CTRL); div = __raw_readl(prcm_clksrc_ctrl);
div &= OMAP_SYSCLKDIV_MASK; div &= OMAP_SYSCLKDIV_MASK;
div >>= OMAP_SYSCLKDIV_SHIFT; div >>= OMAP_SYSCLKDIV_SHIFT;
...@@ -714,10 +714,13 @@ int __init omap2_clk_init(void) ...@@ -714,10 +714,13 @@ int __init omap2_clk_init(void)
struct omap_clk *c; struct omap_clk *c;
u32 clkrate; u32 clkrate;
if (cpu_is_omap242x()) if (cpu_is_omap242x()) {
prcm_clksrc_ctrl = OMAP2420_PRCM_CLKSRC_CTRL;
cpu_mask = RATE_IN_242X; cpu_mask = RATE_IN_242X;
else if (cpu_is_omap2430()) } else if (cpu_is_omap2430()) {
prcm_clksrc_ctrl = OMAP2430_PRCM_CLKSRC_CTRL;
cpu_mask = RATE_IN_243X; cpu_mask = RATE_IN_243X;
}
clk_init(&omap2_clk_functions); clk_init(&omap2_clk_functions);
......
...@@ -24,6 +24,15 @@ ...@@ -24,6 +24,15 @@
#include "cm-regbits-24xx.h" #include "cm-regbits-24xx.h"
#include "sdrc.h" #include "sdrc.h"
/* REVISIT: These should be set dynamically for CONFIG_MULTI_OMAP2 */
#ifdef CONFIG_ARCH_OMAP2420
#define OMAP24XX_PRCM_CLKOUT_CTRL OMAP2420_PRCM_CLKOUT_CTRL
#define OMAP24XX_PRCM_CLKEMUL_CTRL OMAP2420_PRCM_CLKEMUL_CTRL
#else
#define OMAP24XX_PRCM_CLKOUT_CTRL OMAP2430_PRCM_CLKOUT_CTRL
#define OMAP24XX_PRCM_CLKEMUL_CTRL OMAP2430_PRCM_CLKEMUL_CTRL
#endif
static unsigned long omap2_table_mpu_recalc(struct clk *clk); static unsigned long omap2_table_mpu_recalc(struct clk *clk);
static int omap2_select_table_rate(struct clk *clk, unsigned long rate); static int omap2_select_table_rate(struct clk *clk, unsigned long rate);
static long omap2_round_to_table_rate(struct clk *clk, unsigned long rate); static long omap2_round_to_table_rate(struct clk *clk, unsigned long rate);
......
...@@ -38,6 +38,7 @@ ...@@ -38,6 +38,7 @@
#define OMAP3430_CM_SYSCONFIG OMAP_CM_REGADDR(OCP_MOD, 0x0010) #define OMAP3430_CM_SYSCONFIG OMAP_CM_REGADDR(OCP_MOD, 0x0010)
#define OMAP3430_CM_POLCTRL OMAP_CM_REGADDR(OCP_MOD, 0x009c) #define OMAP3430_CM_POLCTRL OMAP_CM_REGADDR(OCP_MOD, 0x009c)
#define OMAP3_CM_CLKOUT_CTRL_OFFSET 0x0070
#define OMAP3430_CM_CLKOUT_CTRL OMAP_CM_REGADDR(OMAP3430_CCR_MOD, 0x0070) #define OMAP3430_CM_CLKOUT_CTRL OMAP_CM_REGADDR(OMAP3430_CCR_MOD, 0x0070)
/* /*
......
This diff is collapsed.
...@@ -99,7 +99,10 @@ u32 omap2xxx_sdrc_reprogram(u32 level, u32 force) ...@@ -99,7 +99,10 @@ u32 omap2xxx_sdrc_reprogram(u32 level, u32 force)
m_type = omap2xxx_sdrc_get_type(); m_type = omap2xxx_sdrc_get_type();
local_irq_save(flags); local_irq_save(flags);
__raw_writel(0xffff, OMAP24XX_PRCM_VOLTSETUP); if (cpu_is_omap2420())
__raw_writel(0xffff, OMAP2420_PRCM_VOLTSETUP);
else
__raw_writel(0xffff, OMAP2430_PRCM_VOLTSETUP);
omap2_sram_reprogram_sdrc(level, dll_ctrl, m_type); omap2_sram_reprogram_sdrc(level, dll_ctrl, m_type);
curr_perf_level = level; curr_perf_level = level;
local_irq_restore(flags); local_irq_restore(flags);
......
...@@ -124,7 +124,7 @@ omap242x_sdi_cm_clksel2_pll: ...@@ -124,7 +124,7 @@ omap242x_sdi_cm_clksel2_pll:
omap242x_sdi_sdrc_dlla_ctrl: omap242x_sdi_sdrc_dlla_ctrl:
.word OMAP242X_SDRC_REGADDR(SDRC_DLLA_CTRL) .word OMAP242X_SDRC_REGADDR(SDRC_DLLA_CTRL)
omap242x_sdi_prcm_voltctrl: omap242x_sdi_prcm_voltctrl:
.word OMAP242X_PRCM_VOLTCTRL .word OMAP2420_PRCM_VOLTCTRL
prcm_mask_val: prcm_mask_val:
.word 0xFFFF3FFC .word 0xFFFF3FFC
omap242x_sdi_timer_32ksynct_cr: omap242x_sdi_timer_32ksynct_cr:
...@@ -220,7 +220,7 @@ omap242x_srs_sdrc_dlla_ctrl: ...@@ -220,7 +220,7 @@ omap242x_srs_sdrc_dlla_ctrl:
omap242x_srs_sdrc_rfr_ctrl: omap242x_srs_sdrc_rfr_ctrl:
.word OMAP242X_SDRC_REGADDR(SDRC_RFR_CTRL_0) .word OMAP242X_SDRC_REGADDR(SDRC_RFR_CTRL_0)
omap242x_srs_prcm_voltctrl: omap242x_srs_prcm_voltctrl:
.word OMAP242X_PRCM_VOLTCTRL .word OMAP2420_PRCM_VOLTCTRL
ddr_prcm_mask_val: ddr_prcm_mask_val:
.word 0xFFFF3FFC .word 0xFFFF3FFC
omap242x_srs_timer_32ksynct: omap242x_srs_timer_32ksynct:
...@@ -305,7 +305,7 @@ wait_dll_lock: ...@@ -305,7 +305,7 @@ wait_dll_lock:
ldmfd sp!, {r0-r12, pc} @ restore regs and return ldmfd sp!, {r0-r12, pc} @ restore regs and return
omap242x_ssp_set_config: omap242x_ssp_set_config:
.word OMAP242X_PRCM_CLKCFG_CTRL .word OMAP2420_PRCM_CLKCFG_CTRL
omap242x_ssp_pll_ctl: omap242x_ssp_pll_ctl:
.word OMAP2420_CM_REGADDR(PLL_MOD, CM_CLKEN) .word OMAP2420_CM_REGADDR(PLL_MOD, CM_CLKEN)
omap242x_ssp_pll_stat: omap242x_ssp_pll_stat:
......
...@@ -124,7 +124,7 @@ omap243x_sdi_cm_clksel2_pll: ...@@ -124,7 +124,7 @@ omap243x_sdi_cm_clksel2_pll:
omap243x_sdi_sdrc_dlla_ctrl: omap243x_sdi_sdrc_dlla_ctrl:
.word OMAP243X_SDRC_REGADDR(SDRC_DLLA_CTRL) .word OMAP243X_SDRC_REGADDR(SDRC_DLLA_CTRL)
omap243x_sdi_prcm_voltctrl: omap243x_sdi_prcm_voltctrl:
.word OMAP243X_PRCM_VOLTCTRL .word OMAP2430_PRCM_VOLTCTRL
prcm_mask_val: prcm_mask_val:
.word 0xFFFF3FFC .word 0xFFFF3FFC
omap243x_sdi_timer_32ksynct_cr: omap243x_sdi_timer_32ksynct_cr:
...@@ -220,7 +220,7 @@ omap243x_srs_sdrc_dlla_ctrl: ...@@ -220,7 +220,7 @@ omap243x_srs_sdrc_dlla_ctrl:
omap243x_srs_sdrc_rfr_ctrl: omap243x_srs_sdrc_rfr_ctrl:
.word OMAP243X_SDRC_REGADDR(SDRC_RFR_CTRL_0) .word OMAP243X_SDRC_REGADDR(SDRC_RFR_CTRL_0)
omap243x_srs_prcm_voltctrl: omap243x_srs_prcm_voltctrl:
.word OMAP243X_PRCM_VOLTCTRL .word OMAP2430_PRCM_VOLTCTRL
ddr_prcm_mask_val: ddr_prcm_mask_val:
.word 0xFFFF3FFC .word 0xFFFF3FFC
omap243x_srs_timer_32ksynct: omap243x_srs_timer_32ksynct:
...@@ -305,7 +305,7 @@ wait_dll_lock: ...@@ -305,7 +305,7 @@ wait_dll_lock:
ldmfd sp!, {r0-r12, pc} @ restore regs and return ldmfd sp!, {r0-r12, pc} @ restore regs and return
omap243x_ssp_set_config: omap243x_ssp_set_config:
.word OMAP243X_PRCM_CLKCFG_CTRL .word OMAP2430_PRCM_CLKCFG_CTRL
omap243x_ssp_pll_ctl: omap243x_ssp_pll_ctl:
.word OMAP2430_CM_REGADDR(PLL_MOD, CM_CLKEN) .word OMAP2430_CM_REGADDR(PLL_MOD, CM_CLKEN)
omap243x_ssp_pll_stat: omap243x_ssp_pll_stat:
......
...@@ -89,14 +89,12 @@ ...@@ -89,14 +89,12 @@
#define OMAP2_PRCM_BASE OMAP2420_PRCM_BASE #define OMAP2_PRCM_BASE OMAP2420_PRCM_BASE
#define OMAP2_CM_BASE OMAP2420_CM_BASE #define OMAP2_CM_BASE OMAP2420_CM_BASE
#define OMAP2_PRM_BASE OMAP2420_PRM_BASE
#define OMAP2_VA_IC_BASE IO_ADDRESS(OMAP24XX_IC_BASE) #define OMAP2_VA_IC_BASE IO_ADDRESS(OMAP24XX_IC_BASE)
#elif defined(CONFIG_ARCH_OMAP2430) #elif defined(CONFIG_ARCH_OMAP2430)
#define OMAP2_PRCM_BASE OMAP2430_PRCM_BASE #define OMAP2_PRCM_BASE OMAP2430_PRCM_BASE
#define OMAP2_CM_BASE OMAP2430_CM_BASE #define OMAP2_CM_BASE OMAP2430_CM_BASE
#define OMAP2_PRM_BASE OMAP2430_PRM_BASE
#define OMAP2_VA_IC_BASE IO_ADDRESS(OMAP24XX_IC_BASE) #define OMAP2_VA_IC_BASE IO_ADDRESS(OMAP24XX_IC_BASE)
#endif #endif
......
...@@ -86,7 +86,6 @@ ...@@ -86,7 +86,6 @@
#if defined(CONFIG_ARCH_OMAP3430) #if defined(CONFIG_ARCH_OMAP3430)
#define OMAP2_CM_BASE OMAP3430_CM_BASE #define OMAP2_CM_BASE OMAP3430_CM_BASE
#define OMAP2_PRM_BASE OMAP3430_PRM_BASE
#define OMAP2_VA_IC_BASE IO_ADDRESS(OMAP34XX_IC_BASE) #define OMAP2_VA_IC_BASE IO_ADDRESS(OMAP34XX_IC_BASE)
#endif #endif
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment