| From b0f9d5f02c39d3c02dab4f01b11ac2f2d770cb96 Mon Sep 17 00:00:00 2001 |
| From: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> |
| Date: Tue, 16 Apr 2013 22:17:25 -0700 |
| Subject: ARM: shmobile: r8a7778: Register SDHI device |
| |
| This patch adds SDHI register function which needs id number (= 0/1/2) |
| |
| Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> |
| Signed-off-by: Simon Horman <horms+renesas@verge.net.au> |
| (cherry picked from commit dab581139c475719caa29356727b930c0245e2af) |
| Signed-off-by: Simon Horman <horms+renesas@verge.net.au> |
| |
| Conflicts: |
| arch/arm/mach-shmobile/include/mach/r8a7778.h |
| arch/arm/mach-shmobile/setup-r8a7778.c |
| --- |
| arch/arm/mach-shmobile/include/mach/r8a7778.h | 2 ++ |
| arch/arm/mach-shmobile/setup-r8a7778.c | 24 ++++++++++++++++++++++++ |
| 2 files changed, 26 insertions(+) |
| |
| diff --git a/arch/arm/mach-shmobile/include/mach/r8a7778.h b/arch/arm/mach-shmobile/include/mach/r8a7778.h |
| index 68053fc4..ae65b459 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_mobile_sdhi.h> |
| #include <linux/sh_eth.h> |
| |
| extern void r8a7778_add_standard_devices(void); |
| @@ -29,5 +30,6 @@ extern void r8a7778_init_irq_dt(void); |
| extern void r8a7778_clock_init(void); |
| extern void r8a7778_init_irq_extpin(int irlm); |
| extern void r8a7778_pinmux_init(void); |
| +extern void r8a7778_sdhi_init(int id, struct sh_mobile_sdhi_info *info); |
| |
| #endif /* __ASM_R8A7778_H__ */ |
| diff --git a/arch/arm/mach-shmobile/setup-r8a7778.c b/arch/arm/mach-shmobile/setup-r8a7778.c |
| index 06ead4a0..1b9b7f2a 100644 |
| --- a/arch/arm/mach-shmobile/setup-r8a7778.c |
| +++ b/arch/arm/mach-shmobile/setup-r8a7778.c |
| @@ -147,6 +147,30 @@ void __init r8a7778_pinmux_init(void) |
| r8a7778_register_gpio(2); |
| r8a7778_register_gpio(3); |
| r8a7778_register_gpio(4); |
| +}; |
| + |
| +/* SDHI */ |
| +static struct resource sdhi_resources[] = { |
| + /* SDHI0 */ |
| + DEFINE_RES_MEM(0xFFE4C000, 0x100), |
| + DEFINE_RES_IRQ(gic_iid(0x77)), |
| + /* SDHI1 */ |
| + DEFINE_RES_MEM(0xFFE4D000, 0x100), |
| + DEFINE_RES_IRQ(gic_iid(0x78)), |
| + /* SDHI2 */ |
| + DEFINE_RES_MEM(0xFFE4F000, 0x100), |
| + DEFINE_RES_IRQ(gic_iid(0x76)), |
| +}; |
| + |
| +void __init r8a7778_sdhi_init(int id, |
| + struct sh_mobile_sdhi_info *info) |
| +{ |
| + BUG_ON(id < 0 || id > 2); |
| + |
| + platform_device_register_resndata( |
| + &platform_bus, "sh_mobile_sdhi", id, |
| + sdhi_resources + (2 * id), 2, |
| + info, sizeof(*info)); |
| } |
| |
| void __init r8a7778_add_standard_devices(void) |
| -- |
| 1.8.4.3.gca3854a |
| |