diff options
Diffstat (limited to 'arch/arm/mach-tegra/board-seaboard-pinmux.c')
| -rw-r--r-- | arch/arm/mach-tegra/board-seaboard-pinmux.c | 346 | 
1 files changed, 153 insertions, 193 deletions
diff --git a/arch/arm/mach-tegra/board-seaboard-pinmux.c b/arch/arm/mach-tegra/board-seaboard-pinmux.c index 55e7e43a14a..11fc8a568c6 100644 --- a/arch/arm/mach-tegra/board-seaboard-pinmux.c +++ b/arch/arm/mach-tegra/board-seaboard-pinmux.c @@ -1,5 +1,5 @@  /* - * Copyright (C) 2010,2011 NVIDIA Corporation + * Copyright (C) 2010-2012 NVIDIA Corporation   * Copyright (C) 2011 Google, Inc.   *   * This software is licensed under the terms of the GNU General Public @@ -14,216 +14,176 @@   */  #include <linux/kernel.h> -#include <linux/init.h> -#include <linux/gpio.h> -#include <linux/of.h> -#include <mach/pinmux.h> -#include <mach/pinmux-tegra20.h> - -#include "gpio-names.h" -#include "board-pinmux.h"  #include "board-seaboard.h" +#include "board-pinmux.h" -#define DEFAULT_DRIVE(_name)					\ -	{							\ -		.pingroup = TEGRA_DRIVE_PINGROUP_##_name,	\ -		.hsm = TEGRA_HSM_DISABLE,			\ -		.schmitt = TEGRA_SCHMITT_ENABLE,		\ -		.drive = TEGRA_DRIVE_DIV_1,			\ -		.pull_down = TEGRA_PULL_31,			\ -		.pull_up = TEGRA_PULL_31,			\ -		.slew_rising = TEGRA_SLEW_SLOWEST,		\ -		.slew_falling = TEGRA_SLEW_SLOWEST,		\ -	} - -static struct tegra_drive_pingroup_config seaboard_drive_pinmux[] = { -	DEFAULT_DRIVE(SDIO1), -}; - -static struct tegra_pingroup_config common_pinmux[] = { -	{TEGRA_PINGROUP_ATA,   TEGRA_MUX_IDE,           TEGRA_PUPD_NORMAL,    TEGRA_TRI_NORMAL}, -	{TEGRA_PINGROUP_ATB,   TEGRA_MUX_SDIO4,         TEGRA_PUPD_NORMAL,    TEGRA_TRI_NORMAL}, -	{TEGRA_PINGROUP_ATC,   TEGRA_MUX_NAND,          TEGRA_PUPD_NORMAL,    TEGRA_TRI_NORMAL}, -	{TEGRA_PINGROUP_ATD,   TEGRA_MUX_GMI,           TEGRA_PUPD_NORMAL,    TEGRA_TRI_NORMAL}, -	{TEGRA_PINGROUP_ATE,   TEGRA_MUX_GMI,           TEGRA_PUPD_NORMAL,    TEGRA_TRI_TRISTATE}, -	{TEGRA_PINGROUP_CDEV1, TEGRA_MUX_PLLA_OUT,      TEGRA_PUPD_NORMAL,    TEGRA_TRI_NORMAL}, -	{TEGRA_PINGROUP_CDEV2, TEGRA_MUX_PLLP_OUT4,     TEGRA_PUPD_NORMAL,    TEGRA_TRI_NORMAL}, -	{TEGRA_PINGROUP_CRTP,  TEGRA_MUX_CRT,           TEGRA_PUPD_PULL_UP,   TEGRA_TRI_TRISTATE}, -	{TEGRA_PINGROUP_CSUS,  TEGRA_MUX_VI_SENSOR_CLK, TEGRA_PUPD_NORMAL,    TEGRA_TRI_TRISTATE}, -	{TEGRA_PINGROUP_DAP1,  TEGRA_MUX_DAP1,          TEGRA_PUPD_NORMAL,    TEGRA_TRI_NORMAL}, -	{TEGRA_PINGROUP_DAP2,  TEGRA_MUX_DAP2,          TEGRA_PUPD_NORMAL,    TEGRA_TRI_NORMAL}, -	{TEGRA_PINGROUP_DAP3,  TEGRA_MUX_DAP3,          TEGRA_PUPD_NORMAL,    TEGRA_TRI_TRISTATE}, -	{TEGRA_PINGROUP_DAP4,  TEGRA_MUX_DAP4,          TEGRA_PUPD_NORMAL,    TEGRA_TRI_NORMAL}, -	{TEGRA_PINGROUP_DTA,   TEGRA_MUX_VI,            TEGRA_PUPD_PULL_DOWN, TEGRA_TRI_NORMAL}, -	{TEGRA_PINGROUP_DTB,   TEGRA_MUX_VI,            TEGRA_PUPD_PULL_DOWN, TEGRA_TRI_NORMAL}, -	{TEGRA_PINGROUP_DTC,   TEGRA_MUX_VI,            TEGRA_PUPD_PULL_DOWN, TEGRA_TRI_NORMAL}, -	{TEGRA_PINGROUP_DTD,   TEGRA_MUX_VI,            TEGRA_PUPD_PULL_DOWN, TEGRA_TRI_NORMAL}, -	{TEGRA_PINGROUP_DTE,   TEGRA_MUX_VI,            TEGRA_PUPD_PULL_DOWN, TEGRA_TRI_TRISTATE}, -	{TEGRA_PINGROUP_DTF,   TEGRA_MUX_I2C3,          TEGRA_PUPD_NORMAL,    TEGRA_TRI_NORMAL}, -	{TEGRA_PINGROUP_GMA,   TEGRA_MUX_SDIO4,         TEGRA_PUPD_NORMAL,    TEGRA_TRI_NORMAL}, -	{TEGRA_PINGROUP_GMB,   TEGRA_MUX_GMI,           TEGRA_PUPD_PULL_UP,   TEGRA_TRI_TRISTATE}, -	{TEGRA_PINGROUP_GMC,   TEGRA_MUX_UARTD,         TEGRA_PUPD_NORMAL,    TEGRA_TRI_NORMAL}, -	{TEGRA_PINGROUP_GME,   TEGRA_MUX_SDIO4,         TEGRA_PUPD_NORMAL,    TEGRA_TRI_NORMAL}, -	{TEGRA_PINGROUP_GPU,   TEGRA_MUX_PWM,           TEGRA_PUPD_NORMAL,    TEGRA_TRI_NORMAL}, -	{TEGRA_PINGROUP_GPU7,  TEGRA_MUX_RTCK,          TEGRA_PUPD_NORMAL,    TEGRA_TRI_NORMAL}, -	{TEGRA_PINGROUP_GPV,   TEGRA_MUX_PCIE,          TEGRA_PUPD_NORMAL,    TEGRA_TRI_TRISTATE}, -	{TEGRA_PINGROUP_HDINT, TEGRA_MUX_HDMI,          TEGRA_PUPD_NORMAL,    TEGRA_TRI_TRISTATE}, -	{TEGRA_PINGROUP_I2CP,  TEGRA_MUX_I2C,           TEGRA_PUPD_NORMAL,    TEGRA_TRI_NORMAL}, -	{TEGRA_PINGROUP_IRRX,  TEGRA_MUX_UARTB,         TEGRA_PUPD_NORMAL,    TEGRA_TRI_NORMAL}, -	{TEGRA_PINGROUP_IRTX,  TEGRA_MUX_UARTB,         TEGRA_PUPD_NORMAL,    TEGRA_TRI_NORMAL}, -	{TEGRA_PINGROUP_KBCA,  TEGRA_MUX_KBC,           TEGRA_PUPD_PULL_UP,   TEGRA_TRI_NORMAL}, -	{TEGRA_PINGROUP_KBCB,  TEGRA_MUX_KBC,           TEGRA_PUPD_PULL_UP,   TEGRA_TRI_NORMAL}, -	{TEGRA_PINGROUP_KBCC,  TEGRA_MUX_KBC,           TEGRA_PUPD_PULL_UP,   TEGRA_TRI_NORMAL}, -	{TEGRA_PINGROUP_KBCD,  TEGRA_MUX_KBC,           TEGRA_PUPD_PULL_UP,   TEGRA_TRI_NORMAL}, -	{TEGRA_PINGROUP_KBCE,  TEGRA_MUX_KBC,           TEGRA_PUPD_PULL_UP,   TEGRA_TRI_NORMAL}, -	{TEGRA_PINGROUP_KBCF,  TEGRA_MUX_KBC,           TEGRA_PUPD_PULL_UP,   TEGRA_TRI_NORMAL}, -	{TEGRA_PINGROUP_LCSN,  TEGRA_MUX_RSVD4,         TEGRA_PUPD_NORMAL,    TEGRA_TRI_TRISTATE}, -	{TEGRA_PINGROUP_LD0,   TEGRA_MUX_DISPLAYA,      TEGRA_PUPD_NORMAL,    TEGRA_TRI_NORMAL}, -	{TEGRA_PINGROUP_LD1,   TEGRA_MUX_DISPLAYA,      TEGRA_PUPD_NORMAL,    TEGRA_TRI_NORMAL}, -	{TEGRA_PINGROUP_LD10,  TEGRA_MUX_DISPLAYA,      TEGRA_PUPD_NORMAL,    TEGRA_TRI_NORMAL}, -	{TEGRA_PINGROUP_LD11,  TEGRA_MUX_DISPLAYA,      TEGRA_PUPD_NORMAL,    TEGRA_TRI_NORMAL}, -	{TEGRA_PINGROUP_LD12,  TEGRA_MUX_DISPLAYA,      TEGRA_PUPD_NORMAL,    TEGRA_TRI_NORMAL}, -	{TEGRA_PINGROUP_LD13,  TEGRA_MUX_DISPLAYA,      TEGRA_PUPD_NORMAL,    TEGRA_TRI_NORMAL}, -	{TEGRA_PINGROUP_LD14,  TEGRA_MUX_DISPLAYA,      TEGRA_PUPD_NORMAL,    TEGRA_TRI_NORMAL}, -	{TEGRA_PINGROUP_LD15,  TEGRA_MUX_DISPLAYA,      TEGRA_PUPD_NORMAL,    TEGRA_TRI_NORMAL}, -	{TEGRA_PINGROUP_LD16,  TEGRA_MUX_DISPLAYA,      TEGRA_PUPD_NORMAL,    TEGRA_TRI_NORMAL}, -	{TEGRA_PINGROUP_LD17,  TEGRA_MUX_DISPLAYA,      TEGRA_PUPD_NORMAL,    TEGRA_TRI_NORMAL}, -	{TEGRA_PINGROUP_LD2,   TEGRA_MUX_DISPLAYA,      TEGRA_PUPD_NORMAL,    TEGRA_TRI_NORMAL}, -	{TEGRA_PINGROUP_LD3,   TEGRA_MUX_DISPLAYA,      TEGRA_PUPD_NORMAL,    TEGRA_TRI_NORMAL}, -	{TEGRA_PINGROUP_LD4,   TEGRA_MUX_DISPLAYA,      TEGRA_PUPD_NORMAL,    TEGRA_TRI_NORMAL}, -	{TEGRA_PINGROUP_LD5,   TEGRA_MUX_DISPLAYA,      TEGRA_PUPD_NORMAL,    TEGRA_TRI_NORMAL}, -	{TEGRA_PINGROUP_LD6,   TEGRA_MUX_DISPLAYA,      TEGRA_PUPD_NORMAL,    TEGRA_TRI_NORMAL}, -	{TEGRA_PINGROUP_LD7,   TEGRA_MUX_DISPLAYA,      TEGRA_PUPD_NORMAL,    TEGRA_TRI_NORMAL}, -	{TEGRA_PINGROUP_LD8,   TEGRA_MUX_DISPLAYA,      TEGRA_PUPD_NORMAL,    TEGRA_TRI_NORMAL}, -	{TEGRA_PINGROUP_LD9,   TEGRA_MUX_DISPLAYA,      TEGRA_PUPD_NORMAL,    TEGRA_TRI_NORMAL}, -	{TEGRA_PINGROUP_LDC,   TEGRA_MUX_RSVD4,         TEGRA_PUPD_NORMAL,    TEGRA_TRI_TRISTATE}, -	{TEGRA_PINGROUP_LDI,   TEGRA_MUX_DISPLAYA,      TEGRA_PUPD_NORMAL,    TEGRA_TRI_NORMAL}, -	{TEGRA_PINGROUP_LHP0,  TEGRA_MUX_DISPLAYA,      TEGRA_PUPD_NORMAL,    TEGRA_TRI_NORMAL}, -	{TEGRA_PINGROUP_LHP1,  TEGRA_MUX_DISPLAYA,      TEGRA_PUPD_NORMAL,    TEGRA_TRI_NORMAL}, -	{TEGRA_PINGROUP_LHP2,  TEGRA_MUX_DISPLAYA,      TEGRA_PUPD_NORMAL,    TEGRA_TRI_NORMAL}, -	{TEGRA_PINGROUP_LHS,   TEGRA_MUX_DISPLAYA,      TEGRA_PUPD_NORMAL,    TEGRA_TRI_NORMAL}, -	{TEGRA_PINGROUP_LM0,   TEGRA_MUX_RSVD4,         TEGRA_PUPD_NORMAL,    TEGRA_TRI_NORMAL}, -	{TEGRA_PINGROUP_LM1,   TEGRA_MUX_CRT,           TEGRA_PUPD_NORMAL,    TEGRA_TRI_TRISTATE}, -	{TEGRA_PINGROUP_LPP,   TEGRA_MUX_DISPLAYA,      TEGRA_PUPD_NORMAL,    TEGRA_TRI_NORMAL}, -	{TEGRA_PINGROUP_LPW1,  TEGRA_MUX_RSVD4,         TEGRA_PUPD_NORMAL,    TEGRA_TRI_TRISTATE}, -	{TEGRA_PINGROUP_LSC0,  TEGRA_MUX_DISPLAYA,      TEGRA_PUPD_NORMAL,    TEGRA_TRI_NORMAL}, -	{TEGRA_PINGROUP_LSDI,  TEGRA_MUX_RSVD4,         TEGRA_PUPD_NORMAL,    TEGRA_TRI_TRISTATE}, -	{TEGRA_PINGROUP_LSPI,  TEGRA_MUX_DISPLAYA,      TEGRA_PUPD_NORMAL,    TEGRA_TRI_NORMAL}, -	{TEGRA_PINGROUP_LVP0,  TEGRA_MUX_RSVD4,         TEGRA_PUPD_NORMAL,    TEGRA_TRI_TRISTATE}, -	{TEGRA_PINGROUP_LVP1,  TEGRA_MUX_DISPLAYA,      TEGRA_PUPD_NORMAL,    TEGRA_TRI_NORMAL}, -	{TEGRA_PINGROUP_LVS,   TEGRA_MUX_DISPLAYA,      TEGRA_PUPD_NORMAL,    TEGRA_TRI_NORMAL}, -	{TEGRA_PINGROUP_OWC,   TEGRA_MUX_RSVD2,         TEGRA_PUPD_NORMAL,    TEGRA_TRI_TRISTATE}, -	{TEGRA_PINGROUP_PMC,   TEGRA_MUX_PWR_ON,        TEGRA_PUPD_NORMAL,    TEGRA_TRI_NORMAL}, -	{TEGRA_PINGROUP_RM,    TEGRA_MUX_I2C,           TEGRA_PUPD_NORMAL,    TEGRA_TRI_NORMAL}, -	{TEGRA_PINGROUP_SDB,   TEGRA_MUX_SDIO3,         TEGRA_PUPD_NORMAL,    TEGRA_TRI_NORMAL}, -	{TEGRA_PINGROUP_SDC,   TEGRA_MUX_SDIO3,         TEGRA_PUPD_NORMAL,    TEGRA_TRI_NORMAL}, -	{TEGRA_PINGROUP_SDD,   TEGRA_MUX_SDIO3,         TEGRA_PUPD_NORMAL,    TEGRA_TRI_NORMAL}, -	{TEGRA_PINGROUP_SDIO1, TEGRA_MUX_SDIO1,         TEGRA_PUPD_PULL_UP,   TEGRA_TRI_NORMAL}, -	{TEGRA_PINGROUP_SLXA,  TEGRA_MUX_PCIE,          TEGRA_PUPD_PULL_UP,   TEGRA_TRI_TRISTATE}, -	{TEGRA_PINGROUP_SLXD,  TEGRA_MUX_SPDIF,         TEGRA_PUPD_NORMAL,    TEGRA_TRI_NORMAL}, -	{TEGRA_PINGROUP_SPDI,  TEGRA_MUX_RSVD2,         TEGRA_PUPD_NORMAL,    TEGRA_TRI_NORMAL}, -	{TEGRA_PINGROUP_SPDO,  TEGRA_MUX_RSVD2,         TEGRA_PUPD_NORMAL,    TEGRA_TRI_NORMAL}, -	{TEGRA_PINGROUP_SPIB,  TEGRA_MUX_GMI,           TEGRA_PUPD_NORMAL,    TEGRA_TRI_TRISTATE}, -	{TEGRA_PINGROUP_SPID,  TEGRA_MUX_SPI1,          TEGRA_PUPD_NORMAL,    TEGRA_TRI_TRISTATE}, -	{TEGRA_PINGROUP_SPIE,  TEGRA_MUX_SPI1,          TEGRA_PUPD_NORMAL,    TEGRA_TRI_TRISTATE}, -	{TEGRA_PINGROUP_SPIF,  TEGRA_MUX_SPI1,          TEGRA_PUPD_PULL_DOWN, TEGRA_TRI_TRISTATE}, -	{TEGRA_PINGROUP_SPIH,  TEGRA_MUX_SPI2_ALT,      TEGRA_PUPD_PULL_UP,   TEGRA_TRI_TRISTATE}, -	{TEGRA_PINGROUP_UAA,   TEGRA_MUX_ULPI,          TEGRA_PUPD_PULL_UP,   TEGRA_TRI_NORMAL}, -	{TEGRA_PINGROUP_UAB,   TEGRA_MUX_ULPI,          TEGRA_PUPD_PULL_UP,   TEGRA_TRI_NORMAL}, -	{TEGRA_PINGROUP_UAC,   TEGRA_MUX_RSVD2,         TEGRA_PUPD_NORMAL,    TEGRA_TRI_NORMAL}, -	{TEGRA_PINGROUP_UAD,   TEGRA_MUX_IRDA,          TEGRA_PUPD_NORMAL,    TEGRA_TRI_NORMAL}, -	{TEGRA_PINGROUP_UCA,   TEGRA_MUX_UARTC,         TEGRA_PUPD_NORMAL,    TEGRA_TRI_NORMAL}, -	{TEGRA_PINGROUP_UCB,   TEGRA_MUX_UARTC,         TEGRA_PUPD_NORMAL,    TEGRA_TRI_NORMAL}, -	{TEGRA_PINGROUP_UDA,   TEGRA_MUX_ULPI,          TEGRA_PUPD_NORMAL,    TEGRA_TRI_NORMAL}, -	{TEGRA_PINGROUP_CK32,  TEGRA_MUX_NONE,          TEGRA_PUPD_NORMAL,    TEGRA_TRI_NORMAL}, -	{TEGRA_PINGROUP_DDRC,  TEGRA_MUX_NONE,          TEGRA_PUPD_NORMAL,    TEGRA_TRI_NORMAL}, -	{TEGRA_PINGROUP_PMCA,  TEGRA_MUX_NONE,          TEGRA_PUPD_NORMAL,    TEGRA_TRI_NORMAL}, -	{TEGRA_PINGROUP_PMCB,  TEGRA_MUX_NONE,          TEGRA_PUPD_NORMAL,    TEGRA_TRI_NORMAL}, -	{TEGRA_PINGROUP_PMCC,  TEGRA_MUX_NONE,          TEGRA_PUPD_NORMAL,    TEGRA_TRI_NORMAL}, -	{TEGRA_PINGROUP_PMCD,  TEGRA_MUX_NONE,          TEGRA_PUPD_NORMAL,    TEGRA_TRI_NORMAL}, -	{TEGRA_PINGROUP_PMCE,  TEGRA_MUX_NONE,          TEGRA_PUPD_NORMAL,    TEGRA_TRI_NORMAL}, -	{TEGRA_PINGROUP_XM2C,  TEGRA_MUX_NONE,          TEGRA_PUPD_NORMAL,    TEGRA_TRI_NORMAL}, -	{TEGRA_PINGROUP_XM2D,  TEGRA_MUX_NONE,          TEGRA_PUPD_NORMAL,    TEGRA_TRI_NORMAL}, -}; - -static struct tegra_pingroup_config seaboard_pinmux[] = { -	{TEGRA_PINGROUP_DDC,   TEGRA_MUX_RSVD2,         TEGRA_PUPD_NORMAL,    TEGRA_TRI_TRISTATE}, -	{TEGRA_PINGROUP_GMD,   TEGRA_MUX_SFLASH,        TEGRA_PUPD_NORMAL,    TEGRA_TRI_NORMAL}, -	{TEGRA_PINGROUP_LPW0,  TEGRA_MUX_HDMI,          TEGRA_PUPD_NORMAL,    TEGRA_TRI_NORMAL}, -	{TEGRA_PINGROUP_LPW2,  TEGRA_MUX_HDMI,          TEGRA_PUPD_NORMAL,    TEGRA_TRI_NORMAL}, -	{TEGRA_PINGROUP_LSC1,  TEGRA_MUX_HDMI,          TEGRA_PUPD_NORMAL,    TEGRA_TRI_TRISTATE}, -	{TEGRA_PINGROUP_LSCK,  TEGRA_MUX_HDMI,          TEGRA_PUPD_NORMAL,    TEGRA_TRI_TRISTATE}, -	{TEGRA_PINGROUP_LSDA,  TEGRA_MUX_HDMI,          TEGRA_PUPD_NORMAL,    TEGRA_TRI_TRISTATE}, -	{TEGRA_PINGROUP_PTA,   TEGRA_MUX_HDMI,          TEGRA_PUPD_NORMAL,    TEGRA_TRI_NORMAL}, -	{TEGRA_PINGROUP_SLXC,  TEGRA_MUX_SPDIF,         TEGRA_PUPD_NORMAL,    TEGRA_TRI_TRISTATE}, -	{TEGRA_PINGROUP_SLXK,  TEGRA_MUX_PCIE,          TEGRA_PUPD_NORMAL,    TEGRA_TRI_NORMAL}, -	{TEGRA_PINGROUP_SPIA,  TEGRA_MUX_GMI,           TEGRA_PUPD_PULL_UP,   TEGRA_TRI_TRISTATE}, -	{TEGRA_PINGROUP_SPIC,  TEGRA_MUX_GMI,           TEGRA_PUPD_PULL_UP,   TEGRA_TRI_NORMAL}, -	{TEGRA_PINGROUP_SPIG,  TEGRA_MUX_SPI2_ALT,      TEGRA_PUPD_PULL_UP,   TEGRA_TRI_TRISTATE}, -}; - -static struct tegra_pingroup_config ventana_pinmux[] = { -	{TEGRA_PINGROUP_DDC,  TEGRA_MUX_RSVD2,    TEGRA_PUPD_NORMAL,    TEGRA_TRI_NORMAL}, -	{TEGRA_PINGROUP_GMD,  TEGRA_MUX_SFLASH,   TEGRA_PUPD_NORMAL,    TEGRA_TRI_TRISTATE}, -	{TEGRA_PINGROUP_LPW0, TEGRA_MUX_RSVD4,    TEGRA_PUPD_NORMAL,    TEGRA_TRI_NORMAL}, -	{TEGRA_PINGROUP_LPW2, TEGRA_MUX_RSVD4,    TEGRA_PUPD_NORMAL,    TEGRA_TRI_NORMAL}, -	{TEGRA_PINGROUP_LSC1, TEGRA_MUX_RSVD4,    TEGRA_PUPD_NORMAL,    TEGRA_TRI_NORMAL}, -	{TEGRA_PINGROUP_LSCK, TEGRA_MUX_RSVD4,    TEGRA_PUPD_NORMAL,    TEGRA_TRI_TRISTATE}, -	{TEGRA_PINGROUP_LSDA, TEGRA_MUX_RSVD4,    TEGRA_PUPD_NORMAL,    TEGRA_TRI_TRISTATE}, -	{TEGRA_PINGROUP_PTA,  TEGRA_MUX_RSVD2,    TEGRA_PUPD_NORMAL,    TEGRA_TRI_NORMAL}, -	{TEGRA_PINGROUP_SLXC, TEGRA_MUX_SDIO3,    TEGRA_PUPD_NORMAL,    TEGRA_TRI_NORMAL}, -	{TEGRA_PINGROUP_SLXK, TEGRA_MUX_SDIO3,    TEGRA_PUPD_NORMAL,    TEGRA_TRI_NORMAL}, -	{TEGRA_PINGROUP_SPIA, TEGRA_MUX_GMI,      TEGRA_PUPD_NORMAL,    TEGRA_TRI_TRISTATE}, -	{TEGRA_PINGROUP_SPIC, TEGRA_MUX_GMI,      TEGRA_PUPD_NORMAL,    TEGRA_TRI_TRISTATE}, -	{TEGRA_PINGROUP_SPIG, TEGRA_MUX_SPI2_ALT, TEGRA_PUPD_NORMAL,    TEGRA_TRI_TRISTATE}, +static unsigned long seaboard_pincfg_drive_sdio1[] = { +	TEGRA_PINCONF_PACK(TEGRA_PINCONF_PARAM_HIGH_SPEED_MODE, 0), +	TEGRA_PINCONF_PACK(TEGRA_PINCONF_PARAM_SCHMITT, 0), +	TEGRA_PINCONF_PACK(TEGRA_PINCONF_PARAM_LOW_POWER_MODE, 3), +	TEGRA_PINCONF_PACK(TEGRA_PINCONF_PARAM_DRIVE_DOWN_STRENGTH, 31), +	TEGRA_PINCONF_PACK(TEGRA_PINCONF_PARAM_DRIVE_UP_STRENGTH, 31), +	TEGRA_PINCONF_PACK(TEGRA_PINCONF_PARAM_SLEW_RATE_FALLING, 3), +	TEGRA_PINCONF_PACK(TEGRA_PINCONF_PARAM_SLEW_RATE_RISING, 3),  }; -static struct tegra_gpio_table common_gpio_table[] = { -	{ .gpio = TEGRA_GPIO_SD2_CD,		.enable = true }, -	{ .gpio = TEGRA_GPIO_SD2_WP,		.enable = true }, -	{ .gpio = TEGRA_GPIO_SD2_POWER,		.enable = true }, -	{ .gpio = TEGRA_GPIO_CDC_IRQ,		.enable = true }, +static struct pinctrl_map common_map[] = { +	TEGRA_MAP_MUXCONF("ata",   "ide",           none, driven), +	TEGRA_MAP_MUXCONF("atb",   "sdio4",         none, driven), +	TEGRA_MAP_MUXCONF("atc",   "nand",          none, driven), +	TEGRA_MAP_MUXCONF("atd",   "gmi",           none, driven), +	TEGRA_MAP_MUXCONF("ate",   "gmi",           none, tristate), +	TEGRA_MAP_MUXCONF("cdev1", "plla_out",      none, driven), +	TEGRA_MAP_MUXCONF("cdev2", "pllp_out4",     none, driven), +	TEGRA_MAP_MUXCONF("crtp",  "crt",           up,   tristate), +	TEGRA_MAP_MUXCONF("csus",  "vi_sensor_clk", none, tristate), +	TEGRA_MAP_MUXCONF("dap1",  "dap1",          none, driven), +	TEGRA_MAP_MUXCONF("dap2",  "dap2",          none, driven), +	TEGRA_MAP_MUXCONF("dap3",  "dap3",          none, tristate), +	TEGRA_MAP_MUXCONF("dap4",  "dap4",          none, driven), +	TEGRA_MAP_MUXCONF("dta",   "vi",            down, driven), +	TEGRA_MAP_MUXCONF("dtb",   "vi",            down, driven), +	TEGRA_MAP_MUXCONF("dtc",   "vi",            down, driven), +	TEGRA_MAP_MUXCONF("dtd",   "vi",            down, driven), +	TEGRA_MAP_MUXCONF("dte",   "vi",            down, tristate), +	TEGRA_MAP_MUXCONF("dtf",   "i2c3",          none, driven), +	TEGRA_MAP_MUXCONF("gma",   "sdio4",         none, driven), +	TEGRA_MAP_MUXCONF("gmb",   "gmi",           up,   tristate), +	TEGRA_MAP_MUXCONF("gmc",   "uartd",         none, driven), +	TEGRA_MAP_MUXCONF("gme",   "sdio4",         none, driven), +	TEGRA_MAP_MUXCONF("gpu",   "pwm",           none, driven), +	TEGRA_MAP_MUXCONF("gpu7",  "rtck",          none, driven), +	TEGRA_MAP_MUXCONF("gpv",   "pcie",          none, tristate), +	TEGRA_MAP_MUXCONF("hdint", "hdmi",          na,   tristate), +	TEGRA_MAP_MUXCONF("i2cp",  "i2cp",          none, driven), +	TEGRA_MAP_MUXCONF("irrx",  "uartb",         none, driven), +	TEGRA_MAP_MUXCONF("irtx",  "uartb",         none, driven), +	TEGRA_MAP_MUXCONF("kbca",  "kbc",           up,   driven), +	TEGRA_MAP_MUXCONF("kbcb",  "kbc",           up,   driven), +	TEGRA_MAP_MUXCONF("kbcc",  "kbc",           up,   driven), +	TEGRA_MAP_MUXCONF("kbcd",  "kbc",           up,   driven), +	TEGRA_MAP_MUXCONF("kbce",  "kbc",           up,   driven), +	TEGRA_MAP_MUXCONF("kbcf",  "kbc",           up,   driven), +	TEGRA_MAP_MUXCONF("lcsn",  "rsvd4",         na,   tristate), +	TEGRA_MAP_MUXCONF("ld0",   "displaya",      na,   driven), +	TEGRA_MAP_MUXCONF("ld1",   "displaya",      na,   driven), +	TEGRA_MAP_MUXCONF("ld10",  "displaya",      na,   driven), +	TEGRA_MAP_MUXCONF("ld11",  "displaya",      na,   driven), +	TEGRA_MAP_MUXCONF("ld12",  "displaya",      na,   driven), +	TEGRA_MAP_MUXCONF("ld13",  "displaya",      na,   driven), +	TEGRA_MAP_MUXCONF("ld14",  "displaya",      na,   driven), +	TEGRA_MAP_MUXCONF("ld15",  "displaya",      na,   driven), +	TEGRA_MAP_MUXCONF("ld16",  "displaya",      na,   driven), +	TEGRA_MAP_MUXCONF("ld17",  "displaya",      na,   driven), +	TEGRA_MAP_MUXCONF("ld2",   "displaya",      na,   driven), +	TEGRA_MAP_MUXCONF("ld3",   "displaya",      na,   driven), +	TEGRA_MAP_MUXCONF("ld4",   "displaya",      na,   driven), +	TEGRA_MAP_MUXCONF("ld5",   "displaya",      na,   driven), +	TEGRA_MAP_MUXCONF("ld6",   "displaya",      na,   driven), +	TEGRA_MAP_MUXCONF("ld7",   "displaya",      na,   driven), +	TEGRA_MAP_MUXCONF("ld8",   "displaya",      na,   driven), +	TEGRA_MAP_MUXCONF("ld9",   "displaya",      na,   driven), +	TEGRA_MAP_MUXCONF("ldc",   "rsvd4",         na,   tristate), +	TEGRA_MAP_MUXCONF("ldi",   "displaya",      na,   driven), +	TEGRA_MAP_MUXCONF("lhp0",  "displaya",      na,   driven), +	TEGRA_MAP_MUXCONF("lhp1",  "displaya",      na,   driven), +	TEGRA_MAP_MUXCONF("lhp2",  "displaya",      na,   driven), +	TEGRA_MAP_MUXCONF("lhs",   "displaya",      na,   driven), +	TEGRA_MAP_MUXCONF("lm0",   "rsvd4",         na,   driven), +	TEGRA_MAP_MUXCONF("lm1",   "crt",           na,   tristate), +	TEGRA_MAP_MUXCONF("lpp",   "displaya",      na,   driven), +	TEGRA_MAP_MUXCONF("lpw1",  "rsvd4",         na,   tristate), +	TEGRA_MAP_MUXCONF("lsc0",  "displaya",      na,   driven), +	TEGRA_MAP_MUXCONF("lsdi",  "rsvd4",         na,   tristate), +	TEGRA_MAP_MUXCONF("lspi",  "displaya",      na,   driven), +	TEGRA_MAP_MUXCONF("lvp0",  "rsvd4",         na,   tristate), +	TEGRA_MAP_MUXCONF("lvp1",  "displaya",      na,   driven), +	TEGRA_MAP_MUXCONF("lvs",   "displaya",      na,   driven), +	TEGRA_MAP_MUXCONF("owc",   "rsvd2",         none, tristate), +	TEGRA_MAP_MUXCONF("pmc",   "pwr_on",        na,   driven), +	TEGRA_MAP_MUXCONF("pta",   "hdmi",          none, driven), +	TEGRA_MAP_MUXCONF("rm",    "i2c1",          none, driven), +	TEGRA_MAP_MUXCONF("sdb",   "sdio3",         na,   driven), +	TEGRA_MAP_MUXCONF("sdc",   "sdio3",         none, driven), +	TEGRA_MAP_MUXCONF("sdd",   "sdio3",         none, driven), +	TEGRA_MAP_MUXCONF("sdio1", "sdio1",         up,   driven), +	TEGRA_MAP_MUXCONF("slxa",  "pcie",          up,   tristate), +	TEGRA_MAP_MUXCONF("slxd",  "spdif",         none, driven), +	TEGRA_MAP_MUXCONF("slxk",  "pcie",          none, driven), +	TEGRA_MAP_MUXCONF("spdi",  "rsvd2",         none, driven), +	TEGRA_MAP_MUXCONF("spdo",  "rsvd2",         none, driven), +	TEGRA_MAP_MUXCONF("spib",  "gmi",           none, tristate), +	TEGRA_MAP_MUXCONF("spid",  "spi1",          none, tristate), +	TEGRA_MAP_MUXCONF("spie",  "spi1",          none, tristate), +	TEGRA_MAP_MUXCONF("spif",  "spi1",          down, tristate), +	TEGRA_MAP_MUXCONF("spih",  "spi2_alt",      up,   tristate), +	TEGRA_MAP_MUXCONF("uaa",   "ulpi",          up,   driven), +	TEGRA_MAP_MUXCONF("uab",   "ulpi",          up,   driven), +	TEGRA_MAP_MUXCONF("uac",   "rsvd2",         none, driven), +	TEGRA_MAP_MUXCONF("uad",   "irda",          none, driven), +	TEGRA_MAP_MUXCONF("uca",   "uartc",         none, driven), +	TEGRA_MAP_MUXCONF("ucb",   "uartc",         none, driven), +	TEGRA_MAP_MUXCONF("uda",   "ulpi",          none, driven), +	TEGRA_MAP_CONF("ck32",    none, na), +	TEGRA_MAP_CONF("ddrc",    none, na), +	TEGRA_MAP_CONF("pmca",    none, na), +	TEGRA_MAP_CONF("pmcb",    none, na), +	TEGRA_MAP_CONF("pmcc",    none, na), +	TEGRA_MAP_CONF("pmcd",    none, na), +	TEGRA_MAP_CONF("pmce",    none, na), +	TEGRA_MAP_CONF("xm2c",    none, na), +	TEGRA_MAP_CONF("xm2d",    none, na), +	TEGRA_MAP_CONF("ls",      up,   na), +	TEGRA_MAP_CONF("lc",      up,   na), +	TEGRA_MAP_CONF("ld17_0",  down, na), +	TEGRA_MAP_CONF("ld19_18", down, na), +	TEGRA_MAP_CONF("ld21_20", down, na), +	TEGRA_MAP_CONF("ld23_22", down, na),  }; -static struct tegra_gpio_table seaboard_gpio_table[] = { -	{ .gpio = TEGRA_GPIO_LIDSWITCH,		.enable = true }, -	{ .gpio = TEGRA_GPIO_POWERKEY,		.enable = true }, -	{ .gpio = TEGRA_GPIO_HP_DET,		.enable = true }, -	{ .gpio = TEGRA_GPIO_ISL29018_IRQ,	.enable = true }, -	{ .gpio = TEGRA_GPIO_USB1,		.enable = true }, +static struct pinctrl_map seaboard_map[] = { +	TEGRA_MAP_MUXCONF("ddc",   "rsvd2",         none, tristate), +	TEGRA_MAP_MUXCONF("gmd",   "sflash",        none, driven), +	TEGRA_MAP_MUXCONF("lpw0",  "hdmi",          na,   driven), +	TEGRA_MAP_MUXCONF("lpw2",  "hdmi",          na,   driven), +	TEGRA_MAP_MUXCONF("lsc1",  "hdmi",          na,   tristate), +	TEGRA_MAP_MUXCONF("lsck",  "hdmi",          na,   tristate), +	TEGRA_MAP_MUXCONF("lsda",  "hdmi",          na,   tristate), +	TEGRA_MAP_MUXCONF("slxc",  "spdif",         none, tristate), +	TEGRA_MAP_MUXCONF("spia",  "gmi",           up,   tristate), +	TEGRA_MAP_MUXCONF("spic",  "gmi",           up,   driven), +	TEGRA_MAP_MUXCONF("spig",  "spi2_alt",      up,   tristate), +	PIN_MAP_CONFIGS_GROUP_HOG_DEFAULT(PINMUX_DEV, "drive_sdio1", seaboard_pincfg_drive_sdio1),  }; -static struct tegra_gpio_table ventana_gpio_table[] = { -	/* hp_det */ -	{ .gpio = TEGRA_GPIO_PW2,		.enable = true }, -	/* int_mic_en */ -	{ .gpio = TEGRA_GPIO_PX0,		.enable = true }, -	/* ext_mic_en */ -	{ .gpio = TEGRA_GPIO_PX1,		.enable = true }, +static struct pinctrl_map ventana_map[] = { +	TEGRA_MAP_MUXCONF("ddc",   "rsvd2",         none, driven), +	TEGRA_MAP_MUXCONF("gmd",   "sflash",        none, tristate), +	TEGRA_MAP_MUXCONF("lpw0",  "displaya",      na,   driven), +	TEGRA_MAP_MUXCONF("lpw2",  "displaya",      na,   driven), +	TEGRA_MAP_MUXCONF("lsc1",  "displaya",      na,   driven), +	TEGRA_MAP_MUXCONF("lsck",  "displaya",      na,   tristate), +	TEGRA_MAP_MUXCONF("lsda",  "displaya",      na,   tristate), +	TEGRA_MAP_MUXCONF("slxc",  "sdio3",         none, driven), +	TEGRA_MAP_MUXCONF("spia",  "gmi",           none, tristate), +	TEGRA_MAP_MUXCONF("spic",  "gmi",           none, tristate), +	TEGRA_MAP_MUXCONF("spig",  "spi2_alt",      none, tristate),  };  static struct tegra_board_pinmux_conf common_conf = { -	.pgs = common_pinmux, -	.pg_count = ARRAY_SIZE(common_pinmux), -	.gpios = common_gpio_table, -	.gpio_count = ARRAY_SIZE(common_gpio_table), +	.maps = common_map, +	.map_count = ARRAY_SIZE(common_map),  };  static struct tegra_board_pinmux_conf seaboard_conf = { -	.pgs = seaboard_pinmux, -	.pg_count = ARRAY_SIZE(seaboard_pinmux), -	.drives = seaboard_drive_pinmux, -	.drive_count = ARRAY_SIZE(seaboard_drive_pinmux), -	.gpios = seaboard_gpio_table, -	.gpio_count = ARRAY_SIZE(seaboard_gpio_table), +	.maps = seaboard_map, +	.map_count = ARRAY_SIZE(seaboard_map),  };  static struct tegra_board_pinmux_conf ventana_conf = { -	.pgs = ventana_pinmux, -	.pg_count = ARRAY_SIZE(ventana_pinmux), -	.gpios = ventana_gpio_table, -	.gpio_count = ARRAY_SIZE(ventana_gpio_table), +	.maps = ventana_map, +	.map_count = ARRAY_SIZE(ventana_map),  };  void seaboard_pinmux_init(void)  |