aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-shmobile/board-g4evm.c
diff options
context:
space:
mode:
authorMagnus Damm <damm@opensource.se>2011-01-06 05:41:09 -0500
committerPaul Mundt <lethal@linux-sh.org>2011-01-12 00:44:34 -0500
commit9213c0007dc4863ea1c3dd6553f2f05a88573768 (patch)
tree719e2962e5dfe681c2be3c00df192ddad3509fe7 /arch/arm/mach-shmobile/board-g4evm.c
parent969f9a19122141465d02a889d7d1de34eb53e609 (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.c15
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 */
200static struct sh_mobile_sdhi_info sdhi0_info = {
201 .tmio_caps = MMC_CAP_SDIO_IRQ,
202};
203
199static struct resource sdhi0_resources[] = { 204static 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
227static struct sh_mobile_sdhi_info sdhi1_info = {
228 .tmio_caps = MMC_CAP_NONREMOVABLE | MMC_CAP_SDIO_IRQ,
217}; 229};
218 230
219static struct resource sdhi1_resources[] = { 231static 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
239static struct platform_device *g4evm_devices[] __initdata = { 254static struct platform_device *g4evm_devices[] __initdata = {