aboutsummaryrefslogtreecommitdiffstats
path: root/arch/sh/boards
diff options
context:
space:
mode:
authorMagnus Damm <damm@igel.co.jp>2008-12-04 04:00:22 -0500
committerPaul Mundt <lethal@linux-sh.org>2008-12-22 04:43:51 -0500
commit5e5aacb0de70fa80e8b1a2b803ae9e2ad40b8e52 (patch)
treecf065b18f41566b249a70ed0000fad4701dc038e /arch/sh/boards
parent6aacba72dbdadc1445244e366ecf0263a160409e (diff)
sh: add isp1161 usb host device to se7343
Add isp1161 platform data to get usb host working on se7343. Signed-off-by: Magnus Damm <damm@igel.co.jp> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Diffstat (limited to 'arch/sh/boards')
-rw-r--r--arch/sh/boards/mach-se/7343/setup.c45
1 files changed, 45 insertions, 0 deletions
diff --git a/arch/sh/boards/mach-se/7343/setup.c b/arch/sh/boards/mach-se/7343/setup.c
index 69dac91c2a6a..54ba9b6ddbcd 100644
--- a/arch/sh/boards/mach-se/7343/setup.c
+++ b/arch/sh/boards/mach-se/7343/setup.c
@@ -3,6 +3,8 @@
3#include <linux/mtd/physmap.h> 3#include <linux/mtd/physmap.h>
4#include <linux/serial_8250.h> 4#include <linux/serial_8250.h>
5#include <linux/serial_reg.h> 5#include <linux/serial_reg.h>
6#include <linux/usb/isp116x.h>
7#include <linux/delay.h>
6#include <asm/machvec.h> 8#include <asm/machvec.h>
7#include <mach-se/mach/se7343.h> 9#include <mach-se/mach/se7343.h>
8#include <asm/heartbeat.h> 10#include <asm/heartbeat.h>
@@ -126,11 +128,54 @@ static struct platform_device uart_device = {
126 }, 128 },
127}; 129};
128 130
131static void isp116x_delay(struct device *dev, int delay)
132{
133 ndelay(delay);
134}
135
136static struct resource usb_resources[] = {
137 [0] = {
138 .start = 0x11800000,
139 .end = 0x11800001,
140 .flags = IORESOURCE_MEM,
141 },
142 [1] = {
143 .start = 0x11800002,
144 .end = 0x11800003,
145 .flags = IORESOURCE_MEM,
146 },
147 [2] = {
148 .start = USB_IRQ,
149 .flags = IORESOURCE_IRQ,
150 },
151};
152
153static struct isp116x_platform_data usb_platform_data = {
154 .sel15Kres = 1,
155 .oc_enable = 1,
156 .int_act_high = 0,
157 .int_edge_triggered = 0,
158 .remote_wakeup_enable = 0,
159 .delay = isp116x_delay,
160};
161
162static struct platform_device usb_device = {
163 .name = "isp116x-hcd",
164 .id = -1,
165 .num_resources = ARRAY_SIZE(usb_resources),
166 .resource = usb_resources,
167 .dev = {
168 .platform_data = &usb_platform_data,
169 },
170
171};
172
129static struct platform_device *sh7343se_platform_devices[] __initdata = { 173static struct platform_device *sh7343se_platform_devices[] __initdata = {
130 &smc91x_device, 174 &smc91x_device,
131 &heartbeat_device, 175 &heartbeat_device,
132 &nor_flash_device, 176 &nor_flash_device,
133 &uart_device, 177 &uart_device,
178 &usb_device,
134}; 179};
135 180
136static int __init sh7343se_devices_setup(void) 181static int __init sh7343se_devices_setup(void)