diff options
author | C A Subramaniam <subramaniam.ca@ti.com> | 2009-11-22 13:11:18 -0500 |
---|---|---|
committer | Tony Lindgren <tony@atomide.com> | 2009-11-22 13:24:33 -0500 |
commit | 454bf340c986b798cd4c2fd676caffa2c1e61482 (patch) | |
tree | c824168354f34bf26b26b3af22922cf98f788131 /arch/arm/mach-omap2/devices.c | |
parent | 59fdc6ebda441a26ec055d61cf9d670a33eeca2d (diff) |
omap: mailbox: 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>
Acked-by: Hiroshi DOYU <Hiroshi.DOYU@nokia.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Diffstat (limited to 'arch/arm/mach-omap2/devices.c')
-rw-r--r-- | arch/arm/mach-omap2/devices.c | 36 |
1 files changed, 27 insertions, 9 deletions
diff --git a/arch/arm/mach-omap2/devices.c b/arch/arm/mach-omap2/devices.c index 8b6cd8c82dd2..733d3dcff98b 100644 --- a/arch/arm/mach-omap2/devices.c +++ b/arch/arm/mach-omap2/devices.c | |||
@@ -136,9 +136,10 @@ static inline void omap_init_camera(void) | |||
136 | 136 | ||
137 | #if defined(CONFIG_OMAP_MBOX_FWK) || defined(CONFIG_OMAP_MBOX_FWK_MODULE) | 137 | #if defined(CONFIG_OMAP_MBOX_FWK) || defined(CONFIG_OMAP_MBOX_FWK_MODULE) |
138 | 138 | ||
139 | #define MBOX_REG_SIZE 0x120 | 139 | #define MBOX_REG_SIZE 0x120 |
140 | 140 | ||
141 | static struct resource omap2_mbox_resources[] = { | 141 | #ifdef CONFIG_ARCH_OMAP2 |
142 | static struct resource omap_mbox_resources[] = { | ||
142 | { | 143 | { |
143 | .start = OMAP24XX_MAILBOX_BASE, | 144 | .start = OMAP24XX_MAILBOX_BASE, |
144 | .end = OMAP24XX_MAILBOX_BASE + MBOX_REG_SIZE - 1, | 145 | .end = OMAP24XX_MAILBOX_BASE + MBOX_REG_SIZE - 1, |
@@ -153,8 +154,10 @@ static struct resource omap2_mbox_resources[] = { | |||
153 | .flags = IORESOURCE_IRQ, | 154 | .flags = IORESOURCE_IRQ, |
154 | }, | 155 | }, |
155 | }; | 156 | }; |
157 | #endif | ||
156 | 158 | ||
157 | static struct resource omap3_mbox_resources[] = { | 159 | #ifdef CONFIG_ARCH_OMAP3 |
160 | static struct resource omap_mbox_resources[] = { | ||
158 | { | 161 | { |
159 | .start = OMAP34XX_MAILBOX_BASE, | 162 | .start = OMAP34XX_MAILBOX_BASE, |
160 | .end = OMAP34XX_MAILBOX_BASE + MBOX_REG_SIZE - 1, | 163 | .end = OMAP34XX_MAILBOX_BASE + MBOX_REG_SIZE - 1, |
@@ -165,6 +168,24 @@ static struct resource omap3_mbox_resources[] = { | |||
165 | .flags = IORESOURCE_IRQ, | 168 | .flags = IORESOURCE_IRQ, |
166 | }, | 169 | }, |
167 | }; | 170 | }; |
171 | #endif | ||
172 | |||
173 | #ifdef CONFIG_ARCH_OMAP4 | ||
174 | |||
175 | #define OMAP4_MBOX_REG_SIZE 0x130 | ||
176 | static struct resource omap_mbox_resources[] = { | ||
177 | { | ||
178 | .start = OMAP44XX_MAILBOX_BASE, | ||
179 | .end = OMAP44XX_MAILBOX_BASE + | ||
180 | OMAP4_MBOX_REG_SIZE - 1, | ||
181 | .flags = IORESOURCE_MEM, | ||
182 | }, | ||
183 | { | ||
184 | .start = INT_44XX_MAIL_U0_MPU, | ||
185 | .flags = IORESOURCE_IRQ, | ||
186 | }, | ||
187 | }; | ||
188 | #endif | ||
168 | 189 | ||
169 | static struct platform_device mbox_device = { | 190 | static struct platform_device mbox_device = { |
170 | .name = "omap2-mailbox", | 191 | .name = "omap2-mailbox", |
@@ -173,12 +194,9 @@ static struct platform_device mbox_device = { | |||
173 | 194 | ||
174 | static inline void omap_init_mbox(void) | 195 | static inline void omap_init_mbox(void) |
175 | { | 196 | { |
176 | if (cpu_is_omap2420()) { | 197 | if (cpu_is_omap2420() || cpu_is_omap3430() || cpu_is_omap44xx()) { |
177 | mbox_device.num_resources = ARRAY_SIZE(omap2_mbox_resources); | 198 | mbox_device.num_resources = ARRAY_SIZE(omap_mbox_resources); |
178 | mbox_device.resource = omap2_mbox_resources; | 199 | mbox_device.resource = omap_mbox_resources; |
179 | } else if (cpu_is_omap3430()) { | ||
180 | mbox_device.num_resources = ARRAY_SIZE(omap3_mbox_resources); | ||
181 | mbox_device.resource = omap3_mbox_resources; | ||
182 | } else { | 200 | } else { |
183 | pr_err("%s: platform not supported\n", __func__); | 201 | pr_err("%s: platform not supported\n", __func__); |
184 | return; | 202 | return; |