From e5f5b5422d064b7a393e39332da31af68e975f91 Mon Sep 17 00:00:00 2001 From: Aaro Koskinen Date: Fri, 17 Dec 2010 15:13:45 -0800 Subject: arm: omap: sdram-nokia: use array to list timings Use an array to make it easier to add new values. Signed-off-by: Aaro Koskinen Signed-off-by: Tony Lindgren --- arch/arm/mach-omap2/sdram-nokia.c | 21 +++++++++++++++------ 1 file changed, 15 insertions(+), 6 deletions(-) (limited to 'arch/arm/mach-omap2/sdram-nokia.c') diff --git a/arch/arm/mach-omap2/sdram-nokia.c b/arch/arm/mach-omap2/sdram-nokia.c index 97d16732c54d..1171451ef7f2 100644 --- a/arch/arm/mach-omap2/sdram-nokia.c +++ b/arch/arm/mach-omap2/sdram-nokia.c @@ -44,8 +44,6 @@ struct sdram_timings { u32 tWTR; }; -static struct omap_sdrc_params nokia_sdrc_params[4]; - static const struct sdram_timings nokia_166mhz_timings[] = { { .casl = 3, @@ -67,6 +65,16 @@ static const struct sdram_timings nokia_166mhz_timings[] = { }, }; +static const struct { + long rate; + struct sdram_timings const *data; +} nokia_timings[] = { + { 41500000, nokia_166mhz_timings }, + { 83000000, nokia_166mhz_timings }, + { 166000000, nokia_166mhz_timings }, +}; +static struct omap_sdrc_params nokia_sdrc_params[ARRAY_SIZE(nokia_timings) + 1]; + static unsigned long sdrc_get_fclk_period(long rate) { /* In picoseconds */ @@ -212,11 +220,12 @@ static int sdrc_timings(int id, long rate, struct omap_sdrc_params *nokia_get_sdram_timings(void) { - int err; + int err = 0; + int i; - err = sdrc_timings(0, 41500000, nokia_166mhz_timings); - err |= sdrc_timings(1, 83000000, nokia_166mhz_timings); - err |= sdrc_timings(2, 166000000, nokia_166mhz_timings); + for (i = 0; i < ARRAY_SIZE(nokia_timings); i++) + err |= sdrc_timings(i, nokia_timings[i].rate, + nokia_timings[i].data); return &nokia_sdrc_params[0]; } -- cgit v1.2.3