aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-omap2/mcbsp.c
diff options
context:
space:
mode:
authorJarkko Nikula <jarkko.nikula@bitmer.com>2011-09-26 03:45:39 -0400
committerTony Lindgren <tony@atomide.com>2011-09-26 20:46:48 -0400
commitcdc71514a0f4f3e8c995f18d1119cef01a501dac (patch)
treeffc6ae60449339619d92dda064051052da7ededb /arch/arm/mach-omap2/mcbsp.c
parent40246e0003f02160a116db249270129b0c600e95 (diff)
ARM: OMAP: mcbsp: Implement generic register access
Register access can be made more generic by calculating register address offsets runtime from common register definitions and by using reg_size and reg_step variables that are passed via platform data. Common register definitions are possible since McBSP registers are ordered similarly between OMAP versions. Remove also references to OMAP2+ specific config_type variable from generic McBSP code since other variables and feature flags are better to carry needed information from platform code. Signed-off-by: Jarkko Nikula <jarkko.nikula@bitmer.com> Acked-by: Peter Ujfalusi <peter.ujfalusi@ti.com> Tested-by: Janusz Krzysztofik <jkrzyszt@tis.icnet.pl> Signed-off-by: Tony Lindgren <tony@atomide.com>
Diffstat (limited to 'arch/arm/mach-omap2/mcbsp.c')
-rw-r--r--arch/arm/mach-omap2/mcbsp.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/arch/arm/mach-omap2/mcbsp.c b/arch/arm/mach-omap2/mcbsp.c
index 7a42f32bd87d..43b9ccffba9e 100644
--- a/arch/arm/mach-omap2/mcbsp.c
+++ b/arch/arm/mach-omap2/mcbsp.c
@@ -126,7 +126,11 @@ static int omap_init_mcbsp(struct omap_hwmod *oh, void *unused)
126 return -ENOMEM; 126 return -ENOMEM;
127 } 127 }
128 128
129 pdata->mcbsp_config_type = oh->class->rev; 129 pdata->reg_step = 4;
130 if (oh->class->rev < MCBSP_CONFIG_TYPE2)
131 pdata->reg_size = 2;
132 else
133 pdata->reg_size = 4;
130 134
131 if (oh->class->rev == MCBSP_CONFIG_TYPE3) { 135 if (oh->class->rev == MCBSP_CONFIG_TYPE3) {
132 if (id == 2) 136 if (id == 2)