aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-omap2/control.c
diff options
context:
space:
mode:
authorSantosh Shilimkar <santosh.shilimkar@ti.com>2010-09-27 16:02:57 -0400
committerPaul Walmsley <paul@pwsan.com>2010-09-27 16:02:57 -0400
commit70ba71a25e02ef7b8796723c8615955620e465ff (patch)
tree2f438307bd74e24f26c35727800fef46bb7bf675 /arch/arm/mach-omap2/control.c
parent0c3492467c99f3d0d83a48012ee6e672b016759c (diff)
omap4: control: Add accessor api's for pad control module
On OMAP4 control pad are not addressable from control core base. So the common omap_ctrl_read/write APIs breaks Hence export separate APIs to manage the omap4 pad control registers. This APIs will work only for OMAP4 Signed-off-by: Santosh Shilimkar <santosh.shilimkar@ti.com> Signed-off-by: Paul Walmsley <paul@pwsan.com>
Diffstat (limited to 'arch/arm/mach-omap2/control.c')
-rw-r--r--arch/arm/mach-omap2/control.c18
1 files changed, 18 insertions, 0 deletions
diff --git a/arch/arm/mach-omap2/control.c b/arch/arm/mach-omap2/control.c
index 99c0eb645d4d..8b3c469e7bcd 100644
--- a/arch/arm/mach-omap2/control.c
+++ b/arch/arm/mach-omap2/control.c
@@ -138,6 +138,7 @@ static struct omap3_control_regs control_context;
138#endif /* CONFIG_ARCH_OMAP3 && CONFIG_PM */ 138#endif /* CONFIG_ARCH_OMAP3 && CONFIG_PM */
139 139
140#define OMAP_CTRL_REGADDR(reg) (omap2_ctrl_base + (reg)) 140#define OMAP_CTRL_REGADDR(reg) (omap2_ctrl_base + (reg))
141#define OMAP4_CTRL_PAD_REGADDR(reg) (omap4_ctrl_pad_base + (reg))
141 142
142void __init omap2_set_globals_control(struct omap_globals *omap2_globals) 143void __init omap2_set_globals_control(struct omap_globals *omap2_globals)
143{ 144{
@@ -189,6 +190,23 @@ void omap_ctrl_writel(u32 val, u16 offset)
189 __raw_writel(val, OMAP_CTRL_REGADDR(offset)); 190 __raw_writel(val, OMAP_CTRL_REGADDR(offset));
190} 191}
191 192
193/*
194 * On OMAP4 control pad are not addressable from control
195 * core base. So the common omap_ctrl_read/write APIs breaks
196 * Hence export separate APIs to manage the omap4 pad control
197 * registers. This APIs will work only for OMAP4
198 */
199
200u32 omap4_ctrl_pad_readl(u16 offset)
201{
202 return __raw_readl(OMAP4_CTRL_PAD_REGADDR(offset));
203}
204
205void omap4_ctrl_pad_writel(u32 val, u16 offset)
206{
207 __raw_writel(val, OMAP4_CTRL_PAD_REGADDR(offset));
208}
209
192#if defined(CONFIG_ARCH_OMAP3) && defined(CONFIG_PM) 210#if defined(CONFIG_ARCH_OMAP3) && defined(CONFIG_PM)
193/* 211/*
194 * Clears the scratchpad contents in case of cold boot- 212 * Clears the scratchpad contents in case of cold boot-