static void __init osk_init_irq(void) { omap_init_irq(); omap_gpio_init(); osk_init_smc91x(); osk_init_cf(); }
static void __init osk_init(void) { u32 l; osk_init_smc91x(); osk_init_cf(); /* Workaround for wrong CS3 (NOR flash) timing * There are some U-Boot versions out there which configure * wrong CS3 memory timings. This mainly leads to CRC * or similar errors if you use NOR flash (e.g. with JFFS2) */ l = omap_readl(EMIFS_CCS(3)); if (l != EMIFS_CS3_VAL) omap_writel(EMIFS_CS3_VAL, EMIFS_CCS(3)); osk_flash_resource.end = osk_flash_resource.start = omap_cs3_phys(); osk_flash_resource.end += SZ_32M - 1; osk5912_smc91x_resources[1].start = gpio_to_irq(0); osk5912_smc91x_resources[1].end = gpio_to_irq(0); osk5912_cf_resources[0].start = gpio_to_irq(62); osk5912_cf_resources[0].end = gpio_to_irq(62); platform_add_devices(osk5912_devices, ARRAY_SIZE(osk5912_devices)); l = omap_readl(USB_TRANSCEIVER_CTRL); l |= (3 << 1); omap_writel(l, USB_TRANSCEIVER_CTRL); omap1_usb_init(&osk_usb_config); /* irq for tps65010 chip */ /* bootloader effectively does: omap_cfg_reg(U19_1610_MPUIO1); */ if (gpio_request(OMAP_MPUIO(1), "tps65010") == 0) gpio_direction_input(OMAP_MPUIO(1)); omap_serial_init(); osk_i2c_board_info[0].irq = gpio_to_irq(OMAP_MPUIO(1)); omap_register_i2c_bus(1, 400, osk_i2c_board_info, ARRAY_SIZE(osk_i2c_board_info)); osk_mistral_init(); #ifdef CONFIG_OMAP_OSK_MISTRAL omapfb_set_lcd_config(&osk_lcd_config); #endif }