static int __init omap4_muxtbl_is_pbias_gpio(struct omap_board_mux *mux) { struct omap_board_mux wkup_mux[] = { OMAP4_MUX(SIM_IO, OMAP_MUX_MODE3), OMAP4_MUX(SIM_CLK, OMAP_MUX_MODE3), OMAP4_MUX(SIM_RESET, OMAP_MUX_MODE3), }; unsigned int i = ARRAY_SIZE(wkup_mux) - 1; do { if (wkup_mux[i].reg_offset == mux->reg_offset && (wkup_mux[i].value & mux->value)) return 0; } while (i-- != 0); return -1; }
unsigned int sec_board_output_gpio_size = ARRAY_SIZE(__omap_board_output_gpio); EXPORT_SYMBOL(sec_board_output_gpio_size); unsigned int (*sec_board_output_gpio_ptr)[3] = __omap_board_output_gpio; EXPORT_SYMBOL(sec_board_output_gpio_ptr); static unsigned int __omap_wakeup_gpio[] __initdata = { }; /* end array omap_wakeup_gpio */ unsigned int sec_board_wakeup_gpio_size = ARRAY_SIZE(__omap_wakeup_gpio); EXPORT_SYMBOL(sec_board_wakeup_gpio_size); unsigned int (*sec_board_wakeup_gpio_ptr) = __omap_wakeup_gpio; EXPORT_SYMBOL(sec_board_wakeup_gpio_ptr); static struct omap_board_mux __omap_board_core_mux[] __initdata = { /* [-----] gpmc_noe - - HSMMC_CLK */ OMAP4_MUX(GPMC_NOE, OMAP_MUX_MODE1 | OMAP_PIN_INPUT_PULLDOWN), /* [-----] gpmc_new - - HSMMC_CMD */ OMAP4_MUX(GPMC_NWE, OMAP_MUX_MODE1 | OMAP_PIN_INPUT_PULLUP | OMAP_PIN_OFF_INPUT_PULLDOWN), /* [-----] gpmc_ad0 - - HSMMC_D(0) */ OMAP4_MUX(GPMC_AD0, OMAP_MUX_MODE1 | OMAP_PIN_INPUT_PULLUP | OMAP_PIN_OFF_INPUT_PULLDOWN), /* [-----] gpmc_ad1 - - HSMMC_D(1) */ OMAP4_MUX(GPMC_AD1, OMAP_MUX_MODE1 | OMAP_PIN_INPUT_PULLUP | OMAP_PIN_OFF_INPUT_PULLDOWN), /* [-----] gpmc_ad2 - - HSMMC_D(2) */ OMAP4_MUX(GPMC_AD2, OMAP_MUX_MODE1 | OMAP_PIN_INPUT_PULLUP | OMAP_PIN_OFF_INPUT_PULLDOWN), /* [-----] gpmc_ad3 - - HSMMC_D(3) */ OMAP4_MUX(GPMC_AD3, OMAP_MUX_MODE1 | OMAP_PIN_INPUT_PULLUP | OMAP_PIN_OFF_INPUT_PULLDOWN), /* [-----] gpmc_ad4 - - HSMMC_D(4) */ OMAP4_MUX(GPMC_AD4, OMAP_MUX_MODE1 | OMAP_PIN_INPUT_PULLUP | OMAP_PIN_OFF_INPUT_PULLDOWN), /* [-----] gpmc_ad5 - - HSMMC_D(5) */ OMAP4_MUX(GPMC_AD5, OMAP_MUX_MODE1 | OMAP_PIN_INPUT_PULLUP | OMAP_PIN_OFF_INPUT_PULLDOWN), /* [-----] gpmc_ad6 - - HSMMC_D(6) */
static struct omap_dss_board_info sdp4430_dss_data = { .num_devices = ARRAY_SIZE(sdp4430_dss_devices), .devices = sdp4430_dss_devices, .default_device = &sdp4430_hdmi_device, }; void omap_4430sdp_display_init(void) { sdp4430_hdmi_mux_init(); omap_display_init(&sdp4430_dss_data); } #ifdef CONFIG_OMAP_MUX static struct omap_board_mux board_mux[] __initdata = { OMAP4_MUX(USBB2_ULPITLL_CLK, OMAP_MUX_MODE4 | OMAP_PIN_OUTPUT), /* WLAN IRQ - GPIO 53 */ OMAP4_MUX(GPMC_NCS3, OMAP_MUX_MODE3 | OMAP_PIN_INPUT | OMAP_PIN_OFF_WAKEUPENABLE), /* WLAN_EN - GPIO 54 */ OMAP4_MUX(GPMC_NWP, OMAP_MUX_MODE3 | OMAP_PIN_OUTPUT), /* WLAN SDIO: MMC5 CMD */ OMAP4_MUX(SDMMC5_CMD, OMAP_MUX_MODE0 | OMAP_PIN_INPUT_PULLUP), /* WLAN SDIO: MMC5 CLK */ OMAP4_MUX(SDMMC5_CLK, OMAP_MUX_MODE0 | OMAP_PIN_INPUT_PULLUP), /* WLAN SDIO: MMC5 DAT[0-3] */ OMAP4_MUX(SDMMC5_DAT0, OMAP_MUX_MODE0 | OMAP_PIN_INPUT_PULLUP), OMAP4_MUX(SDMMC5_DAT1, OMAP_MUX_MODE0 | OMAP_PIN_INPUT_PULLUP), OMAP4_MUX(SDMMC5_DAT2, OMAP_MUX_MODE0 | OMAP_PIN_INPUT_PULLUP), OMAP4_MUX(SDMMC5_DAT3, OMAP_MUX_MODE0 | OMAP_PIN_INPUT_PULLUP), { .reg_offset = OMAP_MUX_TERMINATOR },
omap4_pmic_init("twl6030", &omap4_panda_twldata); omap_register_i2c_bus(2, 400, NULL, 0); /* * Bus 3 is attached to the DVI port where devices like the pico DLP * projector don't work reliably with 400kHz */ omap_register_i2c_bus(3, 100, panda_i2c_eeprom, ARRAY_SIZE(panda_i2c_eeprom)); omap_register_i2c_bus(4, 400, NULL, 0); return 0; } #ifdef CONFIG_OMAP_MUX static struct omap_board_mux board_mux[] __initdata = { /* WLAN IRQ - GPIO 53 */ OMAP4_MUX(GPMC_NCS3, OMAP_MUX_MODE3 | OMAP_PIN_INPUT), /* WLAN POWER ENABLE - GPIO 43 */ OMAP4_MUX(GPMC_A19, OMAP_MUX_MODE3 | OMAP_PIN_OUTPUT), /* WLAN SDIO: MMC5 CMD */ OMAP4_MUX(SDMMC5_CMD, OMAP_MUX_MODE0 | OMAP_PIN_INPUT_PULLUP), /* WLAN SDIO: MMC5 CLK */ OMAP4_MUX(SDMMC5_CLK, OMAP_MUX_MODE0 | OMAP_PIN_INPUT_PULLUP), /* WLAN SDIO: MMC5 DAT[0-3] */ OMAP4_MUX(SDMMC5_DAT0, OMAP_MUX_MODE0 | OMAP_PIN_INPUT_PULLUP), OMAP4_MUX(SDMMC5_DAT1, OMAP_MUX_MODE0 | OMAP_PIN_INPUT_PULLUP), OMAP4_MUX(SDMMC5_DAT2, OMAP_MUX_MODE0 | OMAP_PIN_INPUT_PULLUP), OMAP4_MUX(SDMMC5_DAT3, OMAP_MUX_MODE0 | OMAP_PIN_INPUT_PULLUP), /* gpio 0 - TFP410 PD */ OMAP4_MUX(KPD_COL1, OMAP_PIN_OUTPUT | OMAP_MUX_MODE3), /* dispc2_data23 */ OMAP4_MUX(USBB2_ULPITLL_STP, OMAP_PIN_OUTPUT | OMAP_MUX_MODE5),
* Drive MSECURE high for TWL6030/6032 write access. */ omap_mux_init_signal("fref_clk0_out.gpio_wk6", OMAP_PIN_OUTPUT); gpio_request(6, "msecure"); gpio_direction_output(6, 1); return 0; } static bool enable_suspend_off = true; module_param(enable_suspend_off, bool, S_IRUSR | S_IRGRP | S_IROTH); #ifdef CONFIG_OMAP_MUX static struct omap_board_mux board_mux[] __initdata = { OMAP4_MUX(USBB2_ULPITLL_CLK, OMAP_MUX_MODE3 | OMAP_PIN_OUTPUT | OMAP_PULL_ENA), /* IO optimization pdpu and offmode settings to reduce leakage */ OMAP4_MUX(GPMC_A17, OMAP_MUX_MODE3 | OMAP_INPUT_EN), OMAP4_MUX(GPMC_NCS4, OMAP_MUX_MODE3 | OMAP_INPUT_EN), OMAP4_MUX(GPMC_NCS5, OMAP_MUX_MODE3 | OMAP_PULL_ENA | OMAP_PULL_UP | OMAP_OFF_EN | OMAP_OFF_PULL_EN), OMAP4_MUX(GPMC_NCS7, OMAP_MUX_MODE3 | OMAP_INPUT_EN), OMAP4_MUX(GPMC_NBE1, OMAP_MUX_MODE3 | OMAP_PULL_ENA | OMAP_PULL_UP | OMAP_OFF_EN | OMAP_OFF_PULL_EN), OMAP4_MUX(GPMC_WAIT0, OMAP_MUX_MODE3 | OMAP_INPUT_EN), OMAP4_MUX(GPMC_NOE, OMAP_MUX_MODE1 | OMAP_INPUT_EN), OMAP4_MUX(MCSPI1_CS1, OMAP_MUX_MODE3 | OMAP_PULL_ENA | OMAP_PULL_UP | OMAP_OFF_EN | OMAP_OFF_PULL_EN), OMAP4_MUX(MCSPI1_CS2, OMAP_MUX_MODE3 | OMAP_PULL_ENA | OMAP_PULL_UP | OMAP_OFF_EN | OMAP_OFF_PULL_EN),
ARRAY_SIZE(panda_i2c_1_boardinfo)); omap_register_i2c_bus(2, 400, NULL, 0); /* * Bus 3 is attached to the DVI port where devices like the pico DLP * projector don't work reliably with 400kHz */ omap_register_i2c_bus(3, 100, panda_i2c_eeprom, ARRAY_SIZE(panda_i2c_eeprom)); omap_register_i2c_bus(4, 400, NULL, 0); return 0; } #ifdef CONFIG_OMAP_MUX static struct omap_board_mux board_mux[] __initdata = { /* WLAN IRQ - GPIO 53 */ OMAP4_MUX(GPMC_NCS3, OMAP_MUX_MODE3 | OMAP_PIN_INPUT), /* WLAN POWER ENABLE - GPIO 43 */ OMAP4_MUX(GPMC_A19, OMAP_MUX_MODE3 | OMAP_PIN_OUTPUT), /* WLAN SDIO: MMC5 CMD */ OMAP4_MUX(SDMMC5_CMD, OMAP_MUX_MODE0 | OMAP_PIN_INPUT_PULLUP), /* WLAN SDIO: MMC5 CLK */ OMAP4_MUX(SDMMC5_CLK, OMAP_MUX_MODE0 | OMAP_PIN_INPUT_PULLUP), /* WLAN SDIO: MMC5 DAT[0-3] */ OMAP4_MUX(SDMMC5_DAT0, OMAP_MUX_MODE0 | OMAP_PIN_INPUT_PULLUP), OMAP4_MUX(SDMMC5_DAT1, OMAP_MUX_MODE0 | OMAP_PIN_INPUT_PULLUP), OMAP4_MUX(SDMMC5_DAT2, OMAP_MUX_MODE0 | OMAP_PIN_INPUT_PULLUP), OMAP4_MUX(SDMMC5_DAT3, OMAP_MUX_MODE0 | OMAP_PIN_INPUT_PULLUP), /* gpio 0 - TFP410 PD */ OMAP4_MUX(KPD_COL1, OMAP_PIN_OUTPUT | OMAP_MUX_MODE3), /* dispc2_data23 */ OMAP4_MUX(USBB2_ULPITLL_STP, OMAP_PIN_OUTPUT | OMAP_MUX_MODE5),
} static void __init omap_sfh7741prox_init(void) { int error; error = gpio_request_one(OMAP4_SFH7741_ENABLE_GPIO, GPIOF_OUT_INIT_LOW, "sfh7741"); if (error < 0) pr_err("%s:failed to request GPIO %d, error %d\n", __func__, OMAP4_SFH7741_ENABLE_GPIO, error); } #ifdef CONFIG_OMAP_MUX static struct omap_board_mux board_mux[] __initdata = { OMAP4_MUX(USBB2_ULPITLL_CLK, OMAP_MUX_MODE4 | OMAP_PIN_OUTPUT), /* NIRQ2 for twl6040 */ OMAP4_MUX(SYS_NIRQ2, OMAP_MUX_MODE0 | OMAP_PIN_INPUT_PULLUP | OMAP_PIN_OFF_WAKEUPENABLE), /* GPIO_127 for twl6040 */ OMAP4_MUX(HDQ_SIO, OMAP_MUX_MODE3 | OMAP_PIN_OUTPUT), /* McPDM */ OMAP4_MUX(ABE_PDM_UL_DATA, OMAP_MUX_MODE0 | OMAP_PIN_INPUT_PULLDOWN), OMAP4_MUX(ABE_PDM_DL_DATA, OMAP_MUX_MODE0 | OMAP_PIN_INPUT_PULLDOWN), OMAP4_MUX(ABE_PDM_FRAME, OMAP_MUX_MODE0 | OMAP_PIN_INPUT_PULLUP), OMAP4_MUX(ABE_PDM_LB_CLK, OMAP_MUX_MODE0 | OMAP_PIN_INPUT_PULLDOWN), OMAP4_MUX(ABE_CLKS, OMAP_MUX_MODE0 | OMAP_PIN_INPUT_PULLDOWN), /* DMIC */ OMAP4_MUX(ABE_DMIC_CLK1, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT), OMAP4_MUX(ABE_DMIC_DIN1, OMAP_MUX_MODE0 | OMAP_PIN_INPUT), OMAP4_MUX(ABE_DMIC_DIN2, OMAP_MUX_MODE0 | OMAP_PIN_INPUT),
static struct omap_dss_board_info sdp4430_dss_data = { .num_devices = ARRAY_SIZE(sdp4430_dss_devices), .devices = sdp4430_dss_devices, .default_device = &sdp4430_hdmi_device, }; void omap_4430sdp_display_init(void) { sdp4430_hdmi_mux_init(); omap_display_init(&sdp4430_dss_data); } #ifdef CONFIG_OMAP_MUX static struct omap_board_mux board_mux[] __initdata = { OMAP4_MUX(USBB2_ULPITLL_CLK, OMAP_MUX_MODE4 | OMAP_PIN_OUTPUT), { .reg_offset = OMAP_MUX_TERMINATOR }, }; static struct omap_device_pad serial2_pads[] __initdata = { OMAP_MUX_STATIC("uart2_cts.uart2_cts", OMAP_PIN_INPUT_PULLUP | OMAP_MUX_MODE0), OMAP_MUX_STATIC("uart2_rts.uart2_rts", OMAP_PIN_OUTPUT | OMAP_MUX_MODE0), OMAP_MUX_STATIC("uart2_rx.uart2_rx", OMAP_PIN_INPUT_PULLUP | OMAP_MUX_MODE0), OMAP_MUX_STATIC("uart2_tx.uart2_tx", OMAP_PIN_OUTPUT | OMAP_MUX_MODE0), }; static struct omap_device_pad serial3_pads[] __initdata = {
omap_register_i2c_bus(4, 400, NULL, 0); /* * Drive MSECURE high for TWL6030 write access. */ omap_mux_init_signal("fref_clk0_out.gpio_wk6", OMAP_PIN_OUTPUT); gpio_request(6, "msecure"); gpio_direction_output(6, 1); return 0; } #ifdef CONFIG_OMAP_MUX static struct omap_board_mux board_mux[] __initdata = { /* camera gpios */ OMAP4_MUX(MCSPI1_SOMI, OMAP_MUX_MODE3 | OMAP_PIN_INPUT_PULLDOWN), /* gpio_135 */ OMAP4_MUX(KPD_COL0, OMAP_MUX_MODE3 | OMAP_PIN_INPUT_PULLDOWN), /* gpio_173 */ OMAP4_MUX(GPMC_A19, OMAP_MUX_MODE3 | OMAP_PIN_INPUT_PULLDOWN), /* gpio_43 */ /* hwrev */ OMAP4_MUX(CSI21_DY4, OMAP_MUX_MODE3 | OMAP_PIN_INPUT), OMAP4_MUX(CSI21_DX4, OMAP_MUX_MODE3 | OMAP_PIN_INPUT), OMAP4_MUX(CSI21_DY3, OMAP_MUX_MODE3 | OMAP_PIN_INPUT), OMAP4_MUX(CSI21_DX3, OMAP_MUX_MODE3 | OMAP_PIN_INPUT), OMAP4_MUX(USBB2_HSIC_STROBE, OMAP_MUX_MODE3 | OMAP_PIN_INPUT), /* fRom */ OMAP4_MUX(USBB2_ULPITLL_DAT4, OMAP_MUX_MODE4 | OMAP_PIN_INPUT), /* mcpsi3_somi */ OMAP4_MUX(USBB2_ULPITLL_DAT5, OMAP_MUX_MODE4 | OMAP_PIN_INPUT_PULLDOWN), /* mcpsi3_cs0 */
* Drive MSECURE high for TWL6030 write access. */ omap_mux_init_signal("fref_clk0_out.gpio_wk6", OMAP_PIN_OUTPUT); gpio_request(6, "msecure"); gpio_direction_output(6, 1); return 0; } static bool enable_suspend_off = true; module_param(enable_suspend_off, bool, S_IRUSR | S_IRGRP | S_IROTH); #ifdef CONFIG_OMAP_MUX static struct omap_board_mux board_mux[] __initdata = { OMAP4_MUX(USBB2_ULPITLL_CLK, OMAP_MUX_MODE3 | OMAP_PIN_OUTPUT | OMAP_PULL_ENA), { .reg_offset = OMAP_MUX_TERMINATOR }, /* IO optimization pdpu and offmode settings to reduce leakage */ OMAP4_MUX(GPMC_A17, OMAP_MUX_MODE3 | OMAP_INPUT_EN), OMAP4_MUX(GPMC_NBE1, OMAP_MUX_MODE3 | OMAP_PIN_OUTPUT), OMAP4_MUX(GPMC_NCS4, OMAP_MUX_MODE3 | OMAP_INPUT_EN), OMAP4_MUX(GPMC_NCS5, OMAP_MUX_MODE3 | OMAP_PULL_ENA | OMAP_PULL_UP | OMAP_OFF_EN | OMAP_OFF_PULL_EN), OMAP4_MUX(GPMC_NCS7, OMAP_MUX_MODE3 | OMAP_INPUT_EN), OMAP4_MUX(GPMC_NBE1, OMAP_MUX_MODE3 | OMAP_PULL_ENA | OMAP_PULL_UP | OMAP_OFF_EN | OMAP_OFF_PULL_EN), OMAP4_MUX(GPMC_WAIT0, OMAP_MUX_MODE3 | OMAP_INPUT_EN), OMAP4_MUX(GPMC_NOE, OMAP_MUX_MODE1 | OMAP_INPUT_EN), OMAP4_MUX(MCSPI1_CS1, OMAP_MUX_MODE3 | OMAP_PULL_ENA | OMAP_PULL_UP | OMAP_OFF_EN | OMAP_OFF_PULL_EN),
/* * This will allow unused regulator to be shutdown. This flag * should be set in the board file. Before regulators are registered. */ regulator_has_full_constraints(); return 0; } static bool enable_suspend_off = true; module_param(enable_suspend_off, bool, S_IRUSR | S_IRGRP | S_IROTH); #ifdef CONFIG_OMAP_MUX static struct omap_board_mux acclaim_board_mux[] __initdata = { OMAP4_MUX(USBB1_ULPITLL_CLK, OMAP_MUX_MODE3 | OMAP_PIN_OUTPUT), { .reg_offset = OMAP_MUX_TERMINATOR }, }; #else #define board_mux NULL #endif /* * LPDDR2 Configeration Data: * The memory organisation is as below : * EMIF1 - CS0 - 2 Gb * CS1 - 2 Gb * EMIF2 - CS0 - 2 Gb * CS1 - 2 Gb * --------------------
* it under the terms of the GNU General Public License version 2 as * published by the Free Software Foundation. * */ #include <linux/gpio.h> #include <mach-omap2/control.h> #include <lge/common.h> #include <lge/board.h> #include <lge/board_rev.h> #ifdef CONFIG_OMAP_MUX static struct omap_board_mux board_mux[] __initdata = { #if 0 /* wifi pads setting */ OMAP4_MUX(SDMMC5_CMD, OMAP_MUX_MODE0 | OMAP_PIN_INPUT_PULLUP), OMAP4_MUX(SDMMC5_CLK, OMAP_MUX_MODE0 | OMAP_PIN_INPUT_PULLUP), OMAP4_MUX(SDMMC5_DAT0, OMAP_MUX_MODE0 | OMAP_PIN_INPUT_PULLUP), OMAP4_MUX(SDMMC5_DAT1, OMAP_MUX_MODE0 | OMAP_PIN_INPUT_PULLUP), OMAP4_MUX(SDMMC5_DAT2, OMAP_MUX_MODE0 | OMAP_PIN_INPUT_PULLUP), OMAP4_MUX(SDMMC5_DAT3, OMAP_MUX_MODE0 | OMAP_PIN_INPUT_PULLUP), #endif #if 0 //hongkeon.kim block disable pull up /* */ OMAP4_MUX(I2C1_SCL, OMAP_PIN_INPUT | OMAP_MUX_MODE0), OMAP4_MUX(I2C1_SDA, OMAP_PIN_INPUT | OMAP_MUX_MODE0), OMAP4_MUX(I2C2_SCL, OMAP_PIN_INPUT | OMAP_MUX_MODE0), OMAP4_MUX(I2C2_SDA, OMAP_PIN_INPUT | OMAP_MUX_MODE0), OMAP4_MUX(I2C3_SCL, OMAP_PIN_INPUT | OMAP_MUX_MODE0),
gpio_request(30, "msecure"); gpio_direction_output(30, 1); return 0; } static bool enable_suspend_off = true; module_param(enable_suspend_off, bool, S_IRUSR | S_IRGRP | S_IROTH); #ifdef CONFIG_OMAP_MUX static struct omap_board_mux board_mux[] __initdata = { //raviks added as per bowser3 #if 0 /* WLAN IRQ - GPIO 53 */ OMAP4_MUX(GPMC_NCS3, OMAP_MUX_MODE3 | OMAP_PIN_OUTPUT), /* WLAN_EN - GPIO 43 */ OMAP4_MUX(GPMC_A19, OMAP_MUX_MODE3 | OMAP_PIN_OUTPUT), /* WLAN SDIO: MMC5 CMD */ OMAP4_MUX(SDMMC5_CMD, OMAP_MUX_MODE0 | OMAP_PIN_INPUT_PULLUP), /* WLAN SDIO: MMC5 CLK */ OMAP4_MUX(SDMMC5_CLK, OMAP_MUX_MODE0 | OMAP_PIN_INPUT_PULLUP), /* WLAN SDIO: MMC5 DAT[0-3] */ OMAP4_MUX(SDMMC5_DAT0, OMAP_MUX_MODE0 | OMAP_PIN_INPUT_PULLUP), OMAP4_MUX(SDMMC5_DAT1, OMAP_MUX_MODE0 | OMAP_PIN_INPUT_PULLUP), OMAP4_MUX(SDMMC5_DAT2, OMAP_MUX_MODE0 | OMAP_PIN_INPUT_PULLUP), OMAP4_MUX(SDMMC5_DAT3, OMAP_MUX_MODE0 | OMAP_PIN_INPUT_PULLUP), #endif #ifdef CONFIG_INPUT_PIC12LF1822_PROXIMITY /* PROXIMITY IRQ - GPIO 85 */
* Enable IO daisy for sys_nirq1/2, to be able to * wakeup from interrupts from PMIC/Audio IC. * Needed only in Device OFF mode. */ omap_mux_init_signal("sys_nirq1", OMAP_PIN_INPUT_PULLUP | OMAP_WAKEUP_EN); omap_mux_init_signal("sys_nirq2", OMAP_PIN_INPUT_PULLUP); } static bool enable_suspend_off = true; module_param(enable_suspend_off, bool, S_IRUSR | S_IRGRP | S_IROTH); #ifdef CONFIG_OMAP_MUX static struct omap_board_mux board_mux[] __initdata = { OMAP4_MUX(UART3_RX_IRRX, OMAP_PIN_INPUT_PULLUP | OMAP_MUX_MODE7), OMAP4_MUX(UART3_TX_IRTX, OMAP_PIN_INPUT_PULLDOWN | OMAP_MUX_MODE7), { .reg_offset = OMAP_MUX_TERMINATOR }, }; #else #define board_mux NULL #endif static struct omap_device_pad tablet_uart1_pads[] __initdata = { { /* UART1 TX on uart3_cts_rctx */ .name = "uart3_cts_rctx.uart3_cts_rctx", .enable = OMAP_PIN_OUTPUT | OMAP_MUX_MODE1, }, { /* UART1 RX on mcspi1_cs1 */ .name = "mcspi1_cs1.mcspi1_cs1", .flags = OMAP_DEVICE_PAD_REMUX | OMAP_DEVICE_PAD_WAKEUP,
.flags = GPIOF_OUT_INIT_LOW, .label = "PDA_ACTIVE", }, [GPIO_PHONE_ACTIVE] = { .flags = GPIOF_IN, .label = "PHONE_ACTIVE", }, [GPIO_CP_DUMP_INT] = { .flags = GPIOF_IN, .label = "CP_DUMP_INT", }, }; static struct omap_board_mux mux_none_modem[] __initdata = { /* [-N-C-] usbb1_ulpitll_stp - gpio_85 - MIPI_HSI_TX_DATA */ OMAP4_MUX(USBB1_ULPITLL_STP, OMAP_MUX_MODE7 | OMAP_PIN_INPUT_PULLDOWN), /* [-N-C-] usbb1_ulpitll_dir - gpio_86 - MIPI_HSI_TX_FLG */ OMAP4_MUX(USBB1_ULPITLL_DIR, OMAP_MUX_MODE7 | OMAP_PIN_INPUT_PULLDOWN), /* [-N-C-] usbb1_ulpitll_nxt - gpio_87 - MIPI_HSI_TX_RDY */ OMAP4_MUX(USBB1_ULPITLL_NXT, OMAP_MUX_MODE7 | OMAP_PIN_INPUT_PULLDOWN), /* [-N-C-] usbb1_ulpitll_dat0 - gpio_88 - MIPI_HSI_RX_WAKE */ OMAP4_MUX(USBB1_ULPITLL_DAT0, OMAP_MUX_MODE7 | OMAP_PIN_INPUT_PULLDOWN), /* [-N-C-] usbb1_ulpitll_dat1 - gpio_89 - MIPI_HSI_RX_DATA */ OMAP4_MUX(USBB1_ULPITLL_DAT1, OMAP_MUX_MODE7 | OMAP_PIN_INPUT_PULLDOWN), /* [-N-C-] usbb1_ulpitll_dat2 - gpio_90 - MIPI_HSI_RX_FLG */ OMAP4_MUX(USBB1_ULPITLL_DAT2, OMAP_MUX_MODE7 | OMAP_PIN_INPUT_PULLDOWN),
* Author: Seungho Park <*****@*****.**> * * 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 <linux/gpio.h> #include <mach-omap2/control.h> #include <lge/common.h> #include <lge/board.h> #ifdef CONFIG_OMAP_MUX static struct omap_board_mux board_mux[] __initdata = { OMAP4_MUX(KPD_COL3, OMAP_MUX_MODE1 | OMAP_WAKEUP_EN), OMAP4_MUX(KPD_COL4, OMAP_MUX_MODE1 | OMAP_WAKEUP_EN), OMAP4_MUX(KPD_ROW3, OMAP_MUX_MODE1 | OMAP_PULL_ENA | OMAP_PULL_UP | OMAP_WAKEUP_EN | OMAP_INPUT_EN), OMAP4_MUX(KPD_ROW4, OMAP_MUX_MODE1 | OMAP_PULL_ENA | OMAP_PULL_UP | OMAP_WAKEUP_EN | OMAP_INPUT_EN), #if 0 /* wifi pads setting */ OMAP4_MUX(SDMMC5_CMD, OMAP_MUX_MODE0 | OMAP_PIN_INPUT_PULLUP), OMAP4_MUX(SDMMC5_CLK, OMAP_MUX_MODE0 | OMAP_PIN_INPUT_PULLUP), OMAP4_MUX(SDMMC5_DAT0, OMAP_MUX_MODE0 | OMAP_PIN_INPUT_PULLUP), OMAP4_MUX(SDMMC5_DAT1, OMAP_MUX_MODE0 | OMAP_PIN_INPUT_PULLUP), OMAP4_MUX(SDMMC5_DAT2, OMAP_MUX_MODE0 | OMAP_PIN_INPUT_PULLUP), OMAP4_MUX(SDMMC5_DAT3, OMAP_MUX_MODE0 | OMAP_PIN_INPUT_PULLUP), #endif
.modem_suspend = sprd_suspend, .modem_resume = sprd_resume, } }; struct platform_device modemctl = { .name = "modemctl", .id = -1, .dev = { .platform_data = &mdmctl_data, }, }; static struct omap_board_mux mux_none_modem[] __initdata = { /* [-N-C-] mcspi1_clk - gpio_134 - AP_SPI_CLK */ OMAP4_MUX(MCSPI1_CLK, OMAP_MUX_MODE7 | OMAP_PIN_INPUT_PULLDOWN), /* [-N-C-] mcspi1_somi - gpio_135 - AP_SPI_SOMI */ OMAP4_MUX(MCSPI1_SOMI, OMAP_MUX_MODE7 | OMAP_PIN_INPUT_PULLDOWN), /* [-N-C-] mcspi1_simo - gpio_136 - AP_SPI_SIMO */ OMAP4_MUX(MCSPI1_SIMO, OMAP_MUX_MODE7 | OMAP_PIN_INPUT_PULLDOWN), /* [-N-C-] usbb1_ulpitll_clk - gpio_84 - AP_CP_MRDY */ OMAP4_MUX(USBB1_ULPITLL_CLK, OMAP_MUX_MODE7 | OMAP_PIN_INPUT_PULLDOWN), /* [-N-C-] fref_clk4_req - gpio_wk7 - AP_CP_SRDY */ OMAP4_MUX(FREF_CLK4_REQ, OMAP_MUX_MODE7 | OMAP_PIN_INPUT_PULLDOWN), /* [-N-C-] usbb1_ulpitll_dat2 - gpio_90 - AP_CP_SUB_MRDY */ OMAP4_MUX(USBB1_ULPITLL_DAT2, OMAP_MUX_MODE7 | OMAP_PIN_INPUT_PULLDOWN),
static void __init omap_4430_acclaim_init_irq(void) { omap2_init_common_hw(NULL, NULL); #ifdef CONFIG_OMAP_32K_TIMER omap2_gp_clockevent_set_gptimer(1); #endif gic_init_irq(); sr_class3_init(); } #ifdef CONFIG_OMAP_MUX static struct omap_board_mux board_mux[] __initdata = { #ifndef CONFIG_TIWLAN_SDIO /* WLAN IRQ - GPIO 53 */ OMAP4_MUX(GPMC_NCS3, OMAP_MUX_MODE3 | OMAP_PIN_INPUT), /* WLAN_EN - GPIO 54 */ OMAP4_MUX(GPMC_NWP, OMAP_MUX_MODE3 | OMAP_PIN_OUTPUT), /* WLAN SDIO: MMC5 CMD */ OMAP4_MUX(SDMMC5_CMD, OMAP_MUX_MODE0 | OMAP_PIN_INPUT_PULLUP), /* WLAN SDIO: MMC5 CLK */ OMAP4_MUX(SDMMC5_CLK, OMAP_MUX_MODE0 | OMAP_PIN_INPUT_PULLUP), /* WLAN SDIO: MMC5 DAT[0-3] */ OMAP4_MUX(SDMMC5_DAT0, OMAP_MUX_MODE0 | OMAP_PIN_INPUT_PULLUP), OMAP4_MUX(SDMMC5_DAT1, OMAP_MUX_MODE0 | OMAP_PIN_INPUT_PULLUP), OMAP4_MUX(SDMMC5_DAT2, OMAP_MUX_MODE0 | OMAP_PIN_INPUT_PULLUP), OMAP4_MUX(SDMMC5_DAT3, OMAP_MUX_MODE0 | OMAP_PIN_INPUT_PULLUP), #endif { .reg_offset = OMAP_MUX_TERMINATOR }, }; #else