123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507 |
- /*
- * Copyright (C) ST-Ericsson SA 2010
- *
- * License terms: GNU General Public License (GPL) version 2
- */
- #include <linux/kernel.h>
- #include <linux/init.h>
- #include <linux/bug.h>
- #include <linux/string.h>
- #include <asm/mach-types.h>
- #include <plat/pincfg.h>
- #include <plat/gpio-nomadik.h>
- #include <mach/hardware.h>
- #include "pins-db8500.h"
- #include "pins.h"
- #include "board-mop500.h"
- enum custom_pin_cfg_t {
- PINS_FOR_DEFAULT,
- PINS_FOR_U9500,
- };
- static enum custom_pin_cfg_t pinsfor;
- static pin_cfg_t mop500_pins_common[] = {
- /* uMSP0 */
- GPIO12_MSP0_TXD,
- GPIO13_MSP0_TFS,
- GPIO14_MSP0_TCK,
- GPIO15_MSP0_RXD,
- /* MSP2: HDMI */
- GPIO193_MSP2_TXD | PIN_INPUT_PULLDOWN,
- GPIO194_MSP2_TCK | PIN_INPUT_PULLDOWN,
- GPIO195_MSP2_TFS | PIN_INPUT_PULLDOWN,
- GPIO196_MSP2_RXD | PIN_OUTPUT_LOW,
- /* LCD TE0 */
- GPIO68_LCD_VSI0 | PIN_INPUT_PULLUP,
- /* Touch screen INTERFACE */
- GPIO84_GPIO | PIN_INPUT_PULLUP, /* TOUCH_INT1 */
- /* STMPE1601/tc35893 keypad IRQ */
- GPIO218_GPIO | PIN_INPUT_PULLUP,
- /* UART */
- /* uart-0 pins gpio configuration should be
- * kept intact to prevent glitch in tx line
- * when tty dev is opened. Later these pins
- * are configured to uart mop500_pins_uart0
- *
- * It will be replaced with uart configuration
- * once the issue is solved.
- */
- GPIO0_GPIO | PIN_INPUT_PULLUP,
- GPIO1_GPIO | PIN_OUTPUT_HIGH,
- GPIO2_GPIO | PIN_INPUT_PULLUP,
- GPIO3_GPIO | PIN_OUTPUT_HIGH,
- GPIO29_U2_RXD | PIN_INPUT_PULLUP,
- GPIO30_U2_TXD | PIN_OUTPUT_HIGH,
- GPIO31_U2_CTSn | PIN_INPUT_PULLUP,
- GPIO32_U2_RTSn | PIN_OUTPUT_HIGH,
- };
- static pin_cfg_t mop500_pins_default[] = {
- /* SSP0 */
- GPIO143_SSP0_CLK,
- GPIO144_SSP0_FRM,
- GPIO145_SSP0_RXD | PIN_PULL_DOWN,
- GPIO146_SSP0_TXD,
- /* XENON Flashgun INTERFACE */
- GPIO6_IP_GPIO0 | PIN_INPUT_PULLUP,/* XENON_FLASH_ID */
- GPIO7_IP_GPIO1 | PIN_INPUT_PULLUP,/* XENON_READY */
- GPIO217_GPIO | PIN_INPUT_PULLUP, /* TC35892 IRQ */
- /* sdi0 (removable MMC/SD/SDIO cards) not handled by pm_runtime */
- GPIO21_MC0_DAT31DIR | PIN_OUTPUT_HIGH,
- /* UART */
- GPIO4_U1_RXD | PIN_INPUT_PULLUP,
- GPIO5_U1_TXD | PIN_OUTPUT_HIGH,
- GPIO6_U1_CTSn | PIN_INPUT_PULLUP,
- GPIO7_U1_RTSn | PIN_OUTPUT_HIGH,
- };
- static pin_cfg_t hrefv60_pins[] = {
- /* WLAN */
- GPIO85_GPIO | PIN_OUTPUT_LOW,/* WLAN_ENA */
- /* XENON Flashgun INTERFACE */
- GPIO6_IP_GPIO0 | PIN_INPUT_PULLUP,/* XENON_FLASH_ID */
- GPIO7_IP_GPIO1 | PIN_INPUT_PULLUP,/* XENON_READY */
- /* Assistant LED INTERFACE */
- GPIO21_GPIO | PIN_OUTPUT_LOW, /* XENON_EN1 */
- GPIO64_IP_GPIO4 | PIN_OUTPUT_LOW, /* XENON_EN2 */
- /* Magnetometer */
- GPIO31_GPIO | PIN_INPUT_PULLUP, /* magnetometer_INT */
- GPIO32_GPIO | PIN_INPUT_PULLDOWN, /* Magnetometer DRDY */
- /* Display Interface */
- GPIO65_GPIO | PIN_OUTPUT_HIGH, /* DISP1 NO RST */
- GPIO66_GPIO | PIN_OUTPUT_LOW, /* DISP2 RST */
- /* Touch screen INTERFACE */
- GPIO143_GPIO | PIN_OUTPUT_LOW,/*TOUCH_RST1 */
- /* Touch screen INTERFACE 2 */
- GPIO67_GPIO | PIN_INPUT_PULLUP, /* TOUCH_INT2 */
- GPIO146_GPIO | PIN_OUTPUT_LOW,/*TOUCH_RST2 */
- /* ETM_PTM_TRACE INTERFACE */
- GPIO70_GPIO | PIN_OUTPUT_LOW,/* ETM_PTM_DATA23 */
- GPIO71_GPIO | PIN_OUTPUT_LOW,/* ETM_PTM_DATA22 */
- GPIO72_GPIO | PIN_OUTPUT_LOW,/* ETM_PTM_DATA21 */
- GPIO73_GPIO | PIN_OUTPUT_LOW,/* ETM_PTM_DATA20 */
- GPIO74_GPIO | PIN_OUTPUT_LOW,/* ETM_PTM_DATA19 */
- /* NAHJ INTERFACE */
- GPIO76_GPIO | PIN_OUTPUT_LOW,/* NAHJ_CTRL */
- GPIO216_GPIO | PIN_OUTPUT_HIGH,/* NAHJ_CTRL_INV */
- /* NFC INTERFACE */
- GPIO77_GPIO | PIN_OUTPUT_LOW, /* NFC_ENA */
- GPIO144_GPIO | PIN_INPUT_PULLDOWN, /* NFC_IRQ */
- GPIO142_GPIO | PIN_OUTPUT_LOW, /* NFC_RESET */
- /* Keyboard MATRIX INTERFACE */
- GPIO90_MC5_CMD | PIN_OUTPUT_LOW, /* KP_O_1 */
- GPIO87_MC5_DAT1 | PIN_OUTPUT_LOW, /* KP_O_2 */
- GPIO86_MC5_DAT0 | PIN_OUTPUT_LOW, /* KP_O_3 */
- GPIO96_KP_O6 | PIN_OUTPUT_LOW, /* KP_O_6 */
- GPIO94_KP_O7 | PIN_OUTPUT_LOW, /* KP_O_7 */
- GPIO93_MC5_DAT4 | PIN_INPUT_PULLUP, /* KP_I_0 */
- GPIO89_MC5_DAT3 | PIN_INPUT_PULLUP, /* KP_I_2 */
- GPIO88_MC5_DAT2 | PIN_INPUT_PULLUP, /* KP_I_3 */
- GPIO91_GPIO | PIN_INPUT_PULLUP, /* FORCE_SENSING_INT */
- GPIO92_GPIO | PIN_OUTPUT_LOW, /* FORCE_SENSING_RST */
- GPIO97_GPIO | PIN_OUTPUT_LOW, /* FORCE_SENSING_WU */
- /* DiPro Sensor Interface */
- GPIO139_GPIO | PIN_INPUT_PULLUP, /* DIPRO_INT */
- /* Audio Amplifier Interface */
- GPIO149_GPIO | PIN_OUTPUT_HIGH, /* VAUDIO_HF_EN, enable MAX8968 */
- /* GBF INTERFACE */
- GPIO171_GPIO | PIN_OUTPUT_LOW, /* GBF_ENA_RESET */
- /* MSP : HDTV INTERFACE */
- GPIO192_GPIO | PIN_INPUT_PULLDOWN,
- /* ACCELEROMETER_INTERFACE */
- GPIO82_GPIO | PIN_INPUT_PULLUP, /* ACC_INT1 */
- GPIO83_GPIO | PIN_INPUT_PULLUP, /* ACC_INT2 */
- /* SD card detect */
- GPIO95_GPIO | PIN_INPUT_PULLUP,
- };
- static pin_cfg_t u9500_pins[] = {
- GPIO4_U1_RXD | PIN_INPUT_PULLUP,
- GPIO5_U1_TXD | PIN_OUTPUT_HIGH,
- GPIO144_GPIO | PIN_INPUT_PULLUP,/* WLAN_IRQ */
- /* HSI */
- GPIO219_HSIR_FLA0 | PIN_INPUT_PULLDOWN,
- GPIO220_HSIR_DAT0 | PIN_INPUT_PULLDOWN,
- GPIO221_HSIR_RDY0 | PIN_OUTPUT_LOW,
- GPIO222_HSIT_FLA0 | PIN_OUTPUT_LOW,
- GPIO223_HSIT_DAT0 | PIN_OUTPUT_LOW,
- GPIO224_HSIT_RDY0 | PIN_INPUT_PULLDOWN,
- GPIO225_HSIT_CAWAKE0 | PIN_INPUT_PULLDOWN, /* CA_WAKE0 */
- GPIO226_GPIO | PIN_OUTPUT_HIGH, /* AC_WAKE0 */
- };
- static pin_cfg_t u8500_pins[] = {
- GPIO226_GPIO | PIN_OUTPUT_LOW, /* WLAN_PMU_EN */
- GPIO4_GPIO | PIN_INPUT_PULLUP,/* WLAN_IRQ */
- };
- static pin_cfg_t snowball_pins[] = {
- /* SSP0, to AB8500 */
- GPIO143_SSP0_CLK,
- GPIO144_SSP0_FRM,
- GPIO145_SSP0_RXD | PIN_PULL_DOWN,
- GPIO146_SSP0_TXD,
- /* MMC0: MicroSD card */
- GPIO21_MC0_DAT31DIR | PIN_OUTPUT_HIGH,
- /* 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,
- /* Accelerometer/Magnetometer */
- GPIO163_GPIO | PIN_INPUT_PULLUP, /* ACCEL_IRQ1 */
- GPIO164_GPIO | PIN_INPUT_PULLUP, /* ACCEL_IRQ2 */
- GPIO165_GPIO | PIN_INPUT_PULLUP, /* MAG_DRDY */
- /* WLAN/GBF */
- GPIO161_GPIO | PIN_OUTPUT_LOW, /* WLAN_PMU_EN */
- GPIO171_GPIO | PIN_OUTPUT_HIGH,/* GBF_ENA */
- GPIO215_GPIO | PIN_OUTPUT_LOW,/* WLAN_ENA */
- GPIO216_GPIO | PIN_INPUT_PULLUP,/* WLAN_IRQ */
- };
- /*
- * I2C
- */
- static UX500_PINS(mop500_pins_i2c0,
- GPIO147_I2C0_SCL |
- PIN_SLPM_GPIO | PIN_SLPM_INPUT_NOPULL,
- GPIO148_I2C0_SDA |
- PIN_SLPM_GPIO | PIN_SLPM_INPUT_NOPULL,
- );
- static UX500_PINS(mop500_pins_i2c1,
- GPIO16_I2C1_SCL |
- PIN_SLPM_GPIO | PIN_SLPM_INPUT_NOPULL,
- GPIO17_I2C1_SDA |
- PIN_SLPM_GPIO | PIN_SLPM_INPUT_NOPULL,
- );
- static UX500_PINS(mop500_pins_i2c2,
- GPIO10_I2C2_SDA |
- PIN_SLPM_GPIO | PIN_SLPM_INPUT_NOPULL,
- GPIO11_I2C2_SCL |
- PIN_SLPM_GPIO | PIN_SLPM_INPUT_NOPULL,
- );
- static UX500_PINS(mop500_pins_i2c3,
- GPIO229_I2C3_SDA |
- PIN_SLPM_GPIO | PIN_SLPM_INPUT_NOPULL,
- GPIO230_I2C3_SCL |
- PIN_SLPM_GPIO | PIN_SLPM_INPUT_NOPULL,
- );
- static UX500_PINS(mop500_pins_mcde_tvout,
- GPIO78_LCD_D8,
- GPIO79_LCD_D9,
- GPIO80_LCD_D10,
- GPIO81_LCD_D11,
- GPIO150_LCDA_CLK,
- );
- static UX500_PINS(mop500_pins_mcde_hdmi,
- GPIO69_LCD_VSI1 | PIN_INPUT_PULLUP,
- );
- static UX500_PINS(mop500_pins_ske,
- GPIO153_KP_I7 | PIN_INPUT_PULLDOWN | PIN_SLPM_INPUT_PULLUP,
- GPIO154_KP_I6 | PIN_INPUT_PULLDOWN | PIN_SLPM_INPUT_PULLUP,
- GPIO155_KP_I5 | PIN_INPUT_PULLDOWN | PIN_SLPM_INPUT_PULLUP,
- GPIO156_KP_I4 | PIN_INPUT_PULLDOWN | PIN_SLPM_INPUT_PULLUP,
- GPIO161_KP_I3 | PIN_INPUT_PULLDOWN | PIN_SLPM_INPUT_PULLUP,
- GPIO162_KP_I2 | PIN_INPUT_PULLDOWN | PIN_SLPM_INPUT_PULLUP,
- GPIO163_KP_I1 | PIN_INPUT_PULLDOWN | PIN_SLPM_INPUT_PULLUP,
- GPIO164_KP_I0 | PIN_INPUT_PULLDOWN | PIN_SLPM_INPUT_PULLUP,
- GPIO157_KP_O7 | PIN_INPUT_PULLUP | PIN_SLPM_OUTPUT_LOW,
- GPIO158_KP_O6 | PIN_INPUT_PULLUP | PIN_SLPM_OUTPUT_LOW,
- GPIO159_KP_O5 | PIN_INPUT_PULLUP | PIN_SLPM_OUTPUT_LOW,
- GPIO160_KP_O4 | PIN_INPUT_PULLUP | PIN_SLPM_OUTPUT_LOW,
- GPIO165_KP_O3 | PIN_INPUT_PULLUP | PIN_SLPM_OUTPUT_LOW,
- GPIO166_KP_O2 | PIN_INPUT_PULLUP | PIN_SLPM_OUTPUT_LOW,
- GPIO167_KP_O1 | PIN_INPUT_PULLUP | PIN_SLPM_OUTPUT_LOW,
- GPIO168_KP_O0 | PIN_INPUT_PULLUP | PIN_SLPM_OUTPUT_LOW,
- );
- /* sdi0 (removable MMC/SD/SDIO cards) */
- static UX500_PINS(mop500_pins_sdi0,
- GPIO18_MC0_CMDDIR | PIN_OUTPUT_HIGH,
- GPIO19_MC0_DAT0DIR | PIN_OUTPUT_HIGH,
- GPIO20_MC0_DAT2DIR | 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 CW1200) */
- static UX500_PINS(mop500_pins_sdi1,
- 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,
- );
- /* sdi2 (POP eMMC) */
- static UX500_PINS(mop500_pins_sdi2,
- GPIO128_MC2_CLK | PIN_OUTPUT_LOW,
- GPIO129_MC2_CMD | PIN_INPUT_PULLUP,
- GPIO130_MC2_FBCLK | PIN_INPUT_NOPULL,
- GPIO131_MC2_DAT0 | PIN_INPUT_PULLUP,
- GPIO132_MC2_DAT1 | PIN_INPUT_PULLUP,
- GPIO133_MC2_DAT2 | PIN_INPUT_PULLUP,
- GPIO134_MC2_DAT3 | PIN_INPUT_PULLUP,
- GPIO135_MC2_DAT4 | PIN_INPUT_PULLUP,
- GPIO136_MC2_DAT5 | PIN_INPUT_PULLUP,
- GPIO137_MC2_DAT6 | PIN_INPUT_PULLUP,
- GPIO138_MC2_DAT7 | PIN_INPUT_PULLUP,
- );
- /* sdi4 (PCB eMMC) */
- static UX500_PINS(mop500_pins_sdi4,
- 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,
- );
- /* USB */
- static UX500_PINS(mop500_pins_usb,
- GPIO256_USB_NXT,
- GPIO257_USB_STP | PIN_OUTPUT_HIGH,
- GPIO258_USB_XCLK,
- GPIO259_USB_DIR,
- GPIO260_USB_DAT7,
- GPIO261_USB_DAT6,
- GPIO262_USB_DAT5,
- GPIO263_USB_DAT4,
- GPIO264_USB_DAT3,
- GPIO265_USB_DAT2,
- GPIO266_USB_DAT1,
- GPIO267_USB_DAT0,
- );
- /* SPI2 */
- static UX500_PINS(mop500_pins_spi2,
- GPIO216_GPIO | PIN_OUTPUT_HIGH,
- GPIO218_SPI2_RXD | PIN_INPUT_PULLDOWN,
- GPIO215_SPI2_TXD | PIN_OUTPUT_LOW,
- GPIO217_SPI2_CLK | PIN_OUTPUT_LOW,
- );
- static UX500_PINS(mop500_pins_sensors1p_v60,
- GPIO217_GPIO| PIN_INPUT_PULLUP |
- PIN_SLPM_GPIO | PIN_SLPM_INPUT_NOPULL,
- GPIO145_GPIO | PIN_INPUT_PULLDOWN |
- PIN_SLPM_GPIO | PIN_SLPM_INPUT_NOPULL,
- GPIO139_GPIO | PIN_INPUT_PULLUP |
- PIN_SLPM_GPIO | PIN_SLPM_INPUT_NOPULL,
- );
- static UX500_PINS(mop500_pins_sensors1p,
- PIN_CFG_INPUT(GPIO_PROX_SENSOR, GPIO, NOPULL),
- PIN_CFG_INPUT(GPIO_HAL_SENSOR, GPIO, NOPULL),
- );
- static struct ux500_pin_lookup mop500_runtime_pins[] = {
- PIN_LOOKUP("mcde-tvout", &mop500_pins_mcde_tvout),
- PIN_LOOKUP("av8100-hdmi", &mop500_pins_mcde_hdmi),
- PIN_LOOKUP("nmk-i2c.0", &mop500_pins_i2c0),
- PIN_LOOKUP("nmk-i2c.1", &mop500_pins_i2c1),
- PIN_LOOKUP("nmk-i2c.2", &mop500_pins_i2c2),
- PIN_LOOKUP("nmk-i2c.3", &mop500_pins_i2c3),
- PIN_LOOKUP("sdi0", &mop500_pins_sdi0),
- PIN_LOOKUP("sdi1", &mop500_pins_sdi1),
- PIN_LOOKUP("sdi2", &mop500_pins_sdi2),
- PIN_LOOKUP("sdi4", &mop500_pins_sdi4),
- PIN_LOOKUP("musb-ux500.0", &mop500_pins_usb),
- PIN_LOOKUP("spi2", &mop500_pins_spi2),
- };
- static struct ux500_pin_lookup mop500_runtime_pins_v60[] = {
- PIN_LOOKUP("ske", &mop500_pins_ske),
- PIN_LOOKUP("gpio-keys.0", &mop500_pins_sensors1p_v60),
- };
- static struct ux500_pin_lookup mop500_runtime_pins_pre_v60[] = {
- PIN_LOOKUP("ske", &mop500_pins_ske),
- PIN_LOOKUP("gpio-keys.0", &mop500_pins_sensors1p),
- };
- /*
- * passing "pinsfor=" in kernel cmdline allows for custom
- * configuration of GPIOs on u8500 derived boards.
- */
- static int __init early_pinsfor(char *p)
- {
- pinsfor = PINS_FOR_DEFAULT;
- if (strcmp(p, "u9500-21") == 0)
- pinsfor = PINS_FOR_U9500;
- return 0;
- }
- early_param("pinsfor", early_pinsfor);
- int pins_for_u9500(void)
- {
- if (pinsfor == PINS_FOR_U9500)
- return 1;
- return 0;
- }
- void __init mop500_pins_init(void)
- {
- nmk_config_pins(mop500_pins_common,
- ARRAY_SIZE(mop500_pins_common));
- ux500_pins_add(mop500_runtime_pins, ARRAY_SIZE(mop500_runtime_pins));
- ux500_pins_add(mop500_runtime_pins_pre_v60,
- ARRAY_SIZE(mop500_runtime_pins_pre_v60));
- switch (pinsfor) {
- case PINS_FOR_U9500:
- nmk_config_pins(u9500_pins, ARRAY_SIZE(u9500_pins));
- break;
- case PINS_FOR_DEFAULT:
- nmk_config_pins(u8500_pins, ARRAY_SIZE(u8500_pins));
- default:
- break;
- }
- nmk_config_pins(mop500_pins_default,
- ARRAY_SIZE(mop500_pins_default));
- }
- void __init snowball_pins_init(void)
- {
- nmk_config_pins(mop500_pins_common,
- ARRAY_SIZE(mop500_pins_common));
- ux500_pins_add(mop500_runtime_pins, ARRAY_SIZE(mop500_runtime_pins));
- nmk_config_pins(u8500_pins, ARRAY_SIZE(u8500_pins));
- nmk_config_pins(snowball_pins, ARRAY_SIZE(snowball_pins));
- }
- void __init hrefv60_pins_init(void)
- {
- nmk_config_pins(mop500_pins_common,
- ARRAY_SIZE(mop500_pins_common));
- ux500_pins_add(mop500_runtime_pins, ARRAY_SIZE(mop500_runtime_pins));
- ux500_pins_add(mop500_runtime_pins_v60,
- ARRAY_SIZE(mop500_runtime_pins_v60));
- nmk_config_pins(hrefv60_pins,
- ARRAY_SIZE(hrefv60_pins));
- switch (pinsfor) {
- case PINS_FOR_U9500:
- nmk_config_pins(u9500_pins, ARRAY_SIZE(u9500_pins));
- break;
- case PINS_FOR_DEFAULT:
- nmk_config_pins(u8500_pins, ARRAY_SIZE(u8500_pins));
- default:
- break;
- }
- }
|