/* * Copyright (C) 2011-2012 ST-Ericsson * * Author: Mathieu Poirier * * 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 "pins-db8500.h" static pin_cfg_t snowball_pins[] = { /* I2C */ GPIO147_I2C0_SCL, GPIO148_I2C0_SDA, GPIO16_I2C1_SCL, GPIO17_I2C1_SDA, GPIO10_I2C2_SDA, GPIO11_I2C2_SCL, GPIO229_I2C3_SDA, GPIO230_I2C3_SCL, /* SSP0, to AB8500 */ GPIO143_SSP0_CLK, GPIO144_SSP0_FRM, GPIO145_SSP0_RXD | PIN_PULL_DOWN, GPIO146_SSP0_TXD, /* MSP0: BT */ GPIO12_MSP0_TXD, GPIO13_MSP0_TFS, GPIO14_MSP0_TCK, GPIO15_MSP0_RXD, /* MSP2: HDMI */ GPIO193_MSP2_TXD, GPIO194_MSP2_TCK, GPIO195_MSP2_TFS, GPIO196_MSP2_RXD | PIN_OUTPUT_LOW, /* MMC0: MicroSD card */ GPIO18_MC0_CMDDIR | PIN_OUTPUT_HIGH, GPIO19_MC0_DAT0DIR | PIN_OUTPUT_HIGH, GPIO20_MC0_DAT2DIR | PIN_OUTPUT_HIGH, GPIO21_MC0_DAT31DIR | PIN_OUTPUT_HIGH, GPIO22_MC0_FBCLK | PIN_INPUT_NOPULL, GPIO23_MC0_CLK | PIN_OUTPUT_LOW, GPIO24_MC0_CMD | PIN_INPUT_PULLUP, GPIO25_MC0_DAT0 | PIN_INPUT_PULLUP, GPIO26_MC0_DAT1 | PIN_INPUT_PULLUP, GPIO27_MC0_DAT2 | PIN_INPUT_PULLUP, GPIO28_MC0_DAT3 | PIN_INPUT_PULLUP, /* SDI1: WLAN */ GPIO208_MC1_CLK | PIN_OUTPUT_LOW, GPIO209_MC1_FBCLK | PIN_INPUT_NOPULL, GPIO210_MC1_CMD | PIN_INPUT_PULLUP, GPIO211_MC1_DAT0 | PIN_INPUT_PULLUP, GPIO212_MC1_DAT1 | PIN_INPUT_PULLUP, GPIO213_MC1_DAT2 | PIN_INPUT_PULLUP, GPIO214_MC1_DAT3 | PIN_INPUT_PULLUP, /* MMC2: LAN */ GPIO86_SM_ADQ0, GPIO87_SM_ADQ1, GPIO88_SM_ADQ2, GPIO89_SM_ADQ3, GPIO90_SM_ADQ4, GPIO91_SM_ADQ5, GPIO92_SM_ADQ6, GPIO93_SM_ADQ7, GPIO94_SM_ADVn, GPIO95_SM_CS0n, GPIO96_SM_OEn, GPIO97_SM_WEn, GPIO128_SM_CKO, GPIO130_SM_FBCLK, GPIO131_SM_ADQ8, GPIO132_SM_ADQ9, GPIO133_SM_ADQ10, GPIO134_SM_ADQ11, GPIO135_SM_ADQ12, GPIO136_SM_ADQ13, GPIO137_SM_ADQ14, GPIO138_SM_ADQ15, /* RSTn_LAN */ GPIO141_GPIO | PIN_OUTPUT_HIGH, /* MMC4: eMMC */ GPIO197_MC4_DAT3 | PIN_INPUT_PULLUP, GPIO198_MC4_DAT2 | PIN_INPUT_PULLUP, GPIO199_MC4_DAT1 | PIN_INPUT_PULLUP, GPIO200_MC4_DAT0 | PIN_INPUT_PULLUP, GPIO201_MC4_CMD | PIN_INPUT_PULLUP, GPIO202_MC4_FBCLK | PIN_INPUT_NOPULL, GPIO203_MC4_CLK | PIN_OUTPUT_LOW, GPIO204_MC4_DAT7 | PIN_INPUT_PULLUP, GPIO205_MC4_DAT6 | PIN_INPUT_PULLUP, GPIO206_MC4_DAT5 | PIN_INPUT_PULLUP, GPIO207_MC4_DAT4 | PIN_INPUT_PULLUP, GPIO141_GPIO | PIN_OUTPUT_HIGH, /* RSTn_LAN */ /* UART: WLAN */ GPIO0_U0_CTSn | PIN_INPUT_PULLUP, GPIO1_U0_RTSn | PIN_OUTPUT_HIGH, GPIO2_U0_RXD | PIN_INPUT_PULLUP, GPIO3_U0_TXD | PIN_OUTPUT_HIGH, /* UART: DBG port */ GPIO29_U2_RXD | PIN_INPUT_PULLUP, GPIO30_U2_TXD | PIN_OUTPUT_HIGH, GPIO31_U2_CTSn | PIN_INPUT_PULLUP, GPIO32_U2_RTSn | PIN_OUTPUT_HIGH, }; /* * This function is called to force gpio power save * settings during suspend. * This is a temporary solution until all drivers are * controlling their pin settings when in inactive mode. * * Made empty for Snowball */ void mop500_pins_suspend_force(void) { return; } /* * This function is called to force gpio power save * mux settings during suspend. * This is a temporary solution until all drivers are * controlling their pin settings when in inactive mode. */ void mop500_pins_suspend_force_mux(void) { return; } void __init snowball_pins_init(void) { nmk_config_pins(snowball_pins, ARRAY_SIZE(snowball_pins)); }