diff options
author | Magnus Damm <damm@opensource.se> | 2011-01-06 05:41:09 -0500 |
---|---|---|
committer | Paul Mundt <lethal@linux-sh.org> | 2011-01-12 00:44:34 -0500 |
commit | 9213c0007dc4863ea1c3dd6553f2f05a88573768 (patch) | |
tree | 719e2962e5dfe681c2be3c00df192ddad3509fe7 /arch/arm/mach-shmobile/board-g4evm.c | |
parent | 969f9a19122141465d02a889d7d1de34eb53e609 (diff) |
ARM: mach-shmobile: sh7377 Enable SDIO IRQs
This patch enables interrupt generation for SDIO IRQs
of the SDHI block on the sh7377 aka G4 processor. Use
together with a recent SDHI driver using TMIO_MMC_SDIO_IRQ
and with the MMC_CAP_SDIO_IRQ flag in the board code.
The G4EVM specific SDHI platform data is also updated to
flag SDIO capabilities.
Signed-off-by: Magnus Damm <damm@opensource.se>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Diffstat (limited to 'arch/arm/mach-shmobile/board-g4evm.c')
-rw-r--r-- | arch/arm/mach-shmobile/board-g4evm.c | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/arch/arm/mach-shmobile/board-g4evm.c b/arch/arm/mach-shmobile/board-g4evm.c index c13f01280b7e..dee3e9231fb9 100644 --- a/arch/arm/mach-shmobile/board-g4evm.c +++ b/arch/arm/mach-shmobile/board-g4evm.c | |||
@@ -30,6 +30,7 @@ | |||
30 | #include <linux/io.h> | 30 | #include <linux/io.h> |
31 | #include <linux/input.h> | 31 | #include <linux/input.h> |
32 | #include <linux/input/sh_keysc.h> | 32 | #include <linux/input/sh_keysc.h> |
33 | #include <linux/mmc/host.h> | ||
33 | #include <linux/mfd/sh_mobile_sdhi.h> | 34 | #include <linux/mfd/sh_mobile_sdhi.h> |
34 | #include <linux/gpio.h> | 35 | #include <linux/gpio.h> |
35 | #include <mach/sh7377.h> | 36 | #include <mach/sh7377.h> |
@@ -196,6 +197,10 @@ static struct platform_device keysc_device = { | |||
196 | }; | 197 | }; |
197 | 198 | ||
198 | /* SDHI */ | 199 | /* SDHI */ |
200 | static struct sh_mobile_sdhi_info sdhi0_info = { | ||
201 | .tmio_caps = MMC_CAP_SDIO_IRQ, | ||
202 | }; | ||
203 | |||
199 | static struct resource sdhi0_resources[] = { | 204 | static struct resource sdhi0_resources[] = { |
200 | [0] = { | 205 | [0] = { |
201 | .name = "SDHI0", | 206 | .name = "SDHI0", |
@@ -214,6 +219,13 @@ static struct platform_device sdhi0_device = { | |||
214 | .num_resources = ARRAY_SIZE(sdhi0_resources), | 219 | .num_resources = ARRAY_SIZE(sdhi0_resources), |
215 | .resource = sdhi0_resources, | 220 | .resource = sdhi0_resources, |
216 | .id = 0, | 221 | .id = 0, |
222 | .dev = { | ||
223 | .platform_data = &sdhi0_info, | ||
224 | }, | ||
225 | }; | ||
226 | |||
227 | static struct sh_mobile_sdhi_info sdhi1_info = { | ||
228 | .tmio_caps = MMC_CAP_NONREMOVABLE | MMC_CAP_SDIO_IRQ, | ||
217 | }; | 229 | }; |
218 | 230 | ||
219 | static struct resource sdhi1_resources[] = { | 231 | static struct resource sdhi1_resources[] = { |
@@ -234,6 +246,9 @@ static struct platform_device sdhi1_device = { | |||
234 | .num_resources = ARRAY_SIZE(sdhi1_resources), | 246 | .num_resources = ARRAY_SIZE(sdhi1_resources), |
235 | .resource = sdhi1_resources, | 247 | .resource = sdhi1_resources, |
236 | .id = 1, | 248 | .id = 1, |
249 | .dev = { | ||
250 | .platform_data = &sdhi1_info, | ||
251 | }, | ||
237 | }; | 252 | }; |
238 | 253 | ||
239 | static struct platform_device *g4evm_devices[] __initdata = { | 254 | static struct platform_device *g4evm_devices[] __initdata = { |