X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=arch%2Farm%2Fmach-omap%2Fboard-osk.c;h=51c616812c795c1db9452e3acab3eb7b6faeeb90;hb=6a77f38946aaee1cd85eeec6cf4229b204c15071;hp=85d9a0ac33e32d5291a23f69bf579d4d174dec05;hpb=87fc8d1bb10cd459024a742c6a10961fefcef18f;p=linux-2.6.git diff --git a/arch/arm/mach-omap/board-osk.c b/arch/arm/mach-omap/board-osk.c index 85d9a0ac3..51c616812 100644 --- a/arch/arm/mach-omap/board-osk.c +++ b/arch/arm/mach-omap/board-osk.c @@ -38,17 +38,17 @@ #include #include #include +#include #include "common.h" -extern void __init omap_init_time(void); - static struct map_desc osk5912_io_desc[] __initdata = { -{ OMAP_OSK_ETHR_BASE, OMAP_OSK_ETHR_START, OMAP_OSK_ETHR_SIZE,MT_DEVICE }, { OMAP_OSK_NOR_FLASH_BASE, OMAP_OSK_NOR_FLASH_START, OMAP_OSK_NOR_FLASH_SIZE, MT_DEVICE }, }; +static int __initdata osk_serial_ports[OMAP_MAX_NR_PORTS] = {1, 0, 0}; + static struct resource osk5912_smc91x_resources[] = { [0] = { .start = OMAP_OSK_ETHR_START, /* Physical */ @@ -56,8 +56,8 @@ static struct resource osk5912_smc91x_resources[] = { .flags = IORESOURCE_MEM, }, [1] = { - .start = 0, /* Really GPIO 0 */ - .end = 0, + .start = OMAP_GPIO_IRQ(0), + .end = OMAP_GPIO_IRQ(0), .flags = IORESOURCE_IRQ, }, }; @@ -73,21 +73,45 @@ static struct platform_device *osk5912_devices[] __initdata = { &osk5912_smc91x_device, }; +static void __init osk_init_smc91x(void) +{ + if ((omap_request_gpio(0)) < 0) { + printk("Error requesting gpio 0 for smc91x irq\n"); + return; + } + omap_set_gpio_edge_ctrl(0, OMAP_GPIO_RISING_EDGE); +} + void osk_init_irq(void) { omap_init_irq(); + omap_gpio_init(); + osk_init_smc91x(); } +static struct omap_usb_config osk_usb_config __initdata = { + /* has usb host and device, but no Mini-AB port */ + .register_host = 1, + .hmc_mode = 16, + .pins[0] = 2, +}; + +static struct omap_board_config_kernel osk_config[] = { + { OMAP_TAG_USB, &osk_usb_config }, +}; + static void __init osk_init(void) { platform_add_devices(osk5912_devices, ARRAY_SIZE(osk5912_devices)); + omap_board_config = osk_config; + omap_board_config_size = ARRAY_SIZE(osk_config); } static void __init osk_map_io(void) { omap_map_io(); iotable_init(osk5912_io_desc, ARRAY_SIZE(osk5912_io_desc)); - + omap_serial_init(osk_serial_ports); } MACHINE_START(OMAP_OSK, "TI-OSK") @@ -97,5 +121,5 @@ MACHINE_START(OMAP_OSK, "TI-OSK") MAPIO(osk_map_io) INITIRQ(osk_init_irq) INIT_MACHINE(osk_init) - INITTIME(omap_init_time) + .timer = &omap_timer, MACHINE_END