aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-shmobile/board-marzen.c
diff options
context:
space:
mode:
authorKuninori Morimoto <kuninori.morimoto.gx@renesas.com>2012-10-10 22:57:02 -0400
committerSimon Horman <horms@verge.net.au>2012-10-30 03:25:51 -0400
commitb82573e18bc61666ffd3901ca6677bf18b9ea743 (patch)
treeda8b2727d55bfe98d4cb55dd8a3ab4cabe84116f /arch/arm/mach-shmobile/board-marzen.c
parent1efdf56369eb920aef4c77ad04cfafcc680f92cf (diff)
ARM: shmobile: marzen: add HSPI support
Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Signed-off-by: Simon Horman <horms@verge.net.au>
Diffstat (limited to 'arch/arm/mach-shmobile/board-marzen.c')
-rw-r--r--arch/arm/mach-shmobile/board-marzen.c25
1 files changed, 25 insertions, 0 deletions
diff --git a/arch/arm/mach-shmobile/board-marzen.c b/arch/arm/mach-shmobile/board-marzen.c
index b8a7525a4e2f..69f7f464eff8 100644
--- a/arch/arm/mach-shmobile/board-marzen.c
+++ b/arch/arm/mach-shmobile/board-marzen.c
@@ -30,6 +30,8 @@
30#include <linux/regulator/fixed.h> 30#include <linux/regulator/fixed.h>
31#include <linux/regulator/machine.h> 31#include <linux/regulator/machine.h>
32#include <linux/smsc911x.h> 32#include <linux/smsc911x.h>
33#include <linux/spi/spi.h>
34#include <linux/spi/sh_hspi.h>
33#include <linux/mmc/sh_mobile_sdhi.h> 35#include <linux/mmc/sh_mobile_sdhi.h>
34#include <linux/mfd/tmio.h> 36#include <linux/mfd/tmio.h>
35#include <mach/hardware.h> 37#include <mach/hardware.h>
@@ -126,10 +128,27 @@ static struct platform_device thermal_device = {
126 .num_resources = ARRAY_SIZE(thermal_resources), 128 .num_resources = ARRAY_SIZE(thermal_resources),
127}; 129};
128 130
131/* HSPI */
132static struct resource hspi_resources[] = {
133 [0] = {
134 .start = 0xFFFC7000,
135 .end = 0xFFFC7018 - 1,
136 .flags = IORESOURCE_MEM,
137 },
138};
139
140static struct platform_device hspi_device = {
141 .name = "sh-hspi",
142 .id = 0,
143 .resource = hspi_resources,
144 .num_resources = ARRAY_SIZE(hspi_resources),
145};
146
129static struct platform_device *marzen_devices[] __initdata = { 147static struct platform_device *marzen_devices[] __initdata = {
130 &eth_device, 148 &eth_device,
131 &sdhi0_device, 149 &sdhi0_device,
132 &thermal_device, 150 &thermal_device,
151 &hspi_device,
133}; 152};
134 153
135static void __init marzen_init(void) 154static void __init marzen_init(void)
@@ -163,6 +182,12 @@ static void __init marzen_init(void)
163 gpio_request(GPIO_FN_SD0_CD, NULL); 182 gpio_request(GPIO_FN_SD0_CD, NULL);
164 gpio_request(GPIO_FN_SD0_WP, NULL); 183 gpio_request(GPIO_FN_SD0_WP, NULL);
165 184
185 /* HSPI 0 */
186 gpio_request(GPIO_FN_HSPI_CLK0, NULL);
187 gpio_request(GPIO_FN_HSPI_CS0, NULL);
188 gpio_request(GPIO_FN_HSPI_TX0, NULL);
189 gpio_request(GPIO_FN_HSPI_RX0, NULL);
190
166 r8a7779_add_standard_devices(); 191 r8a7779_add_standard_devices();
167 platform_add_devices(marzen_devices, ARRAY_SIZE(marzen_devices)); 192 platform_add_devices(marzen_devices, ARRAY_SIZE(marzen_devices));
168} 193}