diff options
author | Magnus Damm <damm@igel.co.jp> | 2008-12-04 18:00:22 +0900 |
---|---|---|
committer | Paul Mundt <lethal@linux-sh.org> | 2008-12-22 18:43:51 +0900 |
commit | 5e5aacb0de70fa80e8b1a2b803ae9e2ad40b8e52 (patch) | |
tree | cf065b18f41566b249a70ed0000fad4701dc038e /arch/sh/boards | |
parent | 6aacba72dbdadc1445244e366ecf0263a160409e (diff) | |
download | blackbird-obmc-linux-5e5aacb0de70fa80e8b1a2b803ae9e2ad40b8e52.tar.gz blackbird-obmc-linux-5e5aacb0de70fa80e8b1a2b803ae9e2ad40b8e52.zip |
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.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 @@ #include <linux/mtd/physmap.h> #include <linux/serial_8250.h> #include <linux/serial_reg.h> +#include <linux/usb/isp116x.h> +#include <linux/delay.h> #include <asm/machvec.h> #include <mach-se/mach/se7343.h> #include <asm/heartbeat.h> @@ -126,11 +128,54 @@ static struct platform_device uart_device = { }, }; +static void isp116x_delay(struct device *dev, int delay) +{ + ndelay(delay); +} + +static struct resource usb_resources[] = { + [0] = { + .start = 0x11800000, + .end = 0x11800001, + .flags = IORESOURCE_MEM, + }, + [1] = { + .start = 0x11800002, + .end = 0x11800003, + .flags = IORESOURCE_MEM, + }, + [2] = { + .start = USB_IRQ, + .flags = IORESOURCE_IRQ, + }, +}; + +static struct isp116x_platform_data usb_platform_data = { + .sel15Kres = 1, + .oc_enable = 1, + .int_act_high = 0, + .int_edge_triggered = 0, + .remote_wakeup_enable = 0, + .delay = isp116x_delay, +}; + +static struct platform_device usb_device = { + .name = "isp116x-hcd", + .id = -1, + .num_resources = ARRAY_SIZE(usb_resources), + .resource = usb_resources, + .dev = { + .platform_data = &usb_platform_data, + }, + +}; + static struct platform_device *sh7343se_platform_devices[] __initdata = { &smc91x_device, &heartbeat_device, &nor_flash_device, &uart_device, + &usb_device, }; static int __init sh7343se_devices_setup(void) |