Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
pinctrl-tegra20.c
Go to the documentation of this file.
1 /*
2  * Pinctrl data for the NVIDIA Tegra20 pinmux
3  *
4  * Copyright (c) 2011-2012, NVIDIA CORPORATION. All rights reserved.
5  *
6  * Derived from code:
7  * Copyright (C) 2010 Google, Inc.
8  * Copyright (C) 2010 NVIDIA Corporation
9  *
10  * This program is free software; you can redistribute it and/or modify it
11  * under the terms and conditions of the GNU General Public License,
12  * version 2, as published by the Free Software Foundation.
13  *
14  * This program is distributed in the hope it will be useful, but WITHOUT
15  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
16  * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
17  * more details.
18  */
19 
20 #include <linux/module.h>
21 #include <linux/of.h>
22 #include <linux/platform_device.h>
23 #include <linux/pinctrl/pinctrl.h>
24 #include <linux/pinctrl/pinmux.h>
25 
26 #include "pinctrl-tegra.h"
27 
28 /*
29  * Most pins affected by the pinmux can also be GPIOs. Define these first.
30  * These must match how the GPIO driver names/numbers its pins.
31  */
32 #define _GPIO(offset) (offset)
33 
34 #define TEGRA_PIN_VI_GP6_PA0 _GPIO(0)
35 #define TEGRA_PIN_UART3_CTS_N_PA1 _GPIO(1)
36 #define TEGRA_PIN_DAP2_FS_PA2 _GPIO(2)
37 #define TEGRA_PIN_DAP2_SCLK_PA3 _GPIO(3)
38 #define TEGRA_PIN_DAP2_DIN_PA4 _GPIO(4)
39 #define TEGRA_PIN_DAP2_DOUT_PA5 _GPIO(5)
40 #define TEGRA_PIN_SDIO3_CLK_PA6 _GPIO(6)
41 #define TEGRA_PIN_SDIO3_CMD_PA7 _GPIO(7)
42 #define TEGRA_PIN_GMI_AD17_PB0 _GPIO(8)
43 #define TEGRA_PIN_GMI_AD18_PB1 _GPIO(9)
44 #define TEGRA_PIN_LCD_PWR0_PB2 _GPIO(10)
45 #define TEGRA_PIN_LCD_PCLK_PB3 _GPIO(11)
46 #define TEGRA_PIN_SDIO3_DAT3_PB4 _GPIO(12)
47 #define TEGRA_PIN_SDIO3_DAT2_PB5 _GPIO(13)
48 #define TEGRA_PIN_SDIO3_DAT1_PB6 _GPIO(14)
49 #define TEGRA_PIN_SDIO3_DAT0_PB7 _GPIO(15)
50 #define TEGRA_PIN_UART3_RTS_N_PC0 _GPIO(16)
51 #define TEGRA_PIN_LCD_PWR1_PC1 _GPIO(17)
52 #define TEGRA_PIN_UART2_TXD_PC2 _GPIO(18)
53 #define TEGRA_PIN_UART2_RXD_PC3 _GPIO(19)
54 #define TEGRA_PIN_GEN1_I2C_SCL_PC4 _GPIO(20)
55 #define TEGRA_PIN_GEN1_I2C_SDA_PC5 _GPIO(21)
56 #define TEGRA_PIN_LCD_PWR2_PC6 _GPIO(22)
57 #define TEGRA_PIN_GMI_WP_N_PC7 _GPIO(23)
58 #define TEGRA_PIN_SDIO3_DAT5_PD0 _GPIO(24)
59 #define TEGRA_PIN_SDIO3_DAT4_PD1 _GPIO(25)
60 #define TEGRA_PIN_VI_GP5_PD2 _GPIO(26)
61 #define TEGRA_PIN_SDIO3_DAT6_PD3 _GPIO(27)
62 #define TEGRA_PIN_SDIO3_DAT7_PD4 _GPIO(28)
63 #define TEGRA_PIN_VI_D1_PD5 _GPIO(29)
64 #define TEGRA_PIN_VI_VSYNC_PD6 _GPIO(30)
65 #define TEGRA_PIN_VI_HSYNC_PD7 _GPIO(31)
66 #define TEGRA_PIN_LCD_D0_PE0 _GPIO(32)
67 #define TEGRA_PIN_LCD_D1_PE1 _GPIO(33)
68 #define TEGRA_PIN_LCD_D2_PE2 _GPIO(34)
69 #define TEGRA_PIN_LCD_D3_PE3 _GPIO(35)
70 #define TEGRA_PIN_LCD_D4_PE4 _GPIO(36)
71 #define TEGRA_PIN_LCD_D5_PE5 _GPIO(37)
72 #define TEGRA_PIN_LCD_D6_PE6 _GPIO(38)
73 #define TEGRA_PIN_LCD_D7_PE7 _GPIO(39)
74 #define TEGRA_PIN_LCD_D8_PF0 _GPIO(40)
75 #define TEGRA_PIN_LCD_D9_PF1 _GPIO(41)
76 #define TEGRA_PIN_LCD_D10_PF2 _GPIO(42)
77 #define TEGRA_PIN_LCD_D11_PF3 _GPIO(43)
78 #define TEGRA_PIN_LCD_D12_PF4 _GPIO(44)
79 #define TEGRA_PIN_LCD_D13_PF5 _GPIO(45)
80 #define TEGRA_PIN_LCD_D14_PF6 _GPIO(46)
81 #define TEGRA_PIN_LCD_D15_PF7 _GPIO(47)
82 #define TEGRA_PIN_GMI_AD0_PG0 _GPIO(48)
83 #define TEGRA_PIN_GMI_AD1_PG1 _GPIO(49)
84 #define TEGRA_PIN_GMI_AD2_PG2 _GPIO(50)
85 #define TEGRA_PIN_GMI_AD3_PG3 _GPIO(51)
86 #define TEGRA_PIN_GMI_AD4_PG4 _GPIO(52)
87 #define TEGRA_PIN_GMI_AD5_PG5 _GPIO(53)
88 #define TEGRA_PIN_GMI_AD6_PG6 _GPIO(54)
89 #define TEGRA_PIN_GMI_AD7_PG7 _GPIO(55)
90 #define TEGRA_PIN_GMI_AD8_PH0 _GPIO(56)
91 #define TEGRA_PIN_GMI_AD9_PH1 _GPIO(57)
92 #define TEGRA_PIN_GMI_AD10_PH2 _GPIO(58)
93 #define TEGRA_PIN_GMI_AD11_PH3 _GPIO(59)
94 #define TEGRA_PIN_GMI_AD12_PH4 _GPIO(60)
95 #define TEGRA_PIN_GMI_AD13_PH5 _GPIO(61)
96 #define TEGRA_PIN_GMI_AD14_PH6 _GPIO(62)
97 #define TEGRA_PIN_GMI_AD15_PH7 _GPIO(63)
98 #define TEGRA_PIN_GMI_HIOW_N_PI0 _GPIO(64)
99 #define TEGRA_PIN_GMI_HIOR_N_PI1 _GPIO(65)
100 #define TEGRA_PIN_GMI_CS5_N_PI2 _GPIO(66)
101 #define TEGRA_PIN_GMI_CS6_N_PI3 _GPIO(67)
102 #define TEGRA_PIN_GMI_RST_N_PI4 _GPIO(68)
103 #define TEGRA_PIN_GMI_IORDY_PI5 _GPIO(69)
104 #define TEGRA_PIN_GMI_CS7_N_PI6 _GPIO(70)
105 #define TEGRA_PIN_GMI_WAIT_PI7 _GPIO(71)
106 #define TEGRA_PIN_GMI_CS0_N_PJ0 _GPIO(72)
107 #define TEGRA_PIN_LCD_DE_PJ1 _GPIO(73)
108 #define TEGRA_PIN_GMI_CS1_N_PJ2 _GPIO(74)
109 #define TEGRA_PIN_LCD_HSYNC_PJ3 _GPIO(75)
110 #define TEGRA_PIN_LCD_VSYNC_PJ4 _GPIO(76)
111 #define TEGRA_PIN_UART2_CTS_N_PJ5 _GPIO(77)
112 #define TEGRA_PIN_UART2_RTS_N_PJ6 _GPIO(78)
113 #define TEGRA_PIN_GMI_AD16_PJ7 _GPIO(79)
114 #define TEGRA_PIN_GMI_ADV_N_PK0 _GPIO(80)
115 #define TEGRA_PIN_GMI_CLK_PK1 _GPIO(81)
116 #define TEGRA_PIN_GMI_CS4_N_PK2 _GPIO(82)
117 #define TEGRA_PIN_GMI_CS2_N_PK3 _GPIO(83)
118 #define TEGRA_PIN_GMI_CS3_N_PK4 _GPIO(84)
119 #define TEGRA_PIN_SPDIF_OUT_PK5 _GPIO(85)
120 #define TEGRA_PIN_SPDIF_IN_PK6 _GPIO(86)
121 #define TEGRA_PIN_GMI_AD19_PK7 _GPIO(87)
122 #define TEGRA_PIN_VI_D2_PL0 _GPIO(88)
123 #define TEGRA_PIN_VI_D3_PL1 _GPIO(89)
124 #define TEGRA_PIN_VI_D4_PL2 _GPIO(90)
125 #define TEGRA_PIN_VI_D5_PL3 _GPIO(91)
126 #define TEGRA_PIN_VI_D6_PL4 _GPIO(92)
127 #define TEGRA_PIN_VI_D7_PL5 _GPIO(93)
128 #define TEGRA_PIN_VI_D8_PL6 _GPIO(94)
129 #define TEGRA_PIN_VI_D9_PL7 _GPIO(95)
130 #define TEGRA_PIN_LCD_D16_PM0 _GPIO(96)
131 #define TEGRA_PIN_LCD_D17_PM1 _GPIO(97)
132 #define TEGRA_PIN_LCD_D18_PM2 _GPIO(98)
133 #define TEGRA_PIN_LCD_D19_PM3 _GPIO(99)
134 #define TEGRA_PIN_LCD_D20_PM4 _GPIO(100)
135 #define TEGRA_PIN_LCD_D21_PM5 _GPIO(101)
136 #define TEGRA_PIN_LCD_D22_PM6 _GPIO(102)
137 #define TEGRA_PIN_LCD_D23_PM7 _GPIO(103)
138 #define TEGRA_PIN_DAP1_FS_PN0 _GPIO(104)
139 #define TEGRA_PIN_DAP1_DIN_PN1 _GPIO(105)
140 #define TEGRA_PIN_DAP1_DOUT_PN2 _GPIO(106)
141 #define TEGRA_PIN_DAP1_SCLK_PN3 _GPIO(107)
142 #define TEGRA_PIN_LCD_CS0_N_PN4 _GPIO(108)
143 #define TEGRA_PIN_LCD_SDOUT_PN5 _GPIO(109)
144 #define TEGRA_PIN_LCD_DC0_PN6 _GPIO(110)
145 #define TEGRA_PIN_HDMI_INT_N_PN7 _GPIO(111)
146 #define TEGRA_PIN_ULPI_DATA7_PO0 _GPIO(112)
147 #define TEGRA_PIN_ULPI_DATA0_PO1 _GPIO(113)
148 #define TEGRA_PIN_ULPI_DATA1_PO2 _GPIO(114)
149 #define TEGRA_PIN_ULPI_DATA2_PO3 _GPIO(115)
150 #define TEGRA_PIN_ULPI_DATA3_PO4 _GPIO(116)
151 #define TEGRA_PIN_ULPI_DATA4_PO5 _GPIO(117)
152 #define TEGRA_PIN_ULPI_DATA5_PO6 _GPIO(118)
153 #define TEGRA_PIN_ULPI_DATA6_PO7 _GPIO(119)
154 #define TEGRA_PIN_DAP3_FS_PP0 _GPIO(120)
155 #define TEGRA_PIN_DAP3_DIN_PP1 _GPIO(121)
156 #define TEGRA_PIN_DAP3_DOUT_PP2 _GPIO(122)
157 #define TEGRA_PIN_DAP3_SCLK_PP3 _GPIO(123)
158 #define TEGRA_PIN_DAP4_FS_PP4 _GPIO(124)
159 #define TEGRA_PIN_DAP4_DIN_PP5 _GPIO(125)
160 #define TEGRA_PIN_DAP4_DOUT_PP6 _GPIO(126)
161 #define TEGRA_PIN_DAP4_SCLK_PP7 _GPIO(127)
162 #define TEGRA_PIN_KB_COL0_PQ0 _GPIO(128)
163 #define TEGRA_PIN_KB_COL1_PQ1 _GPIO(129)
164 #define TEGRA_PIN_KB_COL2_PQ2 _GPIO(130)
165 #define TEGRA_PIN_KB_COL3_PQ3 _GPIO(131)
166 #define TEGRA_PIN_KB_COL4_PQ4 _GPIO(132)
167 #define TEGRA_PIN_KB_COL5_PQ5 _GPIO(133)
168 #define TEGRA_PIN_KB_COL6_PQ6 _GPIO(134)
169 #define TEGRA_PIN_KB_COL7_PQ7 _GPIO(135)
170 #define TEGRA_PIN_KB_ROW0_PR0 _GPIO(136)
171 #define TEGRA_PIN_KB_ROW1_PR1 _GPIO(137)
172 #define TEGRA_PIN_KB_ROW2_PR2 _GPIO(138)
173 #define TEGRA_PIN_KB_ROW3_PR3 _GPIO(139)
174 #define TEGRA_PIN_KB_ROW4_PR4 _GPIO(140)
175 #define TEGRA_PIN_KB_ROW5_PR5 _GPIO(141)
176 #define TEGRA_PIN_KB_ROW6_PR6 _GPIO(142)
177 #define TEGRA_PIN_KB_ROW7_PR7 _GPIO(143)
178 #define TEGRA_PIN_KB_ROW8_PS0 _GPIO(144)
179 #define TEGRA_PIN_KB_ROW9_PS1 _GPIO(145)
180 #define TEGRA_PIN_KB_ROW10_PS2 _GPIO(146)
181 #define TEGRA_PIN_KB_ROW11_PS3 _GPIO(147)
182 #define TEGRA_PIN_KB_ROW12_PS4 _GPIO(148)
183 #define TEGRA_PIN_KB_ROW13_PS5 _GPIO(149)
184 #define TEGRA_PIN_KB_ROW14_PS6 _GPIO(150)
185 #define TEGRA_PIN_KB_ROW15_PS7 _GPIO(151)
186 #define TEGRA_PIN_VI_PCLK_PT0 _GPIO(152)
187 #define TEGRA_PIN_VI_MCLK_PT1 _GPIO(153)
188 #define TEGRA_PIN_VI_D10_PT2 _GPIO(154)
189 #define TEGRA_PIN_VI_D11_PT3 _GPIO(155)
190 #define TEGRA_PIN_VI_D0_PT4 _GPIO(156)
191 #define TEGRA_PIN_GEN2_I2C_SCL_PT5 _GPIO(157)
192 #define TEGRA_PIN_GEN2_I2C_SDA_PT6 _GPIO(158)
193 #define TEGRA_PIN_GMI_DPD_PT7 _GPIO(159)
194 #define TEGRA_PIN_PU0 _GPIO(160)
195 #define TEGRA_PIN_PU1 _GPIO(161)
196 #define TEGRA_PIN_PU2 _GPIO(162)
197 #define TEGRA_PIN_PU3 _GPIO(163)
198 #define TEGRA_PIN_PU4 _GPIO(164)
199 #define TEGRA_PIN_PU5 _GPIO(165)
200 #define TEGRA_PIN_PU6 _GPIO(166)
201 #define TEGRA_PIN_JTAG_RTCK_PU7 _GPIO(167)
202 #define TEGRA_PIN_PV0 _GPIO(168)
203 #define TEGRA_PIN_PV1 _GPIO(169)
204 #define TEGRA_PIN_PV2 _GPIO(170)
205 #define TEGRA_PIN_PV3 _GPIO(171)
206 #define TEGRA_PIN_PV4 _GPIO(172)
207 #define TEGRA_PIN_PV5 _GPIO(173)
208 #define TEGRA_PIN_PV6 _GPIO(174)
209 #define TEGRA_PIN_LCD_DC1_PV7 _GPIO(175)
210 #define TEGRA_PIN_LCD_CS1_N_PW0 _GPIO(176)
211 #define TEGRA_PIN_LCD_M1_PW1 _GPIO(177)
212 #define TEGRA_PIN_SPI2_CS1_N_PW2 _GPIO(178)
213 #define TEGRA_PIN_SPI2_CS2_N_PW3 _GPIO(179)
214 #define TEGRA_PIN_DAP_MCLK1_PW4 _GPIO(180)
215 #define TEGRA_PIN_DAP_MCLK2_PW5 _GPIO(181)
216 #define TEGRA_PIN_UART3_TXD_PW6 _GPIO(182)
217 #define TEGRA_PIN_UART3_RXD_PW7 _GPIO(183)
218 #define TEGRA_PIN_SPI2_MOSI_PX0 _GPIO(184)
219 #define TEGRA_PIN_SPI2_MISO_PX1 _GPIO(185)
220 #define TEGRA_PIN_SPI2_SCK_PX2 _GPIO(186)
221 #define TEGRA_PIN_SPI2_CS0_N_PX3 _GPIO(187)
222 #define TEGRA_PIN_SPI1_MOSI_PX4 _GPIO(188)
223 #define TEGRA_PIN_SPI1_SCK_PX5 _GPIO(189)
224 #define TEGRA_PIN_SPI1_CS0_N_PX6 _GPIO(190)
225 #define TEGRA_PIN_SPI1_MISO_PX7 _GPIO(191)
226 #define TEGRA_PIN_ULPI_CLK_PY0 _GPIO(192)
227 #define TEGRA_PIN_ULPI_DIR_PY1 _GPIO(193)
228 #define TEGRA_PIN_ULPI_NXT_PY2 _GPIO(194)
229 #define TEGRA_PIN_ULPI_STP_PY3 _GPIO(195)
230 #define TEGRA_PIN_SDIO1_DAT3_PY4 _GPIO(196)
231 #define TEGRA_PIN_SDIO1_DAT2_PY5 _GPIO(197)
232 #define TEGRA_PIN_SDIO1_DAT1_PY6 _GPIO(198)
233 #define TEGRA_PIN_SDIO1_DAT0_PY7 _GPIO(199)
234 #define TEGRA_PIN_SDIO1_CLK_PZ0 _GPIO(200)
235 #define TEGRA_PIN_SDIO1_CMD_PZ1 _GPIO(201)
236 #define TEGRA_PIN_LCD_SDIN_PZ2 _GPIO(202)
237 #define TEGRA_PIN_LCD_WR_N_PZ3 _GPIO(203)
238 #define TEGRA_PIN_LCD_SCK_PZ4 _GPIO(204)
239 #define TEGRA_PIN_SYS_CLK_REQ_PZ5 _GPIO(205)
240 #define TEGRA_PIN_PWR_I2C_SCL_PZ6 _GPIO(206)
241 #define TEGRA_PIN_PWR_I2C_SDA_PZ7 _GPIO(207)
242 #define TEGRA_PIN_GMI_AD20_PAA0 _GPIO(208)
243 #define TEGRA_PIN_GMI_AD21_PAA1 _GPIO(209)
244 #define TEGRA_PIN_GMI_AD22_PAA2 _GPIO(210)
245 #define TEGRA_PIN_GMI_AD23_PAA3 _GPIO(211)
246 #define TEGRA_PIN_GMI_AD24_PAA4 _GPIO(212)
247 #define TEGRA_PIN_GMI_AD25_PAA5 _GPIO(213)
248 #define TEGRA_PIN_GMI_AD26_PAA6 _GPIO(214)
249 #define TEGRA_PIN_GMI_AD27_PAA7 _GPIO(215)
250 #define TEGRA_PIN_LED_BLINK_PBB0 _GPIO(216)
251 #define TEGRA_PIN_VI_GP0_PBB1 _GPIO(217)
252 #define TEGRA_PIN_CAM_I2C_SCL_PBB2 _GPIO(218)
253 #define TEGRA_PIN_CAM_I2C_SDA_PBB3 _GPIO(219)
254 #define TEGRA_PIN_VI_GP3_PBB4 _GPIO(220)
255 #define TEGRA_PIN_VI_GP4_PBB5 _GPIO(221)
256 #define TEGRA_PIN_PBB6 _GPIO(222)
257 #define TEGRA_PIN_PBB7 _GPIO(223)
258 
259 /* All non-GPIO pins follow */
260 #define NUM_GPIOS (TEGRA_PIN_PBB7 + 1)
261 #define _PIN(offset) (NUM_GPIOS + (offset))
262 
263 #define TEGRA_PIN_CRT_HSYNC _PIN(30)
264 #define TEGRA_PIN_CRT_VSYNC _PIN(31)
265 #define TEGRA_PIN_DDC_SCL _PIN(32)
266 #define TEGRA_PIN_DDC_SDA _PIN(33)
267 #define TEGRA_PIN_OWC _PIN(34)
268 #define TEGRA_PIN_CORE_PWR_REQ _PIN(35)
269 #define TEGRA_PIN_CPU_PWR_REQ _PIN(36)
270 #define TEGRA_PIN_PWR_INT_N _PIN(37)
271 #define TEGRA_PIN_CLK_32_K_IN _PIN(38)
272 #define TEGRA_PIN_DDR_COMP_PD _PIN(39)
273 #define TEGRA_PIN_DDR_COMP_PU _PIN(40)
274 #define TEGRA_PIN_DDR_A0 _PIN(41)
275 #define TEGRA_PIN_DDR_A1 _PIN(42)
276 #define TEGRA_PIN_DDR_A2 _PIN(43)
277 #define TEGRA_PIN_DDR_A3 _PIN(44)
278 #define TEGRA_PIN_DDR_A4 _PIN(45)
279 #define TEGRA_PIN_DDR_A5 _PIN(46)
280 #define TEGRA_PIN_DDR_A6 _PIN(47)
281 #define TEGRA_PIN_DDR_A7 _PIN(48)
282 #define TEGRA_PIN_DDR_A8 _PIN(49)
283 #define TEGRA_PIN_DDR_A9 _PIN(50)
284 #define TEGRA_PIN_DDR_A10 _PIN(51)
285 #define TEGRA_PIN_DDR_A11 _PIN(52)
286 #define TEGRA_PIN_DDR_A12 _PIN(53)
287 #define TEGRA_PIN_DDR_A13 _PIN(54)
288 #define TEGRA_PIN_DDR_A14 _PIN(55)
289 #define TEGRA_PIN_DDR_CAS_N _PIN(56)
290 #define TEGRA_PIN_DDR_BA0 _PIN(57)
291 #define TEGRA_PIN_DDR_BA1 _PIN(58)
292 #define TEGRA_PIN_DDR_BA2 _PIN(59)
293 #define TEGRA_PIN_DDR_DQS0P _PIN(60)
294 #define TEGRA_PIN_DDR_DQS0N _PIN(61)
295 #define TEGRA_PIN_DDR_DQS1P _PIN(62)
296 #define TEGRA_PIN_DDR_DQS1N _PIN(63)
297 #define TEGRA_PIN_DDR_DQS2P _PIN(64)
298 #define TEGRA_PIN_DDR_DQS2N _PIN(65)
299 #define TEGRA_PIN_DDR_DQS3P _PIN(66)
300 #define TEGRA_PIN_DDR_DQS3N _PIN(67)
301 #define TEGRA_PIN_DDR_CKE0 _PIN(68)
302 #define TEGRA_PIN_DDR_CKE1 _PIN(69)
303 #define TEGRA_PIN_DDR_CLK _PIN(70)
304 #define TEGRA_PIN_DDR_CLK_N _PIN(71)
305 #define TEGRA_PIN_DDR_DM0 _PIN(72)
306 #define TEGRA_PIN_DDR_DM1 _PIN(73)
307 #define TEGRA_PIN_DDR_DM2 _PIN(74)
308 #define TEGRA_PIN_DDR_DM3 _PIN(75)
309 #define TEGRA_PIN_DDR_ODT _PIN(76)
310 #define TEGRA_PIN_DDR_QUSE0 _PIN(77)
311 #define TEGRA_PIN_DDR_QUSE1 _PIN(78)
312 #define TEGRA_PIN_DDR_QUSE2 _PIN(79)
313 #define TEGRA_PIN_DDR_QUSE3 _PIN(80)
314 #define TEGRA_PIN_DDR_RAS_N _PIN(81)
315 #define TEGRA_PIN_DDR_WE_N _PIN(82)
316 #define TEGRA_PIN_DDR_DQ0 _PIN(83)
317 #define TEGRA_PIN_DDR_DQ1 _PIN(84)
318 #define TEGRA_PIN_DDR_DQ2 _PIN(85)
319 #define TEGRA_PIN_DDR_DQ3 _PIN(86)
320 #define TEGRA_PIN_DDR_DQ4 _PIN(87)
321 #define TEGRA_PIN_DDR_DQ5 _PIN(88)
322 #define TEGRA_PIN_DDR_DQ6 _PIN(89)
323 #define TEGRA_PIN_DDR_DQ7 _PIN(90)
324 #define TEGRA_PIN_DDR_DQ8 _PIN(91)
325 #define TEGRA_PIN_DDR_DQ9 _PIN(92)
326 #define TEGRA_PIN_DDR_DQ10 _PIN(93)
327 #define TEGRA_PIN_DDR_DQ11 _PIN(94)
328 #define TEGRA_PIN_DDR_DQ12 _PIN(95)
329 #define TEGRA_PIN_DDR_DQ13 _PIN(96)
330 #define TEGRA_PIN_DDR_DQ14 _PIN(97)
331 #define TEGRA_PIN_DDR_DQ15 _PIN(98)
332 #define TEGRA_PIN_DDR_DQ16 _PIN(99)
333 #define TEGRA_PIN_DDR_DQ17 _PIN(100)
334 #define TEGRA_PIN_DDR_DQ18 _PIN(101)
335 #define TEGRA_PIN_DDR_DQ19 _PIN(102)
336 #define TEGRA_PIN_DDR_DQ20 _PIN(103)
337 #define TEGRA_PIN_DDR_DQ21 _PIN(104)
338 #define TEGRA_PIN_DDR_DQ22 _PIN(105)
339 #define TEGRA_PIN_DDR_DQ23 _PIN(106)
340 #define TEGRA_PIN_DDR_DQ24 _PIN(107)
341 #define TEGRA_PIN_DDR_DQ25 _PIN(108)
342 #define TEGRA_PIN_DDR_DQ26 _PIN(109)
343 #define TEGRA_PIN_DDR_DQ27 _PIN(110)
344 #define TEGRA_PIN_DDR_DQ28 _PIN(111)
345 #define TEGRA_PIN_DDR_DQ29 _PIN(112)
346 #define TEGRA_PIN_DDR_DQ30 _PIN(113)
347 #define TEGRA_PIN_DDR_DQ31 _PIN(114)
348 #define TEGRA_PIN_DDR_CS0_N _PIN(115)
349 #define TEGRA_PIN_DDR_CS1_N _PIN(116)
350 #define TEGRA_PIN_SYS_RESET _PIN(117)
351 #define TEGRA_PIN_JTAG_TRST_N _PIN(118)
352 #define TEGRA_PIN_JTAG_TDO _PIN(119)
353 #define TEGRA_PIN_JTAG_TMS _PIN(120)
354 #define TEGRA_PIN_JTAG_TCK _PIN(121)
355 #define TEGRA_PIN_JTAG_TDI _PIN(122)
356 #define TEGRA_PIN_TEST_MODE_EN _PIN(123)
357 
358 static const struct pinctrl_pin_desc tegra20_pins[] = {
359  PINCTRL_PIN(TEGRA_PIN_VI_GP6_PA0, "VI_GP6 PA0"),
360  PINCTRL_PIN(TEGRA_PIN_UART3_CTS_N_PA1, "UART3_CTS_N PA1"),
361  PINCTRL_PIN(TEGRA_PIN_DAP2_FS_PA2, "DAP2_FS PA2"),
362  PINCTRL_PIN(TEGRA_PIN_DAP2_SCLK_PA3, "DAP2_SCLK PA3"),
363  PINCTRL_PIN(TEGRA_PIN_DAP2_DIN_PA4, "DAP2_DIN PA4"),
364  PINCTRL_PIN(TEGRA_PIN_DAP2_DOUT_PA5, "DAP2_DOUT PA5"),
365  PINCTRL_PIN(TEGRA_PIN_SDIO3_CLK_PA6, "SDIO3_CLK PA6"),
366  PINCTRL_PIN(TEGRA_PIN_SDIO3_CMD_PA7, "SDIO3_CMD PA7"),
367  PINCTRL_PIN(TEGRA_PIN_GMI_AD17_PB0, "GMI_AD17 PB0"),
368  PINCTRL_PIN(TEGRA_PIN_GMI_AD18_PB1, "GMI_AD18 PB1"),
369  PINCTRL_PIN(TEGRA_PIN_LCD_PWR0_PB2, "LCD_PWR0 PB2"),
370  PINCTRL_PIN(TEGRA_PIN_LCD_PCLK_PB3, "LCD_PCLK PB3"),
371  PINCTRL_PIN(TEGRA_PIN_SDIO3_DAT3_PB4, "SDIO3_DAT3 PB4"),
372  PINCTRL_PIN(TEGRA_PIN_SDIO3_DAT2_PB5, "SDIO3_DAT2 PB5"),
373  PINCTRL_PIN(TEGRA_PIN_SDIO3_DAT1_PB6, "SDIO3_DAT1 PB6"),
374  PINCTRL_PIN(TEGRA_PIN_SDIO3_DAT0_PB7, "SDIO3_DAT0 PB7"),
375  PINCTRL_PIN(TEGRA_PIN_UART3_RTS_N_PC0, "UART3_RTS_N PC0"),
376  PINCTRL_PIN(TEGRA_PIN_LCD_PWR1_PC1, "LCD_PWR1 PC1"),
377  PINCTRL_PIN(TEGRA_PIN_UART2_TXD_PC2, "UART2_TXD PC2"),
378  PINCTRL_PIN(TEGRA_PIN_UART2_RXD_PC3, "UART2_RXD PC3"),
379  PINCTRL_PIN(TEGRA_PIN_GEN1_I2C_SCL_PC4, "GEN1_I2C_SCL PC4"),
380  PINCTRL_PIN(TEGRA_PIN_GEN1_I2C_SDA_PC5, "GEN1_I2C_SDA PC5"),
381  PINCTRL_PIN(TEGRA_PIN_LCD_PWR2_PC6, "LCD_PWR2 PC6"),
382  PINCTRL_PIN(TEGRA_PIN_GMI_WP_N_PC7, "GMI_WP_N PC7"),
383  PINCTRL_PIN(TEGRA_PIN_SDIO3_DAT5_PD0, "SDIO3_DAT5 PD0"),
384  PINCTRL_PIN(TEGRA_PIN_SDIO3_DAT4_PD1, "SDIO3_DAT4 PD1"),
385  PINCTRL_PIN(TEGRA_PIN_VI_GP5_PD2, "VI_GP5 PD2"),
386  PINCTRL_PIN(TEGRA_PIN_SDIO3_DAT6_PD3, "SDIO3_DAT6 PD3"),
387  PINCTRL_PIN(TEGRA_PIN_SDIO3_DAT7_PD4, "SDIO3_DAT7 PD4"),
388  PINCTRL_PIN(TEGRA_PIN_VI_D1_PD5, "VI_D1 PD5"),
389  PINCTRL_PIN(TEGRA_PIN_VI_VSYNC_PD6, "VI_VSYNC PD6"),
390  PINCTRL_PIN(TEGRA_PIN_VI_HSYNC_PD7, "VI_HSYNC PD7"),
391  PINCTRL_PIN(TEGRA_PIN_LCD_D0_PE0, "LCD_D0 PE0"),
392  PINCTRL_PIN(TEGRA_PIN_LCD_D1_PE1, "LCD_D1 PE1"),
393  PINCTRL_PIN(TEGRA_PIN_LCD_D2_PE2, "LCD_D2 PE2"),
394  PINCTRL_PIN(TEGRA_PIN_LCD_D3_PE3, "LCD_D3 PE3"),
395  PINCTRL_PIN(TEGRA_PIN_LCD_D4_PE4, "LCD_D4 PE4"),
396  PINCTRL_PIN(TEGRA_PIN_LCD_D5_PE5, "LCD_D5 PE5"),
397  PINCTRL_PIN(TEGRA_PIN_LCD_D6_PE6, "LCD_D6 PE6"),
398  PINCTRL_PIN(TEGRA_PIN_LCD_D7_PE7, "LCD_D7 PE7"),
399  PINCTRL_PIN(TEGRA_PIN_LCD_D8_PF0, "LCD_D8 PF0"),
400  PINCTRL_PIN(TEGRA_PIN_LCD_D9_PF1, "LCD_D9 PF1"),
401  PINCTRL_PIN(TEGRA_PIN_LCD_D10_PF2, "LCD_D10 PF2"),
402  PINCTRL_PIN(TEGRA_PIN_LCD_D11_PF3, "LCD_D11 PF3"),
403  PINCTRL_PIN(TEGRA_PIN_LCD_D12_PF4, "LCD_D12 PF4"),
404  PINCTRL_PIN(TEGRA_PIN_LCD_D13_PF5, "LCD_D13 PF5"),
405  PINCTRL_PIN(TEGRA_PIN_LCD_D14_PF6, "LCD_D14 PF6"),
406  PINCTRL_PIN(TEGRA_PIN_LCD_D15_PF7, "LCD_D15 PF7"),
407  PINCTRL_PIN(TEGRA_PIN_GMI_AD0_PG0, "GMI_AD0 PG0"),
408  PINCTRL_PIN(TEGRA_PIN_GMI_AD1_PG1, "GMI_AD1 PG1"),
409  PINCTRL_PIN(TEGRA_PIN_GMI_AD2_PG2, "GMI_AD2 PG2"),
410  PINCTRL_PIN(TEGRA_PIN_GMI_AD3_PG3, "GMI_AD3 PG3"),
411  PINCTRL_PIN(TEGRA_PIN_GMI_AD4_PG4, "GMI_AD4 PG4"),
412  PINCTRL_PIN(TEGRA_PIN_GMI_AD5_PG5, "GMI_AD5 PG5"),
413  PINCTRL_PIN(TEGRA_PIN_GMI_AD6_PG6, "GMI_AD6 PG6"),
414  PINCTRL_PIN(TEGRA_PIN_GMI_AD7_PG7, "GMI_AD7 PG7"),
415  PINCTRL_PIN(TEGRA_PIN_GMI_AD8_PH0, "GMI_AD8 PH0"),
416  PINCTRL_PIN(TEGRA_PIN_GMI_AD9_PH1, "GMI_AD9 PH1"),
417  PINCTRL_PIN(TEGRA_PIN_GMI_AD10_PH2, "GMI_AD10 PH2"),
418  PINCTRL_PIN(TEGRA_PIN_GMI_AD11_PH3, "GMI_AD11 PH3"),
419  PINCTRL_PIN(TEGRA_PIN_GMI_AD12_PH4, "GMI_AD12 PH4"),
420  PINCTRL_PIN(TEGRA_PIN_GMI_AD13_PH5, "GMI_AD13 PH5"),
421  PINCTRL_PIN(TEGRA_PIN_GMI_AD14_PH6, "GMI_AD14 PH6"),
422  PINCTRL_PIN(TEGRA_PIN_GMI_AD15_PH7, "GMI_AD15 PH7"),
423  PINCTRL_PIN(TEGRA_PIN_GMI_HIOW_N_PI0, "GMI_HIOW_N PI0"),
424  PINCTRL_PIN(TEGRA_PIN_GMI_HIOR_N_PI1, "GMI_HIOR_N PI1"),
425  PINCTRL_PIN(TEGRA_PIN_GMI_CS5_N_PI2, "GMI_CS5_N PI2"),
426  PINCTRL_PIN(TEGRA_PIN_GMI_CS6_N_PI3, "GMI_CS6_N PI3"),
427  PINCTRL_PIN(TEGRA_PIN_GMI_RST_N_PI4, "GMI_RST_N PI4"),
428  PINCTRL_PIN(TEGRA_PIN_GMI_IORDY_PI5, "GMI_IORDY PI5"),
429  PINCTRL_PIN(TEGRA_PIN_GMI_CS7_N_PI6, "GMI_CS7_N PI6"),
430  PINCTRL_PIN(TEGRA_PIN_GMI_WAIT_PI7, "GMI_WAIT PI7"),
431  PINCTRL_PIN(TEGRA_PIN_GMI_CS0_N_PJ0, "GMI_CS0_N PJ0"),
432  PINCTRL_PIN(TEGRA_PIN_LCD_DE_PJ1, "LCD_DE PJ1"),
433  PINCTRL_PIN(TEGRA_PIN_GMI_CS1_N_PJ2, "GMI_CS1_N PJ2"),
434  PINCTRL_PIN(TEGRA_PIN_LCD_HSYNC_PJ3, "LCD_HSYNC PJ3"),
435  PINCTRL_PIN(TEGRA_PIN_LCD_VSYNC_PJ4, "LCD_VSYNC PJ4"),
436  PINCTRL_PIN(TEGRA_PIN_UART2_CTS_N_PJ5, "UART2_CTS_N PJ5"),
437  PINCTRL_PIN(TEGRA_PIN_UART2_RTS_N_PJ6, "UART2_RTS_N PJ6"),
438  PINCTRL_PIN(TEGRA_PIN_GMI_AD16_PJ7, "GMI_AD16 PJ7"),
439  PINCTRL_PIN(TEGRA_PIN_GMI_ADV_N_PK0, "GMI_ADV_N PK0"),
440  PINCTRL_PIN(TEGRA_PIN_GMI_CLK_PK1, "GMI_CLK PK1"),
441  PINCTRL_PIN(TEGRA_PIN_GMI_CS4_N_PK2, "GMI_CS4_N PK2"),
442  PINCTRL_PIN(TEGRA_PIN_GMI_CS2_N_PK3, "GMI_CS2_N PK3"),
443  PINCTRL_PIN(TEGRA_PIN_GMI_CS3_N_PK4, "GMI_CS3_N PK4"),
444  PINCTRL_PIN(TEGRA_PIN_SPDIF_OUT_PK5, "SPDIF_OUT PK5"),
445  PINCTRL_PIN(TEGRA_PIN_SPDIF_IN_PK6, "SPDIF_IN PK6"),
446  PINCTRL_PIN(TEGRA_PIN_GMI_AD19_PK7, "GMI_AD19 PK7"),
447  PINCTRL_PIN(TEGRA_PIN_VI_D2_PL0, "VI_D2 PL0"),
448  PINCTRL_PIN(TEGRA_PIN_VI_D3_PL1, "VI_D3 PL1"),
449  PINCTRL_PIN(TEGRA_PIN_VI_D4_PL2, "VI_D4 PL2"),
450  PINCTRL_PIN(TEGRA_PIN_VI_D5_PL3, "VI_D5 PL3"),
451  PINCTRL_PIN(TEGRA_PIN_VI_D6_PL4, "VI_D6 PL4"),
452  PINCTRL_PIN(TEGRA_PIN_VI_D7_PL5, "VI_D7 PL5"),
453  PINCTRL_PIN(TEGRA_PIN_VI_D8_PL6, "VI_D8 PL6"),
454  PINCTRL_PIN(TEGRA_PIN_VI_D9_PL7, "VI_D9 PL7"),
455  PINCTRL_PIN(TEGRA_PIN_LCD_D16_PM0, "LCD_D16 PM0"),
456  PINCTRL_PIN(TEGRA_PIN_LCD_D17_PM1, "LCD_D17 PM1"),
457  PINCTRL_PIN(TEGRA_PIN_LCD_D18_PM2, "LCD_D18 PM2"),
458  PINCTRL_PIN(TEGRA_PIN_LCD_D19_PM3, "LCD_D19 PM3"),
459  PINCTRL_PIN(TEGRA_PIN_LCD_D20_PM4, "LCD_D20 PM4"),
460  PINCTRL_PIN(TEGRA_PIN_LCD_D21_PM5, "LCD_D21 PM5"),
461  PINCTRL_PIN(TEGRA_PIN_LCD_D22_PM6, "LCD_D22 PM6"),
462  PINCTRL_PIN(TEGRA_PIN_LCD_D23_PM7, "LCD_D23 PM7"),
463  PINCTRL_PIN(TEGRA_PIN_DAP1_FS_PN0, "DAP1_FS PN0"),
464  PINCTRL_PIN(TEGRA_PIN_DAP1_DIN_PN1, "DAP1_DIN PN1"),
465  PINCTRL_PIN(TEGRA_PIN_DAP1_DOUT_PN2, "DAP1_DOUT PN2"),
466  PINCTRL_PIN(TEGRA_PIN_DAP1_SCLK_PN3, "DAP1_SCLK PN3"),
467  PINCTRL_PIN(TEGRA_PIN_LCD_CS0_N_PN4, "LCD_CS0_N PN4"),
468  PINCTRL_PIN(TEGRA_PIN_LCD_SDOUT_PN5, "LCD_SDOUT PN5"),
469  PINCTRL_PIN(TEGRA_PIN_LCD_DC0_PN6, "LCD_DC0 PN6"),
470  PINCTRL_PIN(TEGRA_PIN_HDMI_INT_N_PN7, "HDMI_INT_N PN7"),
471  PINCTRL_PIN(TEGRA_PIN_ULPI_DATA7_PO0, "ULPI_DATA7 PO0"),
472  PINCTRL_PIN(TEGRA_PIN_ULPI_DATA0_PO1, "ULPI_DATA0 PO1"),
473  PINCTRL_PIN(TEGRA_PIN_ULPI_DATA1_PO2, "ULPI_DATA1 PO2"),
474  PINCTRL_PIN(TEGRA_PIN_ULPI_DATA2_PO3, "ULPI_DATA2 PO3"),
475  PINCTRL_PIN(TEGRA_PIN_ULPI_DATA3_PO4, "ULPI_DATA3 PO4"),
476  PINCTRL_PIN(TEGRA_PIN_ULPI_DATA4_PO5, "ULPI_DATA4 PO5"),
477  PINCTRL_PIN(TEGRA_PIN_ULPI_DATA5_PO6, "ULPI_DATA5 PO6"),
478  PINCTRL_PIN(TEGRA_PIN_ULPI_DATA6_PO7, "ULPI_DATA6 PO7"),
479  PINCTRL_PIN(TEGRA_PIN_DAP3_FS_PP0, "DAP3_FS PP0"),
480  PINCTRL_PIN(TEGRA_PIN_DAP3_DIN_PP1, "DAP3_DIN PP1"),
481  PINCTRL_PIN(TEGRA_PIN_DAP3_DOUT_PP2, "DAP3_DOUT PP2"),
482  PINCTRL_PIN(TEGRA_PIN_DAP3_SCLK_PP3, "DAP3_SCLK PP3"),
483  PINCTRL_PIN(TEGRA_PIN_DAP4_FS_PP4, "DAP4_FS PP4"),
484  PINCTRL_PIN(TEGRA_PIN_DAP4_DIN_PP5, "DAP4_DIN PP5"),
485  PINCTRL_PIN(TEGRA_PIN_DAP4_DOUT_PP6, "DAP4_DOUT PP6"),
486  PINCTRL_PIN(TEGRA_PIN_DAP4_SCLK_PP7, "DAP4_SCLK PP7"),
487  PINCTRL_PIN(TEGRA_PIN_KB_COL0_PQ0, "KB_COL0 PQ0"),
488  PINCTRL_PIN(TEGRA_PIN_KB_COL1_PQ1, "KB_COL1 PQ1"),
489  PINCTRL_PIN(TEGRA_PIN_KB_COL2_PQ2, "KB_COL2 PQ2"),
490  PINCTRL_PIN(TEGRA_PIN_KB_COL3_PQ3, "KB_COL3 PQ3"),
491  PINCTRL_PIN(TEGRA_PIN_KB_COL4_PQ4, "KB_COL4 PQ4"),
492  PINCTRL_PIN(TEGRA_PIN_KB_COL5_PQ5, "KB_COL5 PQ5"),
493  PINCTRL_PIN(TEGRA_PIN_KB_COL6_PQ6, "KB_COL6 PQ6"),
494  PINCTRL_PIN(TEGRA_PIN_KB_COL7_PQ7, "KB_COL7 PQ7"),
495  PINCTRL_PIN(TEGRA_PIN_KB_ROW0_PR0, "KB_ROW0 PR0"),
496  PINCTRL_PIN(TEGRA_PIN_KB_ROW1_PR1, "KB_ROW1 PR1"),
497  PINCTRL_PIN(TEGRA_PIN_KB_ROW2_PR2, "KB_ROW2 PR2"),
498  PINCTRL_PIN(TEGRA_PIN_KB_ROW3_PR3, "KB_ROW3 PR3"),
499  PINCTRL_PIN(TEGRA_PIN_KB_ROW4_PR4, "KB_ROW4 PR4"),
500  PINCTRL_PIN(TEGRA_PIN_KB_ROW5_PR5, "KB_ROW5 PR5"),
501  PINCTRL_PIN(TEGRA_PIN_KB_ROW6_PR6, "KB_ROW6 PR6"),
502  PINCTRL_PIN(TEGRA_PIN_KB_ROW7_PR7, "KB_ROW7 PR7"),
503  PINCTRL_PIN(TEGRA_PIN_KB_ROW8_PS0, "KB_ROW8 PS0"),
504  PINCTRL_PIN(TEGRA_PIN_KB_ROW9_PS1, "KB_ROW9 PS1"),
505  PINCTRL_PIN(TEGRA_PIN_KB_ROW10_PS2, "KB_ROW10 PS2"),
506  PINCTRL_PIN(TEGRA_PIN_KB_ROW11_PS3, "KB_ROW11 PS3"),
507  PINCTRL_PIN(TEGRA_PIN_KB_ROW12_PS4, "KB_ROW12 PS4"),
508  PINCTRL_PIN(TEGRA_PIN_KB_ROW13_PS5, "KB_ROW13 PS5"),
509  PINCTRL_PIN(TEGRA_PIN_KB_ROW14_PS6, "KB_ROW14 PS6"),
510  PINCTRL_PIN(TEGRA_PIN_KB_ROW15_PS7, "KB_ROW15 PS7"),
511  PINCTRL_PIN(TEGRA_PIN_VI_PCLK_PT0, "VI_PCLK PT0"),
512  PINCTRL_PIN(TEGRA_PIN_VI_MCLK_PT1, "VI_MCLK PT1"),
513  PINCTRL_PIN(TEGRA_PIN_VI_D10_PT2, "VD_D10 PT2"),
514  PINCTRL_PIN(TEGRA_PIN_VI_D11_PT3, "VI_D11 PT3"),
515  PINCTRL_PIN(TEGRA_PIN_VI_D0_PT4, "VI_D0 PT4"),
516  PINCTRL_PIN(TEGRA_PIN_GEN2_I2C_SCL_PT5, "GEN2_I2C_SCL PT5"),
517  PINCTRL_PIN(TEGRA_PIN_GEN2_I2C_SDA_PT6, "GEN2_I2C_SDA PT6"),
518  PINCTRL_PIN(TEGRA_PIN_GMI_DPD_PT7, "GMI_DPD PT7"),
519  /* PU0..6: GPIO only */
520  PINCTRL_PIN(TEGRA_PIN_PU0, "PU0"),
521  PINCTRL_PIN(TEGRA_PIN_PU1, "PU1"),
522  PINCTRL_PIN(TEGRA_PIN_PU2, "PU2"),
523  PINCTRL_PIN(TEGRA_PIN_PU3, "PU3"),
524  PINCTRL_PIN(TEGRA_PIN_PU4, "PU4"),
525  PINCTRL_PIN(TEGRA_PIN_PU5, "PU5"),
526  PINCTRL_PIN(TEGRA_PIN_PU6, "PU6"),
527  PINCTRL_PIN(TEGRA_PIN_JTAG_RTCK_PU7, "JTAG_RTCK PU7"),
528  /* PV0..1: GPIO only */
529  PINCTRL_PIN(TEGRA_PIN_PV0, "PV0"),
530  PINCTRL_PIN(TEGRA_PIN_PV1, "PV1"),
531  /* PV2..3: Balls are named after GPIO not function */
532  PINCTRL_PIN(TEGRA_PIN_PV2, "PV2"),
533  PINCTRL_PIN(TEGRA_PIN_PV3, "PV3"),
534  /* PV4..6: GPIO only */
535  PINCTRL_PIN(TEGRA_PIN_PV4, "PV4"),
536  PINCTRL_PIN(TEGRA_PIN_PV5, "PV5"),
537  PINCTRL_PIN(TEGRA_PIN_PV6, "PV6"),
538  PINCTRL_PIN(TEGRA_PIN_LCD_DC1_PV7, "LCD_DC1 PV7"),
539  PINCTRL_PIN(TEGRA_PIN_LCD_CS1_N_PW0, "LCD_CS1_N PW0"),
540  PINCTRL_PIN(TEGRA_PIN_LCD_M1_PW1, "LCD_M1 PW1"),
541  PINCTRL_PIN(TEGRA_PIN_SPI2_CS1_N_PW2, "SPI2_CS1_N PW2"),
542  PINCTRL_PIN(TEGRA_PIN_SPI2_CS2_N_PW3, "SPI2_CS2_N PW3"),
543  PINCTRL_PIN(TEGRA_PIN_DAP_MCLK1_PW4, "DAP_MCLK1 PW4"),
544  PINCTRL_PIN(TEGRA_PIN_DAP_MCLK2_PW5, "DAP_MCLK2 PW5"),
545  PINCTRL_PIN(TEGRA_PIN_UART3_TXD_PW6, "UART3_TXD PW6"),
546  PINCTRL_PIN(TEGRA_PIN_UART3_RXD_PW7, "UART3_RXD PW7"),
547  PINCTRL_PIN(TEGRA_PIN_SPI2_MOSI_PX0, "SPI2_MOSI PX0"),
548  PINCTRL_PIN(TEGRA_PIN_SPI2_MISO_PX1, "SPI2_MISO PX1"),
549  PINCTRL_PIN(TEGRA_PIN_SPI2_SCK_PX2, "SPI2_SCK PX2"),
550  PINCTRL_PIN(TEGRA_PIN_SPI2_CS0_N_PX3, "SPI2_CS0_N PX3"),
551  PINCTRL_PIN(TEGRA_PIN_SPI1_MOSI_PX4, "SPI1_MOSI PX4"),
552  PINCTRL_PIN(TEGRA_PIN_SPI1_SCK_PX5, "SPI1_SCK PX5"),
553  PINCTRL_PIN(TEGRA_PIN_SPI1_CS0_N_PX6, "SPI1_CS0_N PX6"),
554  PINCTRL_PIN(TEGRA_PIN_SPI1_MISO_PX7, "SPI1_MISO PX7"),
555  PINCTRL_PIN(TEGRA_PIN_ULPI_CLK_PY0, "ULPI_CLK PY0"),
556  PINCTRL_PIN(TEGRA_PIN_ULPI_DIR_PY1, "ULPI_DIR PY1"),
557  PINCTRL_PIN(TEGRA_PIN_ULPI_NXT_PY2, "ULPI_NXT PY2"),
558  PINCTRL_PIN(TEGRA_PIN_ULPI_STP_PY3, "ULPI_STP PY3"),
559  PINCTRL_PIN(TEGRA_PIN_SDIO1_DAT3_PY4, "SDIO1_DAT3 PY4"),
560  PINCTRL_PIN(TEGRA_PIN_SDIO1_DAT2_PY5, "SDIO1_DAT2 PY5"),
561  PINCTRL_PIN(TEGRA_PIN_SDIO1_DAT1_PY6, "SDIO1_DAT1 PY6"),
562  PINCTRL_PIN(TEGRA_PIN_SDIO1_DAT0_PY7, "SDIO1_DAT0 PY7"),
563  PINCTRL_PIN(TEGRA_PIN_SDIO1_CLK_PZ0, "SDIO1_CLK PZ0"),
564  PINCTRL_PIN(TEGRA_PIN_SDIO1_CMD_PZ1, "SDIO1_CMD PZ1"),
565  PINCTRL_PIN(TEGRA_PIN_LCD_SDIN_PZ2, "LCD_SDIN PZ2"),
566  PINCTRL_PIN(TEGRA_PIN_LCD_WR_N_PZ3, "LCD_WR_N PZ3"),
567  PINCTRL_PIN(TEGRA_PIN_LCD_SCK_PZ4, "LCD_SCK PZ4"),
568  PINCTRL_PIN(TEGRA_PIN_SYS_CLK_REQ_PZ5, "SYS_CLK_REQ PZ5"),
569  PINCTRL_PIN(TEGRA_PIN_PWR_I2C_SCL_PZ6, "PWR_I2C_SCL PZ6"),
570  PINCTRL_PIN(TEGRA_PIN_PWR_I2C_SDA_PZ7, "PWR_I2C_SDA PZ7"),
571  PINCTRL_PIN(TEGRA_PIN_GMI_AD20_PAA0, "GMI_AD20 PAA0"),
572  PINCTRL_PIN(TEGRA_PIN_GMI_AD21_PAA1, "GMI_AD21 PAA1"),
573  PINCTRL_PIN(TEGRA_PIN_GMI_AD22_PAA2, "GMI_AD22 PAA2"),
574  PINCTRL_PIN(TEGRA_PIN_GMI_AD23_PAA3, "GMI_AD23 PAA3"),
575  PINCTRL_PIN(TEGRA_PIN_GMI_AD24_PAA4, "GMI_AD24 PAA4"),
576  PINCTRL_PIN(TEGRA_PIN_GMI_AD25_PAA5, "GMI_AD25 PAA5"),
577  PINCTRL_PIN(TEGRA_PIN_GMI_AD26_PAA6, "GMI_AD26 PAA6"),
578  PINCTRL_PIN(TEGRA_PIN_GMI_AD27_PAA7, "GMI_AD27 PAA7"),
579  PINCTRL_PIN(TEGRA_PIN_LED_BLINK_PBB0, "LED_BLINK PBB0"),
580  PINCTRL_PIN(TEGRA_PIN_VI_GP0_PBB1, "VI_GP0 PBB1"),
581  PINCTRL_PIN(TEGRA_PIN_CAM_I2C_SCL_PBB2, "CAM_I2C_SCL PBB2"),
582  PINCTRL_PIN(TEGRA_PIN_CAM_I2C_SDA_PBB3, "CAM_I2C_SDA PBB3"),
583  PINCTRL_PIN(TEGRA_PIN_VI_GP3_PBB4, "VI_GP3 PBB4"),
584  PINCTRL_PIN(TEGRA_PIN_VI_GP4_PBB5, "VI_GP4 PBB5"),
585  PINCTRL_PIN(TEGRA_PIN_PBB6, "PBB6"),
586  PINCTRL_PIN(TEGRA_PIN_PBB7, "PBB7"),
587  PINCTRL_PIN(TEGRA_PIN_CRT_HSYNC, "CRT_HSYNC"),
588  PINCTRL_PIN(TEGRA_PIN_CRT_VSYNC, "CRT_VSYNC"),
589  PINCTRL_PIN(TEGRA_PIN_DDC_SCL, "DDC_SCL"),
590  PINCTRL_PIN(TEGRA_PIN_DDC_SDA, "DDC_SDA"),
591  PINCTRL_PIN(TEGRA_PIN_OWC, "OWC"),
592  PINCTRL_PIN(TEGRA_PIN_CORE_PWR_REQ, "CORE_PWR_REQ"),
593  PINCTRL_PIN(TEGRA_PIN_CPU_PWR_REQ, "CPU_PWR_REQ"),
594  PINCTRL_PIN(TEGRA_PIN_PWR_INT_N, "PWR_INT_N"),
595  PINCTRL_PIN(TEGRA_PIN_CLK_32_K_IN, "CLK_32_K_IN"),
596  PINCTRL_PIN(TEGRA_PIN_DDR_COMP_PD, "DDR_COMP_PD"),
597  PINCTRL_PIN(TEGRA_PIN_DDR_COMP_PU, "DDR_COMP_PU"),
598  PINCTRL_PIN(TEGRA_PIN_DDR_A0, "DDR_A0"),
599  PINCTRL_PIN(TEGRA_PIN_DDR_A1, "DDR_A1"),
600  PINCTRL_PIN(TEGRA_PIN_DDR_A2, "DDR_A2"),
601  PINCTRL_PIN(TEGRA_PIN_DDR_A3, "DDR_A3"),
602  PINCTRL_PIN(TEGRA_PIN_DDR_A4, "DDR_A4"),
603  PINCTRL_PIN(TEGRA_PIN_DDR_A5, "DDR_A5"),
604  PINCTRL_PIN(TEGRA_PIN_DDR_A6, "DDR_A6"),
605  PINCTRL_PIN(TEGRA_PIN_DDR_A7, "DDR_A7"),
606  PINCTRL_PIN(TEGRA_PIN_DDR_A8, "DDR_A8"),
607  PINCTRL_PIN(TEGRA_PIN_DDR_A9, "DDR_A9"),
608  PINCTRL_PIN(TEGRA_PIN_DDR_A10, "DDR_A10"),
609  PINCTRL_PIN(TEGRA_PIN_DDR_A11, "DDR_A11"),
610  PINCTRL_PIN(TEGRA_PIN_DDR_A12, "DDR_A12"),
611  PINCTRL_PIN(TEGRA_PIN_DDR_A13, "DDR_A13"),
612  PINCTRL_PIN(TEGRA_PIN_DDR_A14, "DDR_A14"),
613  PINCTRL_PIN(TEGRA_PIN_DDR_CAS_N, "DDR_CAS_N"),
614  PINCTRL_PIN(TEGRA_PIN_DDR_BA0, "DDR_BA0"),
615  PINCTRL_PIN(TEGRA_PIN_DDR_BA1, "DDR_BA1"),
616  PINCTRL_PIN(TEGRA_PIN_DDR_BA2, "DDR_BA2"),
617  PINCTRL_PIN(TEGRA_PIN_DDR_DQS0P, "DDR_DQS0P"),
618  PINCTRL_PIN(TEGRA_PIN_DDR_DQS0N, "DDR_DQS0N"),
619  PINCTRL_PIN(TEGRA_PIN_DDR_DQS1P, "DDR_DQS1P"),
620  PINCTRL_PIN(TEGRA_PIN_DDR_DQS1N, "DDR_DQS1N"),
621  PINCTRL_PIN(TEGRA_PIN_DDR_DQS2P, "DDR_DQS2P"),
622  PINCTRL_PIN(TEGRA_PIN_DDR_DQS2N, "DDR_DQS2N"),
623  PINCTRL_PIN(TEGRA_PIN_DDR_DQS3P, "DDR_DQS3P"),
624  PINCTRL_PIN(TEGRA_PIN_DDR_DQS3N, "DDR_DQS3N"),
625  PINCTRL_PIN(TEGRA_PIN_DDR_CKE0, "DDR_CKE0"),
626  PINCTRL_PIN(TEGRA_PIN_DDR_CKE1, "DDR_CKE1"),
627  PINCTRL_PIN(TEGRA_PIN_DDR_CLK, "DDR_CLK"),
628  PINCTRL_PIN(TEGRA_PIN_DDR_CLK_N, "DDR_CLK_N"),
629  PINCTRL_PIN(TEGRA_PIN_DDR_DM0, "DDR_DM0"),
630  PINCTRL_PIN(TEGRA_PIN_DDR_DM1, "DDR_DM1"),
631  PINCTRL_PIN(TEGRA_PIN_DDR_DM2, "DDR_DM2"),
632  PINCTRL_PIN(TEGRA_PIN_DDR_DM3, "DDR_DM3"),
633  PINCTRL_PIN(TEGRA_PIN_DDR_ODT, "DDR_ODT"),
634  PINCTRL_PIN(TEGRA_PIN_DDR_QUSE0, "DDR_QUSE0"),
635  PINCTRL_PIN(TEGRA_PIN_DDR_QUSE1, "DDR_QUSE1"),
636  PINCTRL_PIN(TEGRA_PIN_DDR_QUSE2, "DDR_QUSE2"),
637  PINCTRL_PIN(TEGRA_PIN_DDR_QUSE3, "DDR_QUSE3"),
638  PINCTRL_PIN(TEGRA_PIN_DDR_RAS_N, "DDR_RAS_N"),
639  PINCTRL_PIN(TEGRA_PIN_DDR_WE_N, "DDR_WE_N"),
640  PINCTRL_PIN(TEGRA_PIN_DDR_DQ0, "DDR_DQ0"),
641  PINCTRL_PIN(TEGRA_PIN_DDR_DQ1, "DDR_DQ1"),
642  PINCTRL_PIN(TEGRA_PIN_DDR_DQ2, "DDR_DQ2"),
643  PINCTRL_PIN(TEGRA_PIN_DDR_DQ3, "DDR_DQ3"),
644  PINCTRL_PIN(TEGRA_PIN_DDR_DQ4, "DDR_DQ4"),
645  PINCTRL_PIN(TEGRA_PIN_DDR_DQ5, "DDR_DQ5"),
646  PINCTRL_PIN(TEGRA_PIN_DDR_DQ6, "DDR_DQ6"),
647  PINCTRL_PIN(TEGRA_PIN_DDR_DQ7, "DDR_DQ7"),
648  PINCTRL_PIN(TEGRA_PIN_DDR_DQ8, "DDR_DQ8"),
649  PINCTRL_PIN(TEGRA_PIN_DDR_DQ9, "DDR_DQ9"),
650  PINCTRL_PIN(TEGRA_PIN_DDR_DQ10, "DDR_DQ10"),
651  PINCTRL_PIN(TEGRA_PIN_DDR_DQ11, "DDR_DQ11"),
652  PINCTRL_PIN(TEGRA_PIN_DDR_DQ12, "DDR_DQ12"),
653  PINCTRL_PIN(TEGRA_PIN_DDR_DQ13, "DDR_DQ13"),
654  PINCTRL_PIN(TEGRA_PIN_DDR_DQ14, "DDR_DQ14"),
655  PINCTRL_PIN(TEGRA_PIN_DDR_DQ15, "DDR_DQ15"),
656  PINCTRL_PIN(TEGRA_PIN_DDR_DQ16, "DDR_DQ16"),
657  PINCTRL_PIN(TEGRA_PIN_DDR_DQ17, "DDR_DQ17"),
658  PINCTRL_PIN(TEGRA_PIN_DDR_DQ18, "DDR_DQ18"),
659  PINCTRL_PIN(TEGRA_PIN_DDR_DQ19, "DDR_DQ19"),
660  PINCTRL_PIN(TEGRA_PIN_DDR_DQ20, "DDR_DQ20"),
661  PINCTRL_PIN(TEGRA_PIN_DDR_DQ21, "DDR_DQ21"),
662  PINCTRL_PIN(TEGRA_PIN_DDR_DQ22, "DDR_DQ22"),
663  PINCTRL_PIN(TEGRA_PIN_DDR_DQ23, "DDR_DQ23"),
664  PINCTRL_PIN(TEGRA_PIN_DDR_DQ24, "DDR_DQ24"),
665  PINCTRL_PIN(TEGRA_PIN_DDR_DQ25, "DDR_DQ25"),
666  PINCTRL_PIN(TEGRA_PIN_DDR_DQ26, "DDR_DQ26"),
667  PINCTRL_PIN(TEGRA_PIN_DDR_DQ27, "DDR_DQ27"),
668  PINCTRL_PIN(TEGRA_PIN_DDR_DQ28, "DDR_DQ28"),
669  PINCTRL_PIN(TEGRA_PIN_DDR_DQ29, "DDR_DQ29"),
670  PINCTRL_PIN(TEGRA_PIN_DDR_DQ30, "DDR_DQ30"),
671  PINCTRL_PIN(TEGRA_PIN_DDR_DQ31, "DDR_DQ31"),
672  PINCTRL_PIN(TEGRA_PIN_DDR_CS0_N, "DDR_CS0_N"),
673  PINCTRL_PIN(TEGRA_PIN_DDR_CS1_N, "DDR_CS1_N"),
674  PINCTRL_PIN(TEGRA_PIN_SYS_RESET, "SYS_RESET"),
675  PINCTRL_PIN(TEGRA_PIN_JTAG_TRST_N, "JTAG_TRST_N"),
676  PINCTRL_PIN(TEGRA_PIN_JTAG_TDO, "JTAG_TDO"),
677  PINCTRL_PIN(TEGRA_PIN_JTAG_TMS, "JTAG_TMS"),
678  PINCTRL_PIN(TEGRA_PIN_JTAG_TCK, "JTAG_TCK"),
679  PINCTRL_PIN(TEGRA_PIN_JTAG_TDI, "JTAG_TDI"),
680  PINCTRL_PIN(TEGRA_PIN_TEST_MODE_EN, "TEST_MODE_EN"),
681 };
682 
683 static const unsigned ata_pins[] = {
687 };
688 
689 static const unsigned atb_pins[] = {
692 };
693 
694 static const unsigned atc_pins[] = {
712 };
713 
714 static const unsigned atd_pins[] = {
719 };
720 
721 static const unsigned ate_pins[] = {
726 };
727 
728 static const unsigned cdev1_pins[] = {
730 };
731 
732 static const unsigned cdev2_pins[] = {
734 };
735 
736 static const unsigned crtp_pins[] = {
739 };
740 
741 static const unsigned csus_pins[] = {
743 };
744 
745 static const unsigned dap1_pins[] = {
750 };
751 
752 static const unsigned dap2_pins[] = {
757 };
758 
759 static const unsigned dap3_pins[] = {
764 };
765 
766 static const unsigned dap4_pins[] = {
771 };
772 
773 static const unsigned ddc_pins[] = {
776 };
777 
778 static const unsigned dta_pins[] = {
781 };
782 
783 static const unsigned dtb_pins[] = {
786 };
787 
788 static const unsigned dtc_pins[] = {
791 };
792 
793 static const unsigned dtd_pins[] = {
803 };
804 
805 static const unsigned dte_pins[] = {
811 };
812 
813 static const unsigned dtf_pins[] = {
816 };
817 
818 static const unsigned gma_pins[] = {
823 };
824 
825 static const unsigned gmb_pins[] = {
827 };
828 
829 static const unsigned gmc_pins[] = {
834 };
835 
836 static const unsigned gmd_pins[] = {
839 };
840 
841 static const unsigned gme_pins[] = {
846 };
847 
848 static const unsigned gpu_pins[] = {
856 };
857 
858 static const unsigned gpu7_pins[] = {
860 };
861 
862 static const unsigned gpv_pins[] = {
866 };
867 
868 static const unsigned hdint_pins[] = {
870 };
871 
872 static const unsigned i2cp_pins[] = {
875 };
876 
877 static const unsigned irrx_pins[] = {
879 };
880 
881 static const unsigned irtx_pins[] = {
883 };
884 
885 static const unsigned kbca_pins[] = {
889 };
890 
891 static const unsigned kbcb_pins[] = {
901 };
902 
903 static const unsigned kbcc_pins[] = {
906 };
907 
908 static const unsigned kbcd_pins[] = {
913 };
914 
915 static const unsigned kbce_pins[] = {
917 };
918 
919 static const unsigned kbcf_pins[] = {
925 };
926 
927 static const unsigned lcsn_pins[] = {
929 };
930 
931 static const unsigned ld0_pins[] = {
933 };
934 
935 static const unsigned ld1_pins[] = {
937 };
938 
939 static const unsigned ld2_pins[] = {
941 };
942 
943 static const unsigned ld3_pins[] = {
945 };
946 
947 static const unsigned ld4_pins[] = {
949 };
950 
951 static const unsigned ld5_pins[] = {
953 };
954 
955 static const unsigned ld6_pins[] = {
957 };
958 
959 static const unsigned ld7_pins[] = {
961 };
962 
963 static const unsigned ld8_pins[] = {
965 };
966 
967 static const unsigned ld9_pins[] = {
969 };
970 
971 static const unsigned ld10_pins[] = {
973 };
974 
975 static const unsigned ld11_pins[] = {
977 };
978 
979 static const unsigned ld12_pins[] = {
981 };
982 
983 static const unsigned ld13_pins[] = {
985 };
986 
987 static const unsigned ld14_pins[] = {
989 };
990 
991 static const unsigned ld15_pins[] = {
993 };
994 
995 static const unsigned ld16_pins[] = {
997 };
998 
999 static const unsigned ld17_pins[] = {
1001 };
1002 
1003 static const unsigned ldc_pins[] = {
1005 };
1006 
1007 static const unsigned ldi_pins[] = {
1009 };
1010 
1011 static const unsigned lhp0_pins[] = {
1013 };
1014 
1015 static const unsigned lhp1_pins[] = {
1017 };
1018 
1019 static const unsigned lhp2_pins[] = {
1021 };
1022 
1023 static const unsigned lhs_pins[] = {
1025 };
1026 
1027 static const unsigned lm0_pins[] = {
1029 };
1030 
1031 static const unsigned lm1_pins[] = {
1033 };
1034 
1035 static const unsigned lpp_pins[] = {
1037 };
1038 
1039 static const unsigned lpw0_pins[] = {
1041 };
1042 
1043 static const unsigned lpw1_pins[] = {
1045 };
1046 
1047 static const unsigned lpw2_pins[] = {
1049 };
1050 
1051 static const unsigned lsc0_pins[] = {
1053 };
1054 
1055 static const unsigned lsc1_pins[] = {
1057 };
1058 
1059 static const unsigned lsck_pins[] = {
1061 };
1062 
1063 static const unsigned lsda_pins[] = {
1065 };
1066 
1067 static const unsigned lsdi_pins[] = {
1069 };
1070 
1071 static const unsigned lspi_pins[] = {
1073 };
1074 
1075 static const unsigned lvp0_pins[] = {
1077 };
1078 
1079 static const unsigned lvp1_pins[] = {
1081 };
1082 
1083 static const unsigned lvs_pins[] = {
1085 };
1086 
1087 static const unsigned ls_pins[] = {
1097 };
1098 
1099 static const unsigned lc_pins[] = {
1108 };
1109 
1110 static const unsigned ld17_0_pins[] = {
1129 };
1130 
1131 static const unsigned ld19_18_pins[] = {
1134 };
1135 
1136 static const unsigned ld21_20_pins[] = {
1139 };
1140 
1141 static const unsigned ld23_22_pins[] = {
1144 };
1145 
1146 static const unsigned owc_pins[] = {
1147  TEGRA_PIN_OWC,
1148 };
1149 
1150 static const unsigned pmc_pins[] = {
1156 };
1157 
1158 static const unsigned pta_pins[] = {
1161 };
1162 
1163 static const unsigned rm_pins[] = {
1166 };
1167 
1168 static const unsigned sdb_pins[] = {
1170 };
1171 
1172 static const unsigned sdc_pins[] = {
1177 };
1178 
1179 static const unsigned sdd_pins[] = {
1181 };
1182 
1183 static const unsigned sdio1_pins[] = {
1190 };
1191 
1192 static const unsigned slxa_pins[] = {
1194 };
1195 
1196 static const unsigned slxc_pins[] = {
1198 };
1199 
1200 static const unsigned slxd_pins[] = {
1202 };
1203 
1204 static const unsigned slxk_pins[] = {
1206 };
1207 
1208 static const unsigned spdi_pins[] = {
1210 };
1211 
1212 static const unsigned spdo_pins[] = {
1214 };
1215 
1216 static const unsigned spia_pins[] = {
1218 };
1219 
1220 static const unsigned spib_pins[] = {
1222 };
1223 
1224 static const unsigned spic_pins[] = {
1227 };
1228 
1229 static const unsigned spid_pins[] = {
1231 };
1232 
1233 static const unsigned spie_pins[] = {
1236 };
1237 
1238 static const unsigned spif_pins[] = {
1240 };
1241 
1242 static const unsigned spig_pins[] = {
1244 };
1245 
1246 static const unsigned spih_pins[] = {
1248 };
1249 
1250 static const unsigned uaa_pins[] = {
1255 };
1256 
1257 static const unsigned uab_pins[] = {
1262 };
1263 
1264 static const unsigned uac_pins[] = {
1265  TEGRA_PIN_PV0,
1266  TEGRA_PIN_PV1,
1267  TEGRA_PIN_PV2,
1268  TEGRA_PIN_PV3,
1269 };
1270 
1271 static const unsigned ck32_pins[] = {
1273 };
1274 
1275 static const unsigned uad_pins[] = {
1278 };
1279 
1280 static const unsigned uca_pins[] = {
1283 };
1284 
1285 static const unsigned ucb_pins[] = {
1288 };
1289 
1290 static const unsigned uda_pins[] = {
1295 };
1296 
1297 static const unsigned ddrc_pins[] = {
1300 };
1301 
1302 static const unsigned pmca_pins[] = {
1304 };
1305 
1306 static const unsigned pmcb_pins[] = {
1308 };
1309 
1310 static const unsigned pmcc_pins[] = {
1312 };
1313 
1314 static const unsigned pmcd_pins[] = {
1316 };
1317 
1318 static const unsigned pmce_pins[] = {
1320 };
1321 
1322 static const unsigned xm2c_pins[] = {
1367 };
1368 
1369 static const unsigned xm2d_pins[] = {
1402 };
1403 
1404 static const unsigned drive_ao1_pins[] = {
1416 };
1417 
1418 static const unsigned drive_ao2_pins[] = {
1441 };
1442 
1443 static const unsigned drive_at1_pins[] = {
1457 };
1458 
1459 static const unsigned drive_at2_pins[] = {
1479 };
1480 
1481 static const unsigned drive_cdev1_pins[] = {
1483 };
1484 
1485 static const unsigned drive_cdev2_pins[] = {
1487 };
1488 
1489 static const unsigned drive_csus_pins[] = {
1491 };
1492 
1493 static const unsigned drive_dap1_pins[] = {
1500 };
1501 
1502 static const unsigned drive_dap2_pins[] = {
1507 };
1508 
1509 static const unsigned drive_dap3_pins[] = {
1514 };
1515 
1516 static const unsigned drive_dap4_pins[] = {
1521 };
1522 
1523 static const unsigned drive_dbg_pins[] = {
1524  TEGRA_PIN_PU0,
1525  TEGRA_PIN_PU1,
1526  TEGRA_PIN_PU2,
1527  TEGRA_PIN_PU3,
1528  TEGRA_PIN_PU4,
1529  TEGRA_PIN_PU5,
1530  TEGRA_PIN_PU6,
1540 };
1541 
1542 static const unsigned drive_lcd1_pins[] = {
1551 };
1552 
1553 static const unsigned drive_lcd2_pins[] = {
1587 };
1588 
1589 static const unsigned drive_sdmmc2_pins[] = {
1594 };
1595 
1596 static const unsigned drive_sdmmc3_pins[] = {
1603  TEGRA_PIN_PV4,
1604  TEGRA_PIN_PV5,
1605  TEGRA_PIN_PV6,
1606 };
1607 
1608 static const unsigned drive_spi_pins[] = {
1619 };
1620 
1621 static const unsigned drive_uaa_pins[] = {
1626 };
1627 
1628 static const unsigned drive_uab_pins[] = {
1633  TEGRA_PIN_PV0,
1634  TEGRA_PIN_PV1,
1635  TEGRA_PIN_PV2,
1636  TEGRA_PIN_PV3,
1637 };
1638 
1639 static const unsigned drive_uart2_pins[] = {
1644 };
1645 
1646 static const unsigned drive_uart3_pins[] = {
1651 };
1652 
1653 static const unsigned drive_vi1_pins[] = {
1669 };
1670 
1671 static const unsigned drive_vi2_pins[] = {
1679 };
1680 
1681 static const unsigned drive_xm2a_pins[] = {
1708 };
1709 
1710 static const unsigned drive_xm2c_pins[] = {
1723 };
1724 
1725 static const unsigned drive_xm2d_pins[] = {
1762 };
1763 
1764 static const unsigned drive_xm2clk_pins[] = {
1767 };
1768 
1769 static const unsigned drive_sdio1_pins[] = {
1776 };
1777 
1778 static const unsigned drive_crt_pins[] = {
1781 };
1782 
1783 static const unsigned drive_ddc_pins[] = {
1786 };
1787 
1788 static const unsigned drive_gma_pins[] = {
1793 };
1794 
1795 static const unsigned drive_gmb_pins[] = {
1797 };
1798 
1799 static const unsigned drive_gmc_pins[] = {
1804 };
1805 
1806 static const unsigned drive_gmd_pins[] = {
1809 };
1810 
1811 static const unsigned drive_gme_pins[] = {
1816 };
1817 
1818 static const unsigned drive_owr_pins[] = {
1819  TEGRA_PIN_OWC,
1820 };
1821 
1822 static const unsigned drive_uda_pins[] = {
1827 };
1828 
1895 };
1896 
1897 static const char * const ahb_clk_groups[] = {
1898  "cdev2",
1899 };
1900 
1901 static const char * const apb_clk_groups[] = {
1902  "cdev2",
1903 };
1904 
1905 static const char * const audio_sync_groups[] = {
1906  "cdev1",
1907 };
1908 
1909 static const char * const crt_groups[] = {
1910  "crtp",
1911  "lm1",
1912 };
1913 
1914 static const char * const dap1_groups[] = {
1915  "dap1",
1916 };
1917 
1918 static const char * const dap2_groups[] = {
1919  "dap2",
1920 };
1921 
1922 static const char * const dap3_groups[] = {
1923  "dap3",
1924 };
1925 
1926 static const char * const dap4_groups[] = {
1927  "dap4",
1928 };
1929 
1930 static const char * const dap5_groups[] = {
1931  "gme",
1932 };
1933 
1934 static const char * const displaya_groups[] = {
1935  "lcsn",
1936  "ld0",
1937  "ld1",
1938  "ld10",
1939  "ld11",
1940  "ld12",
1941  "ld13",
1942  "ld14",
1943  "ld15",
1944  "ld16",
1945  "ld17",
1946  "ld2",
1947  "ld3",
1948  "ld4",
1949  "ld5",
1950  "ld6",
1951  "ld7",
1952  "ld8",
1953  "ld9",
1954  "ldc",
1955  "ldi",
1956  "lhp0",
1957  "lhp1",
1958  "lhp2",
1959  "lhs",
1960  "lm0",
1961  "lm1",
1962  "lpp",
1963  "lpw0",
1964  "lpw1",
1965  "lpw2",
1966  "lsc0",
1967  "lsc1",
1968  "lsck",
1969  "lsda",
1970  "lsdi",
1971  "lspi",
1972  "lvp0",
1973  "lvp1",
1974  "lvs",
1975 };
1976 
1977 static const char * const displayb_groups[] = {
1978  "lcsn",
1979  "ld0",
1980  "ld1",
1981  "ld10",
1982  "ld11",
1983  "ld12",
1984  "ld13",
1985  "ld14",
1986  "ld15",
1987  "ld16",
1988  "ld17",
1989  "ld2",
1990  "ld3",
1991  "ld4",
1992  "ld5",
1993  "ld6",
1994  "ld7",
1995  "ld8",
1996  "ld9",
1997  "ldc",
1998  "ldi",
1999  "lhp0",
2000  "lhp1",
2001  "lhp2",
2002  "lhs",
2003  "lm0",
2004  "lm1",
2005  "lpp",
2006  "lpw0",
2007  "lpw1",
2008  "lpw2",
2009  "lsc0",
2010  "lsc1",
2011  "lsck",
2012  "lsda",
2013  "lsdi",
2014  "lspi",
2015  "lvp0",
2016  "lvp1",
2017  "lvs",
2018 };
2019 
2020 static const char * const emc_test0_dll_groups[] = {
2021  "kbca",
2022 };
2023 
2024 static const char * const emc_test1_dll_groups[] = {
2025  "kbcc",
2026 };
2027 
2028 static const char * const gmi_groups[] = {
2029  "ata",
2030  "atb",
2031  "atc",
2032  "atd",
2033  "ate",
2034  "dap1",
2035  "dap2",
2036  "dap4",
2037  "gma",
2038  "gmb",
2039  "gmc",
2040  "gmd",
2041  "gme",
2042  "gpu",
2043  "irrx",
2044  "irtx",
2045  "pta",
2046  "spia",
2047  "spib",
2048  "spic",
2049  "spid",
2050  "spie",
2051  "uca",
2052  "ucb",
2053 };
2054 
2055 static const char * const gmi_int_groups[] = {
2056  "gmb",
2057 };
2058 
2059 static const char * const hdmi_groups[] = {
2060  "hdint",
2061  "lpw0",
2062  "lpw2",
2063  "lsc1",
2064  "lsck",
2065  "lsda",
2066  "lspi",
2067  "pta",
2068 };
2069 
2070 static const char * const i2cp_groups[] = {
2071  "i2cp",
2072 };
2073 
2074 static const char * const i2c1_groups[] = {
2075  "rm",
2076  "spdi",
2077  "spdo",
2078  "spig",
2079  "spih",
2080 };
2081 
2082 static const char * const i2c2_groups[] = {
2083  "ddc",
2084  "pta",
2085 };
2086 
2087 static const char * const i2c3_groups[] = {
2088  "dtf",
2089 };
2090 
2091 static const char * const ide_groups[] = {
2092  "ata",
2093  "atb",
2094  "atc",
2095  "atd",
2096  "ate",
2097  "gmb",
2098 };
2099 
2100 static const char * const irda_groups[] = {
2101  "uad",
2102 };
2103 
2104 static const char * const kbc_groups[] = {
2105  "kbca",
2106  "kbcb",
2107  "kbcc",
2108  "kbcd",
2109  "kbce",
2110  "kbcf",
2111 };
2112 
2113 static const char * const mio_groups[] = {
2114  "kbcb",
2115  "kbcd",
2116  "kbcf",
2117 };
2118 
2119 static const char * const mipi_hs_groups[] = {
2120  "uaa",
2121  "uab",
2122 };
2123 
2124 static const char * const nand_groups[] = {
2125  "ata",
2126  "atb",
2127  "atc",
2128  "atd",
2129  "ate",
2130  "gmb",
2131  "gmd",
2132  "kbca",
2133  "kbcb",
2134  "kbcc",
2135  "kbcd",
2136  "kbce",
2137  "kbcf",
2138 };
2139 
2140 static const char * const osc_groups[] = {
2141  "cdev1",
2142  "cdev2",
2143 };
2144 
2145 static const char * const owr_groups[] = {
2146  "kbce",
2147  "owc",
2148  "uac",
2149 };
2150 
2151 static const char * const pcie_groups[] = {
2152  "gpv",
2153  "slxa",
2154  "slxk",
2155 };
2156 
2157 static const char * const plla_out_groups[] = {
2158  "cdev1",
2159 };
2160 
2161 static const char * const pllc_out1_groups[] = {
2162  "csus",
2163 };
2164 
2165 static const char * const pllm_out1_groups[] = {
2166  "cdev1",
2167 };
2168 
2169 static const char * const pllp_out2_groups[] = {
2170  "csus",
2171 };
2172 
2173 static const char * const pllp_out3_groups[] = {
2174  "csus",
2175 };
2176 
2177 static const char * const pllp_out4_groups[] = {
2178  "cdev2",
2179 };
2180 
2181 static const char * const pwm_groups[] = {
2182  "gpu",
2183  "sdb",
2184  "sdc",
2185  "sdd",
2186  "ucb",
2187 };
2188 
2189 static const char * const pwr_intr_groups[] = {
2190  "pmc",
2191 };
2192 
2193 static const char * const pwr_on_groups[] = {
2194  "pmc",
2195 };
2196 
2197 static const char * const rsvd1_groups[] = {
2198  "dta",
2199  "dtb",
2200  "dtc",
2201  "dtd",
2202  "dte",
2203  "gmd",
2204  "gme",
2205 };
2206 
2207 static const char * const rsvd2_groups[] = {
2208  "crtp",
2209  "dap1",
2210  "dap3",
2211  "dap4",
2212  "ddc",
2213  "dtb",
2214  "dtc",
2215  "dte",
2216  "dtf",
2217  "gpu7",
2218  "gpv",
2219  "hdint",
2220  "i2cp",
2221  "owc",
2222  "rm",
2223  "sdio1",
2224  "spdi",
2225  "spdo",
2226  "uac",
2227  "uca",
2228  "uda",
2229 };
2230 
2231 static const char * const rsvd3_groups[] = {
2232  "crtp",
2233  "dap2",
2234  "dap3",
2235  "ddc",
2236  "gpu7",
2237  "gpv",
2238  "hdint",
2239  "i2cp",
2240  "ld17",
2241  "ldc",
2242  "ldi",
2243  "lhp0",
2244  "lhp1",
2245  "lhp2",
2246  "lm1",
2247  "lpp",
2248  "lpw1",
2249  "lvp0",
2250  "lvp1",
2251  "owc",
2252  "pmc",
2253  "rm",
2254  "uac",
2255 };
2256 
2257 static const char * const rsvd4_groups[] = {
2258  "ata",
2259  "ate",
2260  "crtp",
2261  "dap3",
2262  "dap4",
2263  "ddc",
2264  "dta",
2265  "dtc",
2266  "dtd",
2267  "dtf",
2268  "gpu",
2269  "gpu7",
2270  "gpv",
2271  "hdint",
2272  "i2cp",
2273  "kbce",
2274  "lcsn",
2275  "ld0",
2276  "ld1",
2277  "ld2",
2278  "ld3",
2279  "ld4",
2280  "ld5",
2281  "ld6",
2282  "ld7",
2283  "ld8",
2284  "ld9",
2285  "ld10",
2286  "ld11",
2287  "ld12",
2288  "ld13",
2289  "ld14",
2290  "ld15",
2291  "ld16",
2292  "ld17",
2293  "ldc",
2294  "ldi",
2295  "lhp0",
2296  "lhp1",
2297  "lhp2",
2298  "lhs",
2299  "lm0",
2300  "lpp",
2301  "lpw1",
2302  "lsc0",
2303  "lsdi",
2304  "lvp0",
2305  "lvp1",
2306  "lvs",
2307  "owc",
2308  "pmc",
2309  "pta",
2310  "rm",
2311  "spif",
2312  "uac",
2313  "uca",
2314  "ucb",
2315 };
2316 
2317 static const char * const rtck_groups[] = {
2318  "gpu7",
2319 };
2320 
2321 static const char * const sdio1_groups[] = {
2322  "sdio1",
2323 };
2324 
2325 static const char * const sdio2_groups[] = {
2326  "dap1",
2327  "dta",
2328  "dtd",
2329  "kbca",
2330  "kbcb",
2331  "kbcd",
2332  "spdi",
2333  "spdo",
2334 };
2335 
2336 static const char * const sdio3_groups[] = {
2337  "sdb",
2338  "sdc",
2339  "sdd",
2340  "slxa",
2341  "slxc",
2342  "slxd",
2343  "slxk",
2344 };
2345 
2346 static const char * const sdio4_groups[] = {
2347  "atb",
2348  "atc",
2349  "atd",
2350  "gma",
2351  "gme",
2352 };
2353 
2354 static const char * const sflash_groups[] = {
2355  "gmc",
2356  "gmd",
2357 };
2358 
2359 static const char * const spdif_groups[] = {
2360  "slxc",
2361  "slxd",
2362  "spdi",
2363  "spdo",
2364  "uad",
2365 };
2366 
2367 static const char * const spi1_groups[] = {
2368  "dtb",
2369  "dte",
2370  "spia",
2371  "spib",
2372  "spic",
2373  "spid",
2374  "spie",
2375  "spif",
2376  "uda",
2377 };
2378 
2379 static const char * const spi2_groups[] = {
2380  "sdb",
2381  "slxa",
2382  "slxc",
2383  "slxd",
2384  "slxk",
2385  "spia",
2386  "spib",
2387  "spic",
2388  "spid",
2389  "spie",
2390  "spif",
2391  "spig",
2392  "spih",
2393  "uab",
2394 };
2395 
2396 static const char * const spi2_alt_groups[] = {
2397  "spid",
2398  "spie",
2399  "spig",
2400  "spih",
2401 };
2402 
2403 static const char * const spi3_groups[] = {
2404  "gma",
2405  "lcsn",
2406  "lm0",
2407  "lpw0",
2408  "lpw2",
2409  "lsc1",
2410  "lsck",
2411  "lsda",
2412  "lsdi",
2413  "sdc",
2414  "sdd",
2415  "spia",
2416  "spib",
2417  "spic",
2418  "spif",
2419  "spig",
2420  "spih",
2421  "uaa",
2422 };
2423 
2424 static const char * const spi4_groups[] = {
2425  "gmc",
2426  "irrx",
2427  "irtx",
2428  "slxa",
2429  "slxc",
2430  "slxd",
2431  "slxk",
2432  "uad",
2433 };
2434 
2435 static const char * const trace_groups[] = {
2436  "kbcc",
2437  "kbcf",
2438 };
2439 
2440 static const char * const twc_groups[] = {
2441  "dap2",
2442  "sdc",
2443 };
2444 
2445 static const char * const uarta_groups[] = {
2446  "gpu",
2447  "irrx",
2448  "irtx",
2449  "sdb",
2450  "sdd",
2451  "sdio1",
2452  "uaa",
2453  "uab",
2454  "uad",
2455 };
2456 
2457 static const char * const uartb_groups[] = {
2458  "irrx",
2459  "irtx",
2460 };
2461 
2462 static const char * const uartc_groups[] = {
2463  "uca",
2464  "ucb",
2465 };
2466 
2467 static const char * const uartd_groups[] = {
2468  "gmc",
2469  "uda",
2470 };
2471 
2472 static const char * const uarte_groups[] = {
2473  "gma",
2474  "sdio1",
2475 };
2476 
2477 static const char * const ulpi_groups[] = {
2478  "uaa",
2479  "uab",
2480  "uda",
2481 };
2482 
2483 static const char * const vi_groups[] = {
2484  "dta",
2485  "dtb",
2486  "dtc",
2487  "dtd",
2488  "dte",
2489  "dtf",
2490 };
2491 
2492 static const char * const vi_sensor_clk_groups[] = {
2493  "csus",
2494 };
2495 
2496 static const char * const xio_groups[] = {
2497  "ld0",
2498  "ld1",
2499  "ld10",
2500  "ld11",
2501  "ld12",
2502  "ld13",
2503  "ld14",
2504  "ld15",
2505  "ld16",
2506  "ld2",
2507  "ld3",
2508  "ld4",
2509  "ld5",
2510  "ld6",
2511  "ld7",
2512  "ld8",
2513  "ld9",
2514  "lhs",
2515  "lsc0",
2516  "lspi",
2517  "lvs",
2518 };
2519 
2520 #define FUNCTION(fname) \
2521  { \
2522  .name = #fname, \
2523  .groups = fname##_groups, \
2524  .ngroups = ARRAY_SIZE(fname##_groups), \
2525  }
2526 
2527 static const struct tegra_function tegra20_functions[] = {
2528  FUNCTION(ahb_clk),
2529  FUNCTION(apb_clk),
2530  FUNCTION(audio_sync),
2531  FUNCTION(crt),
2532  FUNCTION(dap1),
2533  FUNCTION(dap2),
2534  FUNCTION(dap3),
2535  FUNCTION(dap4),
2536  FUNCTION(dap5),
2537  FUNCTION(displaya),
2538  FUNCTION(displayb),
2539  FUNCTION(emc_test0_dll),
2540  FUNCTION(emc_test1_dll),
2541  FUNCTION(gmi),
2542  FUNCTION(gmi_int),
2543  FUNCTION(hdmi),
2544  FUNCTION(i2cp),
2545  FUNCTION(i2c1),
2546  FUNCTION(i2c2),
2547  FUNCTION(i2c3),
2548  FUNCTION(ide),
2549  FUNCTION(irda),
2550  FUNCTION(kbc),
2551  FUNCTION(mio),
2552  FUNCTION(mipi_hs),
2553  FUNCTION(nand),
2554  FUNCTION(osc),
2555  FUNCTION(owr),
2556  FUNCTION(pcie),
2557  FUNCTION(plla_out),
2558  FUNCTION(pllc_out1),
2559  FUNCTION(pllm_out1),
2560  FUNCTION(pllp_out2),
2561  FUNCTION(pllp_out3),
2562  FUNCTION(pllp_out4),
2563  FUNCTION(pwm),
2564  FUNCTION(pwr_intr),
2565  FUNCTION(pwr_on),
2566  FUNCTION(rsvd1),
2567  FUNCTION(rsvd2),
2568  FUNCTION(rsvd3),
2569  FUNCTION(rsvd4),
2570  FUNCTION(rtck),
2571  FUNCTION(sdio1),
2572  FUNCTION(sdio2),
2573  FUNCTION(sdio3),
2574  FUNCTION(sdio4),
2575  FUNCTION(sflash),
2576  FUNCTION(spdif),
2577  FUNCTION(spi1),
2578  FUNCTION(spi2),
2579  FUNCTION(spi2_alt),
2580  FUNCTION(spi3),
2581  FUNCTION(spi4),
2582  FUNCTION(trace),
2583  FUNCTION(twc),
2584  FUNCTION(uarta),
2585  FUNCTION(uartb),
2586  FUNCTION(uartc),
2587  FUNCTION(uartd),
2588  FUNCTION(uarte),
2589  FUNCTION(ulpi),
2590  FUNCTION(vi),
2591  FUNCTION(vi_sensor_clk),
2592  FUNCTION(xio),
2593 };
2594 
2595 #define TRISTATE_REG_A 0x14
2596 #define PIN_MUX_CTL_REG_A 0x80
2597 #define PULLUPDOWN_REG_A 0xa0
2598 #define PINGROUP_REG_A 0x868
2599 
2600 /* Pin group with mux control, and typically tri-state and pull-up/down too */
2601 #define MUX_PG(pg_name, f0, f1, f2, f3, f_safe, \
2602  tri_r, tri_b, mux_r, mux_b, pupd_r, pupd_b) \
2603  { \
2604  .name = #pg_name, \
2605  .pins = pg_name##_pins, \
2606  .npins = ARRAY_SIZE(pg_name##_pins), \
2607  .funcs = { \
2608  TEGRA_MUX_ ## f0, \
2609  TEGRA_MUX_ ## f1, \
2610  TEGRA_MUX_ ## f2, \
2611  TEGRA_MUX_ ## f3, \
2612  }, \
2613  .func_safe = TEGRA_MUX_ ## f_safe, \
2614  .mux_reg = ((mux_r) - PIN_MUX_CTL_REG_A), \
2615  .mux_bank = 1, \
2616  .mux_bit = mux_b, \
2617  .pupd_reg = ((pupd_r) - PULLUPDOWN_REG_A), \
2618  .pupd_bank = 2, \
2619  .pupd_bit = pupd_b, \
2620  .tri_reg = ((tri_r) - TRISTATE_REG_A), \
2621  .tri_bank = 0, \
2622  .tri_bit = tri_b, \
2623  .einput_reg = -1, \
2624  .odrain_reg = -1, \
2625  .lock_reg = -1, \
2626  .ioreset_reg = -1, \
2627  .drv_reg = -1, \
2628  }
2629 
2630 /* Pin groups with only pull up and pull down control */
2631 #define PULL_PG(pg_name, pupd_r, pupd_b) \
2632  { \
2633  .name = #pg_name, \
2634  .pins = pg_name##_pins, \
2635  .npins = ARRAY_SIZE(pg_name##_pins), \
2636  .mux_reg = -1, \
2637  .pupd_reg = ((pupd_r) - PULLUPDOWN_REG_A), \
2638  .pupd_bank = 2, \
2639  .pupd_bit = pupd_b, \
2640  .tri_reg = -1, \
2641  .einput_reg = -1, \
2642  .odrain_reg = -1, \
2643  .lock_reg = -1, \
2644  .ioreset_reg = -1, \
2645  .drv_reg = -1, \
2646  }
2647 
2648 /* Pin groups for drive strength registers (configurable version) */
2649 #define DRV_PG_EXT(pg_name, r, hsm_b, schmitt_b, lpmd_b, \
2650  drvdn_b, drvup_b, \
2651  slwr_b, slwr_w, slwf_b, slwf_w) \
2652  { \
2653  .name = "drive_" #pg_name, \
2654  .pins = drive_##pg_name##_pins, \
2655  .npins = ARRAY_SIZE(drive_##pg_name##_pins), \
2656  .mux_reg = -1, \
2657  .pupd_reg = -1, \
2658  .tri_reg = -1, \
2659  .einput_reg = -1, \
2660  .odrain_reg = -1, \
2661  .lock_reg = -1, \
2662  .ioreset_reg = -1, \
2663  .drv_reg = ((r) - PINGROUP_REG_A), \
2664  .drv_bank = 3, \
2665  .hsm_bit = hsm_b, \
2666  .schmitt_bit = schmitt_b, \
2667  .lpmd_bit = lpmd_b, \
2668  .drvdn_bit = drvdn_b, \
2669  .drvdn_width = 5, \
2670  .drvup_bit = drvup_b, \
2671  .drvup_width = 5, \
2672  .slwr_bit = slwr_b, \
2673  .slwr_width = slwr_w, \
2674  .slwf_bit = slwf_b, \
2675  .slwf_width = slwf_w, \
2676  }
2677 
2678 /* Pin groups for drive strength registers (simple version) */
2679 #define DRV_PG(pg_name, r) \
2680  DRV_PG_EXT(pg_name, r, 2, 3, 4, 12, 20, 28, 2, 30, 2)
2681 
2682 static const struct tegra_pingroup tegra20_groups[] = {
2683  /* name, f0, f1, f2, f3, f_safe, tri r/b, mux r/b, pupd r/b */
2684  MUX_PG(ata, IDE, NAND, GMI, RSVD4, IDE, 0x14, 0, 0x80, 24, 0xa0, 0),
2685  MUX_PG(atb, IDE, NAND, GMI, SDIO4, IDE, 0x14, 1, 0x80, 16, 0xa0, 2),
2686  MUX_PG(atc, IDE, NAND, GMI, SDIO4, IDE, 0x14, 2, 0x80, 22, 0xa0, 4),
2687  MUX_PG(atd, IDE, NAND, GMI, SDIO4, IDE, 0x14, 3, 0x80, 20, 0xa0, 6),
2688  MUX_PG(ate, IDE, NAND, GMI, RSVD4, IDE, 0x18, 25, 0x80, 12, 0xa0, 8),
2689  MUX_PG(cdev1, OSC, PLLA_OUT, PLLM_OUT1, AUDIO_SYNC, OSC, 0x14, 4, 0x88, 2, 0xa8, 0),
2690  MUX_PG(cdev2, OSC, AHB_CLK, APB_CLK, PLLP_OUT4, OSC, 0x14, 5, 0x88, 4, 0xa8, 2),
2691  MUX_PG(crtp, CRT, RSVD2, RSVD3, RSVD4, RSVD2, 0x20, 14, 0x98, 20, 0xa4, 24),
2692  MUX_PG(csus, PLLC_OUT1, PLLP_OUT2, PLLP_OUT3, VI_SENSOR_CLK, PLLC_OUT1, 0x14, 6, 0x88, 6, 0xac, 24),
2693  MUX_PG(dap1, DAP1, RSVD2, GMI, SDIO2, DAP1, 0x14, 7, 0x88, 20, 0xa0, 10),
2694  MUX_PG(dap2, DAP2, TWC, RSVD3, GMI, DAP2, 0x14, 8, 0x88, 22, 0xa0, 12),
2695  MUX_PG(dap3, DAP3, RSVD2, RSVD3, RSVD4, DAP3, 0x14, 9, 0x88, 24, 0xa0, 14),
2696  MUX_PG(dap4, DAP4, RSVD2, GMI, RSVD4, DAP4, 0x14, 10, 0x88, 26, 0xa0, 16),
2697  MUX_PG(ddc, I2C2, RSVD2, RSVD3, RSVD4, RSVD4, 0x18, 31, 0x88, 0, 0xb0, 28),
2698  MUX_PG(dta, RSVD1, SDIO2, VI, RSVD4, RSVD4, 0x14, 11, 0x84, 20, 0xa0, 18),
2699  MUX_PG(dtb, RSVD1, RSVD2, VI, SPI1, RSVD1, 0x14, 12, 0x84, 22, 0xa0, 20),
2700  MUX_PG(dtc, RSVD1, RSVD2, VI, RSVD4, RSVD1, 0x14, 13, 0x84, 26, 0xa0, 22),
2701  MUX_PG(dtd, RSVD1, SDIO2, VI, RSVD4, RSVD1, 0x14, 14, 0x84, 28, 0xa0, 24),
2702  MUX_PG(dte, RSVD1, RSVD2, VI, SPI1, RSVD1, 0x14, 15, 0x84, 30, 0xa0, 26),
2703  MUX_PG(dtf, I2C3, RSVD2, VI, RSVD4, RSVD4, 0x20, 12, 0x98, 30, 0xa0, 28),
2704  MUX_PG(gma, UARTE, SPI3, GMI, SDIO4, SPI3, 0x14, 28, 0x84, 0, 0xb0, 20),
2705  MUX_PG(gmb, IDE, NAND, GMI, GMI_INT, GMI, 0x18, 29, 0x88, 28, 0xb0, 22),
2706  MUX_PG(gmc, UARTD, SPI4, GMI, SFLASH, SPI4, 0x14, 29, 0x84, 2, 0xb0, 24),
2707  MUX_PG(gmd, RSVD1, NAND, GMI, SFLASH, GMI, 0x18, 30, 0x88, 30, 0xb0, 26),
2708  MUX_PG(gme, RSVD1, DAP5, GMI, SDIO4, GMI, 0x18, 0, 0x8c, 0, 0xa8, 24),
2709  MUX_PG(gpu, PWM, UARTA, GMI, RSVD4, RSVD4, 0x14, 16, 0x8c, 4, 0xa4, 20),
2710  MUX_PG(gpu7, RTCK, RSVD2, RSVD3, RSVD4, RTCK, 0x20, 11, 0x98, 28, 0xa4, 6),
2711  MUX_PG(gpv, PCIE, RSVD2, RSVD3, RSVD4, PCIE, 0x14, 17, 0x8c, 2, 0xa0, 30),
2712  MUX_PG(hdint, HDMI, RSVD2, RSVD3, RSVD4, HDMI, 0x1c, 23, 0x84, 4, -1, -1),
2713  MUX_PG(i2cp, I2CP, RSVD2, RSVD3, RSVD4, RSVD4, 0x14, 18, 0x88, 8, 0xa4, 2),
2714  MUX_PG(irrx, UARTA, UARTB, GMI, SPI4, UARTB, 0x14, 20, 0x88, 18, 0xa8, 22),
2715  MUX_PG(irtx, UARTA, UARTB, GMI, SPI4, UARTB, 0x14, 19, 0x88, 16, 0xa8, 20),
2716  MUX_PG(kbca, KBC, NAND, SDIO2, EMC_TEST0_DLL, KBC, 0x14, 22, 0x88, 10, 0xa4, 8),
2717  MUX_PG(kbcb, KBC, NAND, SDIO2, MIO, KBC, 0x14, 21, 0x88, 12, 0xa4, 10),
2718  MUX_PG(kbcc, KBC, NAND, TRACE, EMC_TEST1_DLL, KBC, 0x18, 26, 0x88, 14, 0xa4, 12),
2719  MUX_PG(kbcd, KBC, NAND, SDIO2, MIO, KBC, 0x20, 10, 0x98, 26, 0xa4, 14),
2720  MUX_PG(kbce, KBC, NAND, OWR, RSVD4, KBC, 0x14, 26, 0x80, 28, 0xb0, 2),
2721  MUX_PG(kbcf, KBC, NAND, TRACE, MIO, KBC, 0x14, 27, 0x80, 26, 0xb0, 0),
2722  MUX_PG(lcsn, DISPLAYA, DISPLAYB, SPI3, RSVD4, RSVD4, 0x1c, 31, 0x90, 12, -1, -1),
2723  MUX_PG(ld0, DISPLAYA, DISPLAYB, XIO, RSVD4, RSVD4, 0x1c, 0, 0x94, 0, -1, -1),
2724  MUX_PG(ld1, DISPLAYA, DISPLAYB, XIO, RSVD4, RSVD4, 0x1c, 1, 0x94, 2, -1, -1),
2725  MUX_PG(ld2, DISPLAYA, DISPLAYB, XIO, RSVD4, RSVD4, 0x1c, 2, 0x94, 4, -1, -1),
2726  MUX_PG(ld3, DISPLAYA, DISPLAYB, XIO, RSVD4, RSVD4, 0x1c, 3, 0x94, 6, -1, -1),
2727  MUX_PG(ld4, DISPLAYA, DISPLAYB, XIO, RSVD4, RSVD4, 0x1c, 4, 0x94, 8, -1, -1),
2728  MUX_PG(ld5, DISPLAYA, DISPLAYB, XIO, RSVD4, RSVD4, 0x1c, 5, 0x94, 10, -1, -1),
2729  MUX_PG(ld6, DISPLAYA, DISPLAYB, XIO, RSVD4, RSVD4, 0x1c, 6, 0x94, 12, -1, -1),
2730  MUX_PG(ld7, DISPLAYA, DISPLAYB, XIO, RSVD4, RSVD4, 0x1c, 7, 0x94, 14, -1, -1),
2731  MUX_PG(ld8, DISPLAYA, DISPLAYB, XIO, RSVD4, RSVD4, 0x1c, 8, 0x94, 16, -1, -1),
2732  MUX_PG(ld9, DISPLAYA, DISPLAYB, XIO, RSVD4, RSVD4, 0x1c, 9, 0x94, 18, -1, -1),
2733  MUX_PG(ld10, DISPLAYA, DISPLAYB, XIO, RSVD4, RSVD4, 0x1c, 10, 0x94, 20, -1, -1),
2734  MUX_PG(ld11, DISPLAYA, DISPLAYB, XIO, RSVD4, RSVD4, 0x1c, 11, 0x94, 22, -1, -1),
2735  MUX_PG(ld12, DISPLAYA, DISPLAYB, XIO, RSVD4, RSVD4, 0x1c, 12, 0x94, 24, -1, -1),
2736  MUX_PG(ld13, DISPLAYA, DISPLAYB, XIO, RSVD4, RSVD4, 0x1c, 13, 0x94, 26, -1, -1),
2737  MUX_PG(ld14, DISPLAYA, DISPLAYB, XIO, RSVD4, RSVD4, 0x1c, 14, 0x94, 28, -1, -1),
2738  MUX_PG(ld15, DISPLAYA, DISPLAYB, XIO, RSVD4, RSVD4, 0x1c, 15, 0x94, 30, -1, -1),
2739  MUX_PG(ld16, DISPLAYA, DISPLAYB, XIO, RSVD4, RSVD4, 0x1c, 16, 0x98, 0, -1, -1),
2740  MUX_PG(ld17, DISPLAYA, DISPLAYB, RSVD3, RSVD4, RSVD4, 0x1c, 17, 0x98, 2, -1, -1),
2741  MUX_PG(ldc, DISPLAYA, DISPLAYB, RSVD3, RSVD4, RSVD4, 0x1c, 30, 0x90, 14, -1, -1),
2742  MUX_PG(ldi, DISPLAYA, DISPLAYB, RSVD3, RSVD4, RSVD4, 0x20, 6, 0x98, 16, -1, -1),
2743  MUX_PG(lhp0, DISPLAYA, DISPLAYB, RSVD3, RSVD4, RSVD4, 0x1c, 18, 0x98, 10, -1, -1),
2744  MUX_PG(lhp1, DISPLAYA, DISPLAYB, RSVD3, RSVD4, RSVD4, 0x1c, 19, 0x98, 4, -1, -1),
2745  MUX_PG(lhp2, DISPLAYA, DISPLAYB, RSVD3, RSVD4, RSVD4, 0x1c, 20, 0x98, 6, -1, -1),
2746  MUX_PG(lhs, DISPLAYA, DISPLAYB, XIO, RSVD4, RSVD4, 0x20, 7, 0x90, 22, -1, -1),
2747  MUX_PG(lm0, DISPLAYA, DISPLAYB, SPI3, RSVD4, RSVD4, 0x1c, 24, 0x90, 26, -1, -1),
2748  MUX_PG(lm1, DISPLAYA, DISPLAYB, RSVD3, CRT, RSVD3, 0x1c, 25, 0x90, 28, -1, -1),
2749  MUX_PG(lpp, DISPLAYA, DISPLAYB, RSVD3, RSVD4, RSVD4, 0x20, 8, 0x98, 14, -1, -1),
2750  MUX_PG(lpw0, DISPLAYA, DISPLAYB, SPI3, HDMI, DISPLAYA, 0x20, 3, 0x90, 0, -1, -1),
2751  MUX_PG(lpw1, DISPLAYA, DISPLAYB, RSVD3, RSVD4, RSVD4, 0x20, 4, 0x90, 2, -1, -1),
2752  MUX_PG(lpw2, DISPLAYA, DISPLAYB, SPI3, HDMI, DISPLAYA, 0x20, 5, 0x90, 4, -1, -1),
2753  MUX_PG(lsc0, DISPLAYA, DISPLAYB, XIO, RSVD4, RSVD4, 0x1c, 27, 0x90, 18, -1, -1),
2754  MUX_PG(lsc1, DISPLAYA, DISPLAYB, SPI3, HDMI, DISPLAYA, 0x1c, 28, 0x90, 20, -1, -1),
2755  MUX_PG(lsck, DISPLAYA, DISPLAYB, SPI3, HDMI, DISPLAYA, 0x1c, 29, 0x90, 16, -1, -1),
2756  MUX_PG(lsda, DISPLAYA, DISPLAYB, SPI3, HDMI, DISPLAYA, 0x20, 1, 0x90, 8, -1, -1),
2757  MUX_PG(lsdi, DISPLAYA, DISPLAYB, SPI3, RSVD4, DISPLAYA, 0x20, 2, 0x90, 6, -1, -1),
2758  MUX_PG(lspi, DISPLAYA, DISPLAYB, XIO, HDMI, DISPLAYA, 0x20, 0, 0x90, 10, -1, -1),
2759  MUX_PG(lvp0, DISPLAYA, DISPLAYB, RSVD3, RSVD4, RSVD4, 0x1c, 21, 0x90, 30, -1, -1),
2760  MUX_PG(lvp1, DISPLAYA, DISPLAYB, RSVD3, RSVD4, RSVD4, 0x1c, 22, 0x98, 8, -1, -1),
2761  MUX_PG(lvs, DISPLAYA, DISPLAYB, XIO, RSVD4, RSVD4, 0x1c, 26, 0x90, 24, -1, -1),
2762  MUX_PG(owc, OWR, RSVD2, RSVD3, RSVD4, OWR, 0x14, 31, 0x84, 8, 0xb0, 30),
2763  MUX_PG(pmc, PWR_ON, PWR_INTR, RSVD3, RSVD4, PWR_ON, 0x14, 23, 0x98, 18, -1, -1),
2764  MUX_PG(pta, I2C2, HDMI, GMI, RSVD4, RSVD4, 0x14, 24, 0x98, 22, 0xa4, 4),
2765  MUX_PG(rm, I2C1, RSVD2, RSVD3, RSVD4, RSVD4, 0x14, 25, 0x80, 14, 0xa4, 0),
2766  MUX_PG(sdb, UARTA, PWM, SDIO3, SPI2, PWM, 0x20, 15, 0x8c, 10, -1, -1),
2767  MUX_PG(sdc, PWM, TWC, SDIO3, SPI3, TWC, 0x18, 1, 0x8c, 12, 0xac, 28),
2768  MUX_PG(sdd, UARTA, PWM, SDIO3, SPI3, PWM, 0x18, 2, 0x8c, 14, 0xac, 30),
2769  MUX_PG(sdio1, SDIO1, RSVD2, UARTE, UARTA, RSVD2, 0x14, 30, 0x80, 30, 0xb0, 18),
2770  MUX_PG(slxa, PCIE, SPI4, SDIO3, SPI2, PCIE, 0x18, 3, 0x84, 6, 0xa4, 22),
2771  MUX_PG(slxc, SPDIF, SPI4, SDIO3, SPI2, SPI4, 0x18, 5, 0x84, 10, 0xa4, 26),
2772  MUX_PG(slxd, SPDIF, SPI4, SDIO3, SPI2, SPI4, 0x18, 6, 0x84, 12, 0xa4, 28),
2773  MUX_PG(slxk, PCIE, SPI4, SDIO3, SPI2, PCIE, 0x18, 7, 0x84, 14, 0xa4, 30),
2774  MUX_PG(spdi, SPDIF, RSVD2, I2C1, SDIO2, RSVD2, 0x18, 8, 0x8c, 8, 0xa4, 16),
2775  MUX_PG(spdo, SPDIF, RSVD2, I2C1, SDIO2, RSVD2, 0x18, 9, 0x8c, 6, 0xa4, 18),
2776  MUX_PG(spia, SPI1, SPI2, SPI3, GMI, GMI, 0x18, 10, 0x8c, 30, 0xa8, 4),
2777  MUX_PG(spib, SPI1, SPI2, SPI3, GMI, GMI, 0x18, 11, 0x8c, 28, 0xa8, 6),
2778  MUX_PG(spic, SPI1, SPI2, SPI3, GMI, GMI, 0x18, 12, 0x8c, 26, 0xa8, 8),
2779  MUX_PG(spid, SPI2, SPI1, SPI2_ALT, GMI, GMI, 0x18, 13, 0x8c, 24, 0xa8, 10),
2780  MUX_PG(spie, SPI2, SPI1, SPI2_ALT, GMI, GMI, 0x18, 14, 0x8c, 22, 0xa8, 12),
2781  MUX_PG(spif, SPI3, SPI1, SPI2, RSVD4, RSVD4, 0x18, 15, 0x8c, 20, 0xa8, 14),
2782  MUX_PG(spig, SPI3, SPI2, SPI2_ALT, I2C1, SPI2_ALT, 0x18, 16, 0x8c, 18, 0xa8, 16),
2783  MUX_PG(spih, SPI3, SPI2, SPI2_ALT, I2C1, SPI2_ALT, 0x18, 17, 0x8c, 16, 0xa8, 18),
2784  MUX_PG(uaa, SPI3, MIPI_HS, UARTA, ULPI, MIPI_HS, 0x18, 18, 0x80, 0, 0xac, 0),
2785  MUX_PG(uab, SPI2, MIPI_HS, UARTA, ULPI, MIPI_HS, 0x18, 19, 0x80, 2, 0xac, 2),
2786  MUX_PG(uac, OWR, RSVD2, RSVD3, RSVD4, RSVD4, 0x18, 20, 0x80, 4, 0xac, 4),
2787  MUX_PG(uad, IRDA, SPDIF, UARTA, SPI4, SPDIF, 0x18, 21, 0x80, 6, 0xac, 6),
2788  MUX_PG(uca, UARTC, RSVD2, GMI, RSVD4, RSVD4, 0x18, 22, 0x84, 16, 0xac, 8),
2789  MUX_PG(ucb, UARTC, PWM, GMI, RSVD4, RSVD4, 0x18, 23, 0x84, 18, 0xac, 10),
2790  MUX_PG(uda, SPI1, RSVD2, UARTD, ULPI, RSVD2, 0x20, 13, 0x80, 8, 0xb0, 16),
2791  /* pg_name, pupd_r/b */
2792  PULL_PG(ck32, 0xb0, 14),
2793  PULL_PG(ddrc, 0xac, 26),
2794  PULL_PG(pmca, 0xb0, 4),
2795  PULL_PG(pmcb, 0xb0, 6),
2796  PULL_PG(pmcc, 0xb0, 8),
2797  PULL_PG(pmcd, 0xb0, 10),
2798  PULL_PG(pmce, 0xb0, 12),
2799  PULL_PG(xm2c, 0xa8, 30),
2800  PULL_PG(xm2d, 0xa8, 28),
2801  PULL_PG(ls, 0xac, 20),
2802  PULL_PG(lc, 0xac, 22),
2803  PULL_PG(ld17_0, 0xac, 12),
2804  PULL_PG(ld19_18, 0xac, 14),
2805  PULL_PG(ld21_20, 0xac, 16),
2806  PULL_PG(ld23_22, 0xac, 18),
2807  /* pg_name, r */
2808  DRV_PG(ao1, 0x868),
2809  DRV_PG(ao2, 0x86c),
2810  DRV_PG(at1, 0x870),
2811  DRV_PG(at2, 0x874),
2812  DRV_PG(cdev1, 0x878),
2813  DRV_PG(cdev2, 0x87c),
2814  DRV_PG(csus, 0x880),
2815  DRV_PG(dap1, 0x884),
2816  DRV_PG(dap2, 0x888),
2817  DRV_PG(dap3, 0x88c),
2818  DRV_PG(dap4, 0x890),
2819  DRV_PG(dbg, 0x894),
2820  DRV_PG(lcd1, 0x898),
2821  DRV_PG(lcd2, 0x89c),
2822  DRV_PG(sdmmc2, 0x8a0),
2823  DRV_PG(sdmmc3, 0x8a4),
2824  DRV_PG(spi, 0x8a8),
2825  DRV_PG(uaa, 0x8ac),
2826  DRV_PG(uab, 0x8b0),
2827  DRV_PG(uart2, 0x8b4),
2828  DRV_PG(uart3, 0x8b8),
2829  DRV_PG(vi1, 0x8bc),
2830  DRV_PG(vi2, 0x8c0),
2831  /* pg_name, r, hsm_b, schmitt_b, lpmd_b, drvdn_b, drvup_b, slwr_b, slwr_w, slwf_b, slwf_w */
2832  DRV_PG_EXT(xm2a, 0x8c4, -1, -1, 4, 14, 19, 24, 4, 28, 4),
2833  DRV_PG_EXT(xm2c, 0x8c8, -1, 3, -1, 14, 19, 24, 4, 28, 4),
2834  DRV_PG_EXT(xm2d, 0x8cc, -1, 3, -1, 14, 19, 24, 4, 28, 4),
2835  DRV_PG_EXT(xm2clk, 0x8d0, -1, -1, -1, 14, 19, 24, 4, 28, 4),
2836  /* pg_name, r */
2837  DRV_PG(sdio1, 0x8e0),
2838  DRV_PG(crt, 0x8ec),
2839  DRV_PG(ddc, 0x8f0),
2840  DRV_PG(gma, 0x8f4),
2841  DRV_PG(gmb, 0x8f8),
2842  DRV_PG(gmc, 0x8fc),
2843  DRV_PG(gmd, 0x900),
2844  DRV_PG(gme, 0x904),
2845  DRV_PG(owr, 0x908),
2846  DRV_PG(uda, 0x90c),
2847 };
2848 
2849 static const struct tegra_pinctrl_soc_data tegra20_pinctrl = {
2850  .ngpios = NUM_GPIOS,
2851  .pins = tegra20_pins,
2852  .npins = ARRAY_SIZE(tegra20_pins),
2853  .functions = tegra20_functions,
2854  .nfunctions = ARRAY_SIZE(tegra20_functions),
2855  .groups = tegra20_groups,
2856  .ngroups = ARRAY_SIZE(tegra20_groups),
2857 };
2858 
2859 static int __devinit tegra20_pinctrl_probe(struct platform_device *pdev)
2860 {
2861  return tegra_pinctrl_probe(pdev, &tegra20_pinctrl);
2862 }
2863 
2864 static struct of_device_id tegra20_pinctrl_of_match[] __devinitdata = {
2865  { .compatible = "nvidia,tegra20-pinmux", },
2866  { },
2867 };
2868 
2869 static struct platform_driver tegra20_pinctrl_driver = {
2870  .driver = {
2871  .name = "tegra20-pinctrl",
2872  .owner = THIS_MODULE,
2873  .of_match_table = tegra20_pinctrl_of_match,
2874  },
2875  .probe = tegra20_pinctrl_probe,
2876  .remove = __devexit_p(tegra_pinctrl_remove),
2877 };
2878 
2879 static int __init tegra20_pinctrl_init(void)
2880 {
2881  return platform_driver_register(&tegra20_pinctrl_driver);
2882 }
2883 arch_initcall(tegra20_pinctrl_init);
2884 
2885 static void __exit tegra20_pinctrl_exit(void)
2886 {
2887  platform_driver_unregister(&tegra20_pinctrl_driver);
2888 }
2889 module_exit(tegra20_pinctrl_exit);
2890 
2891 MODULE_AUTHOR("Stephen Warren <[email protected]>");
2892 MODULE_DESCRIPTION("NVIDIA Tegra20 pinctrl driver");
2893 MODULE_LICENSE("GPL v2");
2894 MODULE_DEVICE_TABLE(of, tegra20_pinctrl_of_match);