2 * Copyright (C) 2010,2011 NVIDIA Corporation
3 * Copyright (C) 2011 Google, Inc.
5 * This software is licensed under the terms of the GNU General Public
6 * License version 2, as published by the Free Software Foundation, and
7 * may be copied, distributed, and modified under those terms.
9 * This program is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 * GNU General Public License for more details.
16 #include <linux/kernel.h>
17 #include <linux/init.h>
18 #include <linux/gpio.h>
21 #include <mach/pinmux.h>
22 #include <mach/pinmux-tegra20.h>
24 #include "gpio-names.h"
25 #include "board-pinmux.h"
26 #include "board-seaboard.h"
28 #define DEFAULT_DRIVE(_name) \
30 .pingroup = TEGRA_DRIVE_PINGROUP_##_name, \
31 .hsm = TEGRA_HSM_DISABLE, \
32 .schmitt = TEGRA_SCHMITT_ENABLE, \
33 .drive = TEGRA_DRIVE_DIV_1, \
34 .pull_down = TEGRA_PULL_31, \
35 .pull_up = TEGRA_PULL_31, \
36 .slew_rising = TEGRA_SLEW_SLOWEST, \
37 .slew_falling = TEGRA_SLEW_SLOWEST, \
40 static struct tegra_drive_pingroup_config seaboard_drive_pinmux
[] = {
44 static struct tegra_pingroup_config common_pinmux
[] = {
45 {TEGRA_PINGROUP_ATA
, TEGRA_MUX_IDE
, TEGRA_PUPD_NORMAL
, TEGRA_TRI_NORMAL
},
46 {TEGRA_PINGROUP_ATB
, TEGRA_MUX_SDIO4
, TEGRA_PUPD_NORMAL
, TEGRA_TRI_NORMAL
},
47 {TEGRA_PINGROUP_ATC
, TEGRA_MUX_NAND
, TEGRA_PUPD_NORMAL
, TEGRA_TRI_NORMAL
},
48 {TEGRA_PINGROUP_ATD
, TEGRA_MUX_GMI
, TEGRA_PUPD_NORMAL
, TEGRA_TRI_NORMAL
},
49 {TEGRA_PINGROUP_ATE
, TEGRA_MUX_GMI
, TEGRA_PUPD_NORMAL
, TEGRA_TRI_TRISTATE
},
50 {TEGRA_PINGROUP_CDEV1
, TEGRA_MUX_PLLA_OUT
, TEGRA_PUPD_NORMAL
, TEGRA_TRI_NORMAL
},
51 {TEGRA_PINGROUP_CDEV2
, TEGRA_MUX_PLLP_OUT4
, TEGRA_PUPD_NORMAL
, TEGRA_TRI_NORMAL
},
52 {TEGRA_PINGROUP_CRTP
, TEGRA_MUX_CRT
, TEGRA_PUPD_PULL_UP
, TEGRA_TRI_TRISTATE
},
53 {TEGRA_PINGROUP_CSUS
, TEGRA_MUX_VI_SENSOR_CLK
, TEGRA_PUPD_NORMAL
, TEGRA_TRI_TRISTATE
},
54 {TEGRA_PINGROUP_DAP1
, TEGRA_MUX_DAP1
, TEGRA_PUPD_NORMAL
, TEGRA_TRI_NORMAL
},
55 {TEGRA_PINGROUP_DAP2
, TEGRA_MUX_DAP2
, TEGRA_PUPD_NORMAL
, TEGRA_TRI_NORMAL
},
56 {TEGRA_PINGROUP_DAP3
, TEGRA_MUX_DAP3
, TEGRA_PUPD_NORMAL
, TEGRA_TRI_TRISTATE
},
57 {TEGRA_PINGROUP_DAP4
, TEGRA_MUX_DAP4
, TEGRA_PUPD_NORMAL
, TEGRA_TRI_NORMAL
},
58 {TEGRA_PINGROUP_DTA
, TEGRA_MUX_VI
, TEGRA_PUPD_PULL_DOWN
, TEGRA_TRI_NORMAL
},
59 {TEGRA_PINGROUP_DTB
, TEGRA_MUX_VI
, TEGRA_PUPD_PULL_DOWN
, TEGRA_TRI_NORMAL
},
60 {TEGRA_PINGROUP_DTC
, TEGRA_MUX_VI
, TEGRA_PUPD_PULL_DOWN
, TEGRA_TRI_NORMAL
},
61 {TEGRA_PINGROUP_DTD
, TEGRA_MUX_VI
, TEGRA_PUPD_PULL_DOWN
, TEGRA_TRI_NORMAL
},
62 {TEGRA_PINGROUP_DTE
, TEGRA_MUX_VI
, TEGRA_PUPD_PULL_DOWN
, TEGRA_TRI_TRISTATE
},
63 {TEGRA_PINGROUP_DTF
, TEGRA_MUX_I2C3
, TEGRA_PUPD_NORMAL
, TEGRA_TRI_NORMAL
},
64 {TEGRA_PINGROUP_GMA
, TEGRA_MUX_SDIO4
, TEGRA_PUPD_NORMAL
, TEGRA_TRI_NORMAL
},
65 {TEGRA_PINGROUP_GMB
, TEGRA_MUX_GMI
, TEGRA_PUPD_PULL_UP
, TEGRA_TRI_TRISTATE
},
66 {TEGRA_PINGROUP_GMC
, TEGRA_MUX_UARTD
, TEGRA_PUPD_NORMAL
, TEGRA_TRI_NORMAL
},
67 {TEGRA_PINGROUP_GME
, TEGRA_MUX_SDIO4
, TEGRA_PUPD_NORMAL
, TEGRA_TRI_NORMAL
},
68 {TEGRA_PINGROUP_GPU
, TEGRA_MUX_PWM
, TEGRA_PUPD_NORMAL
, TEGRA_TRI_NORMAL
},
69 {TEGRA_PINGROUP_GPU7
, TEGRA_MUX_RTCK
, TEGRA_PUPD_NORMAL
, TEGRA_TRI_NORMAL
},
70 {TEGRA_PINGROUP_GPV
, TEGRA_MUX_PCIE
, TEGRA_PUPD_NORMAL
, TEGRA_TRI_TRISTATE
},
71 {TEGRA_PINGROUP_HDINT
, TEGRA_MUX_HDMI
, TEGRA_PUPD_NORMAL
, TEGRA_TRI_TRISTATE
},
72 {TEGRA_PINGROUP_I2CP
, TEGRA_MUX_I2C
, TEGRA_PUPD_NORMAL
, TEGRA_TRI_NORMAL
},
73 {TEGRA_PINGROUP_IRRX
, TEGRA_MUX_UARTB
, TEGRA_PUPD_NORMAL
, TEGRA_TRI_NORMAL
},
74 {TEGRA_PINGROUP_IRTX
, TEGRA_MUX_UARTB
, TEGRA_PUPD_NORMAL
, TEGRA_TRI_NORMAL
},
75 {TEGRA_PINGROUP_KBCA
, TEGRA_MUX_KBC
, TEGRA_PUPD_PULL_UP
, TEGRA_TRI_NORMAL
},
76 {TEGRA_PINGROUP_KBCB
, TEGRA_MUX_KBC
, TEGRA_PUPD_PULL_UP
, TEGRA_TRI_NORMAL
},
77 {TEGRA_PINGROUP_KBCC
, TEGRA_MUX_KBC
, TEGRA_PUPD_PULL_UP
, TEGRA_TRI_NORMAL
},
78 {TEGRA_PINGROUP_KBCD
, TEGRA_MUX_KBC
, TEGRA_PUPD_PULL_UP
, TEGRA_TRI_NORMAL
},
79 {TEGRA_PINGROUP_KBCE
, TEGRA_MUX_KBC
, TEGRA_PUPD_PULL_UP
, TEGRA_TRI_NORMAL
},
80 {TEGRA_PINGROUP_KBCF
, TEGRA_MUX_KBC
, TEGRA_PUPD_PULL_UP
, TEGRA_TRI_NORMAL
},
81 {TEGRA_PINGROUP_LCSN
, TEGRA_MUX_RSVD4
, TEGRA_PUPD_NORMAL
, TEGRA_TRI_TRISTATE
},
82 {TEGRA_PINGROUP_LD0
, TEGRA_MUX_DISPLAYA
, TEGRA_PUPD_NORMAL
, TEGRA_TRI_NORMAL
},
83 {TEGRA_PINGROUP_LD1
, TEGRA_MUX_DISPLAYA
, TEGRA_PUPD_NORMAL
, TEGRA_TRI_NORMAL
},
84 {TEGRA_PINGROUP_LD10
, TEGRA_MUX_DISPLAYA
, TEGRA_PUPD_NORMAL
, TEGRA_TRI_NORMAL
},
85 {TEGRA_PINGROUP_LD11
, TEGRA_MUX_DISPLAYA
, TEGRA_PUPD_NORMAL
, TEGRA_TRI_NORMAL
},
86 {TEGRA_PINGROUP_LD12
, TEGRA_MUX_DISPLAYA
, TEGRA_PUPD_NORMAL
, TEGRA_TRI_NORMAL
},
87 {TEGRA_PINGROUP_LD13
, TEGRA_MUX_DISPLAYA
, TEGRA_PUPD_NORMAL
, TEGRA_TRI_NORMAL
},
88 {TEGRA_PINGROUP_LD14
, TEGRA_MUX_DISPLAYA
, TEGRA_PUPD_NORMAL
, TEGRA_TRI_NORMAL
},
89 {TEGRA_PINGROUP_LD15
, TEGRA_MUX_DISPLAYA
, TEGRA_PUPD_NORMAL
, TEGRA_TRI_NORMAL
},
90 {TEGRA_PINGROUP_LD16
, TEGRA_MUX_DISPLAYA
, TEGRA_PUPD_NORMAL
, TEGRA_TRI_NORMAL
},
91 {TEGRA_PINGROUP_LD17
, TEGRA_MUX_DISPLAYA
, TEGRA_PUPD_NORMAL
, TEGRA_TRI_NORMAL
},
92 {TEGRA_PINGROUP_LD2
, TEGRA_MUX_DISPLAYA
, TEGRA_PUPD_NORMAL
, TEGRA_TRI_NORMAL
},
93 {TEGRA_PINGROUP_LD3
, TEGRA_MUX_DISPLAYA
, TEGRA_PUPD_NORMAL
, TEGRA_TRI_NORMAL
},
94 {TEGRA_PINGROUP_LD4
, TEGRA_MUX_DISPLAYA
, TEGRA_PUPD_NORMAL
, TEGRA_TRI_NORMAL
},
95 {TEGRA_PINGROUP_LD5
, TEGRA_MUX_DISPLAYA
, TEGRA_PUPD_NORMAL
, TEGRA_TRI_NORMAL
},
96 {TEGRA_PINGROUP_LD6
, TEGRA_MUX_DISPLAYA
, TEGRA_PUPD_NORMAL
, TEGRA_TRI_NORMAL
},
97 {TEGRA_PINGROUP_LD7
, TEGRA_MUX_DISPLAYA
, TEGRA_PUPD_NORMAL
, TEGRA_TRI_NORMAL
},
98 {TEGRA_PINGROUP_LD8
, TEGRA_MUX_DISPLAYA
, TEGRA_PUPD_NORMAL
, TEGRA_TRI_NORMAL
},
99 {TEGRA_PINGROUP_LD9
, TEGRA_MUX_DISPLAYA
, TEGRA_PUPD_NORMAL
, TEGRA_TRI_NORMAL
},
100 {TEGRA_PINGROUP_LDC
, TEGRA_MUX_RSVD4
, TEGRA_PUPD_NORMAL
, TEGRA_TRI_TRISTATE
},
101 {TEGRA_PINGROUP_LDI
, TEGRA_MUX_DISPLAYA
, TEGRA_PUPD_NORMAL
, TEGRA_TRI_NORMAL
},
102 {TEGRA_PINGROUP_LHP0
, TEGRA_MUX_DISPLAYA
, TEGRA_PUPD_NORMAL
, TEGRA_TRI_NORMAL
},
103 {TEGRA_PINGROUP_LHP1
, TEGRA_MUX_DISPLAYA
, TEGRA_PUPD_NORMAL
, TEGRA_TRI_NORMAL
},
104 {TEGRA_PINGROUP_LHP2
, TEGRA_MUX_DISPLAYA
, TEGRA_PUPD_NORMAL
, TEGRA_TRI_NORMAL
},
105 {TEGRA_PINGROUP_LHS
, TEGRA_MUX_DISPLAYA
, TEGRA_PUPD_NORMAL
, TEGRA_TRI_NORMAL
},
106 {TEGRA_PINGROUP_LM0
, TEGRA_MUX_RSVD4
, TEGRA_PUPD_NORMAL
, TEGRA_TRI_NORMAL
},
107 {TEGRA_PINGROUP_LM1
, TEGRA_MUX_CRT
, TEGRA_PUPD_NORMAL
, TEGRA_TRI_TRISTATE
},
108 {TEGRA_PINGROUP_LPP
, TEGRA_MUX_DISPLAYA
, TEGRA_PUPD_NORMAL
, TEGRA_TRI_NORMAL
},
109 {TEGRA_PINGROUP_LPW1
, TEGRA_MUX_RSVD4
, TEGRA_PUPD_NORMAL
, TEGRA_TRI_TRISTATE
},
110 {TEGRA_PINGROUP_LSC0
, TEGRA_MUX_DISPLAYA
, TEGRA_PUPD_NORMAL
, TEGRA_TRI_NORMAL
},
111 {TEGRA_PINGROUP_LSDI
, TEGRA_MUX_RSVD4
, TEGRA_PUPD_NORMAL
, TEGRA_TRI_TRISTATE
},
112 {TEGRA_PINGROUP_LSPI
, TEGRA_MUX_DISPLAYA
, TEGRA_PUPD_NORMAL
, TEGRA_TRI_NORMAL
},
113 {TEGRA_PINGROUP_LVP0
, TEGRA_MUX_RSVD4
, TEGRA_PUPD_NORMAL
, TEGRA_TRI_TRISTATE
},
114 {TEGRA_PINGROUP_LVP1
, TEGRA_MUX_DISPLAYA
, TEGRA_PUPD_NORMAL
, TEGRA_TRI_NORMAL
},
115 {TEGRA_PINGROUP_LVS
, TEGRA_MUX_DISPLAYA
, TEGRA_PUPD_NORMAL
, TEGRA_TRI_NORMAL
},
116 {TEGRA_PINGROUP_OWC
, TEGRA_MUX_RSVD2
, TEGRA_PUPD_NORMAL
, TEGRA_TRI_TRISTATE
},
117 {TEGRA_PINGROUP_PMC
, TEGRA_MUX_PWR_ON
, TEGRA_PUPD_NORMAL
, TEGRA_TRI_NORMAL
},
118 {TEGRA_PINGROUP_RM
, TEGRA_MUX_I2C
, TEGRA_PUPD_NORMAL
, TEGRA_TRI_NORMAL
},
119 {TEGRA_PINGROUP_SDB
, TEGRA_MUX_SDIO3
, TEGRA_PUPD_NORMAL
, TEGRA_TRI_NORMAL
},
120 {TEGRA_PINGROUP_SDC
, TEGRA_MUX_SDIO3
, TEGRA_PUPD_NORMAL
, TEGRA_TRI_NORMAL
},
121 {TEGRA_PINGROUP_SDD
, TEGRA_MUX_SDIO3
, TEGRA_PUPD_NORMAL
, TEGRA_TRI_NORMAL
},
122 {TEGRA_PINGROUP_SDIO1
, TEGRA_MUX_SDIO1
, TEGRA_PUPD_PULL_UP
, TEGRA_TRI_NORMAL
},
123 {TEGRA_PINGROUP_SLXA
, TEGRA_MUX_PCIE
, TEGRA_PUPD_PULL_UP
, TEGRA_TRI_TRISTATE
},
124 {TEGRA_PINGROUP_SLXD
, TEGRA_MUX_SPDIF
, TEGRA_PUPD_NORMAL
, TEGRA_TRI_NORMAL
},
125 {TEGRA_PINGROUP_SPDI
, TEGRA_MUX_RSVD2
, TEGRA_PUPD_NORMAL
, TEGRA_TRI_NORMAL
},
126 {TEGRA_PINGROUP_SPDO
, TEGRA_MUX_RSVD2
, TEGRA_PUPD_NORMAL
, TEGRA_TRI_NORMAL
},
127 {TEGRA_PINGROUP_SPIB
, TEGRA_MUX_GMI
, TEGRA_PUPD_NORMAL
, TEGRA_TRI_TRISTATE
},
128 {TEGRA_PINGROUP_SPID
, TEGRA_MUX_SPI1
, TEGRA_PUPD_NORMAL
, TEGRA_TRI_TRISTATE
},
129 {TEGRA_PINGROUP_SPIE
, TEGRA_MUX_SPI1
, TEGRA_PUPD_NORMAL
, TEGRA_TRI_TRISTATE
},
130 {TEGRA_PINGROUP_SPIF
, TEGRA_MUX_SPI1
, TEGRA_PUPD_PULL_DOWN
, TEGRA_TRI_TRISTATE
},
131 {TEGRA_PINGROUP_SPIH
, TEGRA_MUX_SPI2_ALT
, TEGRA_PUPD_PULL_UP
, TEGRA_TRI_TRISTATE
},
132 {TEGRA_PINGROUP_UAA
, TEGRA_MUX_ULPI
, TEGRA_PUPD_PULL_UP
, TEGRA_TRI_NORMAL
},
133 {TEGRA_PINGROUP_UAB
, TEGRA_MUX_ULPI
, TEGRA_PUPD_PULL_UP
, TEGRA_TRI_NORMAL
},
134 {TEGRA_PINGROUP_UAC
, TEGRA_MUX_RSVD2
, TEGRA_PUPD_NORMAL
, TEGRA_TRI_NORMAL
},
135 {TEGRA_PINGROUP_UAD
, TEGRA_MUX_IRDA
, TEGRA_PUPD_NORMAL
, TEGRA_TRI_NORMAL
},
136 {TEGRA_PINGROUP_UCA
, TEGRA_MUX_UARTC
, TEGRA_PUPD_NORMAL
, TEGRA_TRI_NORMAL
},
137 {TEGRA_PINGROUP_UCB
, TEGRA_MUX_UARTC
, TEGRA_PUPD_NORMAL
, TEGRA_TRI_NORMAL
},
138 {TEGRA_PINGROUP_UDA
, TEGRA_MUX_ULPI
, TEGRA_PUPD_NORMAL
, TEGRA_TRI_NORMAL
},
139 {TEGRA_PINGROUP_CK32
, TEGRA_MUX_NONE
, TEGRA_PUPD_NORMAL
, TEGRA_TRI_NORMAL
},
140 {TEGRA_PINGROUP_DDRC
, TEGRA_MUX_NONE
, TEGRA_PUPD_NORMAL
, TEGRA_TRI_NORMAL
},
141 {TEGRA_PINGROUP_PMCA
, TEGRA_MUX_NONE
, TEGRA_PUPD_NORMAL
, TEGRA_TRI_NORMAL
},
142 {TEGRA_PINGROUP_PMCB
, TEGRA_MUX_NONE
, TEGRA_PUPD_NORMAL
, TEGRA_TRI_NORMAL
},
143 {TEGRA_PINGROUP_PMCC
, TEGRA_MUX_NONE
, TEGRA_PUPD_NORMAL
, TEGRA_TRI_NORMAL
},
144 {TEGRA_PINGROUP_PMCD
, TEGRA_MUX_NONE
, TEGRA_PUPD_NORMAL
, TEGRA_TRI_NORMAL
},
145 {TEGRA_PINGROUP_PMCE
, TEGRA_MUX_NONE
, TEGRA_PUPD_NORMAL
, TEGRA_TRI_NORMAL
},
146 {TEGRA_PINGROUP_XM2C
, TEGRA_MUX_NONE
, TEGRA_PUPD_NORMAL
, TEGRA_TRI_NORMAL
},
147 {TEGRA_PINGROUP_XM2D
, TEGRA_MUX_NONE
, TEGRA_PUPD_NORMAL
, TEGRA_TRI_NORMAL
},
150 static struct tegra_pingroup_config seaboard_pinmux
[] = {
151 {TEGRA_PINGROUP_DDC
, TEGRA_MUX_RSVD2
, TEGRA_PUPD_NORMAL
, TEGRA_TRI_TRISTATE
},
152 {TEGRA_PINGROUP_GMD
, TEGRA_MUX_SFLASH
, TEGRA_PUPD_NORMAL
, TEGRA_TRI_NORMAL
},
153 {TEGRA_PINGROUP_LPW0
, TEGRA_MUX_HDMI
, TEGRA_PUPD_NORMAL
, TEGRA_TRI_NORMAL
},
154 {TEGRA_PINGROUP_LPW2
, TEGRA_MUX_HDMI
, TEGRA_PUPD_NORMAL
, TEGRA_TRI_NORMAL
},
155 {TEGRA_PINGROUP_LSC1
, TEGRA_MUX_HDMI
, TEGRA_PUPD_NORMAL
, TEGRA_TRI_TRISTATE
},
156 {TEGRA_PINGROUP_LSCK
, TEGRA_MUX_HDMI
, TEGRA_PUPD_NORMAL
, TEGRA_TRI_TRISTATE
},
157 {TEGRA_PINGROUP_LSDA
, TEGRA_MUX_HDMI
, TEGRA_PUPD_NORMAL
, TEGRA_TRI_TRISTATE
},
158 {TEGRA_PINGROUP_PTA
, TEGRA_MUX_HDMI
, TEGRA_PUPD_NORMAL
, TEGRA_TRI_NORMAL
},
159 {TEGRA_PINGROUP_SLXC
, TEGRA_MUX_SPDIF
, TEGRA_PUPD_NORMAL
, TEGRA_TRI_TRISTATE
},
160 {TEGRA_PINGROUP_SLXK
, TEGRA_MUX_PCIE
, TEGRA_PUPD_NORMAL
, TEGRA_TRI_NORMAL
},
161 {TEGRA_PINGROUP_SPIA
, TEGRA_MUX_GMI
, TEGRA_PUPD_PULL_UP
, TEGRA_TRI_TRISTATE
},
162 {TEGRA_PINGROUP_SPIC
, TEGRA_MUX_GMI
, TEGRA_PUPD_PULL_UP
, TEGRA_TRI_NORMAL
},
163 {TEGRA_PINGROUP_SPIG
, TEGRA_MUX_SPI2_ALT
, TEGRA_PUPD_PULL_UP
, TEGRA_TRI_TRISTATE
},
166 static struct tegra_pingroup_config ventana_pinmux
[] = {
167 {TEGRA_PINGROUP_DDC
, TEGRA_MUX_RSVD2
, TEGRA_PUPD_NORMAL
, TEGRA_TRI_NORMAL
},
168 {TEGRA_PINGROUP_GMD
, TEGRA_MUX_SFLASH
, TEGRA_PUPD_NORMAL
, TEGRA_TRI_TRISTATE
},
169 {TEGRA_PINGROUP_LPW0
, TEGRA_MUX_RSVD4
, TEGRA_PUPD_NORMAL
, TEGRA_TRI_NORMAL
},
170 {TEGRA_PINGROUP_LPW2
, TEGRA_MUX_RSVD4
, TEGRA_PUPD_NORMAL
, TEGRA_TRI_NORMAL
},
171 {TEGRA_PINGROUP_LSC1
, TEGRA_MUX_RSVD4
, TEGRA_PUPD_NORMAL
, TEGRA_TRI_NORMAL
},
172 {TEGRA_PINGROUP_LSCK
, TEGRA_MUX_RSVD4
, TEGRA_PUPD_NORMAL
, TEGRA_TRI_TRISTATE
},
173 {TEGRA_PINGROUP_LSDA
, TEGRA_MUX_RSVD4
, TEGRA_PUPD_NORMAL
, TEGRA_TRI_TRISTATE
},
174 {TEGRA_PINGROUP_PTA
, TEGRA_MUX_RSVD2
, TEGRA_PUPD_NORMAL
, TEGRA_TRI_NORMAL
},
175 {TEGRA_PINGROUP_SLXC
, TEGRA_MUX_SDIO3
, TEGRA_PUPD_NORMAL
, TEGRA_TRI_NORMAL
},
176 {TEGRA_PINGROUP_SLXK
, TEGRA_MUX_SDIO3
, TEGRA_PUPD_NORMAL
, TEGRA_TRI_NORMAL
},
177 {TEGRA_PINGROUP_SPIA
, TEGRA_MUX_GMI
, TEGRA_PUPD_NORMAL
, TEGRA_TRI_TRISTATE
},
178 {TEGRA_PINGROUP_SPIC
, TEGRA_MUX_GMI
, TEGRA_PUPD_NORMAL
, TEGRA_TRI_TRISTATE
},
179 {TEGRA_PINGROUP_SPIG
, TEGRA_MUX_SPI2_ALT
, TEGRA_PUPD_NORMAL
, TEGRA_TRI_TRISTATE
},
182 static struct tegra_gpio_table common_gpio_table
[] = {
183 { .gpio
= TEGRA_GPIO_SD2_CD
, .enable
= true },
184 { .gpio
= TEGRA_GPIO_SD2_WP
, .enable
= true },
185 { .gpio
= TEGRA_GPIO_SD2_POWER
, .enable
= true },
186 { .gpio
= TEGRA_GPIO_CDC_IRQ
, .enable
= true },
189 static struct tegra_gpio_table seaboard_gpio_table
[] = {
190 { .gpio
= TEGRA_GPIO_LIDSWITCH
, .enable
= true },
191 { .gpio
= TEGRA_GPIO_POWERKEY
, .enable
= true },
192 { .gpio
= TEGRA_GPIO_HP_DET
, .enable
= true },
193 { .gpio
= TEGRA_GPIO_ISL29018_IRQ
, .enable
= true },
194 { .gpio
= TEGRA_GPIO_USB1
, .enable
= true },
197 static struct tegra_gpio_table ventana_gpio_table
[] = {
199 { .gpio
= TEGRA_GPIO_PW2
, .enable
= true },
201 { .gpio
= TEGRA_GPIO_PX0
, .enable
= true },
203 { .gpio
= TEGRA_GPIO_PX1
, .enable
= true },
206 static struct tegra_board_pinmux_conf common_conf
= {
207 .pgs
= common_pinmux
,
208 .pg_count
= ARRAY_SIZE(common_pinmux
),
209 .gpios
= common_gpio_table
,
210 .gpio_count
= ARRAY_SIZE(common_gpio_table
),
213 static struct tegra_board_pinmux_conf seaboard_conf
= {
214 .pgs
= seaboard_pinmux
,
215 .pg_count
= ARRAY_SIZE(seaboard_pinmux
),
216 .drives
= seaboard_drive_pinmux
,
217 .drive_count
= ARRAY_SIZE(seaboard_drive_pinmux
),
218 .gpios
= seaboard_gpio_table
,
219 .gpio_count
= ARRAY_SIZE(seaboard_gpio_table
),
222 static struct tegra_board_pinmux_conf ventana_conf
= {
223 .pgs
= ventana_pinmux
,
224 .pg_count
= ARRAY_SIZE(ventana_pinmux
),
225 .gpios
= ventana_gpio_table
,
226 .gpio_count
= ARRAY_SIZE(ventana_gpio_table
),
229 void seaboard_pinmux_init(void)
231 tegra_board_pinmux_init(&common_conf
, &seaboard_conf
);
234 void ventana_pinmux_init(void)
236 tegra_board_pinmux_init(&common_conf
, &ventana_conf
);