ARM: shmobile: r8a7778: add support MMC driver
authorKuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Tue, 4 Jun 2013 05:12:22 +0000 (22:12 -0700)
committerSimon Horman <horms+renesas@verge.net.au>
Tue, 11 Jun 2013 08:32:24 +0000 (17:32 +0900)
Add a platform device for the r8a7778 MMC.

Signed-off-by: Yusuke Goda <yusuke.goda.sx@renesas.com>
Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
arch/arm/mach-shmobile/include/mach/r8a7778.h
arch/arm/mach-shmobile/setup-r8a7778.c

index af668c47a3d974a1daaae461505f9a9efcc1887e..97ba66b3a7a199efd4eea121230ba2bc18a7ebbe 100644 (file)
@@ -18,6 +18,7 @@
 #ifndef __ASM_R8A7778_H__
 #define __ASM_R8A7778_H__
 
+#include <linux/mmc/sh_mmcif.h>
 #include <linux/mmc/sh_mobile_sdhi.h>
 #include <linux/sh_eth.h>
 
@@ -26,6 +27,7 @@ extern void r8a7778_add_standard_devices_dt(void);
 extern void r8a7778_add_ether_device(struct sh_eth_plat_data *pdata);
 extern void r8a7778_add_i2c_device(int id);
 extern void r8a7778_add_hspi_device(int id);
+extern void r8a7778_add_mmc_device(struct sh_mmcif_plat_data *info);
 
 extern void r8a7778_init_delay(void);
 extern void r8a7778_init_irq(void);
index a1e6930053707d2814b2f2aaa4bf7b2a4fb84d08..c8e481f6c9e25cde18c7eecdf985ab069d14259d 100644 (file)
@@ -173,6 +173,19 @@ void __init r8a7778_add_hspi_device(int id)
                hspi_resources + (2 * id), 2);
 }
 
+/* MMC */
+static struct resource mmc_resources[] __initdata = {
+       DEFINE_RES_MEM(0xffe4e000, 0x100),
+       DEFINE_RES_IRQ(gic_iid(0x5d)),
+};
+
+void __init r8a7778_add_mmc_device(struct sh_mmcif_plat_data *info)
+{
+       platform_device_register_resndata(
+               &platform_bus, "sh_mmcif", -1,
+               mmc_resources, ARRAY_SIZE(mmc_resources),
+               info, sizeof(*info));
+}
 
 void __init r8a7778_add_standard_devices(void)
 {