/* * linux/arch/arm/mach-omap2/board-n8x0.c * * Copyright (C) 2005-2009 Nokia Corporation * Author: Juha Yrjola * * Modified from mach-omap2/board-generic.c * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 as * published by the Free Software Foundation. */ #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include "common.h" #include "mmc.h" #include "mux.h" #include "gpmc-onenand.h" #define TUSB6010_ASYNC_CS 1 #define TUSB6010_SYNC_CS 4 #define TUSB6010_GPIO_INT 58 #define TUSB6010_GPIO_ENABLE 0 #define TUSB6010_DMACHAN 0x3f #if defined(CONFIG_I2C_CBUS_GPIO) || defined(CONFIG_I2C_CBUS_GPIO_MODULE) static struct i2c_cbus_platform_data n8x0_cbus_data = { .clk_gpio = 66, .dat_gpio = 65, .sel_gpio = 64, }; static struct platform_device n8x0_cbus_device = { .name = "i2c-cbus-gpio", .id = 3, .dev = { .platform_data = &n8x0_cbus_data, }, }; static struct i2c_board_info n8x0_i2c_board_info_3[] __initdata = { { I2C_BOARD_INFO("retu-mfd", 0x01), }, }; static void __init n8x0_cbus_init(void) { const int retu_irq_gpio = 108; if (gpio_request_one(retu_irq_gpio, GPIOF_IN, "Retu IRQ")) return; irq_set_irq_type(gpio_to_irq(retu_irq_gpio), IRQ_TYPE_EDGE_RISING); n8x0_i2c_board_info_3[0].irq = gpio_to_irq(retu_irq_gpio); i2c_register_board_info(3, n8x0_i2c_board_info_3, ARRAY_SIZE(n8x0_i2c_board_info_3)); platform_device_register(&n8x0_cbus_device); } #else /* CONFIG_I2C_CBUS_GPIO */ static void __init n8x0_cbus_init(void) { } #endif /* CONFIG_I2C_CBUS_GPIO */ #if defined(CONFIG_USB_MUSB_TUSB6010) || defined(CONFIG_USB_MUSB_TUSB6010_MODULE) /* * Enable or disable power to TUSB6010. When enabling, turn on 3.3 V and * 1.5 V voltage regulators of PM companion chip. Companion chip will then * provide then PGOOD signal to TUSB6010 which will release it from reset. */