Message ID | B85A65D85D7EB246BE421B3FB0FBB59301DD6108EC@dbde02.ent.ti.com (mailing list archive) |
---|---|
State | Superseded, archived |
Headers | show |
Hi Hiroshi, > -----Original Message----- > From: Hiroshi DOYU [mailto:Hiroshi.DOYU@nokia.com] > Sent: Saturday, September 05, 2009 3:06 PM > To: C.A, Subramaniam > Cc: linux-omap@vger.kernel.org; tony@atomide.com; > rmk@arm.linux.org.uk; Kanigeri, Hari; Gupta, Ramesh > Subject: Re: [PATCH 2/10] omap mailbox: OMAP4 - Add resources > and mailbox register base address for OMAP4 mailbox > > Hi Subramaniam, > > From: "ext C.A, Subramaniam" <subramaniam.ca@ti.com> > Subject: [PATCH 2/10] omap mailbox: OMAP4 - Add resources and > mailbox register base address for OMAP4 mailbox > Date: Fri, 4 Sep 2009 13:47:43 +0200 > > > From 80e74ada510bace7208d59c0f912f9b1077efb45 Mon Sep 17 > 00:00:00 2001 > > From: C A Subramaniam <subramaniam.ca@ti.com> > > Date: Wed, 2 Sep 2009 17:58:57 +0530 > > Subject: [PATCH 2/10] omap mailbox: OMAP4 - Add resources > and mailbox > > register base address for OMAP4 mailbox > > > > This patch adds resource information of mailbox driver for > > OMAP4 mailbox module. Register base address also added > > > > Signed-off-by: C A Subramaniam <subramaniam.ca@ti.com> > > Signed-off-by: Ramesh Gupta G <grgupta@ti.com> > > --- > > arch/arm/mach-omap2/devices.c | 20 > +++++++++++++++++++- > > arch/arm/plat-omap/include/mach/omap44xx.h | 2 ++ > > 2 files changed, 21 insertions(+), 1 deletions(-) > > > > diff --git a/arch/arm/mach-omap2/devices.c > > b/arch/arm/mach-omap2/devices.c index 894cc35..711ed6a 100644 > > --- a/arch/arm/mach-omap2/devices.c > > +++ b/arch/arm/mach-omap2/devices.c > > @@ -136,8 +136,11 @@ static inline void omap_init_camera(void) > > > > #if defined(CONFIG_OMAP_MBOX_FWK) || > > defined(CONFIG_OMAP_MBOX_FWK_MODULE) > > > > +#ifdef CONFIG_ARCH_OMAP4 > > +#define MBOX_REG_SIZE 0x130 > > +#else > > #define MBOX_REG_SIZE 0x120 > > - > > +#endif > > I'm not sure if it is still valid or not to support multiple OMAP > architecture(OMAP1/2/3/4?) with a single vmlinux binary, but > the above modification will break this feature. > > If it is still valid, I think that the above should be > modified, for example, with using embedded constant values, > like other device resources and the rousources should be > ifded'ed with architecture #: I think it is better to #ifdef for each architecture like you have suggested. > > #ifdef CONFIG_ARCH_OMAP2 > static struct resource omap2_mbox_resources[] = { > { > .start = OMAP24XX_MAILBOX_BASE, > .end = OMAP24XX_MAILBOX_BASE + > OMAP2_MBOX_REG_SIZE - 1, > #endif > > #ifdef CONFIG_ARCH_OMAP3 > @@ -166,6 +169,18 @@ static struct resource > omap3_mbox_resources[] = { > }, > }; > #endif > > #ifdef CONFIG_ARCH_OMAP4 > > #define OMAP4_MBOX_REG_SIZE 0x130 > > static struct resource omap4_mbox_resources[] = { > { > .start = OMAP44XX_MAILBOX_BASE, > .end = OMAP44XX_MAILBOX_BASE + > OMAP4_MBOX_REG_SIZE - 1, > .flags = IORESOURCE_MEM, > }, > { > .start = INT_44XX_MAIL_U0_MPU, > .flags = IORESOURCE_IRQ, > }, > }; > #endif > > > + > > static struct platform_device mbox_device = { > > .name = "omap2-mailbox", > > .id = -1, > > @@ -179,6 +194,9 @@ static inline void omap_init_mbox(void) > > } else if (cpu_is_omap3430()) { > > mbox_device.num_resources = > ARRAY_SIZE(omap3_mbox_resources); > > mbox_device.resource = omap3_mbox_resources; > > + } else if (cpu_is_omap44xx()) { > > + mbox_device.num_resources = > ARRAY_SIZE(omap4_mbox_resources); > > + mbox_device.resource = omap4_mbox_resources; > > } else { > > pr_err("%s: platform not supported\n", __func__); > > return; > > diff --git a/arch/arm/plat-omap/include/mach/omap44xx.h > > b/arch/arm/plat-omap/include/mach/omap44xx.h > > index 52f2f85..6a545d3 100644 > > --- a/arch/arm/plat-omap/include/mach/omap44xx.h > > +++ b/arch/arm/plat-omap/include/mach/omap44xx.h > > @@ -44,5 +44,7 @@ > > #define OMAP44XX_WKUPGEN_BASE 0x48281000 > > #define OMAP44XX_VA_WKUPGEN_BASE > IO_ADDRESS(OMAP44XX_WKUPGEN_BASE) > > > > +#define OMAP44xx_MAILBOX_BASE (L4_44XX_BASE + 0xF4000) > > From naming consistency, can the above be, "OMAP44XX_MAILBOX_BASE" ? > I agree. I will incoprporate this change and send a patch. > > + > > #endif /* __ASM_ARCH_OMAP44XX_H */ > > > > -- > > 1.5.3.2 > > -- To unsubscribe from this list: send the line "unsubscribe linux-omap" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
diff --git a/arch/arm/mach-omap2/devices.c b/arch/arm/mach-omap2/devices.c index 894cc35..711ed6a 100644 --- a/arch/arm/mach-omap2/devices.c +++ b/arch/arm/mach-omap2/devices.c @@ -136,8 +136,11 @@ static inline void omap_init_camera(void) #if defined(CONFIG_OMAP_MBOX_FWK) || defined(CONFIG_OMAP_MBOX_FWK_MODULE) +#ifdef CONFIG_ARCH_OMAP4 +#define MBOX_REG_SIZE 0x130 +#else #define MBOX_REG_SIZE 0x120 - +#endif static struct resource omap2_mbox_resources[] = { { .start = OMAP24XX_MAILBOX_BASE, @@ -166,6 +169,18 @@ static struct resource omap3_mbox_resources[] = { }, }; +static struct resource omap4_mbox_resources[] = { + { + .start = OMAP44xx_MAILBOX_BASE, + .end = OMAP44xx_MAILBOX_BASE + MBOX_REG_SIZE - 1, + .flags = IORESOURCE_MEM, + }, + { + .start = INT_44XX_MAIL_U0_MPU, + .flags = IORESOURCE_IRQ, + }, +}; + static struct platform_device mbox_device = { .name = "omap2-mailbox", .id = -1, @@ -179,6 +194,9 @@ static inline void omap_init_mbox(void) } else if (cpu_is_omap3430()) { mbox_device.num_resources = ARRAY_SIZE(omap3_mbox_resources); mbox_device.resource = omap3_mbox_resources; + } else if (cpu_is_omap44xx()) { + mbox_device.num_resources = ARRAY_SIZE(omap4_mbox_resources); + mbox_device.resource = omap4_mbox_resources; } else { pr_err("%s: platform not supported\n", __func__); return; diff --git a/arch/arm/plat-omap/include/mach/omap44xx.h b/arch/arm/plat-omap/include/mach/omap44xx.h index 52f2f85..6a545d3 100644 --- a/arch/arm/plat-omap/include/mach/omap44xx.h +++ b/arch/arm/plat-omap/include/mach/omap44xx.h @@ -44,5 +44,7 @@ #define OMAP44XX_WKUPGEN_BASE 0x48281000 #define OMAP44XX_VA_WKUPGEN_BASE IO_ADDRESS(OMAP44XX_WKUPGEN_BASE) +#define OMAP44xx_MAILBOX_BASE (L4_44XX_BASE + 0xF4000) + #endif /* __ASM_ARCH_OMAP44XX_H */