| /* |
| * Copyright (c) 2010-2012 Nest, Inc. |
| * |
| * Author: Grant Erickson <grant@nestlabs.com> |
| * |
| * 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. |
| * |
| * Description: |
| * This file implements the pin multiplexer settings for the Nest |
| * Diamond DVT and PVT boards. |
| * |
| */ |
| |
| static struct omap_board_mux j49_prototype_mux[] __initdata = { |
| OMAP3_MUX(SYS_NIRQ, OMAP_MUX_MODE0 | OMAP_PIN_INPUT_PULLUP | OMAP_PIN_OFF_INPUT_PULLUP | OMAP_PIN_OFF_WAKEUPENABLE), |
| |
| // SDRC |
| OMAP3_MUX(SDRC_A13, OMAP_MUX_MODE7 | OMAP_PIN_INPUT_PULLDOWN | OMAP_PIN_OFF_INPUT_PULLDOWN ), // Unused |
| OMAP3_MUX(SDRC_A14, OMAP_MUX_MODE7 | OMAP_PIN_INPUT_PULLDOWN | OMAP_PIN_OFF_INPUT_PULLDOWN ), // Unused |
| OMAP3_MUX(SDRC_D31, OMAP_MUX_MODE7 | OMAP_PIN_INPUT_PULLDOWN | OMAP_PIN_OFF_INPUT_PULLDOWN ), // Unused |
| OMAP3_MUX(SDRC_D31, OMAP_MUX_MODE7 | OMAP_PIN_INPUT_PULLDOWN | OMAP_PIN_OFF_INPUT_PULLDOWN ), // Unused |
| OMAP3_MUX(SDRC_D30, OMAP_MUX_MODE7 | OMAP_PIN_INPUT_PULLDOWN | OMAP_PIN_OFF_INPUT_PULLDOWN ), // Unused |
| OMAP3_MUX(SDRC_D29, OMAP_MUX_MODE7 | OMAP_PIN_INPUT_PULLDOWN | OMAP_PIN_OFF_INPUT_PULLDOWN ), // Unused |
| OMAP3_MUX(SDRC_D28, OMAP_MUX_MODE7 | OMAP_PIN_INPUT_PULLDOWN | OMAP_PIN_OFF_INPUT_PULLDOWN ), // Unused |
| OMAP3_MUX(SDRC_D27, OMAP_MUX_MODE7 | OMAP_PIN_INPUT_PULLDOWN | OMAP_PIN_OFF_INPUT_PULLDOWN ), // Unused |
| OMAP3_MUX(SDRC_D26, OMAP_MUX_MODE7 | OMAP_PIN_INPUT_PULLDOWN | OMAP_PIN_OFF_INPUT_PULLDOWN ), // Unused |
| OMAP3_MUX(SDRC_D25, OMAP_MUX_MODE7 | OMAP_PIN_INPUT_PULLDOWN | OMAP_PIN_OFF_INPUT_PULLDOWN ), // Unused |
| OMAP3_MUX(SDRC_D24, OMAP_MUX_MODE7 | OMAP_PIN_INPUT_PULLDOWN | OMAP_PIN_OFF_INPUT_PULLDOWN ), // Unused |
| OMAP3_MUX(SDRC_D23, OMAP_MUX_MODE7 | OMAP_PIN_INPUT_PULLDOWN | OMAP_PIN_OFF_INPUT_PULLDOWN ), // Unused |
| OMAP3_MUX(SDRC_D22, OMAP_MUX_MODE7 | OMAP_PIN_INPUT_PULLDOWN | OMAP_PIN_OFF_INPUT_PULLDOWN ), // Unused |
| OMAP3_MUX(SDRC_D21, OMAP_MUX_MODE7 | OMAP_PIN_INPUT_PULLDOWN | OMAP_PIN_OFF_INPUT_PULLDOWN ), // Unused |
| OMAP3_MUX(SDRC_D20, OMAP_MUX_MODE7 | OMAP_PIN_INPUT_PULLDOWN | OMAP_PIN_OFF_INPUT_PULLDOWN ), // Unused |
| OMAP3_MUX(SDRC_D19, OMAP_MUX_MODE7 | OMAP_PIN_INPUT_PULLDOWN | OMAP_PIN_OFF_INPUT_PULLDOWN ), // Unused |
| OMAP3_MUX(SDRC_D18, OMAP_MUX_MODE7 | OMAP_PIN_INPUT_PULLDOWN | OMAP_PIN_OFF_INPUT_PULLDOWN ), // Unused |
| OMAP3_MUX(SDRC_D17, OMAP_MUX_MODE7 | OMAP_PIN_INPUT_PULLDOWN | OMAP_PIN_OFF_INPUT_PULLDOWN ), // Unused |
| OMAP3_MUX(SDRC_D16, OMAP_MUX_MODE7 | OMAP_PIN_INPUT_PULLDOWN | OMAP_PIN_OFF_INPUT_PULLDOWN ), // Unused |
| OMAP3_MUX(SDRC_CKE1, OMAP_MUX_MODE7 | OMAP_PIN_INPUT_PULLDOWN | OMAP_PIN_OFF_INPUT_PULLDOWN ), // Unused |
| OMAP3_MUX(SDRC_NCS1, OMAP_MUX_MODE7 | OMAP_PIN_INPUT_PULLDOWN | OMAP_PIN_OFF_INPUT_PULLDOWN ), // Unused |
| OMAP3_MUX(SDRC_DM2, OMAP_MUX_MODE7 | OMAP_PIN_INPUT_PULLDOWN | OMAP_PIN_OFF_INPUT_PULLDOWN ), // Unused |
| OMAP3_MUX(SDRC_DM3, OMAP_MUX_MODE7 | OMAP_PIN_INPUT_PULLDOWN | OMAP_PIN_OFF_INPUT_PULLDOWN ), // Unused |
| OMAP3_MUX(SDRC_DQS2, OMAP_MUX_MODE7 | OMAP_PIN_INPUT_PULLDOWN | OMAP_PIN_OFF_INPUT_PULLDOWN ), // Unused |
| OMAP3_MUX(SDRC_DQS3, OMAP_MUX_MODE7 | OMAP_PIN_INPUT_PULLDOWN | OMAP_PIN_OFF_INPUT_PULLDOWN ), // Unused |
| |
| // DSS |
| OMAP3_MUX(DSS_ACBIAS, OMAP_MUX_MODE0 | OMAP_PIN_OFF_INPUT_PULLDOWN ), // DSS_ACBIAS |
| OMAP3_MUX(DSS_PCLK, OMAP_MUX_MODE0 | OMAP_PIN_OFF_INPUT_PULLDOWN ), // DSS_PCLK |
| OMAP3_MUX(DSS_HSYNC, OMAP_MUX_MODE0 | OMAP_PIN_OFF_INPUT_PULLDOWN ), // DSS_HSYNC |
| OMAP3_MUX(DSS_VSYNC, OMAP_MUX_MODE0 | OMAP_PIN_OFF_INPUT_PULLDOWN ), // DSS_VSYNC |
| OMAP3_MUX(DSS_DATA0, OMAP_MUX_MODE0 | OMAP_PIN_OFF_INPUT_PULLDOWN ), // DSS_DATA0 |
| OMAP3_MUX(DSS_DATA1, OMAP_MUX_MODE0 | OMAP_PIN_OFF_INPUT_PULLDOWN ), // DSS_DATA1 |
| OMAP3_MUX(DSS_DATA2, OMAP_MUX_MODE0 | OMAP_PIN_OFF_INPUT_PULLDOWN ), // DSS_DATA2 |
| OMAP3_MUX(DSS_DATA3, OMAP_MUX_MODE0 | OMAP_PIN_OFF_INPUT_PULLDOWN ), // DSS_DATA3 |
| OMAP3_MUX(DSS_DATA4, OMAP_MUX_MODE0 | OMAP_PIN_OFF_INPUT_PULLDOWN ), // DSS_DATA4 |
| OMAP3_MUX(DSS_DATA5, OMAP_MUX_MODE0 | OMAP_PIN_OFF_INPUT_PULLDOWN ), // DSS_DATA5 |
| OMAP3_MUX(DSS_DATA6, OMAP_MUX_MODE0 | OMAP_PIN_OFF_INPUT_PULLDOWN ), // DSS_DATA6 |
| OMAP3_MUX(DSS_DATA7, OMAP_MUX_MODE0 | OMAP_PIN_OFF_INPUT_PULLDOWN ), // DSS_DATA7 |
| OMAP3_MUX(DSS_DATA8, OMAP_MUX_MODE0 | OMAP_PIN_OFF_INPUT_PULLDOWN ), // DSS_DATA8 |
| OMAP3_MUX(DSS_DATA9, OMAP_MUX_MODE0 | OMAP_PIN_OFF_INPUT_PULLDOWN ), // DSS_DATA9 |
| OMAP3_MUX(DSS_DATA10, OMAP_MUX_MODE0 | OMAP_PIN_OFF_INPUT_PULLDOWN ), // DSS_DATA10 |
| OMAP3_MUX(DSS_DATA11, OMAP_MUX_MODE0 | OMAP_PIN_OFF_INPUT_PULLDOWN ), // DSS_DATA11 |
| OMAP3_MUX(DSS_DATA12, OMAP_MUX_MODE0 | OMAP_PIN_OFF_INPUT_PULLDOWN ), // DSS_DATA12 |
| OMAP3_MUX(DSS_DATA13, OMAP_MUX_MODE0 | OMAP_PIN_OFF_INPUT_PULLDOWN ), // DSS_DATA13 |
| OMAP3_MUX(DSS_DATA14, OMAP_MUX_MODE0 | OMAP_PIN_OFF_INPUT_PULLDOWN ), // DSS_DATA14 |
| OMAP3_MUX(DSS_DATA15, OMAP_MUX_MODE0 | OMAP_PIN_OFF_INPUT_PULLDOWN ), // DSS_DATA15 |
| OMAP3_MUX(DSS_DATA16, OMAP_MUX_MODE0 | OMAP_PIN_OFF_INPUT_PULLDOWN ), // DSS_DATA16 |
| OMAP3_MUX(DSS_DATA17, OMAP_MUX_MODE0 | OMAP_PIN_OFF_INPUT_PULLDOWN ), // DSS_DATA17 |
| OMAP3_MUX(DSS_DATA18, OMAP_MUX_MODE0 | OMAP_PIN_OFF_INPUT_PULLDOWN ), // DSS_DATA18 |
| OMAP3_MUX(DSS_DATA19, OMAP_MUX_MODE0 | OMAP_PIN_OFF_INPUT_PULLDOWN ), // DSS_DATA19 |
| OMAP3_MUX(DSS_DATA20, OMAP_MUX_MODE0 | OMAP_PIN_OFF_INPUT_PULLDOWN ), // DSS_DATA20 |
| OMAP3_MUX(DSS_DATA21, OMAP_MUX_MODE0 | OMAP_PIN_OFF_INPUT_PULLDOWN ), // DSS_DATA21 |
| OMAP3_MUX(DSS_DATA22, OMAP_MUX_MODE0 | OMAP_PIN_OFF_INPUT_PULLDOWN ), // DSS_DATA22 |
| OMAP3_MUX(DSS_DATA23, OMAP_MUX_MODE0 | OMAP_PIN_OFF_INPUT_PULLDOWN ), // DSS_DATA23 |
| |
| // MMC1 |
| OMAP3_MUX(SDMMC1_CLK, OMAP_MUX_MODE7 | OMAP_PIN_OFF_INPUT_PULLUP ), // Unused |
| OMAP3_MUX(SDMMC1_CMD, OMAP_MUX_MODE7 | OMAP_PIN_OFF_INPUT_PULLUP ), // Unused |
| OMAP3_MUX(SDMMC1_DAT0, OMAP_MUX_MODE7 | OMAP_PIN_OFF_INPUT_PULLUP ), // Unused |
| OMAP3_MUX(SDMMC1_DAT1, OMAP_MUX_MODE7 | OMAP_PIN_OFF_INPUT_PULLUP ), // Unused |
| OMAP3_MUX(SDMMC1_DAT2, OMAP_MUX_MODE7 | OMAP_PIN_OFF_INPUT_PULLUP ), // Unused |
| OMAP3_MUX(SDMMC1_DAT3, OMAP_MUX_MODE7 | OMAP_PIN_OFF_INPUT_PULLUP ), // Unused |
| |
| OMAP3_MUX(GPIO_126, OMAP_MUX_MODE7 | OMAP_PIN_INPUT_PULLDOWN | OMAP_PIN_OFF_INPUT_PULLDOWN ), // Unused |
| OMAP3_MUX(GPIO_129, OMAP_MUX_MODE7 | OMAP_PIN_INPUT_PULLDOWN | OMAP_PIN_OFF_INPUT_PULLDOWN ), // Unused |
| |
| // MMC2 |
| OMAP3_MUX(SDMMC2_CLK, OMAP_MUX_MODE0 | OMAP_PIN_OFF_INPUT_PULLUP ), // |
| OMAP3_MUX(SDMMC2_CMD, OMAP_MUX_MODE0 | OMAP_PIN_OFF_INPUT_PULLUP ), // |
| OMAP3_MUX(SDMMC2_DAT0, OMAP_MUX_MODE0 | OMAP_PIN_OFF_INPUT_PULLUP ), // |
| OMAP3_MUX(SDMMC2_DAT1, OMAP_MUX_MODE0 | OMAP_PIN_OFF_INPUT_PULLUP ), // |
| OMAP3_MUX(SDMMC2_DAT2, OMAP_MUX_MODE0 | OMAP_PIN_OFF_INPUT_PULLUP ), // |
| OMAP3_MUX(SDMMC2_DAT3, OMAP_MUX_MODE0 | OMAP_PIN_OFF_INPUT_PULLUP ), // |
| OMAP3_MUX(SDMMC2_DAT4, OMAP_MUX_MODE7 | OMAP_PIN_INPUT_PULLDOWN | OMAP_PIN_OFF_INPUT_PULLDOWN ), // Unused |
| OMAP3_MUX(SDMMC2_DAT5, OMAP_MUX_MODE7 | OMAP_PIN_INPUT_PULLDOWN | OMAP_PIN_OFF_INPUT_PULLDOWN ), // Unused |
| OMAP3_MUX(SDMMC2_DAT6, OMAP_MUX_MODE7 | OMAP_PIN_INPUT_PULLDOWN | OMAP_PIN_OFF_INPUT_PULLDOWN ), // Unused |
| OMAP3_MUX(SDMMC2_DAT7, OMAP_MUX_MODE7 | OMAP_PIN_INPUT_PULLDOWN | OMAP_PIN_OFF_INPUT_PULLDOWN ), // Unused |
| |
| // GPMC |
| OMAP3_MUX(GPMC_A1, OMAP_MUX_MODE7 | OMAP_PIN_INPUT_PULLDOWN | OMAP_PIN_OFF_INPUT_PULLDOWN ), // Unused |
| OMAP3_MUX(GPMC_A2, OMAP_MUX_MODE7 | OMAP_PIN_INPUT_PULLDOWN | OMAP_PIN_OFF_INPUT_PULLDOWN ), // Unused |
| OMAP3_MUX(GPMC_A3, OMAP_MUX_MODE7 | OMAP_PIN_INPUT_PULLDOWN | OMAP_PIN_OFF_INPUT_PULLDOWN ), // Unused |
| OMAP3_MUX(GPMC_A4, OMAP_MUX_MODE7 | OMAP_PIN_INPUT_PULLDOWN | OMAP_PIN_OFF_INPUT_PULLDOWN ), // Unused |
| OMAP3_MUX(GPMC_A5, OMAP_MUX_MODE7 | OMAP_PIN_INPUT_PULLDOWN | OMAP_PIN_OFF_INPUT_PULLDOWN ), // Unused |
| OMAP3_MUX(GPMC_A6, OMAP_MUX_MODE7 | OMAP_PIN_INPUT_PULLDOWN | OMAP_PIN_OFF_INPUT_PULLDOWN ), // Unused |
| OMAP3_MUX(GPMC_A7, OMAP_MUX_MODE7 | OMAP_PIN_INPUT_PULLDOWN | OMAP_PIN_OFF_INPUT_PULLDOWN ), // Unused |
| OMAP3_MUX(GPMC_A8, OMAP_MUX_MODE7 | OMAP_PIN_INPUT_PULLDOWN | OMAP_PIN_OFF_INPUT_PULLDOWN ), // Unused |
| |
| // Assign GPMC_A9 to GPIO_42 used as a push-pull, active-high |
| // output to INTUSB_SUSPEND to the TUSB2551 USB PHY SUSPEND |
| // internal circuit deactivation signal. |
| |
| OMAP3_MUX(GPMC_A9, OMAP_MUX_MODE7 | OMAP_PIN_OUTPUT | OMAP_PIN_OFF_INPUT_PULLDOWN ), // Unused |
| |
| OMAP3_MUX(GPMC_A10, OMAP_MUX_MODE7 | OMAP_PIN_INPUT_PULLDOWN | OMAP_PIN_OFF_INPUT_PULLDOWN ), // Unused |
| |
| // NAND |
| /* |
| OMAP3_MUX(GPMC_NCS0, OMAP_MUX_MODE0 | OMAP_PIN_INPUT_PULLUP | OMAP_PIN_OFF_INPUT_PULLUP), |
| // NBO OMAP3_MUX(GPMC_NCS1, OMAP_MUX_MODE0 | OMAP_PIN_INPUT_PULLUP | OMAP_PIN_OFF_INPUT_PULLUP), |
| // NBO OMAP3_MUX(GPMC_NCS2, OMAP_MUX_MODE0 | OMAP_PIN_INPUT_PULLUP | OMAP_PIN_OFF_INPUT_PULLUP), |
| */ |
| |
| OMAP3_MUX(GPMC_NCS3, OMAP_MUX_MODE7 | OMAP_PIN_INPUT_PULLDOWN | OMAP_PIN_OFF_INPUT_PULLDOWN ), // Unused |
| OMAP3_MUX(GPMC_NCS4, OMAP_MUX_MODE7 | OMAP_PIN_INPUT_PULLDOWN | OMAP_PIN_OFF_INPUT_PULLDOWN ), // Unused |
| OMAP3_MUX(GPMC_NCS5, OMAP_MUX_MODE7 | OMAP_PIN_INPUT_PULLDOWN | OMAP_PIN_OFF_INPUT_PULLDOWN ), // Unused |
| |
| /* |
| OMAP3_MUX(GPMC_NWE, OMAP_MUX_MODE0 | OMAP_PIN_OFF_OUTPUT_LOW), |
| OMAP3_MUX(GPMC_NOE, OMAP_MUX_MODE0 | OMAP_PIN_OFF_OUTPUT_HIGH), |
| OMAP3_MUX(GPMC_D0, OMAP_MUX_MODE0 | OMAP_PIN_OFF_OUTPUT_LOW), |
| OMAP3_MUX(GPMC_D1, OMAP_MUX_MODE0 | OMAP_PIN_OFF_OUTPUT_LOW), |
| OMAP3_MUX(GPMC_D2, OMAP_MUX_MODE0 | OMAP_PIN_OFF_OUTPUT_LOW), |
| OMAP3_MUX(GPMC_D3, OMAP_MUX_MODE0 | OMAP_PIN_OFF_OUTPUT_LOW), |
| OMAP3_MUX(GPMC_D4, OMAP_MUX_MODE0 | OMAP_PIN_OFF_OUTPUT_LOW), |
| OMAP3_MUX(GPMC_D5, OMAP_MUX_MODE0 | OMAP_PIN_OFF_OUTPUT_LOW), |
| OMAP3_MUX(GPMC_D6, OMAP_MUX_MODE0 | OMAP_PIN_OFF_OUTPUT_LOW), |
| OMAP3_MUX(GPMC_D7, OMAP_MUX_MODE0 | OMAP_PIN_OFF_OUTPUT_LOW), |
| OMAP3_MUX(GPMC_D8, OMAP_MUX_MODE0 | OMAP_PIN_OFF_OUTPUT_LOW), |
| OMAP3_MUX(GPMC_D9, OMAP_MUX_MODE0 | OMAP_PIN_OFF_OUTPUT_LOW), |
| OMAP3_MUX(GPMC_D10, OMAP_MUX_MODE0 | OMAP_PIN_OFF_OUTPUT_LOW), |
| OMAP3_MUX(GPMC_D11, OMAP_MUX_MODE0 | OMAP_PIN_OFF_OUTPUT_LOW), |
| OMAP3_MUX(GPMC_D12, OMAP_MUX_MODE0 | OMAP_PIN_OFF_OUTPUT_LOW), |
| OMAP3_MUX(GPMC_D13, OMAP_MUX_MODE0 | OMAP_PIN_OFF_OUTPUT_LOW), |
| OMAP3_MUX(GPMC_D14, OMAP_MUX_MODE0 | OMAP_PIN_OFF_OUTPUT_LOW), |
| OMAP3_MUX(GPMC_D15, OMAP_MUX_MODE0 | OMAP_PIN_OFF_OUTPUT_LOW), |
| */ |
| |
| OMAP3_MUX(GPMC_CLK, OMAP_MUX_MODE7 | OMAP_PIN_INPUT_PULLDOWN | OMAP_PIN_OFF_INPUT_PULLDOWN ), // Unused |
| |
| // Assign GPMC_NBE1 to GPIO_61 used as a push-pull output to the |
| // ZigBee active-low reset: ZIG_RESET_L |
| |
| OMAP3_MUX(GPMC_NBE1, OMAP_MUX_MODE4 | OMAP_PIN_OUTPUT | OMAP_PIN_OFF_OUTPUT_LOW ), // GPIO_61 |
| |
| // UART3 |
| OMAP3_MUX(UART3_CTS_RCTX, OMAP_MUX_MODE7 | OMAP_PIN_INPUT_PULLDOWN | OMAP_PIN_OFF_INPUT_PULLDOWN ), // Unused |
| OMAP3_MUX(UART3_RTS_SD, OMAP_MUX_MODE7 | OMAP_PIN_INPUT_PULLDOWN | OMAP_PIN_OFF_INPUT_PULLDOWN ), // Unused |
| OMAP3_MUX(UART3_RX_IRRX, OMAP_MUX_MODE0 | OMAP_PIN_INPUT | OMAP_PIN_OFF_INPUT_PULLDOWN ), // UART3_RX_IRRX |
| OMAP3_MUX(UART3_TX_IRTX, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT | OMAP_PIN_OFF_INPUT_PULLUP ), // UART3_TX_IRTX |
| |
| // Debug console UART |
| OMAP3_MUX(UART1_RTS, OMAP_MUX_MODE7 | OMAP_PIN_INPUT_PULLDOWN | OMAP_PIN_OFF_INPUT_PULLDOWN ), // UART1_RTS |
| OMAP3_MUX(UART1_CTS, OMAP_MUX_MODE7 | OMAP_PIN_INPUT_PULLDOWN | OMAP_PIN_OFF_INPUT_PULLDOWN ), // UART1_CTS |
| |
| // Camera |
| OMAP3_MUX(CAM_XCLKA, OMAP_MUX_MODE7 | OMAP_PIN_INPUT_PULLDOWN | OMAP_PIN_OFF_INPUT_PULLDOWN ), // Unused |
| OMAP3_MUX(CAM_XCLKB, OMAP_MUX_MODE7 | OMAP_PIN_INPUT_PULLDOWN | OMAP_PIN_OFF_INPUT_PULLDOWN ), // Unused |
| OMAP3_MUX(CAM_PCLK, OMAP_MUX_MODE7 | OMAP_PIN_INPUT_PULLDOWN | OMAP_PIN_OFF_INPUT_PULLDOWN ), // Unused |
| OMAP3_MUX(CAM_VS, OMAP_MUX_MODE7 | OMAP_PIN_INPUT_PULLDOWN | OMAP_PIN_OFF_INPUT_PULLDOWN ), // Unused |
| OMAP3_MUX(CAM_HS, OMAP_MUX_MODE7 | OMAP_PIN_INPUT_PULLDOWN | OMAP_PIN_OFF_INPUT_PULLDOWN ), // Unused |
| OMAP3_MUX(CAM_FLD, OMAP_MUX_MODE7 | OMAP_PIN_INPUT_PULLDOWN | OMAP_PIN_OFF_INPUT_PULLDOWN ), // Unused |
| OMAP3_MUX(CAM_WEN, OMAP_MUX_MODE7 | OMAP_PIN_INPUT_PULLDOWN | OMAP_PIN_OFF_INPUT_PULLDOWN ), // Unused |
| OMAP3_MUX(CAM_STROBE, OMAP_MUX_MODE7 | OMAP_PIN_INPUT_PULLDOWN | OMAP_PIN_OFF_INPUT_PULLDOWN ), // Unused |
| OMAP3_MUX(CAM_D0, OMAP_MUX_MODE7 | OMAP_PIN_INPUT_PULLDOWN | OMAP_PIN_OFF_INPUT_PULLDOWN ), // Unused |
| OMAP3_MUX(CAM_D1, OMAP_MUX_MODE7 | OMAP_PIN_INPUT_PULLDOWN | OMAP_PIN_OFF_INPUT_PULLDOWN ), // Unused |
| |
| // Assign CAM_D2 to GPIO_101 used as a push-pull active-high |
| // output OFN_SHUTDOWN to the Avago ADBS A320 Optical Finger |
| // Navigation (OFN) sensor SHTDWN input. |
| |
| OMAP3_MUX(CAM_D2, OMAP_MUX_MODE4 | OMAP_PIN_OUTPUT | OMAP_PIN_OFF_INPUT_PULLDOWN ), // GPIO_101 |
| |
| // Wi-Fi |
| // |
| // Assign CAM_D3 to GPIO_102 used as a push-pull, active high |
| // WL_IRQ interrupt input from the TI WL1270 wireless Ethernet. |
| |
| OMAP3_MUX(CAM_D3, OMAP_MUX_MODE4 | OMAP_PIN_INPUT_PULLUP | OMAP_PIN_OFF_INPUT_PULLUP | OMAP_PIN_OFF_WAKEUPENABLE), // GPIO_102 |
| |
| // Assign CAM_D4 to GPIO_103 used as a push-pull, active high |
| // WL_EN enable output to the TI WL1270 wireless Ethernet. |
| |
| OMAP3_MUX(CAM_D4, OMAP_MUX_MODE4 | OMAP_PIN_OUTPUT | OMAP_PIN_OFF_INPUT_PULLUP ), // GPIO_103 |
| |
| // Assign CAM_D6 to GPIO_105 used as a push-pull, active-low input |
| // LCD_ID from the LCD module flexible printed circuit. |
| |
| OMAP3_MUX(CAM_D6, OMAP_MUX_MODE4 | OMAP_PIN_INPUT_PULLUP | OMAP_PIN_OFF_INPUT_PULLUP ), // GPIO_105 |
| |
| // Assign CAM_D9 to GPIO_108 used as a push-pull active-low |
| // input OFN_EVENT_L from the Avago ADBS A320 Optical Finger |
| // Navigation (OFN) sensor MOTION output. |
| |
| OMAP3_MUX(CAM_D9, OMAP_MUX_MODE4 | OMAP_PIN_INPUT | OMAP_PIN_OFF_INPUT_PULLDOWN | OMAP_PIN_OFF_WAKEUPENABLE ), // GPIO_108 |
| |
| // Assign CAM_D10 to GPIO_109 used as a push-pull, active low |
| // output LCD_RESET_L for the Tianma TM025ZDZ01 LCD reset. |
| |
| OMAP3_MUX(CAM_D10, OMAP_MUX_MODE4 | OMAP_PIN_OUTPUT | OMAP_PIN_OFF_INPUT_PULLDOWN ), // GPIO_109 |
| |
| // Assign CAM_D11 to GPIO_110 used as a push-pull active-low |
| // output OFN_RESET_L to the Avago ADBS A320 Optical Finger |
| // Navigation (OFN) sensor NRST input. |
| |
| OMAP3_MUX(CAM_D11, OMAP_MUX_MODE4 | OMAP_PIN_OUTPUT | OMAP_PIN_OFF_INPUT_PULLDOWN ), // GPIO_110 |
| |
| OMAP3_MUX(SYS_CLKOUT2, OMAP_MUX_MODE7 | OMAP_PIN_INPUT_PULLDOWN | OMAP_PIN_OFF_INPUT_PULLDOWN ), // Unused |
| OMAP3_MUX(HDQ_SIO, OMAP_MUX_MODE7 | OMAP_PIN_INPUT_PULLDOWN | OMAP_PIN_OFF_INPUT_PULLDOWN ), // Unused |
| |
| // McSPI1 |
| |
| // Surprisingly, per http://e2e.ti.com/support/dsp/ |
| // omap_applications_processors/f/447/p/54130/193260.aspx#193260, |
| // the SPI clock MUST be configured as an input for the SPI |
| // interface to work correctly. |
| |
| OMAP3_MUX(MCSPI1_CLK, OMAP_MUX_MODE0 | OMAP_PIN_INPUT ), // LCD_SPI_CLK |
| OMAP3_MUX(MCSPI1_SIMO, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT ), // LCD_SPI_MOSI |
| OMAP3_MUX(MCSPI1_SOMI, OMAP_MUX_MODE0 | OMAP_PIN_INPUT ), // LCD_SPI_MISO |
| OMAP3_MUX(MCSPI1_CS0, OMAP_MUX_MODE0 | OMAP_PIN_INPUT_PULLDOWN ), // LCD_SPI_CS_L |
| |
| // Assign MCSPI1_CS3/GPIO_177 to be used as a push-pull, active high |
| // output for the LCD backlight enable pin |
| |
| OMAP3_MUX(MCSPI1_CS3, OMAP_MUX_MODE4 | OMAP_PIN_OUTPUT | OMAP_PIN_OFF_OUTPUT_LOW ), // LCD_BL_HWEN |
| |
| // McSPI2 used for Zigbee |
| OMAP3_MUX(MCSPI2_CLK, OMAP_MUX_MODE0 | OMAP_PIN_INPUT ), // ZIG_SPI_SCLK |
| OMAP3_MUX(MCSPI2_SIMO, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT ), // ZIG_SPI_MOSI |
| OMAP3_MUX(MCSPI2_SOMI, OMAP_MUX_MODE0 | OMAP_PIN_INPUT ), // ZIG_SPI_MISO |
| OMAP3_MUX(MCSPI2_CS0, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT ), // ZIG_SPI_CS_L |
| OMAP3_MUX(MCSPI2_CS1, OMAP_MUX_MODE4 | OMAP_PIN_INPUT | OMAP_PIN_OFF_INPUT_PULLUP ), // ZIG_INT_L |
| |
| // McBSP2 |
| OMAP3_MUX(MCBSP2_FSX, OMAP_MUX_MODE7 | OMAP_PIN_INPUT_PULLDOWN | OMAP_PIN_OFF_INPUT_PULLDOWN ), // Unused |
| OMAP3_MUX(MCBSP2_CLKX, OMAP_MUX_MODE7 | OMAP_PIN_INPUT_PULLDOWN | OMAP_PIN_OFF_INPUT_PULLDOWN ), // Unused |
| OMAP3_MUX(MCBSP2_DR, OMAP_MUX_MODE7 | OMAP_PIN_INPUT_PULLDOWN | OMAP_PIN_OFF_INPUT_PULLDOWN ), // Unused |
| OMAP3_MUX(MCBSP2_DX, OMAP_MUX_MODE7 | OMAP_PIN_OUTPUT | OMAP_PIN_OFF_INPUT_PULLDOWN ), // Unused |
| |
| // Assign MCBSP3 as UART2 (Mode 1) for communication with the |
| // ZigBee module. |
| |
| OMAP3_MUX(MCBSP3_DX, OMAP_MUX_MODE1 | OMAP_PIN_INPUT), // UART2_CTS |
| OMAP3_MUX(MCBSP3_DR, OMAP_MUX_MODE1 | OMAP_PIN_OUTPUT | OMAP_PIN_OFF_INPUT_PULLDOWN ), // reset |
| OMAP3_MUX(MCBSP3_CLKX, OMAP_MUX_MODE1 | OMAP_PIN_OUTPUT | OMAP_PIN_OFF_INPUT_PULLDOWN ), // reset |
| OMAP3_MUX(MCBSP3_FSX, OMAP_MUX_MODE1 | OMAP_PIN_INPUT | OMAP_PIN_OFF_INPUT_PULLDOWN), // UART2_RX |
| |
| // JTAG_RTCK ?? |
| |
| // 32 and 187 are not bonded out in any of the AM3703 packages |
| // 52, 53, |
| // 63, 64, |
| // 112, 113, 114, 115, |
| // 127, 128, |
| // 144, 145, 146, 147, |
| // 152, 153, 154, 155, |
| // 175, and 176 |
| // are non-bonded on the AM3703 CUS |
| OMAP3_MUX(CHASSIS_ARMIRQ, OMAP_MUX_MODE7 | OMAP_PIN_INPUT_PULLDOWN | OMAP_PIN_OFF_INPUT_PULLDOWN ), // 32 |
| OMAP3_MUX(CHASSIS_IVAIRQ, OMAP_MUX_MODE7 | OMAP_PIN_INPUT_PULLDOWN | OMAP_PIN_OFF_INPUT_PULLDOWN ), // 187 |
| OMAP3_MUX(GPMC_NCS1, OMAP_MUX_MODE7 | OMAP_PIN_INPUT_PULLDOWN | OMAP_PIN_OFF_INPUT_PULLDOWN ), // 52 |
| OMAP3_MUX(GPMC_NCS2, OMAP_MUX_MODE7 | OMAP_PIN_INPUT_PULLDOWN | OMAP_PIN_OFF_INPUT_PULLDOWN ), // 53 |
| OMAP3_MUX(GPMC_WAIT1, OMAP_MUX_MODE7 | OMAP_PIN_INPUT_PULLDOWN | OMAP_PIN_OFF_INPUT_PULLDOWN ), // 63 |
| OMAP3_MUX(GPMC_WAIT2, OMAP_MUX_MODE7 | OMAP_PIN_INPUT_PULLDOWN | OMAP_PIN_OFF_INPUT_PULLDOWN ), // 64 |
| OMAP3_MUX(CSI2_DX0, OMAP_MUX_MODE7 | OMAP_PIN_INPUT_PULLDOWN | OMAP_PIN_OFF_INPUT_PULLDOWN ), // 112 |
| OMAP3_MUX(CSI2_DY0, OMAP_MUX_MODE7 | OMAP_PIN_INPUT_PULLDOWN | OMAP_PIN_OFF_INPUT_PULLDOWN ), // 113 |
| OMAP3_MUX(CSI2_DX1, OMAP_MUX_MODE7 | OMAP_PIN_INPUT_PULLDOWN | OMAP_PIN_OFF_INPUT_PULLDOWN ), // 114 |
| OMAP3_MUX(CSI2_DY1, OMAP_MUX_MODE7 | OMAP_PIN_INPUT_PULLDOWN | OMAP_PIN_OFF_INPUT_PULLDOWN ), // 115 |
| OMAP3_MUX(GPIO_127, OMAP_MUX_MODE7 | OMAP_PIN_INPUT_PULLDOWN | OMAP_PIN_OFF_INPUT_PULLDOWN ), // 127 |
| OMAP3_MUX(GPIO_128, OMAP_MUX_MODE7 | OMAP_PIN_INPUT_PULLDOWN | OMAP_PIN_OFF_INPUT_PULLDOWN ), // 128 |
| OMAP3_MUX(UART2_CTS, OMAP_MUX_MODE7 | OMAP_PIN_INPUT_PULLDOWN | OMAP_PIN_OFF_INPUT_PULLDOWN ), // 144 |
| OMAP3_MUX(UART2_RTS, OMAP_MUX_MODE7 | OMAP_PIN_INPUT_PULLDOWN | OMAP_PIN_OFF_INPUT_PULLDOWN ), // 145 |
| OMAP3_MUX(UART2_TX, OMAP_MUX_MODE7 | OMAP_PIN_INPUT_PULLDOWN | OMAP_PIN_OFF_INPUT_PULLDOWN ), // 146 |
| OMAP3_MUX(UART2_RX, OMAP_MUX_MODE7 | OMAP_PIN_INPUT_PULLDOWN | OMAP_PIN_OFF_INPUT_PULLDOWN ), // 147 |
| OMAP3_MUX(MCBSP4_CLKX, OMAP_MUX_MODE7 | OMAP_PIN_INPUT_PULLDOWN | OMAP_PIN_OFF_INPUT_PULLDOWN ), // 152 |
| OMAP3_MUX(MCBSP4_DR, OMAP_MUX_MODE7 | OMAP_PIN_INPUT_PULLDOWN | OMAP_PIN_OFF_INPUT_PULLDOWN ), // 153 |
| OMAP3_MUX(MCBSP4_DX, OMAP_MUX_MODE7 | OMAP_PIN_INPUT_PULLDOWN | OMAP_PIN_OFF_INPUT_PULLDOWN ), // 154 |
| OMAP3_MUX(MCBSP4_FSX, OMAP_MUX_MODE7 | OMAP_PIN_INPUT_PULLDOWN | OMAP_PIN_OFF_INPUT_PULLDOWN ), // 155 |
| OMAP3_MUX(MCSPI1_CS1, OMAP_MUX_MODE7 | OMAP_PIN_INPUT_PULLDOWN | OMAP_PIN_OFF_INPUT_PULLDOWN ), // 175 |
| OMAP3_MUX(MCSPI1_CS2, OMAP_MUX_MODE7 | OMAP_PIN_INPUT_PULLDOWN | OMAP_PIN_OFF_INPUT_PULLDOWN ), // 176 |
| |
| // AM37x Device-only High-speed USB (HSUSB) ULPI to the TPS65921 USB 2.0 PHY |
| OMAP3_MUX(HSUSB0_DATA0, OMAP_MUX_MODE0 | OMAP_PIN_INPUT | OMAP_PIN_OFF_INPUT_PULLDOWN ), // USB |
| OMAP3_MUX(HSUSB0_DATA1, OMAP_MUX_MODE0 | OMAP_PIN_INPUT | OMAP_PIN_OFF_INPUT_PULLDOWN ), // USB |
| OMAP3_MUX(HSUSB0_DATA2, OMAP_MUX_MODE0 | OMAP_PIN_INPUT | OMAP_PIN_OFF_INPUT_PULLDOWN ), // USB |
| OMAP3_MUX(HSUSB0_DATA3, OMAP_MUX_MODE0 | OMAP_PIN_INPUT | OMAP_PIN_OFF_INPUT_PULLDOWN ), // USB |
| OMAP3_MUX(HSUSB0_DATA4, OMAP_MUX_MODE0 | OMAP_PIN_INPUT | OMAP_PIN_OFF_INPUT_PULLDOWN ), // USB |
| OMAP3_MUX(HSUSB0_DATA5, OMAP_MUX_MODE0 | OMAP_PIN_INPUT | OMAP_PIN_OFF_INPUT_PULLDOWN ), // USB |
| OMAP3_MUX(HSUSB0_DATA6, OMAP_MUX_MODE0 | OMAP_PIN_INPUT | OMAP_PIN_OFF_INPUT_PULLDOWN ), // USB |
| OMAP3_MUX(HSUSB0_DATA7, OMAP_MUX_MODE0 | OMAP_PIN_INPUT | OMAP_PIN_OFF_INPUT_PULLDOWN ), // USB |
| OMAP3_MUX(HSUSB0_CLK, OMAP_MUX_MODE0 | OMAP_PIN_INPUT | OMAP_PIN_OFF_INPUT_PULLDOWN ), // USB |
| OMAP3_MUX(HSUSB0_STP, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT | OMAP_PIN_OFF_INPUT_PULLDOWN ), // USB |
| OMAP3_MUX(HSUSB0_DIR, OMAP_MUX_MODE0 | OMAP_PIN_INPUT | OMAP_PIN_OFF_INPUT_PULLDOWN ), // USB |
| OMAP3_MUX(HSUSB0_NXT, OMAP_MUX_MODE0 | OMAP_PIN_INPUT | OMAP_PIN_OFF_INPUT_PULLDOWN ), // USB |
| |
| // McBSP1 |
| OMAP3_MUX(MCBSP1_CLKR, OMAP_MUX_MODE7 | OMAP_PIN_INPUT_PULLDOWN | OMAP_PIN_OFF_INPUT_PULLDOWN ), // GPIO_156 |
| OMAP3_MUX(MCBSP1_FSR, OMAP_MUX_MODE7 | OMAP_PIN_INPUT_PULLDOWN | OMAP_PIN_OFF_INPUT_PULLDOWN ), // Unused |
| |
| // Assign MCBSP1_DX to GPIO_158 used as input |
| // this is the "REG_EN" override and should not be driven |
| // in normal conditions |
| |
| OMAP3_MUX(MCBSP1_DX, OMAP_MUX_MODE7 | OMAP_PIN_INPUT ), // GPIO_158 |
| |
| OMAP3_MUX(MCBSP1_DR, OMAP_MUX_MODE7 | OMAP_PIN_INPUT_PULLDOWN | OMAP_PIN_OFF_INPUT_PULLDOWN ), // Unused |
| OMAP3_MUX(MCBSP_CLKS, OMAP_MUX_MODE7 | OMAP_PIN_INPUT_PULLDOWN | OMAP_PIN_OFF_INPUT_PULLDOWN ), // Unused |
| |
| // Assign MCBSP1_FSX to GPIO_161 used as a push-pull, active high |
| // output BATT_DISCONNECT for the battery management circuit. |
| |
| OMAP3_MUX(MCBSP1_FSX, OMAP_MUX_MODE4 | OMAP_PIN_OUTPUT | OMAP_PIN_OFF_OUTPUT_LOW ), // GPIO_161 |
| |
| OMAP3_MUX(MCBSP1_CLKX, OMAP_MUX_MODE7 | OMAP_PIN_INPUT_PULLDOWN | OMAP_PIN_OFF_INPUT_PULLDOWN ), // Unused |
| |
| // ETK |
| OMAP3_MUX(ETK_CLK, OMAP_MUX_MODE4 | OMAP_PIN_INPUT_PULLDOWN | OMAP_PIN_OFF_INPUT_PULLDOWN ), // Unused |
| OMAP3_MUX(ETK_CTL, OMAP_MUX_MODE4 | OMAP_PIN_INPUT_PULLDOWN | OMAP_PIN_OFF_INPUT_PULLDOWN ), // Unused |
| OMAP3_MUX(ETK_D0, OMAP_MUX_MODE4 | OMAP_PIN_INPUT_PULLDOWN | OMAP_PIN_OFF_INPUT_PULLDOWN ), // Unused |
| OMAP3_MUX(ETK_D1, OMAP_MUX_MODE4 | OMAP_PIN_INPUT_PULLDOWN | OMAP_PIN_OFF_INPUT_PULLDOWN ), // Unused |
| OMAP3_MUX(ETK_D2, OMAP_MUX_MODE4 | OMAP_PIN_INPUT_PULLDOWN | OMAP_PIN_OFF_INPUT_PULLDOWN ), // Unused |
| OMAP3_MUX(ETK_D3, OMAP_MUX_MODE4 | OMAP_PIN_INPUT_PULLDOWN | OMAP_PIN_OFF_INPUT_PULLDOWN ), // Unused |
| OMAP3_MUX(ETK_D4, OMAP_MUX_MODE4 | OMAP_PIN_INPUT_PULLDOWN | OMAP_PIN_OFF_INPUT_PULLDOWN ), // Unused |
| OMAP3_MUX(ETK_D5, OMAP_MUX_MODE4 | OMAP_PIN_INPUT_PULLDOWN | OMAP_PIN_OFF_INPUT_PULLDOWN ), // Unused |
| OMAP3_MUX(ETK_D6, OMAP_MUX_MODE4 | OMAP_PIN_INPUT_PULLDOWN | OMAP_PIN_OFF_INPUT_PULLDOWN ), // Unused |
| OMAP3_MUX(ETK_D7, OMAP_MUX_MODE4 | OMAP_PIN_INPUT_PULLDOWN | OMAP_PIN_OFF_INPUT_PULLDOWN ), // Unused |
| OMAP3_MUX(ETK_D8, OMAP_MUX_MODE4 | OMAP_PIN_INPUT_PULLDOWN | OMAP_PIN_OFF_INPUT_PULLDOWN ), // Unused |
| OMAP3_MUX(ETK_D9, OMAP_MUX_MODE4 | OMAP_PIN_INPUT_PULLDOWN | OMAP_PIN_OFF_INPUT_PULLDOWN ), // Unused |
| OMAP3_MUX(ETK_D10, OMAP_MUX_MODE4 | OMAP_PIN_INPUT_PULLDOWN | OMAP_PIN_OFF_INPUT_PULLDOWN ), // Unused |
| OMAP3_MUX(ETK_D11, OMAP_MUX_MODE4 | OMAP_PIN_INPUT_PULLDOWN | OMAP_PIN_OFF_INPUT_PULLDOWN ), // Unused |
| OMAP3_MUX(ETK_D12, OMAP_MUX_MODE4 | OMAP_PIN_INPUT_PULLDOWN | OMAP_PIN_OFF_INPUT_PULLDOWN ), // Unused |
| OMAP3_MUX(ETK_D13, OMAP_MUX_MODE4 | OMAP_PIN_INPUT_PULLDOWN | OMAP_PIN_OFF_INPUT_PULLDOWN ), // Unused |
| |
| // Assign ETK_D15 to MM2_RCV used as a push-pull input from the |
| // TUSB2551 USB PHY RCV signal. |
| |
| OMAP3_MUX(ETK_D14, OMAP_MUX_MODE7 | OMAP_PIN_INPUT_PULLDOWN | OMAP_PIN_OFF_INPUT_PULLDOWN ), // Unused |
| |
| // Assign ETK_D15 to MM2_TXSE0 used as a push-pull input/output |
| // for the TUSB2551 USB PHY VM/D- data signal. |
| |
| OMAP3_MUX(ETK_D15, OMAP_MUX_MODE7 | OMAP_PIN_INPUT_PULLDOWN | OMAP_PIN_OFF_INPUT_PULLDOWN ), // Unused |
| |
| { .reg_offset = OMAP_MUX_TERMINATOR } |
| }; |