diff options
author | Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> | 2013-06-04 01:12:22 -0400 |
---|---|---|
committer | Simon Horman <horms+renesas@verge.net.au> | 2013-06-11 04:32:24 -0400 |
commit | 31b2eaccd60c3480ad81a3302faed463fdc5df12 (patch) | |
tree | 5e0ea6626f92be1d2a861ff3f88403641822b7b7 | |
parent | 8b89797f3273e6e1574e1727f73dc8ac7d5f5a9c (diff) |
ARM: shmobile: r8a7778: add support MMC driver
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>
-rw-r--r-- | arch/arm/mach-shmobile/include/mach/r8a7778.h | 2 | ||||
-rw-r--r-- | arch/arm/mach-shmobile/setup-r8a7778.c | 13 |
2 files changed, 15 insertions, 0 deletions
diff --git a/arch/arm/mach-shmobile/include/mach/r8a7778.h b/arch/arm/mach-shmobile/include/mach/r8a7778.h index af668c47a3d9..97ba66b3a7a1 100644 --- a/arch/arm/mach-shmobile/include/mach/r8a7778.h +++ b/arch/arm/mach-shmobile/include/mach/r8a7778.h | |||
@@ -18,6 +18,7 @@ | |||
18 | #ifndef __ASM_R8A7778_H__ | 18 | #ifndef __ASM_R8A7778_H__ |
19 | #define __ASM_R8A7778_H__ | 19 | #define __ASM_R8A7778_H__ |
20 | 20 | ||
21 | #include <linux/mmc/sh_mmcif.h> | ||
21 | #include <linux/mmc/sh_mobile_sdhi.h> | 22 | #include <linux/mmc/sh_mobile_sdhi.h> |
22 | #include <linux/sh_eth.h> | 23 | #include <linux/sh_eth.h> |
23 | 24 | ||
@@ -26,6 +27,7 @@ extern void r8a7778_add_standard_devices_dt(void); | |||
26 | extern void r8a7778_add_ether_device(struct sh_eth_plat_data *pdata); | 27 | extern void r8a7778_add_ether_device(struct sh_eth_plat_data *pdata); |
27 | extern void r8a7778_add_i2c_device(int id); | 28 | extern void r8a7778_add_i2c_device(int id); |
28 | extern void r8a7778_add_hspi_device(int id); | 29 | extern void r8a7778_add_hspi_device(int id); |
30 | extern void r8a7778_add_mmc_device(struct sh_mmcif_plat_data *info); | ||
29 | 31 | ||
30 | extern void r8a7778_init_delay(void); | 32 | extern void r8a7778_init_delay(void); |
31 | extern void r8a7778_init_irq(void); | 33 | extern void r8a7778_init_irq(void); |
diff --git a/arch/arm/mach-shmobile/setup-r8a7778.c b/arch/arm/mach-shmobile/setup-r8a7778.c index a1e693005370..c8e481f6c9e2 100644 --- a/arch/arm/mach-shmobile/setup-r8a7778.c +++ b/arch/arm/mach-shmobile/setup-r8a7778.c | |||
@@ -173,6 +173,19 @@ void __init r8a7778_add_hspi_device(int id) | |||
173 | hspi_resources + (2 * id), 2); | 173 | hspi_resources + (2 * id), 2); |
174 | } | 174 | } |
175 | 175 | ||
176 | /* MMC */ | ||
177 | static struct resource mmc_resources[] __initdata = { | ||
178 | DEFINE_RES_MEM(0xffe4e000, 0x100), | ||
179 | DEFINE_RES_IRQ(gic_iid(0x5d)), | ||
180 | }; | ||
181 | |||
182 | void __init r8a7778_add_mmc_device(struct sh_mmcif_plat_data *info) | ||
183 | { | ||
184 | platform_device_register_resndata( | ||
185 | &platform_bus, "sh_mmcif", -1, | ||
186 | mmc_resources, ARRAY_SIZE(mmc_resources), | ||
187 | info, sizeof(*info)); | ||
188 | } | ||
176 | 189 | ||
177 | void __init r8a7778_add_standard_devices(void) | 190 | void __init r8a7778_add_standard_devices(void) |
178 | { | 191 | { |