16 #include <linux/module.h>
28 #define _GPIO(offset) (offset)
30 #define TEGRA_PIN_CLK_32K_OUT_PA0 _GPIO(0)
31 #define TEGRA_PIN_UART3_CTS_N_PA1 _GPIO(1)
32 #define TEGRA_PIN_DAP2_FS_PA2 _GPIO(2)
33 #define TEGRA_PIN_DAP2_SCLK_PA3 _GPIO(3)
34 #define TEGRA_PIN_DAP2_DIN_PA4 _GPIO(4)
35 #define TEGRA_PIN_DAP2_DOUT_PA5 _GPIO(5)
36 #define TEGRA_PIN_SDMMC3_CLK_PA6 _GPIO(6)
37 #define TEGRA_PIN_SDMMC3_CMD_PA7 _GPIO(7)
38 #define TEGRA_PIN_GMI_A17_PB0 _GPIO(8)
39 #define TEGRA_PIN_GMI_A18_PB1 _GPIO(9)
40 #define TEGRA_PIN_LCD_PWR0_PB2 _GPIO(10)
41 #define TEGRA_PIN_LCD_PCLK_PB3 _GPIO(11)
42 #define TEGRA_PIN_SDMMC3_DAT3_PB4 _GPIO(12)
43 #define TEGRA_PIN_SDMMC3_DAT2_PB5 _GPIO(13)
44 #define TEGRA_PIN_SDMMC3_DAT1_PB6 _GPIO(14)
45 #define TEGRA_PIN_SDMMC3_DAT0_PB7 _GPIO(15)
46 #define TEGRA_PIN_UART3_RTS_N_PC0 _GPIO(16)
47 #define TEGRA_PIN_LCD_PWR1_PC1 _GPIO(17)
48 #define TEGRA_PIN_UART2_TXD_PC2 _GPIO(18)
49 #define TEGRA_PIN_UART2_RXD_PC3 _GPIO(19)
50 #define TEGRA_PIN_GEN1_I2C_SCL_PC4 _GPIO(20)
51 #define TEGRA_PIN_GEN1_I2C_SDA_PC5 _GPIO(21)
52 #define TEGRA_PIN_LCD_PWR2_PC6 _GPIO(22)
53 #define TEGRA_PIN_GMI_WP_N_PC7 _GPIO(23)
54 #define TEGRA_PIN_SDMMC3_DAT5_PD0 _GPIO(24)
55 #define TEGRA_PIN_SDMMC3_DAT4_PD1 _GPIO(25)
56 #define TEGRA_PIN_LCD_DC1_PD2 _GPIO(26)
57 #define TEGRA_PIN_SDMMC3_DAT6_PD3 _GPIO(27)
58 #define TEGRA_PIN_SDMMC3_DAT7_PD4 _GPIO(28)
59 #define TEGRA_PIN_VI_D1_PD5 _GPIO(29)
60 #define TEGRA_PIN_VI_VSYNC_PD6 _GPIO(30)
61 #define TEGRA_PIN_VI_HSYNC_PD7 _GPIO(31)
62 #define TEGRA_PIN_LCD_D0_PE0 _GPIO(32)
63 #define TEGRA_PIN_LCD_D1_PE1 _GPIO(33)
64 #define TEGRA_PIN_LCD_D2_PE2 _GPIO(34)
65 #define TEGRA_PIN_LCD_D3_PE3 _GPIO(35)
66 #define TEGRA_PIN_LCD_D4_PE4 _GPIO(36)
67 #define TEGRA_PIN_LCD_D5_PE5 _GPIO(37)
68 #define TEGRA_PIN_LCD_D6_PE6 _GPIO(38)
69 #define TEGRA_PIN_LCD_D7_PE7 _GPIO(39)
70 #define TEGRA_PIN_LCD_D8_PF0 _GPIO(40)
71 #define TEGRA_PIN_LCD_D9_PF1 _GPIO(41)
72 #define TEGRA_PIN_LCD_D10_PF2 _GPIO(42)
73 #define TEGRA_PIN_LCD_D11_PF3 _GPIO(43)
74 #define TEGRA_PIN_LCD_D12_PF4 _GPIO(44)
75 #define TEGRA_PIN_LCD_D13_PF5 _GPIO(45)
76 #define TEGRA_PIN_LCD_D14_PF6 _GPIO(46)
77 #define TEGRA_PIN_LCD_D15_PF7 _GPIO(47)
78 #define TEGRA_PIN_GMI_AD0_PG0 _GPIO(48)
79 #define TEGRA_PIN_GMI_AD1_PG1 _GPIO(49)
80 #define TEGRA_PIN_GMI_AD2_PG2 _GPIO(50)
81 #define TEGRA_PIN_GMI_AD3_PG3 _GPIO(51)
82 #define TEGRA_PIN_GMI_AD4_PG4 _GPIO(52)
83 #define TEGRA_PIN_GMI_AD5_PG5 _GPIO(53)
84 #define TEGRA_PIN_GMI_AD6_PG6 _GPIO(54)
85 #define TEGRA_PIN_GMI_AD7_PG7 _GPIO(55)
86 #define TEGRA_PIN_GMI_AD8_PH0 _GPIO(56)
87 #define TEGRA_PIN_GMI_AD9_PH1 _GPIO(57)
88 #define TEGRA_PIN_GMI_AD10_PH2 _GPIO(58)
89 #define TEGRA_PIN_GMI_AD11_PH3 _GPIO(59)
90 #define TEGRA_PIN_GMI_AD12_PH4 _GPIO(60)
91 #define TEGRA_PIN_GMI_AD13_PH5 _GPIO(61)
92 #define TEGRA_PIN_GMI_AD14_PH6 _GPIO(62)
93 #define TEGRA_PIN_GMI_AD15_PH7 _GPIO(63)
94 #define TEGRA_PIN_GMI_WR_N_PI0 _GPIO(64)
95 #define TEGRA_PIN_GMI_OE_N_PI1 _GPIO(65)
96 #define TEGRA_PIN_GMI_DQS_PI2 _GPIO(66)
97 #define TEGRA_PIN_GMI_CS6_N_PI3 _GPIO(67)
98 #define TEGRA_PIN_GMI_RST_N_PI4 _GPIO(68)
99 #define TEGRA_PIN_GMI_IORDY_PI5 _GPIO(69)
100 #define TEGRA_PIN_GMI_CS7_N_PI6 _GPIO(70)
101 #define TEGRA_PIN_GMI_WAIT_PI7 _GPIO(71)
102 #define TEGRA_PIN_GMI_CS0_N_PJ0 _GPIO(72)
103 #define TEGRA_PIN_LCD_DE_PJ1 _GPIO(73)
104 #define TEGRA_PIN_GMI_CS1_N_PJ2 _GPIO(74)
105 #define TEGRA_PIN_LCD_HSYNC_PJ3 _GPIO(75)
106 #define TEGRA_PIN_LCD_VSYNC_PJ4 _GPIO(76)
107 #define TEGRA_PIN_UART2_CTS_N_PJ5 _GPIO(77)
108 #define TEGRA_PIN_UART2_RTS_N_PJ6 _GPIO(78)
109 #define TEGRA_PIN_GMI_A16_PJ7 _GPIO(79)
110 #define TEGRA_PIN_GMI_ADV_N_PK0 _GPIO(80)
111 #define TEGRA_PIN_GMI_CLK_PK1 _GPIO(81)
112 #define TEGRA_PIN_GMI_CS4_N_PK2 _GPIO(82)
113 #define TEGRA_PIN_GMI_CS2_N_PK3 _GPIO(83)
114 #define TEGRA_PIN_GMI_CS3_N_PK4 _GPIO(84)
115 #define TEGRA_PIN_SPDIF_OUT_PK5 _GPIO(85)
116 #define TEGRA_PIN_SPDIF_IN_PK6 _GPIO(86)
117 #define TEGRA_PIN_GMI_A19_PK7 _GPIO(87)
118 #define TEGRA_PIN_VI_D2_PL0 _GPIO(88)
119 #define TEGRA_PIN_VI_D3_PL1 _GPIO(89)
120 #define TEGRA_PIN_VI_D4_PL2 _GPIO(90)
121 #define TEGRA_PIN_VI_D5_PL3 _GPIO(91)
122 #define TEGRA_PIN_VI_D6_PL4 _GPIO(92)
123 #define TEGRA_PIN_VI_D7_PL5 _GPIO(93)
124 #define TEGRA_PIN_VI_D8_PL6 _GPIO(94)
125 #define TEGRA_PIN_VI_D9_PL7 _GPIO(95)
126 #define TEGRA_PIN_LCD_D16_PM0 _GPIO(96)
127 #define TEGRA_PIN_LCD_D17_PM1 _GPIO(97)
128 #define TEGRA_PIN_LCD_D18_PM2 _GPIO(98)
129 #define TEGRA_PIN_LCD_D19_PM3 _GPIO(99)
130 #define TEGRA_PIN_LCD_D20_PM4 _GPIO(100)
131 #define TEGRA_PIN_LCD_D21_PM5 _GPIO(101)
132 #define TEGRA_PIN_LCD_D22_PM6 _GPIO(102)
133 #define TEGRA_PIN_LCD_D23_PM7 _GPIO(103)
134 #define TEGRA_PIN_DAP1_FS_PN0 _GPIO(104)
135 #define TEGRA_PIN_DAP1_DIN_PN1 _GPIO(105)
136 #define TEGRA_PIN_DAP1_DOUT_PN2 _GPIO(106)
137 #define TEGRA_PIN_DAP1_SCLK_PN3 _GPIO(107)
138 #define TEGRA_PIN_LCD_CS0_N_PN4 _GPIO(108)
139 #define TEGRA_PIN_LCD_SDOUT_PN5 _GPIO(109)
140 #define TEGRA_PIN_LCD_DC0_PN6 _GPIO(110)
141 #define TEGRA_PIN_HDMI_INT_PN7 _GPIO(111)
142 #define TEGRA_PIN_ULPI_DATA7_PO0 _GPIO(112)
143 #define TEGRA_PIN_ULPI_DATA0_PO1 _GPIO(113)
144 #define TEGRA_PIN_ULPI_DATA1_PO2 _GPIO(114)
145 #define TEGRA_PIN_ULPI_DATA2_PO3 _GPIO(115)
146 #define TEGRA_PIN_ULPI_DATA3_PO4 _GPIO(116)
147 #define TEGRA_PIN_ULPI_DATA4_PO5 _GPIO(117)
148 #define TEGRA_PIN_ULPI_DATA5_PO6 _GPIO(118)
149 #define TEGRA_PIN_ULPI_DATA6_PO7 _GPIO(119)
150 #define TEGRA_PIN_DAP3_FS_PP0 _GPIO(120)
151 #define TEGRA_PIN_DAP3_DIN_PP1 _GPIO(121)
152 #define TEGRA_PIN_DAP3_DOUT_PP2 _GPIO(122)
153 #define TEGRA_PIN_DAP3_SCLK_PP3 _GPIO(123)
154 #define TEGRA_PIN_DAP4_FS_PP4 _GPIO(124)
155 #define TEGRA_PIN_DAP4_DIN_PP5 _GPIO(125)
156 #define TEGRA_PIN_DAP4_DOUT_PP6 _GPIO(126)
157 #define TEGRA_PIN_DAP4_SCLK_PP7 _GPIO(127)
158 #define TEGRA_PIN_KB_COL0_PQ0 _GPIO(128)
159 #define TEGRA_PIN_KB_COL1_PQ1 _GPIO(129)
160 #define TEGRA_PIN_KB_COL2_PQ2 _GPIO(130)
161 #define TEGRA_PIN_KB_COL3_PQ3 _GPIO(131)
162 #define TEGRA_PIN_KB_COL4_PQ4 _GPIO(132)
163 #define TEGRA_PIN_KB_COL5_PQ5 _GPIO(133)
164 #define TEGRA_PIN_KB_COL6_PQ6 _GPIO(134)
165 #define TEGRA_PIN_KB_COL7_PQ7 _GPIO(135)
166 #define TEGRA_PIN_KB_ROW0_PR0 _GPIO(136)
167 #define TEGRA_PIN_KB_ROW1_PR1 _GPIO(137)
168 #define TEGRA_PIN_KB_ROW2_PR2 _GPIO(138)
169 #define TEGRA_PIN_KB_ROW3_PR3 _GPIO(139)
170 #define TEGRA_PIN_KB_ROW4_PR4 _GPIO(140)
171 #define TEGRA_PIN_KB_ROW5_PR5 _GPIO(141)
172 #define TEGRA_PIN_KB_ROW6_PR6 _GPIO(142)
173 #define TEGRA_PIN_KB_ROW7_PR7 _GPIO(143)
174 #define TEGRA_PIN_KB_ROW8_PS0 _GPIO(144)
175 #define TEGRA_PIN_KB_ROW9_PS1 _GPIO(145)
176 #define TEGRA_PIN_KB_ROW10_PS2 _GPIO(146)
177 #define TEGRA_PIN_KB_ROW11_PS3 _GPIO(147)
178 #define TEGRA_PIN_KB_ROW12_PS4 _GPIO(148)
179 #define TEGRA_PIN_KB_ROW13_PS5 _GPIO(149)
180 #define TEGRA_PIN_KB_ROW14_PS6 _GPIO(150)
181 #define TEGRA_PIN_KB_ROW15_PS7 _GPIO(151)
182 #define TEGRA_PIN_VI_PCLK_PT0 _GPIO(152)
183 #define TEGRA_PIN_VI_MCLK_PT1 _GPIO(153)
184 #define TEGRA_PIN_VI_D10_PT2 _GPIO(154)
185 #define TEGRA_PIN_VI_D11_PT3 _GPIO(155)
186 #define TEGRA_PIN_VI_D0_PT4 _GPIO(156)
187 #define TEGRA_PIN_GEN2_I2C_SCL_PT5 _GPIO(157)
188 #define TEGRA_PIN_GEN2_I2C_SDA_PT6 _GPIO(158)
189 #define TEGRA_PIN_SDMMC4_CMD_PT7 _GPIO(159)
190 #define TEGRA_PIN_PU0 _GPIO(160)
191 #define TEGRA_PIN_PU1 _GPIO(161)
192 #define TEGRA_PIN_PU2 _GPIO(162)
193 #define TEGRA_PIN_PU3 _GPIO(163)
194 #define TEGRA_PIN_PU4 _GPIO(164)
195 #define TEGRA_PIN_PU5 _GPIO(165)
196 #define TEGRA_PIN_PU6 _GPIO(166)
197 #define TEGRA_PIN_JTAG_RTCK_PU7 _GPIO(167)
198 #define TEGRA_PIN_PV0 _GPIO(168)
199 #define TEGRA_PIN_PV1 _GPIO(169)
200 #define TEGRA_PIN_PV2 _GPIO(170)
201 #define TEGRA_PIN_PV3 _GPIO(171)
202 #define TEGRA_PIN_DDC_SCL_PV4 _GPIO(172)
203 #define TEGRA_PIN_DDC_SDA_PV5 _GPIO(173)
204 #define TEGRA_PIN_CRT_HSYNC_PV6 _GPIO(174)
205 #define TEGRA_PIN_CRT_VSYNC_PV7 _GPIO(175)
206 #define TEGRA_PIN_LCD_CS1_N_PW0 _GPIO(176)
207 #define TEGRA_PIN_LCD_M1_PW1 _GPIO(177)
208 #define TEGRA_PIN_SPI2_CS1_N_PW2 _GPIO(178)
209 #define TEGRA_PIN_SPI2_CS2_N_PW3 _GPIO(179)
210 #define TEGRA_PIN_CLK1_OUT_PW4 _GPIO(180)
211 #define TEGRA_PIN_CLK2_OUT_PW5 _GPIO(181)
212 #define TEGRA_PIN_UART3_TXD_PW6 _GPIO(182)
213 #define TEGRA_PIN_UART3_RXD_PW7 _GPIO(183)
214 #define TEGRA_PIN_SPI2_MOSI_PX0 _GPIO(184)
215 #define TEGRA_PIN_SPI2_MISO_PX1 _GPIO(185)
216 #define TEGRA_PIN_SPI2_SCK_PX2 _GPIO(186)
217 #define TEGRA_PIN_SPI2_CS0_N_PX3 _GPIO(187)
218 #define TEGRA_PIN_SPI1_MOSI_PX4 _GPIO(188)
219 #define TEGRA_PIN_SPI1_SCK_PX5 _GPIO(189)
220 #define TEGRA_PIN_SPI1_CS0_N_PX6 _GPIO(190)
221 #define TEGRA_PIN_SPI1_MISO_PX7 _GPIO(191)
222 #define TEGRA_PIN_ULPI_CLK_PY0 _GPIO(192)
223 #define TEGRA_PIN_ULPI_DIR_PY1 _GPIO(193)
224 #define TEGRA_PIN_ULPI_NXT_PY2 _GPIO(194)
225 #define TEGRA_PIN_ULPI_STP_PY3 _GPIO(195)
226 #define TEGRA_PIN_SDMMC1_DAT3_PY4 _GPIO(196)
227 #define TEGRA_PIN_SDMMC1_DAT2_PY5 _GPIO(197)
228 #define TEGRA_PIN_SDMMC1_DAT1_PY6 _GPIO(198)
229 #define TEGRA_PIN_SDMMC1_DAT0_PY7 _GPIO(199)
230 #define TEGRA_PIN_SDMMC1_CLK_PZ0 _GPIO(200)
231 #define TEGRA_PIN_SDMMC1_CMD_PZ1 _GPIO(201)
232 #define TEGRA_PIN_LCD_SDIN_PZ2 _GPIO(202)
233 #define TEGRA_PIN_LCD_WR_N_PZ3 _GPIO(203)
234 #define TEGRA_PIN_LCD_SCK_PZ4 _GPIO(204)
235 #define TEGRA_PIN_SYS_CLK_REQ_PZ5 _GPIO(205)
236 #define TEGRA_PIN_PWR_I2C_SCL_PZ6 _GPIO(206)
237 #define TEGRA_PIN_PWR_I2C_SDA_PZ7 _GPIO(207)
238 #define TEGRA_PIN_SDMMC4_DAT0_PAA0 _GPIO(208)
239 #define TEGRA_PIN_SDMMC4_DAT1_PAA1 _GPIO(209)
240 #define TEGRA_PIN_SDMMC4_DAT2_PAA2 _GPIO(210)
241 #define TEGRA_PIN_SDMMC4_DAT3_PAA3 _GPIO(211)
242 #define TEGRA_PIN_SDMMC4_DAT4_PAA4 _GPIO(212)
243 #define TEGRA_PIN_SDMMC4_DAT5_PAA5 _GPIO(213)
244 #define TEGRA_PIN_SDMMC4_DAT6_PAA6 _GPIO(214)
245 #define TEGRA_PIN_SDMMC4_DAT7_PAA7 _GPIO(215)
246 #define TEGRA_PIN_PBB0 _GPIO(216)
247 #define TEGRA_PIN_CAM_I2C_SCL_PBB1 _GPIO(217)
248 #define TEGRA_PIN_CAM_I2C_SDA_PBB2 _GPIO(218)
249 #define TEGRA_PIN_PBB3 _GPIO(219)
250 #define TEGRA_PIN_PBB4 _GPIO(220)
251 #define TEGRA_PIN_PBB5 _GPIO(221)
252 #define TEGRA_PIN_PBB6 _GPIO(222)
253 #define TEGRA_PIN_PBB7 _GPIO(223)
254 #define TEGRA_PIN_CAM_MCLK_PCC0 _GPIO(224)
255 #define TEGRA_PIN_PCC1 _GPIO(225)
256 #define TEGRA_PIN_PCC2 _GPIO(226)
257 #define TEGRA_PIN_SDMMC4_RST_N_PCC3 _GPIO(227)
258 #define TEGRA_PIN_SDMMC4_CLK_PCC4 _GPIO(228)
259 #define TEGRA_PIN_CLK2_REQ_PCC5 _GPIO(229)
260 #define TEGRA_PIN_PEX_L2_RST_N_PCC6 _GPIO(230)
261 #define TEGRA_PIN_PEX_L2_CLKREQ_N_PCC7 _GPIO(231)
262 #define TEGRA_PIN_PEX_L0_PRSNT_N_PDD0 _GPIO(232)
263 #define TEGRA_PIN_PEX_L0_RST_N_PDD1 _GPIO(233)
264 #define TEGRA_PIN_PEX_L0_CLKREQ_N_PDD2 _GPIO(234)
265 #define TEGRA_PIN_PEX_WAKE_N_PDD3 _GPIO(235)
266 #define TEGRA_PIN_PEX_L1_PRSNT_N_PDD4 _GPIO(236)
267 #define TEGRA_PIN_PEX_L1_RST_N_PDD5 _GPIO(237)
268 #define TEGRA_PIN_PEX_L1_CLKREQ_N_PDD6 _GPIO(238)
269 #define TEGRA_PIN_PEX_L2_PRSNT_N_PDD7 _GPIO(239)
270 #define TEGRA_PIN_CLK3_OUT_PEE0 _GPIO(240)
271 #define TEGRA_PIN_CLK3_REQ_PEE1 _GPIO(241)
272 #define TEGRA_PIN_CLK1_REQ_PEE2 _GPIO(242)
273 #define TEGRA_PIN_HDMI_CEC_PEE3 _GPIO(243)
274 #define TEGRA_PIN_PEE4 _GPIO(244)
275 #define TEGRA_PIN_PEE5 _GPIO(245)
276 #define TEGRA_PIN_PEE6 _GPIO(246)
277 #define TEGRA_PIN_PEE7 _GPIO(247)
280 #define NUM_GPIOS (TEGRA_PIN_PEE7 + 1)
281 #define _PIN(offset) (NUM_GPIOS + (offset))
284 #define TEGRA_PIN_CLK_32K_IN _PIN(0)
285 #define TEGRA_PIN_CORE_PWR_REQ _PIN(1)
286 #define TEGRA_PIN_CPU_PWR_REQ _PIN(2)
287 #define TEGRA_PIN_JTAG_TCK _PIN(3)
288 #define TEGRA_PIN_JTAG_TDI _PIN(4)
289 #define TEGRA_PIN_JTAG_TDO _PIN(5)
290 #define TEGRA_PIN_JTAG_TMS _PIN(6)
291 #define TEGRA_PIN_JTAG_TRST_N _PIN(7)
292 #define TEGRA_PIN_OWR _PIN(8)
293 #define TEGRA_PIN_PWR_INT_N _PIN(9)
294 #define TEGRA_PIN_SYS_RESET_N _PIN(10)
295 #define TEGRA_PIN_TEST_MODE_EN _PIN(11)
297 static const struct pinctrl_pin_desc tegra30_pins[] = {
560 static const unsigned clk_32k_out_pa0_pins[] = {
564 static const unsigned uart3_cts_n_pa1_pins[] = {
568 static const unsigned dap2_fs_pa2_pins[] = {
572 static const unsigned dap2_sclk_pa3_pins[] = {
576 static const unsigned dap2_din_pa4_pins[] = {
580 static const unsigned dap2_dout_pa5_pins[] = {
584 static const unsigned sdmmc3_clk_pa6_pins[] = {
588 static const unsigned sdmmc3_cmd_pa7_pins[] = {
592 static const unsigned gmi_a17_pb0_pins[] = {
596 static const unsigned gmi_a18_pb1_pins[] = {
600 static const unsigned lcd_pwr0_pb2_pins[] = {
604 static const unsigned lcd_pclk_pb3_pins[] = {
608 static const unsigned sdmmc3_dat3_pb4_pins[] = {
612 static const unsigned sdmmc3_dat2_pb5_pins[] = {
616 static const unsigned sdmmc3_dat1_pb6_pins[] = {
620 static const unsigned sdmmc3_dat0_pb7_pins[] = {
624 static const unsigned uart3_rts_n_pc0_pins[] = {
628 static const unsigned lcd_pwr1_pc1_pins[] = {
632 static const unsigned uart2_txd_pc2_pins[] = {
636 static const unsigned uart2_rxd_pc3_pins[] = {
640 static const unsigned gen1_i2c_scl_pc4_pins[] = {
644 static const unsigned gen1_i2c_sda_pc5_pins[] = {
648 static const unsigned lcd_pwr2_pc6_pins[] = {
652 static const unsigned gmi_wp_n_pc7_pins[] = {
656 static const unsigned sdmmc3_dat5_pd0_pins[] = {
660 static const unsigned sdmmc3_dat4_pd1_pins[] = {
664 static const unsigned lcd_dc1_pd2_pins[] = {
668 static const unsigned sdmmc3_dat6_pd3_pins[] = {
672 static const unsigned sdmmc3_dat7_pd4_pins[] = {
676 static const unsigned vi_d1_pd5_pins[] = {
680 static const unsigned vi_vsync_pd6_pins[] = {
684 static const unsigned vi_hsync_pd7_pins[] = {
688 static const unsigned lcd_d0_pe0_pins[] = {
692 static const unsigned lcd_d1_pe1_pins[] = {
696 static const unsigned lcd_d2_pe2_pins[] = {
700 static const unsigned lcd_d3_pe3_pins[] = {
704 static const unsigned lcd_d4_pe4_pins[] = {
708 static const unsigned lcd_d5_pe5_pins[] = {
712 static const unsigned lcd_d6_pe6_pins[] = {
716 static const unsigned lcd_d7_pe7_pins[] = {
720 static const unsigned lcd_d8_pf0_pins[] = {
724 static const unsigned lcd_d9_pf1_pins[] = {
728 static const unsigned lcd_d10_pf2_pins[] = {
732 static const unsigned lcd_d11_pf3_pins[] = {
736 static const unsigned lcd_d12_pf4_pins[] = {
740 static const unsigned lcd_d13_pf5_pins[] = {
744 static const unsigned lcd_d14_pf6_pins[] = {
748 static const unsigned lcd_d15_pf7_pins[] = {
752 static const unsigned gmi_ad0_pg0_pins[] = {
756 static const unsigned gmi_ad1_pg1_pins[] = {
760 static const unsigned gmi_ad2_pg2_pins[] = {
764 static const unsigned gmi_ad3_pg3_pins[] = {
768 static const unsigned gmi_ad4_pg4_pins[] = {
772 static const unsigned gmi_ad5_pg5_pins[] = {
776 static const unsigned gmi_ad6_pg6_pins[] = {
780 static const unsigned gmi_ad7_pg7_pins[] = {
784 static const unsigned gmi_ad8_ph0_pins[] = {
788 static const unsigned gmi_ad9_ph1_pins[] = {
792 static const unsigned gmi_ad10_ph2_pins[] = {
796 static const unsigned gmi_ad11_ph3_pins[] = {
800 static const unsigned gmi_ad12_ph4_pins[] = {
804 static const unsigned gmi_ad13_ph5_pins[] = {
808 static const unsigned gmi_ad14_ph6_pins[] = {
812 static const unsigned gmi_ad15_ph7_pins[] = {
816 static const unsigned gmi_wr_n_pi0_pins[] = {
820 static const unsigned gmi_oe_n_pi1_pins[] = {
824 static const unsigned gmi_dqs_pi2_pins[] = {
828 static const unsigned gmi_cs6_n_pi3_pins[] = {
832 static const unsigned gmi_rst_n_pi4_pins[] = {
836 static const unsigned gmi_iordy_pi5_pins[] = {
840 static const unsigned gmi_cs7_n_pi6_pins[] = {
844 static const unsigned gmi_wait_pi7_pins[] = {
848 static const unsigned gmi_cs0_n_pj0_pins[] = {
852 static const unsigned lcd_de_pj1_pins[] = {
856 static const unsigned gmi_cs1_n_pj2_pins[] = {
860 static const unsigned lcd_hsync_pj3_pins[] = {
864 static const unsigned lcd_vsync_pj4_pins[] = {
868 static const unsigned uart2_cts_n_pj5_pins[] = {
872 static const unsigned uart2_rts_n_pj6_pins[] = {
876 static const unsigned gmi_a16_pj7_pins[] = {
880 static const unsigned gmi_adv_n_pk0_pins[] = {
884 static const unsigned gmi_clk_pk1_pins[] = {
888 static const unsigned gmi_cs4_n_pk2_pins[] = {
892 static const unsigned gmi_cs2_n_pk3_pins[] = {
896 static const unsigned gmi_cs3_n_pk4_pins[] = {
900 static const unsigned spdif_out_pk5_pins[] = {
904 static const unsigned spdif_in_pk6_pins[] = {
908 static const unsigned gmi_a19_pk7_pins[] = {
912 static const unsigned vi_d2_pl0_pins[] = {
916 static const unsigned vi_d3_pl1_pins[] = {
920 static const unsigned vi_d4_pl2_pins[] = {
924 static const unsigned vi_d5_pl3_pins[] = {
928 static const unsigned vi_d6_pl4_pins[] = {
932 static const unsigned vi_d7_pl5_pins[] = {
936 static const unsigned vi_d8_pl6_pins[] = {
940 static const unsigned vi_d9_pl7_pins[] = {
944 static const unsigned lcd_d16_pm0_pins[] = {
948 static const unsigned lcd_d17_pm1_pins[] = {
952 static const unsigned lcd_d18_pm2_pins[] = {
956 static const unsigned lcd_d19_pm3_pins[] = {
960 static const unsigned lcd_d20_pm4_pins[] = {
964 static const unsigned lcd_d21_pm5_pins[] = {
968 static const unsigned lcd_d22_pm6_pins[] = {
972 static const unsigned lcd_d23_pm7_pins[] = {
976 static const unsigned dap1_fs_pn0_pins[] = {
980 static const unsigned dap1_din_pn1_pins[] = {
984 static const unsigned dap1_dout_pn2_pins[] = {
988 static const unsigned dap1_sclk_pn3_pins[] = {
992 static const unsigned lcd_cs0_n_pn4_pins[] = {
996 static const unsigned lcd_sdout_pn5_pins[] = {
1000 static const unsigned lcd_dc0_pn6_pins[] = {
1004 static const unsigned hdmi_int_pn7_pins[] = {
1008 static const unsigned ulpi_data7_po0_pins[] = {
1012 static const unsigned ulpi_data0_po1_pins[] = {
1016 static const unsigned ulpi_data1_po2_pins[] = {
1020 static const unsigned ulpi_data2_po3_pins[] = {
1024 static const unsigned ulpi_data3_po4_pins[] = {
1028 static const unsigned ulpi_data4_po5_pins[] = {
1032 static const unsigned ulpi_data5_po6_pins[] = {
1036 static const unsigned ulpi_data6_po7_pins[] = {
1040 static const unsigned dap3_fs_pp0_pins[] = {
1044 static const unsigned dap3_din_pp1_pins[] = {
1048 static const unsigned dap3_dout_pp2_pins[] = {
1052 static const unsigned dap3_sclk_pp3_pins[] = {
1056 static const unsigned dap4_fs_pp4_pins[] = {
1060 static const unsigned dap4_din_pp5_pins[] = {
1064 static const unsigned dap4_dout_pp6_pins[] = {
1068 static const unsigned dap4_sclk_pp7_pins[] = {
1072 static const unsigned kb_col0_pq0_pins[] = {
1076 static const unsigned kb_col1_pq1_pins[] = {
1080 static const unsigned kb_col2_pq2_pins[] = {
1084 static const unsigned kb_col3_pq3_pins[] = {
1088 static const unsigned kb_col4_pq4_pins[] = {
1092 static const unsigned kb_col5_pq5_pins[] = {
1096 static const unsigned kb_col6_pq6_pins[] = {
1100 static const unsigned kb_col7_pq7_pins[] = {
1104 static const unsigned kb_row0_pr0_pins[] = {
1108 static const unsigned kb_row1_pr1_pins[] = {
1112 static const unsigned kb_row2_pr2_pins[] = {
1116 static const unsigned kb_row3_pr3_pins[] = {
1120 static const unsigned kb_row4_pr4_pins[] = {
1124 static const unsigned kb_row5_pr5_pins[] = {
1128 static const unsigned kb_row6_pr6_pins[] = {
1132 static const unsigned kb_row7_pr7_pins[] = {
1136 static const unsigned kb_row8_ps0_pins[] = {
1140 static const unsigned kb_row9_ps1_pins[] = {
1144 static const unsigned kb_row10_ps2_pins[] = {
1148 static const unsigned kb_row11_ps3_pins[] = {
1152 static const unsigned kb_row12_ps4_pins[] = {
1156 static const unsigned kb_row13_ps5_pins[] = {
1160 static const unsigned kb_row14_ps6_pins[] = {
1164 static const unsigned kb_row15_ps7_pins[] = {
1168 static const unsigned vi_pclk_pt0_pins[] = {
1172 static const unsigned vi_mclk_pt1_pins[] = {
1176 static const unsigned vi_d10_pt2_pins[] = {
1180 static const unsigned vi_d11_pt3_pins[] = {
1184 static const unsigned vi_d0_pt4_pins[] = {
1188 static const unsigned gen2_i2c_scl_pt5_pins[] = {
1192 static const unsigned gen2_i2c_sda_pt6_pins[] = {
1196 static const unsigned sdmmc4_cmd_pt7_pins[] = {
1200 static const unsigned pu0_pins[] = {
1204 static const unsigned pu1_pins[] = {
1208 static const unsigned pu2_pins[] = {
1212 static const unsigned pu3_pins[] = {
1216 static const unsigned pu4_pins[] = {
1220 static const unsigned pu5_pins[] = {
1224 static const unsigned pu6_pins[] = {
1228 static const unsigned jtag_rtck_pu7_pins[] = {
1232 static const unsigned pv0_pins[] = {
1236 static const unsigned pv1_pins[] = {
1240 static const unsigned pv2_pins[] = {
1244 static const unsigned pv3_pins[] = {
1248 static const unsigned ddc_scl_pv4_pins[] = {
1252 static const unsigned ddc_sda_pv5_pins[] = {
1256 static const unsigned crt_hsync_pv6_pins[] = {
1260 static const unsigned crt_vsync_pv7_pins[] = {
1264 static const unsigned lcd_cs1_n_pw0_pins[] = {
1268 static const unsigned lcd_m1_pw1_pins[] = {
1272 static const unsigned spi2_cs1_n_pw2_pins[] = {
1276 static const unsigned spi2_cs2_n_pw3_pins[] = {
1280 static const unsigned clk1_out_pw4_pins[] = {
1284 static const unsigned clk2_out_pw5_pins[] = {
1288 static const unsigned uart3_txd_pw6_pins[] = {
1292 static const unsigned uart3_rxd_pw7_pins[] = {
1296 static const unsigned spi2_mosi_px0_pins[] = {
1300 static const unsigned spi2_miso_px1_pins[] = {
1304 static const unsigned spi2_sck_px2_pins[] = {
1308 static const unsigned spi2_cs0_n_px3_pins[] = {
1312 static const unsigned spi1_mosi_px4_pins[] = {
1316 static const unsigned spi1_sck_px5_pins[] = {
1320 static const unsigned spi1_cs0_n_px6_pins[] = {
1324 static const unsigned spi1_miso_px7_pins[] = {
1328 static const unsigned ulpi_clk_py0_pins[] = {
1332 static const unsigned ulpi_dir_py1_pins[] = {
1336 static const unsigned ulpi_nxt_py2_pins[] = {
1340 static const unsigned ulpi_stp_py3_pins[] = {
1344 static const unsigned sdmmc1_dat3_py4_pins[] = {
1348 static const unsigned sdmmc1_dat2_py5_pins[] = {
1352 static const unsigned sdmmc1_dat1_py6_pins[] = {
1356 static const unsigned sdmmc1_dat0_py7_pins[] = {
1360 static const unsigned sdmmc1_clk_pz0_pins[] = {
1364 static const unsigned sdmmc1_cmd_pz1_pins[] = {
1368 static const unsigned lcd_sdin_pz2_pins[] = {
1372 static const unsigned lcd_wr_n_pz3_pins[] = {
1376 static const unsigned lcd_sck_pz4_pins[] = {
1380 static const unsigned sys_clk_req_pz5_pins[] = {
1384 static const unsigned pwr_i2c_scl_pz6_pins[] = {
1388 static const unsigned pwr_i2c_sda_pz7_pins[] = {
1392 static const unsigned sdmmc4_dat0_paa0_pins[] = {
1396 static const unsigned sdmmc4_dat1_paa1_pins[] = {
1400 static const unsigned sdmmc4_dat2_paa2_pins[] = {
1404 static const unsigned sdmmc4_dat3_paa3_pins[] = {
1408 static const unsigned sdmmc4_dat4_paa4_pins[] = {
1412 static const unsigned sdmmc4_dat5_paa5_pins[] = {
1416 static const unsigned sdmmc4_dat6_paa6_pins[] = {
1420 static const unsigned sdmmc4_dat7_paa7_pins[] = {
1424 static const unsigned pbb0_pins[] = {
1428 static const unsigned cam_i2c_scl_pbb1_pins[] = {
1432 static const unsigned cam_i2c_sda_pbb2_pins[] = {
1436 static const unsigned pbb3_pins[] = {
1440 static const unsigned pbb4_pins[] = {
1444 static const unsigned pbb5_pins[] = {
1448 static const unsigned pbb6_pins[] = {
1452 static const unsigned pbb7_pins[] = {
1456 static const unsigned cam_mclk_pcc0_pins[] = {
1460 static const unsigned pcc1_pins[] = {
1464 static const unsigned pcc2_pins[] = {
1468 static const unsigned sdmmc4_rst_n_pcc3_pins[] = {
1472 static const unsigned sdmmc4_clk_pcc4_pins[] = {
1476 static const unsigned clk2_req_pcc5_pins[] = {
1480 static const unsigned pex_l2_rst_n_pcc6_pins[] = {
1484 static const unsigned pex_l2_clkreq_n_pcc7_pins[] = {
1488 static const unsigned pex_l0_prsnt_n_pdd0_pins[] = {
1492 static const unsigned pex_l0_rst_n_pdd1_pins[] = {
1496 static const unsigned pex_l0_clkreq_n_pdd2_pins[] = {
1500 static const unsigned pex_wake_n_pdd3_pins[] = {
1504 static const unsigned pex_l1_prsnt_n_pdd4_pins[] = {
1508 static const unsigned pex_l1_rst_n_pdd5_pins[] = {
1512 static const unsigned pex_l1_clkreq_n_pdd6_pins[] = {
1516 static const unsigned pex_l2_prsnt_n_pdd7_pins[] = {
1520 static const unsigned clk3_out_pee0_pins[] = {
1524 static const unsigned clk3_req_pee1_pins[] = {
1528 static const unsigned clk1_req_pee2_pins[] = {
1532 static const unsigned hdmi_cec_pee3_pins[] = {
1536 static const unsigned clk_32k_in_pins[] = {
1540 static const unsigned core_pwr_req_pins[] = {
1544 static const unsigned cpu_pwr_req_pins[] = {
1548 static const unsigned owr_pins[] = {
1552 static const unsigned pwr_int_n_pins[] = {
1556 static const unsigned drive_ao1_pins[] = {
1570 static const unsigned drive_ao2_pins[] = {
1595 static const unsigned drive_at1_pins[] = {
1608 static const unsigned drive_at2_pins[] = {
1630 static const unsigned drive_at3_pins[] = {
1635 static const unsigned drive_at4_pins[] = {
1643 static const unsigned drive_at5_pins[] = {
1648 static const unsigned drive_cdev1_pins[] = {
1653 static const unsigned drive_cdev2_pins[] = {
1658 static const unsigned drive_cec_pins[] = {
1662 static const unsigned drive_crt_pins[] = {
1667 static const unsigned drive_csus_pins[] = {
1671 static const unsigned drive_dap1_pins[] = {
1680 static const unsigned drive_dap2_pins[] = {
1687 static const unsigned drive_dap3_pins[] = {
1694 static const unsigned drive_dap4_pins[] = {
1701 static const unsigned drive_dbg_pins[] = {
1720 static const unsigned drive_ddc_pins[] = {
1725 static const unsigned drive_dev3_pins[] = {
1730 static const unsigned drive_gma_pins[] = {
1738 static const unsigned drive_gmb_pins[] = {
1745 static const unsigned drive_gmc_pins[] = {
1749 static const unsigned drive_gmd_pins[] = {
1753 static const unsigned drive_gme_pins[] = {
1761 static const unsigned drive_gmf_pins[] = {
1768 static const unsigned drive_gmg_pins[] = {
1772 static const unsigned drive_gmh_pins[] = {
1776 static const unsigned drive_gpv_pins[] = {
1789 static const unsigned drive_lcd1_pins[] = {
1800 static const unsigned drive_lcd2_pins[] = {
1836 static const unsigned drive_owr_pins[] = {
1840 static const unsigned drive_sdio1_pins[] = {
1849 static const unsigned drive_sdio2_pins[] = {
1856 static const unsigned drive_sdio3_pins[] = {
1865 static const unsigned drive_spi_pins[] = {
1878 static const unsigned drive_uaa_pins[] = {
1885 static const unsigned drive_uab_pins[] = {
1896 static const unsigned drive_uart2_pins[] = {
1903 static const unsigned drive_uart3_pins[] = {
1910 static const unsigned drive_uda_pins[] = {
1917 static const unsigned drive_vi1_pins[] = {
2018 static const char *
const blink_groups[] = {
2022 static const char *
const cec_groups[] = {
2027 static const char *
const clk_12m_out_groups[] = {
2031 static const char *
const clk_32k_in_groups[] = {
2035 static const char *
const core_pwr_req_groups[] = {
2039 static const char *
const cpu_pwr_req_groups[] = {
2043 static const char *
const crt_groups[] = {
2048 static const char *
const dap_groups[] = {
2053 static const char *
const ddr_groups[] = {
2070 static const char *
const dev3_groups[] = {
2074 static const char *
const displaya_groups[] = {
2125 static const char *
const displayb_groups[] = {
2176 static const char *
const dtv_groups[] = {
2183 static const char *
const extperiph1_groups[] = {
2187 static const char *
const extperiph2_groups[] = {
2191 static const char *
const extperiph3_groups[] = {
2195 static const char *
const gmi_groups[] = {
2278 static const char *
const gmi_alt_groups[] = {
2285 static const char *
const hda_groups[] = {
2295 "pex_l0_clkreq_n_pdd2",
2296 "pex_l0_prsnt_n_pdd0",
2297 "pex_l0_rst_n_pdd1",
2298 "pex_l1_clkreq_n_pdd6",
2299 "pex_l1_prsnt_n_pdd4",
2300 "pex_l1_rst_n_pdd5",
2301 "pex_l2_clkreq_n_pcc7",
2302 "pex_l2_prsnt_n_pdd7",
2303 "pex_l2_rst_n_pcc6",
2308 static const char *
const hdcp_groups[] = {
2318 static const char *
const hdmi_groups[] = {
2322 static const char *
const hsi_groups[] = {
2333 static const char *
const i2c1_groups[] = {
2342 static const char *
const i2c2_groups[] = {
2347 static const char *
const i2c3_groups[] = {
2354 static const char *
const i2c4_groups[] = {
2359 static const char *
const i2cpwr_groups[] = {
2364 static const char *
const i2s0_groups[] = {
2371 static const char *
const i2s1_groups[] = {
2378 static const char *
const i2s2_groups[] = {
2385 static const char *
const i2s3_groups[] = {
2392 static const char *
const i2s4_groups[] = {
2403 static const char *
const invalid_groups[] = {
2408 static const char *
const kbc_groups[] = {
2435 static const char *
const mio_groups[] = {
2450 static const char *
const nand_groups[] = {
2511 static const char *
const nand_alt_groups[] = {
2517 static const char *
const owr_groups[] = {
2524 static const char *
const pcie_groups[] = {
2525 "pex_l0_clkreq_n_pdd2",
2526 "pex_l0_prsnt_n_pdd0",
2527 "pex_l0_rst_n_pdd1",
2528 "pex_l1_clkreq_n_pdd6",
2529 "pex_l1_prsnt_n_pdd4",
2530 "pex_l1_rst_n_pdd5",
2531 "pex_l2_clkreq_n_pcc7",
2532 "pex_l2_prsnt_n_pdd7",
2533 "pex_l2_rst_n_pcc6",
2537 static const char *
const pwm0_groups[] = {
2545 static const char *
const pwm1_groups[] = {
2552 static const char *
const pwm2_groups[] = {
2558 static const char *
const pwm3_groups[] = {
2564 static const char *
const pwr_int_n_groups[] = {
2568 static const char *
const rsvd1_groups[] = {
2605 static const char *
const rsvd2_groups[] = {
2651 "sdmmc4_rst_n_pcc3",
2668 static const char *
const rsvd3_groups[] = {
2739 "pex_l0_clkreq_n_pdd2",
2740 "pex_l0_prsnt_n_pdd0",
2741 "pex_l0_rst_n_pdd1",
2742 "pex_l1_clkreq_n_pdd6",
2743 "pex_l1_prsnt_n_pdd4",
2744 "pex_l1_rst_n_pdd5",
2745 "pex_l2_clkreq_n_pcc7",
2746 "pex_l2_prsnt_n_pdd7",
2747 "pex_l2_rst_n_pcc6",
2754 "sdmmc4_rst_n_pcc3",
2758 static const char *
const rsvd4_groups[] = {
2867 "pex_l0_clkreq_n_pdd2",
2868 "pex_l0_prsnt_n_pdd0",
2869 "pex_l0_rst_n_pdd1",
2870 "pex_l1_clkreq_n_pdd6",
2871 "pex_l1_prsnt_n_pdd4",
2872 "pex_l1_rst_n_pdd5",
2873 "pex_l2_clkreq_n_pcc7",
2874 "pex_l2_prsnt_n_pdd7",
2875 "pex_l2_rst_n_pcc6",
2903 static const char *
const rtck_groups[] = {
2907 static const char *
const sata_groups[] = {
2911 static const char *
const sdmmc1_groups[] = {
2920 static const char *
const sdmmc2_groups[] = {
2949 static const char *
const sdmmc3_groups[] = {
2962 static const char *
const sdmmc4_groups[] = {
2983 "sdmmc4_rst_n_pcc3",
2986 static const char *
const spdif_groups[] = {
2995 static const char *
const spi1_groups[] = {
3006 static const char *
const spi2_groups[] = {
3027 static const char *
const spi2_alt_groups[] = {
3036 static const char *
const spi3_groups[] = {
3059 static const char *
const spi4_groups[] = {
3074 static const char *
const spi5_groups[] = {
3085 static const char *
const spi6_groups[] = {
3092 static const char *
const sysclk_groups[] = {
3096 static const char *
const test_groups[] = {
3101 static const char *
const trace_groups[] = {
3114 static const char *
const uarta_groups[] = {
3144 static const char *
const uartb_groups[] = {
3151 static const char *
const uartc_groups[] = {
3158 static const char *
const uartd_groups[] = {
3169 static const char *
const uarte_groups[] = {
3180 static const char *
const ulpi_groups[] = {
3195 static const char *
const vgp1_groups[] = {
3199 static const char *
const vgp2_groups[] = {
3203 static const char *
const vgp3_groups[] = {
3208 static const char *
const vgp4_groups[] = {
3213 static const char *
const vgp5_groups[] = {
3218 static const char *
const vgp6_groups[] = {
3220 "sdmmc4_rst_n_pcc3",
3223 static const char *
const vi_groups[] = {
3243 static const char *
const vi_alt1_groups[] = {
3248 static const char *
const vi_alt2_groups[] = {
3252 static const char *
const vi_alt3_groups[] = {
3257 #define FUNCTION(fname) \
3260 .groups = fname##_groups, \
3261 .ngroups = ARRAY_SIZE(fname##_groups), \
3348 #define DRV_PINGROUP_REG_A 0x868
3349 #define PINGROUP_REG_A 0x3000
3351 #define PINGROUP_REG_Y(r) ((r) - PINGROUP_REG_A)
3352 #define PINGROUP_REG_N(r) -1
3354 #define PINGROUP(pg_name, f0, f1, f2, f3, f_safe, r, od, ior) \
3357 .pins = pg_name##_pins, \
3358 .npins = ARRAY_SIZE(pg_name##_pins), \
3365 .func_safe = TEGRA_MUX_ ## f_safe, \
3366 .mux_reg = PINGROUP_REG_Y(r), \
3369 .pupd_reg = PINGROUP_REG_Y(r), \
3372 .tri_reg = PINGROUP_REG_Y(r), \
3375 .einput_reg = PINGROUP_REG_Y(r), \
3378 .odrain_reg = PINGROUP_REG_##od(r), \
3381 .lock_reg = PINGROUP_REG_Y(r), \
3384 .ioreset_reg = PINGROUP_REG_##ior(r), \
3385 .ioreset_bank = 1, \
3390 #define DRV_PINGROUP(pg_name, r, hsm_b, schmitt_b, lpmd_b, \
3391 drvdn_b, drvdn_w, drvup_b, drvup_w, \
3392 slwr_b, slwr_w, slwf_b, slwf_w) \
3394 .name = "drive_" #pg_name, \
3395 .pins = drive_##pg_name##_pins, \
3396 .npins = ARRAY_SIZE(drive_##pg_name##_pins), \
3403 .ioreset_reg = -1, \
3404 .drv_reg = ((r) - DRV_PINGROUP_REG_A), \
3407 .schmitt_bit = schmitt_b, \
3408 .lpmd_bit = lpmd_b, \
3409 .drvdn_bit = drvdn_b, \
3410 .drvdn_width = drvdn_w, \
3411 .drvup_bit = drvup_b, \
3412 .drvup_width = drvup_w, \
3413 .slwr_bit = slwr_b, \
3414 .slwr_width = slwr_w, \
3415 .slwf_bit = slwf_b, \
3416 .slwf_width = slwf_w, \
3428 PINGROUP(sdmmc3_clk_pa6, UARTA,
PWM2, SDMMC3, SPI3, SPI3, 0x3390,
N,
N),
3429 PINGROUP(sdmmc3_cmd_pa7, UARTA,
PWM3, SDMMC3, SPI2, SPI2, 0x3394,
N,
N),
3430 PINGROUP(gmi_a17_pb0, UARTD, SPI4, GMI, DTV, DTV, 0x3234,
N,
N),
3431 PINGROUP(gmi_a18_pb1, UARTD, SPI4, GMI, DTV, DTV, 0x3238,
N,
N),
3432 PINGROUP(lcd_pwr0_pb2, DISPLAYA, DISPLAYB, SPI5, HDCP, HDCP, 0x3090,
N,
N),
3434 PINGROUP(sdmmc3_dat3_pb4, RSVD1,
PWM0, SDMMC3, SPI3, RSVD1, 0x33a4,
N,
N),
3435 PINGROUP(sdmmc3_dat2_pb5, RSVD1,
PWM1, SDMMC3, SPI3, RSVD1, 0x33a0,
N,
N),
3440 PINGROUP(uart2_txd_pc2, UARTB,
SPDIF, UARTA, SPI4, SPI4, 0x3168,
N,
N),
3441 PINGROUP(uart2_rxd_pc3, UARTB,
SPDIF, UARTA, SPI4, SPI4, 0x3164,
N,
N),
3444 PINGROUP(lcd_pwr2_pc6, DISPLAYA, DISPLAYB, SPI5, HDCP, HDCP, 0x3074,
N,
N),
3445 PINGROUP(gmi_wp_n_pc7, RSVD1, NAND, GMI, GMI_ALT, RSVD1, 0x31c0,
N,
N),
3446 PINGROUP(sdmmc3_dat5_pd0,
PWM0, SPI4, SDMMC3, SPI2, SPI2, 0x33ac,
N,
N),
3447 PINGROUP(sdmmc3_dat4_pd1,
PWM1, SPI4, SDMMC3, SPI2, SPI2, 0x33a8,
N,
N),
3449 PINGROUP(sdmmc3_dat6_pd3,
SPDIF, SPI4, SDMMC3, SPI2, SPI2, 0x33b0,
N,
N),
3450 PINGROUP(sdmmc3_dat7_pd4,
SPDIF, SPI4, SDMMC3, SPI2, SPI2, 0x33b4,
N,
N),
3489 PINGROUP(gmi_cs6_n_pi3, NAND, NAND_ALT, GMI, SATA, SATA, 0x31e8,
N,
N),
3492 PINGROUP(gmi_cs7_n_pi6, NAND, NAND_ALT, GMI, GMI_ALT, GMI_ALT, 0x31ec,
N,
N),
3494 PINGROUP(gmi_cs0_n_pj0, RSVD1, NAND, GMI, DTV, RSVD1, 0x31d4,
N,
N),
3496 PINGROUP(gmi_cs1_n_pj2, RSVD1, NAND, GMI, DTV, RSVD1, 0x31d8,
N,
N),
3499 PINGROUP(uart2_cts_n_pj5, UARTA, UARTB, GMI, SPI4, SPI4, 0x3170,
N,
N),
3500 PINGROUP(uart2_rts_n_pj6, UARTA, UARTB, GMI, SPI4, SPI4, 0x316c,
N,
N),
3501 PINGROUP(gmi_a16_pj7, UARTD, SPI4, GMI, GMI_ALT, GMI_ALT, 0x3230,
N,
N),
3506 PINGROUP(gmi_cs3_n_pk4, RSVD1, NAND, GMI, GMI_ALT, RSVD1, 0x31e0,
N,
N),
3531 PINGROUP(lcd_sdout_pn5, DISPLAYA, DISPLAYB, SPI5, HDCP, HDCP, 0x307c,
N,
N),
3534 PINGROUP(ulpi_data7_po0, SPI2, HSI, UARTA, ULPI, ULPI, 0x301c,
N,
N),
3535 PINGROUP(ulpi_data0_po1, SPI3, HSI, UARTA, ULPI, ULPI, 0x3000,
N,
N),
3536 PINGROUP(ulpi_data1_po2, SPI3, HSI, UARTA, ULPI, ULPI, 0x3004,
N,
N),
3537 PINGROUP(ulpi_data2_po3, SPI3, HSI, UARTA, ULPI, ULPI, 0x3008,
N,
N),
3538 PINGROUP(ulpi_data3_po4, SPI3, HSI, UARTA, ULPI, ULPI, 0x300c,
N,
N),
3539 PINGROUP(ulpi_data4_po5, SPI2, HSI, UARTA, ULPI, ULPI, 0x3010,
N,
N),
3540 PINGROUP(ulpi_data5_po6, SPI2, HSI, UARTA, ULPI, ULPI, 0x3014,
N,
N),
3541 PINGROUP(ulpi_data6_po7, SPI2, HSI, UARTA, ULPI, ULPI, 0x3018,
N,
N),
3564 PINGROUP(kb_row6_pr6, KBC, NAND, SDMMC2, MIO, MIO, 0x32d4,
N,
N),
3565 PINGROUP(kb_row7_pr7, KBC, NAND, SDMMC2, MIO, MIO, 0x32d8,
N,
N),
3566 PINGROUP(kb_row8_ps0, KBC, NAND, SDMMC2, MIO, MIO, 0x32dc,
N,
N),
3567 PINGROUP(kb_row9_ps1, KBC, NAND, SDMMC2, MIO, MIO, 0x32e0,
N,
N),
3568 PINGROUP(kb_row10_ps2, KBC, NAND, SDMMC2, MIO, MIO, 0x32e4,
N,
N),
3569 PINGROUP(kb_row11_ps3, KBC, NAND, SDMMC2, MIO, MIO, 0x32e8,
N,
N),
3570 PINGROUP(kb_row12_ps4, KBC, NAND, SDMMC2, MIO, MIO, 0x32ec,
N,
N),
3571 PINGROUP(kb_row13_ps5, KBC, NAND, SDMMC2, MIO, MIO, 0x32f0,
N,
N),
3572 PINGROUP(kb_row14_ps6, KBC, NAND, SDMMC2, MIO, MIO, 0x32f4,
N,
N),
3573 PINGROUP(kb_row15_ps7, KBC, NAND, SDMMC2, MIO, MIO, 0x32f8,
N,
N),
3575 PINGROUP(vi_mclk_pt1, VI, VI_ALT1, VI_ALT2, VI_ALT3, VI_ALT3, 0x3158,
N, Y),
3581 PINGROUP(sdmmc4_cmd_pt7, I2C3, NAND, GMI, SDMMC4, SDMMC4, 0x325c,
N, Y),
3606 PINGROUP(spi2_mosi_px0, SPI6, SPI2, SPI3, GMI, GMI, 0x3368,
N,
N),
3607 PINGROUP(spi2_miso_px1, SPI6, SPI2, SPI3, GMI, GMI, 0x336c,
N,
N),
3608 PINGROUP(spi2_sck_px2, SPI6, SPI2, SPI3, GMI, GMI, 0x3374,
N,
N),
3609 PINGROUP(spi2_cs0_n_px3, SPI6, SPI2, SPI3, GMI, GMI, 0x3370,
N,
N),
3610 PINGROUP(spi1_mosi_px4, SPI2,
SPI1, SPI2_ALT, GMI, GMI, 0x3378,
N,
N),
3611 PINGROUP(spi1_sck_px5, SPI2,
SPI1, SPI2_ALT, GMI, GMI, 0x337c,
N,
N),
3612 PINGROUP(spi1_cs0_n_px6, SPI2,
SPI1, SPI2_ALT, GMI, GMI, 0x3380,
N,
N),
3625 PINGROUP(lcd_wr_n_pz3, DISPLAYA, DISPLAYB, SPI5, HDCP, HDCP, 0x3080,
N,
N),
3626 PINGROUP(lcd_sck_pz4, DISPLAYA, DISPLAYB, SPI5, HDCP, HDCP, 0x308c,
N,
N),
3630 PINGROUP(sdmmc4_dat0_paa0, UARTE, SPI3, GMI, SDMMC4, SDMMC4, 0x3260,
N, Y),
3631 PINGROUP(sdmmc4_dat1_paa1, UARTE, SPI3, GMI, SDMMC4, SDMMC4, 0x3264,
N, Y),
3632 PINGROUP(sdmmc4_dat2_paa2, UARTE, SPI3, GMI, SDMMC4, SDMMC4, 0x3268,
N, Y),
3633 PINGROUP(sdmmc4_dat3_paa3, UARTE, SPI3, GMI, SDMMC4, SDMMC4, 0x326c,
N, Y),
3634 PINGROUP(sdmmc4_dat4_paa4, I2C3, I2S4, GMI, SDMMC4, SDMMC4, 0x3270,
N, Y),
3635 PINGROUP(sdmmc4_dat5_paa5, VGP3, I2S4, GMI, SDMMC4, SDMMC4, 0x3274,
N, Y),
3636 PINGROUP(sdmmc4_dat6_paa6, VGP4, I2S4, GMI, SDMMC4, SDMMC4, 0x3278,
N, Y),
3637 PINGROUP(sdmmc4_dat7_paa7, VGP5, I2S4, GMI, SDMMC4, SDMMC4, 0x327c,
N, Y),
3641 PINGROUP(pbb3, VGP3, DISPLAYA, DISPLAYB, SDMMC4, SDMMC4, 0x3298,
N,
N),
3642 PINGROUP(pbb4, VGP4, DISPLAYA, DISPLAYB, SDMMC4, SDMMC4, 0x329c,
N,
N),
3643 PINGROUP(pbb5, VGP5, DISPLAYA, DISPLAYB, SDMMC4, SDMMC4, 0x32a0,
N,
N),
3644 PINGROUP(pbb6, VGP6, DISPLAYA, DISPLAYB, SDMMC4, SDMMC4, 0x32a4,
N,
N),
3646 PINGROUP(cam_mclk_pcc0, VI, VI_ALT1, VI_ALT3, SDMMC4, SDMMC4, 0x3284,
N,
N),
3650 PINGROUP(sdmmc4_clk_pcc4,
INVALID, NAND, GMI, SDMMC4, SDMMC4, 0x3258,
N, Y),
3672 DRV_PINGROUP(ao1, 0x868, 2, 3, 4, 12, 5, 20, 5, 28, 2, 30, 2),
3673 DRV_PINGROUP(ao2, 0x86c, 2, 3, 4, 12, 5, 20, 5, 28, 2, 30, 2),
3674 DRV_PINGROUP(
at1, 0x870, 2, 3, 4, 14, 5, 19, 5, 24, 2, 28, 2),
3675 DRV_PINGROUP(
at2, 0x874, 2, 3, 4, 14, 5, 19, 5, 24, 2, 28, 2),
3676 DRV_PINGROUP(at3, 0x878, 2, 3, 4, 14, 5, 19, 5, 28, 2, 30, 2),
3677 DRV_PINGROUP(at4, 0x87c, 2, 3, 4, 14, 5, 19, 5, 28, 2, 30, 2),
3678 DRV_PINGROUP(at5, 0x880, 2, 3, 4, 14, 5, 19, 5, 28, 2, 30, 2),
3679 DRV_PINGROUP(cdev1, 0x884, 2, 3, 4, 12, 5, 20, 5, 28, 2, 30, 2),
3680 DRV_PINGROUP(cdev2, 0x888, 2, 3, 4, 12, 5, 20, 5, 28, 2, 30, 2),
3681 DRV_PINGROUP(cec, 0x938, 2, 3, 4, 12, 5, 20, 5, 28, 2, 30, 2),
3682 DRV_PINGROUP(crt, 0x8f8, 2, 3, 4, 12, 5, 20, 5, 28, 2, 30, 2),
3683 DRV_PINGROUP(csus, 0x88c, -1, -1, -1, 12, 5, 19, 5, 24, 4, 28, 4),
3684 DRV_PINGROUP(dap1, 0x890, 2, 3, 4, 12, 5, 20, 5, 28, 2, 30, 2),
3685 DRV_PINGROUP(dap2, 0x894, 2, 3, 4, 12, 5, 20, 5, 28, 2, 30, 2),
3686 DRV_PINGROUP(dap3, 0x898, 2, 3, 4, 12, 5, 20, 5, 28, 2, 30, 2),
3687 DRV_PINGROUP(dap4, 0x89c, 2, 3, 4, 12, 5, 20, 5, 28, 2, 30, 2),
3688 DRV_PINGROUP(
dbg, 0x8a0, 2, 3, 4, 12, 5, 20, 5, 28, 2, 30, 2),
3689 DRV_PINGROUP(ddc, 0x8fc, 2, 3, 4, 12, 5, 20, 5, 28, 2, 30, 2),
3690 DRV_PINGROUP(dev3, 0x92c, 2, 3, 4, 12, 5, 20, 5, 28, 2, 30, 2),
3691 DRV_PINGROUP(gma, 0x900, -1, -1, -1, 14, 5, 19, 5, 24, 4, 28, 4),
3692 DRV_PINGROUP(gmb, 0x904, -1, -1, -1, 14, 5, 19, 5, 24, 4, 28, 4),
3693 DRV_PINGROUP(gmc, 0x908, -1, -1, -1, 14, 5, 19, 5, 24, 4, 28, 4),
3694 DRV_PINGROUP(gmd, 0x90c, -1, -1, -1, 14, 5, 19, 5, 24, 4, 28, 4),
3695 DRV_PINGROUP(gme, 0x910, 2, 3, 4, 14, 5, 19, 5, 28, 2, 30, 2),
3696 DRV_PINGROUP(gmf, 0x914, 2, 3, 4, 14, 5, 19, 5, 28, 2, 30, 2),
3697 DRV_PINGROUP(gmg, 0x918, 2, 3, 4, 14, 5, 19, 5, 28, 2, 30, 2),
3698 DRV_PINGROUP(gmh, 0x91c, 2, 3, 4, 14, 5, 19, 5, 28, 2, 30, 2),
3699 DRV_PINGROUP(gpv, 0x928, 2, 3, 4, 12, 5, 20, 5, 28, 2, 30, 2),
3700 DRV_PINGROUP(lcd1, 0x8a4, 2, 3, 4, 12, 5, 20, 5, 28, 2, 30, 2),
3701 DRV_PINGROUP(lcd2, 0x8a8, 2, 3, 4, 12, 5, 20, 5, 28, 2, 30, 2),
3702 DRV_PINGROUP(owr, 0x920, 2, 3, 4, 12, 5, 20, 5, 28, 2, 30, 2),
3703 DRV_PINGROUP(sdio1, 0x8ec, 2, 3, -1, 12, 7, 20, 7, 28, 2, 30, 2),
3704 DRV_PINGROUP(sdio2, 0x8ac, 2, 3, -1, 12, 7, 20, 7, 28, 2, 30, 2),
3705 DRV_PINGROUP(sdio3, 0x8b0, 2, 3, -1, 12, 7, 20, 7, 28, 2, 30, 2),
3706 DRV_PINGROUP(
spi, 0x8b4, 2, 3, 4, 12, 5, 20, 5, 28, 2, 30, 2),
3707 DRV_PINGROUP(uaa, 0x8b8, 2, 3, 4, 12, 5, 20, 5, 28, 2, 30, 2),
3708 DRV_PINGROUP(uab, 0x8bc, 2, 3, 4, 12, 5, 20, 5, 28, 2, 30, 2),
3709 DRV_PINGROUP(uart2, 0x8c0, 2, 3, 4, 12, 5, 20, 5, 28, 2, 30, 2),
3710 DRV_PINGROUP(uart3, 0x8c4, 2, 3, 4, 12, 5, 20, 5, 28, 2, 30, 2),
3711 DRV_PINGROUP(uda, 0x924, 2, 3, 4, 12, 5, 20, 5, 28, 2, 30, 2),
3712 DRV_PINGROUP(vi1, 0x8c8, -1, -1, -1, 14, 5, 19, 5, 24, 4, 28, 4),
3717 .pins = tegra30_pins,
3719 .functions = tegra30_functions,
3721 .groups = tegra30_groups,
3731 { .compatible =
"nvidia,tegra30-pinmux", },
3737 .name =
"tegra30-pinctrl",
3739 .of_match_table = tegra30_pinctrl_of_match,
3741 .probe = tegra30_pinctrl_probe,
3745 static int __init tegra30_pinctrl_init(
void)
3751 static void __exit tegra30_pinctrl_exit(
void)