diff options
author | Magnus Damm <damm@igel.co.jp> | 2008-12-04 04:00:22 -0500 |
---|---|---|
committer | Paul Mundt <lethal@linux-sh.org> | 2008-12-22 04:43:51 -0500 |
commit | 5e5aacb0de70fa80e8b1a2b803ae9e2ad40b8e52 (patch) | |
tree | cf065b18f41566b249a70ed0000fad4701dc038e /arch/sh | |
parent | 6aacba72dbdadc1445244e366ecf0263a160409e (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')
-rw-r--r-- | arch/sh/boards/mach-se/7343/setup.c | 45 |
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 | ||
131 | static void isp116x_delay(struct device *dev, int delay) | ||
132 | { | ||
133 | ndelay(delay); | ||
134 | } | ||
135 | |||
136 | static 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 | |||
153 | static 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 | |||
162 | static 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 | |||
129 | static struct platform_device *sh7343se_platform_devices[] __initdata = { | 173 | static 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 | ||
136 | static int __init sh7343se_devices_setup(void) | 181 | static int __init sh7343se_devices_setup(void) |