| From f28e09c76620a503c73ce011204006ca090e4290 Mon Sep 17 00:00:00 2001 |
| From: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> |
| Date: Mon, 3 Jun 2013 22:12:22 -0700 |
| Subject: 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> |
| (cherry picked from commit 31b2eaccd60c3480ad81a3302faed463fdc5df12) |
| Signed-off-by: Simon Horman <horms+renesas@verge.net.au> |
| --- |
| arch/arm/mach-shmobile/include/mach/r8a7778.h | 2 ++ |
| arch/arm/mach-shmobile/setup-r8a7778.c | 13 +++++++++++++ |
| 2 files changed, 15 insertions(+) |
| |
| diff --git a/arch/arm/mach-shmobile/include/mach/r8a7778.h b/arch/arm/mach-shmobile/include/mach/r8a7778.h |
| index 301817ba..851d027a 100644 |
| --- a/arch/arm/mach-shmobile/include/mach/r8a7778.h |
| +++ b/arch/arm/mach-shmobile/include/mach/r8a7778.h |
| @@ -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> |
| #include <linux/platform_data/usb-rcar-phy.h> |
| @@ -28,6 +29,7 @@ extern void r8a7778_add_ether_device(struct sh_eth_plat_data *pdata); |
| extern void r8a7778_add_usb_phy_device(struct rcar_phy_platform_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_late(void); |
| extern void r8a7778_init_delay(void); |
| diff --git a/arch/arm/mach-shmobile/setup-r8a7778.c b/arch/arm/mach-shmobile/setup-r8a7778.c |
| index 3b9bea8b..80c20392 100644 |
| --- a/arch/arm/mach-shmobile/setup-r8a7778.c |
| +++ b/arch/arm/mach-shmobile/setup-r8a7778.c |
| @@ -319,6 +319,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) |
| { |
| -- |
| 1.8.4.3.gca3854a |
| |