From: Roman Tereshonkov Date: Wed, 28 May 2008 16:05:58 +0000 (+0300) Subject: Add SDTI device for OMAP3 and unify address definitions for OMAP1 and OMAP2. X-Git-Tag: v2.6.26-omap1~123^2~56 X-Git-Url: http://www.pilppa.org/gitweb/gitweb.cgi?a=commitdiff_plain;h=83e9d2e9e164a7ff1b4763b0b9806980ee728d48;p=linux-2.6-omap-h63xx.git Add SDTI device for OMAP3 and unify address definitions for OMAP1 and OMAP2. Signed-off-by: Roman Tereshonkov Signed-off-by: Tony Lindgren --- diff --git a/arch/arm/mach-omap1/devices.c b/arch/arm/mach-omap1/devices.c index da8a3ac47e1..15ab43c3f78 100644 --- a/arch/arm/mach-omap1/devices.c +++ b/arch/arm/mach-omap1/devices.c @@ -102,7 +102,7 @@ static inline void omap_init_mbox(void) { } #if defined(CONFIG_OMAP_STI) -#define OMAP1_STI_BASE IO_ADDRESS(0xfffea000) +#define OMAP1_STI_BASE 0xfffea000 #define OMAP1_STI_CHANNEL_BASE (OMAP1_STI_BASE + 0x400) static struct resource sti_resources[] = { diff --git a/arch/arm/mach-omap2/devices.c b/arch/arm/mach-omap2/devices.c index d02e9e5ac87..d8fb3f888c5 100644 --- a/arch/arm/mach-omap2/devices.c +++ b/arch/arm/mach-omap2/devices.c @@ -92,7 +92,9 @@ static inline void omap_init_mbox(void) { } #if defined(CONFIG_OMAP_STI) -#define OMAP2_STI_BASE IO_ADDRESS(0x48068000) +#if defined(CONFIG_ARCH_OMAP2) + +#define OMAP2_STI_BASE 0x48068000 #define OMAP2_STI_CHANNEL_BASE 0x54000000 #define OMAP2_STI_IRQ 4 @@ -112,6 +114,25 @@ static struct resource sti_resources[] = { .flags = IORESOURCE_IRQ, } }; +#elif defined(CONFIG_ARCH_OMAP3) + +#define OMAP3_SDTI_BASE 0x54500000 +#define OMAP3_SDTI_CHANNEL_BASE 0x54600000 + +static struct resource sti_resources[] = { + { + .start = OMAP3_SDTI_BASE, + .end = OMAP3_SDTI_BASE + 0xFFF, + .flags = IORESOURCE_MEM, + }, + { + .start = OMAP3_SDTI_CHANNEL_BASE, + .end = OMAP3_SDTI_CHANNEL_BASE + SZ_1M - 1, + .flags = IORESOURCE_MEM, + } +}; + +#endif static struct platform_device sti_device = { .name = "sti", diff --git a/drivers/misc/sti/sti.c b/drivers/misc/sti/sti.c index e828860f037..1140fed048f 100644 --- a/drivers/misc/sti/sti.c +++ b/drivers/misc/sti/sti.c @@ -356,7 +356,7 @@ static int __devinit sti_probe(struct platform_device *pdev) if (unlikely(ret != 0)) goto err; - sti_base = res->start; + sti_base = io_p2v(res->start); /* * OMAP 16xx keeps channels in a relatively sane location, @@ -364,7 +364,7 @@ static int __devinit sti_probe(struct platform_device *pdev) * remapped. */ if (cpu_is_omap16xx()) - sti_channel_base = cres->start; + sti_channel_base = io_p2v(cres->start); else if (cpu_is_omap24xx()) { unsigned int size = cres->end - cres->start;