aboutsummaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
authorArnd Hannemann <arnd@arndnet.de>2010-12-28 17:22:33 -0500
committerPaul Mundt <lethal@linux-sh.org>2011-01-12 00:44:19 -0500
commit330e4e7169be3d587dcd7408003197a6f1d66dd0 (patch)
treef0ea7447b65e6355ee985c778d2b523d226e0053 /arch
parent4162cf64973df51fc885825bc9ca4d055891c49f (diff)
ARM: mach-shmobile: sh7372 Enable SDIO IRQs
This patch enables the interrupt generation for SDIO IRQs of the sdhi controllers of the SoC. To make sure interrupts are handled announce the MMC_CAP_SDIO_IRQ capability on AP4EVB. Tested with a b43-based SDIO wireless card. Signed-off-by: Arnd Hannemann <arnd@arndnet.de> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Diffstat (limited to 'arch')
-rw-r--r--arch/arm/mach-shmobile/board-ap4evb.c3
-rw-r--r--arch/arm/mach-shmobile/intc-sh7372.c4
2 files changed, 4 insertions, 3 deletions
diff --git a/arch/arm/mach-shmobile/board-ap4evb.c b/arch/arm/mach-shmobile/board-ap4evb.c
index cd79d7c1ba0..f888d9d1d01 100644
--- a/arch/arm/mach-shmobile/board-ap4evb.c
+++ b/arch/arm/mach-shmobile/board-ap4evb.c
@@ -308,6 +308,7 @@ static struct platform_device sh_mmcif_device = {
308static struct sh_mobile_sdhi_info sdhi0_info = { 308static struct sh_mobile_sdhi_info sdhi0_info = {
309 .dma_slave_tx = SHDMA_SLAVE_SDHI0_TX, 309 .dma_slave_tx = SHDMA_SLAVE_SDHI0_TX,
310 .dma_slave_rx = SHDMA_SLAVE_SDHI0_RX, 310 .dma_slave_rx = SHDMA_SLAVE_SDHI0_RX,
311 .tmio_caps = MMC_CAP_SDIO_IRQ,
311}; 312};
312 313
313static struct resource sdhi0_resources[] = { 314static struct resource sdhi0_resources[] = {
@@ -339,7 +340,7 @@ static struct sh_mobile_sdhi_info sdhi1_info = {
339 .dma_slave_rx = SHDMA_SLAVE_SDHI1_RX, 340 .dma_slave_rx = SHDMA_SLAVE_SDHI1_RX,
340 .tmio_ocr_mask = MMC_VDD_165_195, 341 .tmio_ocr_mask = MMC_VDD_165_195,
341 .tmio_flags = TMIO_MMC_WRPROTECT_DISABLE, 342 .tmio_flags = TMIO_MMC_WRPROTECT_DISABLE,
342 .tmio_caps = MMC_CAP_NEEDS_POLL, 343 .tmio_caps = MMC_CAP_NEEDS_POLL | MMC_CAP_SDIO_IRQ,
343 .get_cd = slot_cn7_get_cd, 344 .get_cd = slot_cn7_get_cd,
344}; 345};
345 346
diff --git a/arch/arm/mach-shmobile/intc-sh7372.c b/arch/arm/mach-shmobile/intc-sh7372.c
index 30b2f400666..f78a1ead71a 100644
--- a/arch/arm/mach-shmobile/intc-sh7372.c
+++ b/arch/arm/mach-shmobile/intc-sh7372.c
@@ -230,10 +230,10 @@ static struct intc_mask_reg intca_mask_registers[] __initdata = {
230 { SCIFB, SCIFA5, SCIFA4, MSIOF1, 230 { SCIFB, SCIFA5, SCIFA4, MSIOF1,
231 0, 0, MSIOF2, 0 } }, 231 0, 0, MSIOF2, 0 } },
232 { 0xe694009c, 0xe69400dc, 8, /* IMR7A / IMCR7A */ 232 { 0xe694009c, 0xe69400dc, 8, /* IMR7A / IMCR7A */
233 { DISABLED, DISABLED, ENABLED, ENABLED, 233 { DISABLED, ENABLED, ENABLED, ENABLED,
234 FLCTL_FLTREQ1I, FLCTL_FLTREQ0I, FLCTL_FLTENDI, FLCTL_FLSTEI } }, 234 FLCTL_FLTREQ1I, FLCTL_FLTREQ0I, FLCTL_FLTENDI, FLCTL_FLSTEI } },
235 { 0xe69400a0, 0xe69400e0, 8, /* IMR8A / IMCR8A */ 235 { 0xe69400a0, 0xe69400e0, 8, /* IMR8A / IMCR8A */
236 { 0, DISABLED, ENABLED, ENABLED, 236 { 0, ENABLED, ENABLED, ENABLED,
237 TTI20, USBHSDMAC0_USHDMI, 0, 0 } }, 237 TTI20, USBHSDMAC0_USHDMI, 0, 0 } },
238 { 0xe69400a4, 0xe69400e4, 8, /* IMR9A / IMCR9A */ 238 { 0xe69400a4, 0xe69400e4, 8, /* IMR9A / IMCR9A */
239 { CMT1_CMT13, CMT1_CMT12, CMT1_CMT11, CMT1_CMT10, 239 { CMT1_CMT13, CMT1_CMT12, CMT1_CMT11, CMT1_CMT10,