| From 8db4345dc803396cfb4a6f9b4ca363df92d102fa Mon Sep 17 00:00:00 2001 |
| From: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> |
| Date: Mon, 3 Jun 2013 22:12:08 -0700 |
| Subject: ARM: shmobile: r8a7778: add support HSPI driver |
| |
| Add a platform device for the r8a7778 HSPI. |
| |
| 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 8b89797f3273e6e1574e1727f73dc8ac7d5f5a9c) |
| Signed-off-by: Simon Horman <horms+renesas@verge.net.au> |
| --- |
| arch/arm/mach-shmobile/include/mach/r8a7778.h | 1 + |
| arch/arm/mach-shmobile/setup-r8a7778.c | 23 +++++++++++++++++++++++ |
| 2 files changed, 24 insertions(+) |
| |
| diff --git a/arch/arm/mach-shmobile/include/mach/r8a7778.h b/arch/arm/mach-shmobile/include/mach/r8a7778.h |
| index 184c727c..301817ba 100644 |
| --- a/arch/arm/mach-shmobile/include/mach/r8a7778.h |
| +++ b/arch/arm/mach-shmobile/include/mach/r8a7778.h |
| @@ -27,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_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_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 67dfea7e..3b9bea8b 100644 |
| --- a/arch/arm/mach-shmobile/setup-r8a7778.c |
| +++ b/arch/arm/mach-shmobile/setup-r8a7778.c |
| @@ -297,6 +297,29 @@ void __init r8a7778_add_i2c_device(int id) |
| i2c_resources + (2 * id), 2); |
| } |
| |
| +/* HSPI */ |
| +static struct resource hspi_resources[] __initdata = { |
| + /* HSPI0 */ |
| + DEFINE_RES_MEM(0xfffc7000, 0x18), |
| + DEFINE_RES_IRQ(gic_iid(0x5f)), |
| + /* HSPI1 */ |
| + DEFINE_RES_MEM(0xfffc8000, 0x18), |
| + DEFINE_RES_IRQ(gic_iid(0x74)), |
| + /* HSPI2 */ |
| + DEFINE_RES_MEM(0xfffc6000, 0x18), |
| + DEFINE_RES_IRQ(gic_iid(0x75)), |
| +}; |
| + |
| +void __init r8a7778_add_hspi_device(int id) |
| +{ |
| + BUG_ON(id < 0 || id > 2); |
| + |
| + platform_device_register_simple( |
| + "sh-hspi", id, |
| + hspi_resources + (2 * id), 2); |
| +} |
| + |
| + |
| void __init r8a7778_add_standard_devices(void) |
| { |
| int i; |
| -- |
| 1.8.4.3.gca3854a |
| |