xref: /rk3399_rockchip-uboot/arch/arm/mach-tegra/tegra20/pinmux.c (revision b9cb64825b5e6efeb715abd8b48d9b12f98973e9)
1*09f455dcSMasahiro Yamada /*
2*09f455dcSMasahiro Yamada  * Copyright (c) 2011 The Chromium OS Authors.
3*09f455dcSMasahiro Yamada  *
4*09f455dcSMasahiro Yamada  * SPDX-License-Identifier:	GPL-2.0+
5*09f455dcSMasahiro Yamada  */
6*09f455dcSMasahiro Yamada 
7*09f455dcSMasahiro Yamada /* Tegra20 pin multiplexing functions */
8*09f455dcSMasahiro Yamada 
9*09f455dcSMasahiro Yamada #include <common.h>
10*09f455dcSMasahiro Yamada #include <asm/io.h>
11*09f455dcSMasahiro Yamada #include <asm/arch/pinmux.h>
12*09f455dcSMasahiro Yamada 
13*09f455dcSMasahiro Yamada /*
14*09f455dcSMasahiro Yamada  * This defines the order of the pin mux control bits in the registers. For
15*09f455dcSMasahiro Yamada  * some reason there is no correspendence between the tristate, pin mux and
16*09f455dcSMasahiro Yamada  * pullup/pulldown registers.
17*09f455dcSMasahiro Yamada  */
18*09f455dcSMasahiro Yamada enum pmux_ctlid {
19*09f455dcSMasahiro Yamada 	/* 0: APB_MISC_PP_PIN_MUX_CTL_A_0 */
20*09f455dcSMasahiro Yamada 	MUXCTL_UAA,
21*09f455dcSMasahiro Yamada 	MUXCTL_UAB,
22*09f455dcSMasahiro Yamada 	MUXCTL_UAC,
23*09f455dcSMasahiro Yamada 	MUXCTL_UAD,
24*09f455dcSMasahiro Yamada 	MUXCTL_UDA,
25*09f455dcSMasahiro Yamada 	MUXCTL_RESERVED5,
26*09f455dcSMasahiro Yamada 	MUXCTL_ATE,
27*09f455dcSMasahiro Yamada 	MUXCTL_RM,
28*09f455dcSMasahiro Yamada 
29*09f455dcSMasahiro Yamada 	MUXCTL_ATB,
30*09f455dcSMasahiro Yamada 	MUXCTL_RESERVED9,
31*09f455dcSMasahiro Yamada 	MUXCTL_ATD,
32*09f455dcSMasahiro Yamada 	MUXCTL_ATC,
33*09f455dcSMasahiro Yamada 	MUXCTL_ATA,
34*09f455dcSMasahiro Yamada 	MUXCTL_KBCF,
35*09f455dcSMasahiro Yamada 	MUXCTL_KBCE,
36*09f455dcSMasahiro Yamada 	MUXCTL_SDMMC1,
37*09f455dcSMasahiro Yamada 
38*09f455dcSMasahiro Yamada 	/* 16: APB_MISC_PP_PIN_MUX_CTL_B_0 */
39*09f455dcSMasahiro Yamada 	MUXCTL_GMA,
40*09f455dcSMasahiro Yamada 	MUXCTL_GMC,
41*09f455dcSMasahiro Yamada 	MUXCTL_HDINT,
42*09f455dcSMasahiro Yamada 	MUXCTL_SLXA,
43*09f455dcSMasahiro Yamada 	MUXCTL_OWC,
44*09f455dcSMasahiro Yamada 	MUXCTL_SLXC,
45*09f455dcSMasahiro Yamada 	MUXCTL_SLXD,
46*09f455dcSMasahiro Yamada 	MUXCTL_SLXK,
47*09f455dcSMasahiro Yamada 
48*09f455dcSMasahiro Yamada 	MUXCTL_UCA,
49*09f455dcSMasahiro Yamada 	MUXCTL_UCB,
50*09f455dcSMasahiro Yamada 	MUXCTL_DTA,
51*09f455dcSMasahiro Yamada 	MUXCTL_DTB,
52*09f455dcSMasahiro Yamada 	MUXCTL_RESERVED28,
53*09f455dcSMasahiro Yamada 	MUXCTL_DTC,
54*09f455dcSMasahiro Yamada 	MUXCTL_DTD,
55*09f455dcSMasahiro Yamada 	MUXCTL_DTE,
56*09f455dcSMasahiro Yamada 
57*09f455dcSMasahiro Yamada 	/* 32: APB_MISC_PP_PIN_MUX_CTL_C_0 */
58*09f455dcSMasahiro Yamada 	MUXCTL_DDC,
59*09f455dcSMasahiro Yamada 	MUXCTL_CDEV1,
60*09f455dcSMasahiro Yamada 	MUXCTL_CDEV2,
61*09f455dcSMasahiro Yamada 	MUXCTL_CSUS,
62*09f455dcSMasahiro Yamada 	MUXCTL_I2CP,
63*09f455dcSMasahiro Yamada 	MUXCTL_KBCA,
64*09f455dcSMasahiro Yamada 	MUXCTL_KBCB,
65*09f455dcSMasahiro Yamada 	MUXCTL_KBCC,
66*09f455dcSMasahiro Yamada 
67*09f455dcSMasahiro Yamada 	MUXCTL_IRTX,
68*09f455dcSMasahiro Yamada 	MUXCTL_IRRX,
69*09f455dcSMasahiro Yamada 	MUXCTL_DAP1,
70*09f455dcSMasahiro Yamada 	MUXCTL_DAP2,
71*09f455dcSMasahiro Yamada 	MUXCTL_DAP3,
72*09f455dcSMasahiro Yamada 	MUXCTL_DAP4,
73*09f455dcSMasahiro Yamada 	MUXCTL_GMB,
74*09f455dcSMasahiro Yamada 	MUXCTL_GMD,
75*09f455dcSMasahiro Yamada 
76*09f455dcSMasahiro Yamada 	/* 48: APB_MISC_PP_PIN_MUX_CTL_D_0 */
77*09f455dcSMasahiro Yamada 	MUXCTL_GME,
78*09f455dcSMasahiro Yamada 	MUXCTL_GPV,
79*09f455dcSMasahiro Yamada 	MUXCTL_GPU,
80*09f455dcSMasahiro Yamada 	MUXCTL_SPDO,
81*09f455dcSMasahiro Yamada 	MUXCTL_SPDI,
82*09f455dcSMasahiro Yamada 	MUXCTL_SDB,
83*09f455dcSMasahiro Yamada 	MUXCTL_SDC,
84*09f455dcSMasahiro Yamada 	MUXCTL_SDD,
85*09f455dcSMasahiro Yamada 
86*09f455dcSMasahiro Yamada 	MUXCTL_SPIH,
87*09f455dcSMasahiro Yamada 	MUXCTL_SPIG,
88*09f455dcSMasahiro Yamada 	MUXCTL_SPIF,
89*09f455dcSMasahiro Yamada 	MUXCTL_SPIE,
90*09f455dcSMasahiro Yamada 	MUXCTL_SPID,
91*09f455dcSMasahiro Yamada 	MUXCTL_SPIC,
92*09f455dcSMasahiro Yamada 	MUXCTL_SPIB,
93*09f455dcSMasahiro Yamada 	MUXCTL_SPIA,
94*09f455dcSMasahiro Yamada 
95*09f455dcSMasahiro Yamada 	/* 64: APB_MISC_PP_PIN_MUX_CTL_E_0 */
96*09f455dcSMasahiro Yamada 	MUXCTL_LPW0,
97*09f455dcSMasahiro Yamada 	MUXCTL_LPW1,
98*09f455dcSMasahiro Yamada 	MUXCTL_LPW2,
99*09f455dcSMasahiro Yamada 	MUXCTL_LSDI,
100*09f455dcSMasahiro Yamada 	MUXCTL_LSDA,
101*09f455dcSMasahiro Yamada 	MUXCTL_LSPI,
102*09f455dcSMasahiro Yamada 	MUXCTL_LCSN,
103*09f455dcSMasahiro Yamada 	MUXCTL_LDC,
104*09f455dcSMasahiro Yamada 
105*09f455dcSMasahiro Yamada 	MUXCTL_LSCK,
106*09f455dcSMasahiro Yamada 	MUXCTL_LSC0,
107*09f455dcSMasahiro Yamada 	MUXCTL_LSC1,
108*09f455dcSMasahiro Yamada 	MUXCTL_LHS,
109*09f455dcSMasahiro Yamada 	MUXCTL_LVS,
110*09f455dcSMasahiro Yamada 	MUXCTL_LM0,
111*09f455dcSMasahiro Yamada 	MUXCTL_LM1,
112*09f455dcSMasahiro Yamada 	MUXCTL_LVP0,
113*09f455dcSMasahiro Yamada 
114*09f455dcSMasahiro Yamada 	/* 80: APB_MISC_PP_PIN_MUX_CTL_F_0 */
115*09f455dcSMasahiro Yamada 	MUXCTL_LD0,
116*09f455dcSMasahiro Yamada 	MUXCTL_LD1,
117*09f455dcSMasahiro Yamada 	MUXCTL_LD2,
118*09f455dcSMasahiro Yamada 	MUXCTL_LD3,
119*09f455dcSMasahiro Yamada 	MUXCTL_LD4,
120*09f455dcSMasahiro Yamada 	MUXCTL_LD5,
121*09f455dcSMasahiro Yamada 	MUXCTL_LD6,
122*09f455dcSMasahiro Yamada 	MUXCTL_LD7,
123*09f455dcSMasahiro Yamada 
124*09f455dcSMasahiro Yamada 	MUXCTL_LD8,
125*09f455dcSMasahiro Yamada 	MUXCTL_LD9,
126*09f455dcSMasahiro Yamada 	MUXCTL_LD10,
127*09f455dcSMasahiro Yamada 	MUXCTL_LD11,
128*09f455dcSMasahiro Yamada 	MUXCTL_LD12,
129*09f455dcSMasahiro Yamada 	MUXCTL_LD13,
130*09f455dcSMasahiro Yamada 	MUXCTL_LD14,
131*09f455dcSMasahiro Yamada 	MUXCTL_LD15,
132*09f455dcSMasahiro Yamada 
133*09f455dcSMasahiro Yamada 	/* 96: APB_MISC_PP_PIN_MUX_CTL_G_0 */
134*09f455dcSMasahiro Yamada 	MUXCTL_LD16,
135*09f455dcSMasahiro Yamada 	MUXCTL_LD17,
136*09f455dcSMasahiro Yamada 	MUXCTL_LHP1,
137*09f455dcSMasahiro Yamada 	MUXCTL_LHP2,
138*09f455dcSMasahiro Yamada 	MUXCTL_LVP1,
139*09f455dcSMasahiro Yamada 	MUXCTL_LHP0,
140*09f455dcSMasahiro Yamada 	MUXCTL_RESERVED102,
141*09f455dcSMasahiro Yamada 	MUXCTL_LPP,
142*09f455dcSMasahiro Yamada 
143*09f455dcSMasahiro Yamada 	MUXCTL_LDI,
144*09f455dcSMasahiro Yamada 	MUXCTL_PMC,
145*09f455dcSMasahiro Yamada 	MUXCTL_CRTP,
146*09f455dcSMasahiro Yamada 	MUXCTL_PTA,
147*09f455dcSMasahiro Yamada 	MUXCTL_RESERVED108,
148*09f455dcSMasahiro Yamada 	MUXCTL_KBCD,
149*09f455dcSMasahiro Yamada 	MUXCTL_GPU7,
150*09f455dcSMasahiro Yamada 	MUXCTL_DTF,
151*09f455dcSMasahiro Yamada 
152*09f455dcSMasahiro Yamada 	MUXCTL_NONE = -1,
153*09f455dcSMasahiro Yamada };
154*09f455dcSMasahiro Yamada 
155*09f455dcSMasahiro Yamada /*
156*09f455dcSMasahiro Yamada  * And this defines the order of the pullup/pulldown controls which are again
157*09f455dcSMasahiro Yamada  * in a different order
158*09f455dcSMasahiro Yamada  */
159*09f455dcSMasahiro Yamada enum pmux_pullid {
160*09f455dcSMasahiro Yamada 	/* 0: APB_MISC_PP_PULLUPDOWN_REG_A_0 */
161*09f455dcSMasahiro Yamada 	PUCTL_ATA,
162*09f455dcSMasahiro Yamada 	PUCTL_ATB,
163*09f455dcSMasahiro Yamada 	PUCTL_ATC,
164*09f455dcSMasahiro Yamada 	PUCTL_ATD,
165*09f455dcSMasahiro Yamada 	PUCTL_ATE,
166*09f455dcSMasahiro Yamada 	PUCTL_DAP1,
167*09f455dcSMasahiro Yamada 	PUCTL_DAP2,
168*09f455dcSMasahiro Yamada 	PUCTL_DAP3,
169*09f455dcSMasahiro Yamada 
170*09f455dcSMasahiro Yamada 	PUCTL_DAP4,
171*09f455dcSMasahiro Yamada 	PUCTL_DTA,
172*09f455dcSMasahiro Yamada 	PUCTL_DTB,
173*09f455dcSMasahiro Yamada 	PUCTL_DTC,
174*09f455dcSMasahiro Yamada 	PUCTL_DTD,
175*09f455dcSMasahiro Yamada 	PUCTL_DTE,
176*09f455dcSMasahiro Yamada 	PUCTL_DTF,
177*09f455dcSMasahiro Yamada 	PUCTL_GPV,
178*09f455dcSMasahiro Yamada 
179*09f455dcSMasahiro Yamada 	/* 16: APB_MISC_PP_PULLUPDOWN_REG_B_0 */
180*09f455dcSMasahiro Yamada 	PUCTL_RM,
181*09f455dcSMasahiro Yamada 	PUCTL_I2CP,
182*09f455dcSMasahiro Yamada 	PUCTL_PTA,
183*09f455dcSMasahiro Yamada 	PUCTL_GPU7,
184*09f455dcSMasahiro Yamada 	PUCTL_KBCA,
185*09f455dcSMasahiro Yamada 	PUCTL_KBCB,
186*09f455dcSMasahiro Yamada 	PUCTL_KBCC,
187*09f455dcSMasahiro Yamada 	PUCTL_KBCD,
188*09f455dcSMasahiro Yamada 
189*09f455dcSMasahiro Yamada 	PUCTL_SPDI,
190*09f455dcSMasahiro Yamada 	PUCTL_SPDO,
191*09f455dcSMasahiro Yamada 	PUCTL_GPSLXAU,
192*09f455dcSMasahiro Yamada 	PUCTL_CRTP,
193*09f455dcSMasahiro Yamada 	PUCTL_SLXC,
194*09f455dcSMasahiro Yamada 	PUCTL_SLXD,
195*09f455dcSMasahiro Yamada 	PUCTL_SLXK,
196*09f455dcSMasahiro Yamada 
197*09f455dcSMasahiro Yamada 	/* 32: APB_MISC_PP_PULLUPDOWN_REG_C_0 */
198*09f455dcSMasahiro Yamada 	PUCTL_CDEV1,
199*09f455dcSMasahiro Yamada 	PUCTL_CDEV2,
200*09f455dcSMasahiro Yamada 	PUCTL_SPIA,
201*09f455dcSMasahiro Yamada 	PUCTL_SPIB,
202*09f455dcSMasahiro Yamada 	PUCTL_SPIC,
203*09f455dcSMasahiro Yamada 	PUCTL_SPID,
204*09f455dcSMasahiro Yamada 	PUCTL_SPIE,
205*09f455dcSMasahiro Yamada 	PUCTL_SPIF,
206*09f455dcSMasahiro Yamada 
207*09f455dcSMasahiro Yamada 	PUCTL_SPIG,
208*09f455dcSMasahiro Yamada 	PUCTL_SPIH,
209*09f455dcSMasahiro Yamada 	PUCTL_IRTX,
210*09f455dcSMasahiro Yamada 	PUCTL_IRRX,
211*09f455dcSMasahiro Yamada 	PUCTL_GME,
212*09f455dcSMasahiro Yamada 	PUCTL_RESERVED45,
213*09f455dcSMasahiro Yamada 	PUCTL_XM2D,
214*09f455dcSMasahiro Yamada 	PUCTL_XM2C,
215*09f455dcSMasahiro Yamada 
216*09f455dcSMasahiro Yamada 	/* 48: APB_MISC_PP_PULLUPDOWN_REG_D_0 */
217*09f455dcSMasahiro Yamada 	PUCTL_UAA,
218*09f455dcSMasahiro Yamada 	PUCTL_UAB,
219*09f455dcSMasahiro Yamada 	PUCTL_UAC,
220*09f455dcSMasahiro Yamada 	PUCTL_UAD,
221*09f455dcSMasahiro Yamada 	PUCTL_UCA,
222*09f455dcSMasahiro Yamada 	PUCTL_UCB,
223*09f455dcSMasahiro Yamada 	PUCTL_LD17,
224*09f455dcSMasahiro Yamada 	PUCTL_LD19_18,
225*09f455dcSMasahiro Yamada 
226*09f455dcSMasahiro Yamada 	PUCTL_LD21_20,
227*09f455dcSMasahiro Yamada 	PUCTL_LD23_22,
228*09f455dcSMasahiro Yamada 	PUCTL_LS,
229*09f455dcSMasahiro Yamada 	PUCTL_LC,
230*09f455dcSMasahiro Yamada 	PUCTL_CSUS,
231*09f455dcSMasahiro Yamada 	PUCTL_DDRC,
232*09f455dcSMasahiro Yamada 	PUCTL_SDC,
233*09f455dcSMasahiro Yamada 	PUCTL_SDD,
234*09f455dcSMasahiro Yamada 
235*09f455dcSMasahiro Yamada 	/* 64: APB_MISC_PP_PULLUPDOWN_REG_E_0 */
236*09f455dcSMasahiro Yamada 	PUCTL_KBCF,
237*09f455dcSMasahiro Yamada 	PUCTL_KBCE,
238*09f455dcSMasahiro Yamada 	PUCTL_PMCA,
239*09f455dcSMasahiro Yamada 	PUCTL_PMCB,
240*09f455dcSMasahiro Yamada 	PUCTL_PMCC,
241*09f455dcSMasahiro Yamada 	PUCTL_PMCD,
242*09f455dcSMasahiro Yamada 	PUCTL_PMCE,
243*09f455dcSMasahiro Yamada 	PUCTL_CK32,
244*09f455dcSMasahiro Yamada 
245*09f455dcSMasahiro Yamada 	PUCTL_UDA,
246*09f455dcSMasahiro Yamada 	PUCTL_SDMMC1,
247*09f455dcSMasahiro Yamada 	PUCTL_GMA,
248*09f455dcSMasahiro Yamada 	PUCTL_GMB,
249*09f455dcSMasahiro Yamada 	PUCTL_GMC,
250*09f455dcSMasahiro Yamada 	PUCTL_GMD,
251*09f455dcSMasahiro Yamada 	PUCTL_DDC,
252*09f455dcSMasahiro Yamada 	PUCTL_OWC,
253*09f455dcSMasahiro Yamada 
254*09f455dcSMasahiro Yamada 	PUCTL_NONE = -1
255*09f455dcSMasahiro Yamada };
256*09f455dcSMasahiro Yamada 
257*09f455dcSMasahiro Yamada /* Convenient macro for defining pin group properties */
258*09f455dcSMasahiro Yamada #define PINALL(pingrp, f0, f1, f2, f3, mux, pupd)	\
259*09f455dcSMasahiro Yamada 	{						\
260*09f455dcSMasahiro Yamada 		.funcs = {				\
261*09f455dcSMasahiro Yamada 			PMUX_FUNC_ ## f0,		\
262*09f455dcSMasahiro Yamada 			PMUX_FUNC_ ## f1,		\
263*09f455dcSMasahiro Yamada 			PMUX_FUNC_ ## f2,		\
264*09f455dcSMasahiro Yamada 			PMUX_FUNC_ ## f3,		\
265*09f455dcSMasahiro Yamada 		},					\
266*09f455dcSMasahiro Yamada 		.ctl_id = mux,				\
267*09f455dcSMasahiro Yamada 		.pull_id = pupd				\
268*09f455dcSMasahiro Yamada 	}
269*09f455dcSMasahiro Yamada 
270*09f455dcSMasahiro Yamada /* A normal pin group where the mux name and pull-up name match */
271*09f455dcSMasahiro Yamada #define PIN(pingrp, f0, f1, f2, f3) \
272*09f455dcSMasahiro Yamada 	PINALL(pingrp, f0, f1, f2, f3, MUXCTL_##pingrp, PUCTL_##pingrp)
273*09f455dcSMasahiro Yamada 
274*09f455dcSMasahiro Yamada /* A pin group where the pull-up name doesn't have a 1-1 mapping */
275*09f455dcSMasahiro Yamada #define PINP(pingrp, f0, f1, f2, f3, pupd) \
276*09f455dcSMasahiro Yamada 	PINALL(pingrp, f0, f1, f2, f3, MUXCTL_##pingrp, PUCTL_##pupd)
277*09f455dcSMasahiro Yamada 
278*09f455dcSMasahiro Yamada /* A pin group number which is not used */
279*09f455dcSMasahiro Yamada #define PIN_RESERVED \
280*09f455dcSMasahiro Yamada 	PIN(NONE, RSVD1, RSVD2, RSVD3, RSVD4)
281*09f455dcSMasahiro Yamada 
282*09f455dcSMasahiro Yamada #define DRVGRP(drvgrp) \
283*09f455dcSMasahiro Yamada 	PINALL(drvgrp, RSVD1, RSVD2, RSVD3, RSVD4, MUXCTL_NONE, PUCTL_NONE)
284*09f455dcSMasahiro Yamada 
285*09f455dcSMasahiro Yamada static const struct pmux_pingrp_desc tegra20_pingroups[] = {
286*09f455dcSMasahiro Yamada 	PIN(ATA,    IDE,       NAND,      GMI,       RSVD4),
287*09f455dcSMasahiro Yamada 	PIN(ATB,    IDE,       NAND,      GMI,       SDIO4),
288*09f455dcSMasahiro Yamada 	PIN(ATC,    IDE,       NAND,      GMI,       SDIO4),
289*09f455dcSMasahiro Yamada 	PIN(ATD,    IDE,       NAND,      GMI,       SDIO4),
290*09f455dcSMasahiro Yamada 	PIN(CDEV1,  OSC,       PLLA_OUT,  PLLM_OUT1, AUDIO_SYNC),
291*09f455dcSMasahiro Yamada 	PIN(CDEV2,  OSC,       AHB_CLK,   APB_CLK,   PLLP_OUT4),
292*09f455dcSMasahiro Yamada 	PIN(CSUS,   PLLC_OUT1, PLLP_OUT2, PLLP_OUT3, VI_SENSOR_CLK),
293*09f455dcSMasahiro Yamada 	PIN(DAP1,   DAP1,      RSVD2,     GMI,       SDIO2),
294*09f455dcSMasahiro Yamada 
295*09f455dcSMasahiro Yamada 	PIN(DAP2,   DAP2,      TWC,       RSVD3,     GMI),
296*09f455dcSMasahiro Yamada 	PIN(DAP3,   DAP3,      RSVD2,     RSVD3,     RSVD4),
297*09f455dcSMasahiro Yamada 	PIN(DAP4,   DAP4,      RSVD2,     GMI,       RSVD4),
298*09f455dcSMasahiro Yamada 	PIN(DTA,    RSVD1,     SDIO2,     VI,        RSVD4),
299*09f455dcSMasahiro Yamada 	PIN(DTB,    RSVD1,     RSVD2,     VI,        SPI1),
300*09f455dcSMasahiro Yamada 	PIN(DTC,    RSVD1,     RSVD2,     VI,        RSVD4),
301*09f455dcSMasahiro Yamada 	PIN(DTD,    RSVD1,     SDIO2,     VI,        RSVD4),
302*09f455dcSMasahiro Yamada 	PIN(DTE,    RSVD1,     RSVD2,     VI,        SPI1),
303*09f455dcSMasahiro Yamada 
304*09f455dcSMasahiro Yamada 	PINP(GPU,   PWM,       UARTA,     GMI,       RSVD4,         GPSLXAU),
305*09f455dcSMasahiro Yamada 	PIN(GPV,    PCIE,      RSVD2,     RSVD3,     RSVD4),
306*09f455dcSMasahiro Yamada 	PIN(I2CP,   I2C,       RSVD2,     RSVD3,     RSVD4),
307*09f455dcSMasahiro Yamada 	PIN(IRTX,   UARTA,     UARTB,     GMI,       SPI4),
308*09f455dcSMasahiro Yamada 	PIN(IRRX,   UARTA,     UARTB,     GMI,       SPI4),
309*09f455dcSMasahiro Yamada 	PIN(KBCB,   KBC,       NAND,      SDIO2,     MIO),
310*09f455dcSMasahiro Yamada 	PIN(KBCA,   KBC,       NAND,      SDIO2,     EMC_TEST0_DLL),
311*09f455dcSMasahiro Yamada 	PINP(PMC,   PWR_ON,    PWR_INTR,  RSVD3,     RSVD4,         NONE),
312*09f455dcSMasahiro Yamada 
313*09f455dcSMasahiro Yamada 	PIN(PTA,    I2C2,      HDMI,      GMI,       RSVD4),
314*09f455dcSMasahiro Yamada 	PIN(RM,     I2C,       RSVD2,     RSVD3,     RSVD4),
315*09f455dcSMasahiro Yamada 	PIN(KBCE,   KBC,       NAND,      OWR,       RSVD4),
316*09f455dcSMasahiro Yamada 	PIN(KBCF,   KBC,       NAND,      TRACE,     MIO),
317*09f455dcSMasahiro Yamada 	PIN(GMA,    UARTE,     SPI3,      GMI,       SDIO4),
318*09f455dcSMasahiro Yamada 	PIN(GMC,    UARTD,     SPI4,      GMI,       SFLASH),
319*09f455dcSMasahiro Yamada 	PIN(SDMMC1, SDIO1,     RSVD2,     UARTE,     UARTA),
320*09f455dcSMasahiro Yamada 	PIN(OWC,    OWR,       RSVD2,     RSVD3,     RSVD4),
321*09f455dcSMasahiro Yamada 
322*09f455dcSMasahiro Yamada 	PIN(GME,    RSVD1,     DAP5,      GMI,       SDIO4),
323*09f455dcSMasahiro Yamada 	PIN(SDC,    PWM,       TWC,       SDIO3,     SPI3),
324*09f455dcSMasahiro Yamada 	PIN(SDD,    UARTA,     PWM,       SDIO3,     SPI3),
325*09f455dcSMasahiro Yamada 	PIN_RESERVED,
326*09f455dcSMasahiro Yamada 	PINP(SLXA,  PCIE,      SPI4,      SDIO3,     SPI2,          CRTP),
327*09f455dcSMasahiro Yamada 	PIN(SLXC,   SPDIF,     SPI4,      SDIO3,     SPI2),
328*09f455dcSMasahiro Yamada 	PIN(SLXD,   SPDIF,     SPI4,      SDIO3,     SPI2),
329*09f455dcSMasahiro Yamada 	PIN(SLXK,   PCIE,      SPI4,      SDIO3,     SPI2),
330*09f455dcSMasahiro Yamada 
331*09f455dcSMasahiro Yamada 	PIN(SPDI,   SPDIF,     RSVD2,     I2C,       SDIO2),
332*09f455dcSMasahiro Yamada 	PIN(SPDO,   SPDIF,     RSVD2,     I2C,       SDIO2),
333*09f455dcSMasahiro Yamada 	PIN(SPIA,   SPI1,      SPI2,      SPI3,      GMI),
334*09f455dcSMasahiro Yamada 	PIN(SPIB,   SPI1,      SPI2,      SPI3,      GMI),
335*09f455dcSMasahiro Yamada 	PIN(SPIC,   SPI1,      SPI2,      SPI3,      GMI),
336*09f455dcSMasahiro Yamada 	PIN(SPID,   SPI2,      SPI1,      SPI2_ALT,  GMI),
337*09f455dcSMasahiro Yamada 	PIN(SPIE,   SPI2,      SPI1,      SPI2_ALT,  GMI),
338*09f455dcSMasahiro Yamada 	PIN(SPIF,   SPI3,      SPI1,      SPI2,      RSVD4),
339*09f455dcSMasahiro Yamada 
340*09f455dcSMasahiro Yamada 	PIN(SPIG,   SPI3,      SPI2,      SPI2_ALT,  I2C),
341*09f455dcSMasahiro Yamada 	PIN(SPIH,   SPI3,      SPI2,      SPI2_ALT,  I2C),
342*09f455dcSMasahiro Yamada 	PIN(UAA,    SPI3,      MIPI_HS,   UARTA,     ULPI),
343*09f455dcSMasahiro Yamada 	PIN(UAB,    SPI2,      MIPI_HS,   UARTA,     ULPI),
344*09f455dcSMasahiro Yamada 	PIN(UAC,    OWR,       RSVD2,     RSVD3,     RSVD4),
345*09f455dcSMasahiro Yamada 	PIN(UAD,    UARTB,     SPDIF,     UARTA,     SPI4),
346*09f455dcSMasahiro Yamada 	PIN(UCA,    UARTC,     RSVD2,     GMI,       RSVD4),
347*09f455dcSMasahiro Yamada 	PIN(UCB,    UARTC,     PWM,       GMI,       RSVD4),
348*09f455dcSMasahiro Yamada 
349*09f455dcSMasahiro Yamada 	PIN_RESERVED,
350*09f455dcSMasahiro Yamada 	PIN(ATE,    IDE,       NAND,      GMI,       RSVD4),
351*09f455dcSMasahiro Yamada 	PIN(KBCC,   KBC,       NAND,      TRACE,     EMC_TEST1_DLL),
352*09f455dcSMasahiro Yamada 	PIN_RESERVED,
353*09f455dcSMasahiro Yamada 	PIN_RESERVED,
354*09f455dcSMasahiro Yamada 	PIN(GMB,    IDE,       NAND,      GMI,       GMI_INT),
355*09f455dcSMasahiro Yamada 	PIN(GMD,    RSVD1,     NAND,      GMI,       SFLASH),
356*09f455dcSMasahiro Yamada 	PIN(DDC,    I2C2,      RSVD2,     RSVD3,     RSVD4),
357*09f455dcSMasahiro Yamada 
358*09f455dcSMasahiro Yamada 	/* 64 */
359*09f455dcSMasahiro Yamada 	PINP(LD0,   DISPA,     DISPB,     XIO,       RSVD4,         LD17),
360*09f455dcSMasahiro Yamada 	PINP(LD1,   DISPA,     DISPB,     XIO,       RSVD4,         LD17),
361*09f455dcSMasahiro Yamada 	PINP(LD2,   DISPA,     DISPB,     XIO,       RSVD4,         LD17),
362*09f455dcSMasahiro Yamada 	PINP(LD3,   DISPA,     DISPB,     XIO,       RSVD4,         LD17),
363*09f455dcSMasahiro Yamada 	PINP(LD4,   DISPA,     DISPB,     XIO,       RSVD4,         LD17),
364*09f455dcSMasahiro Yamada 	PINP(LD5,   DISPA,     DISPB,     XIO,       RSVD4,         LD17),
365*09f455dcSMasahiro Yamada 	PINP(LD6,   DISPA,     DISPB,     XIO,       RSVD4,         LD17),
366*09f455dcSMasahiro Yamada 	PINP(LD7,   DISPA,     DISPB,     XIO,       RSVD4,         LD17),
367*09f455dcSMasahiro Yamada 
368*09f455dcSMasahiro Yamada 	PINP(LD8,   DISPA,     DISPB,     XIO,       RSVD4,         LD17),
369*09f455dcSMasahiro Yamada 	PINP(LD9,   DISPA,     DISPB,     XIO,       RSVD4,         LD17),
370*09f455dcSMasahiro Yamada 	PINP(LD10,  DISPA,     DISPB,     XIO,       RSVD4,         LD17),
371*09f455dcSMasahiro Yamada 	PINP(LD11,  DISPA,     DISPB,     XIO,       RSVD4,         LD17),
372*09f455dcSMasahiro Yamada 	PINP(LD12,  DISPA,     DISPB,     XIO,       RSVD4,         LD17),
373*09f455dcSMasahiro Yamada 	PINP(LD13,  DISPA,     DISPB,     XIO,       RSVD4,         LD17),
374*09f455dcSMasahiro Yamada 	PINP(LD14,  DISPA,     DISPB,     XIO,       RSVD4,         LD17),
375*09f455dcSMasahiro Yamada 	PINP(LD15,  DISPA,     DISPB,     XIO,       RSVD4,         LD17),
376*09f455dcSMasahiro Yamada 
377*09f455dcSMasahiro Yamada 	PINP(LD16,  DISPA,     DISPB,     XIO,       RSVD4,         LD17),
378*09f455dcSMasahiro Yamada 	PINP(LD17,  DISPA,     DISPB,     RSVD3,     RSVD4,         LD17),
379*09f455dcSMasahiro Yamada 	PINP(LHP0,  DISPA,     DISPB,     RSVD3,     RSVD4,         LD21_20),
380*09f455dcSMasahiro Yamada 	PINP(LHP1,  DISPA,     DISPB,     RSVD3,     RSVD4,         LD19_18),
381*09f455dcSMasahiro Yamada 	PINP(LHP2,  DISPA,     DISPB,     RSVD3,     RSVD4,         LD19_18),
382*09f455dcSMasahiro Yamada 	PINP(LVP0,  DISPA,     DISPB,     RSVD3,     RSVD4,         LC),
383*09f455dcSMasahiro Yamada 	PINP(LVP1,  DISPA,     DISPB,     RSVD3,     RSVD4,         LD21_20),
384*09f455dcSMasahiro Yamada 	PINP(HDINT, HDMI,      RSVD2,     RSVD3,     RSVD4,         LC),
385*09f455dcSMasahiro Yamada 
386*09f455dcSMasahiro Yamada 	PINP(LM0,   DISPA,     DISPB,     SPI3,      RSVD4,         LC),
387*09f455dcSMasahiro Yamada 	PINP(LM1,   DISPA,     DISPB,     RSVD3,     CRT,           LC),
388*09f455dcSMasahiro Yamada 	PINP(LVS,   DISPA,     DISPB,     XIO,       RSVD4,         LC),
389*09f455dcSMasahiro Yamada 	PINP(LSC0,  DISPA,     DISPB,     XIO,       RSVD4,         LC),
390*09f455dcSMasahiro Yamada 	PINP(LSC1,  DISPA,     DISPB,     SPI3,      HDMI,          LS),
391*09f455dcSMasahiro Yamada 	PINP(LSCK,  DISPA,     DISPB,     SPI3,      HDMI,          LS),
392*09f455dcSMasahiro Yamada 	PINP(LDC,   DISPA,     DISPB,     RSVD3,     RSVD4,         LS),
393*09f455dcSMasahiro Yamada 	PINP(LCSN,  DISPA,     DISPB,     SPI3,      RSVD4,         LS),
394*09f455dcSMasahiro Yamada 
395*09f455dcSMasahiro Yamada 	/* 96 */
396*09f455dcSMasahiro Yamada 	PINP(LSPI,  DISPA,     DISPB,     XIO,       HDMI,          LC),
397*09f455dcSMasahiro Yamada 	PINP(LSDA,  DISPA,     DISPB,     SPI3,      HDMI,          LS),
398*09f455dcSMasahiro Yamada 	PINP(LSDI,  DISPA,     DISPB,     SPI3,      RSVD4,         LS),
399*09f455dcSMasahiro Yamada 	PINP(LPW0,  DISPA,     DISPB,     SPI3,      HDMI,          LS),
400*09f455dcSMasahiro Yamada 	PINP(LPW1,  DISPA,     DISPB,     RSVD3,     RSVD4,         LS),
401*09f455dcSMasahiro Yamada 	PINP(LPW2,  DISPA,     DISPB,     SPI3,      HDMI,          LS),
402*09f455dcSMasahiro Yamada 	PINP(LDI,   DISPA,     DISPB,     RSVD3,     RSVD4,         LD23_22),
403*09f455dcSMasahiro Yamada 	PINP(LHS,   DISPA,     DISPB,     XIO,       RSVD4,         LC),
404*09f455dcSMasahiro Yamada 
405*09f455dcSMasahiro Yamada 	PINP(LPP,   DISPA,     DISPB,     RSVD3,     RSVD4,         LD23_22),
406*09f455dcSMasahiro Yamada 	PIN_RESERVED,
407*09f455dcSMasahiro Yamada 	PIN(KBCD,   KBC,       NAND,      SDIO2,     MIO),
408*09f455dcSMasahiro Yamada 	PIN(GPU7,   RTCK,      RSVD2,     RSVD3,     RSVD4),
409*09f455dcSMasahiro Yamada 	PIN(DTF,    I2C3,      RSVD2,     VI,        RSVD4),
410*09f455dcSMasahiro Yamada 	PIN(UDA,    SPI1,      RSVD2,     UARTD,     ULPI),
411*09f455dcSMasahiro Yamada 	PIN(CRTP,   CRT,       RSVD2,     RSVD3,     RSVD4),
412*09f455dcSMasahiro Yamada 	PINP(SDB,   UARTA,     PWM,       SDIO3,     SPI2,          NONE),
413*09f455dcSMasahiro Yamada 
414*09f455dcSMasahiro Yamada 	/* these pin groups only have pullup and pull down control */
415*09f455dcSMasahiro Yamada 	DRVGRP(CK32),
416*09f455dcSMasahiro Yamada 	DRVGRP(DDRC),
417*09f455dcSMasahiro Yamada 	DRVGRP(PMCA),
418*09f455dcSMasahiro Yamada 	DRVGRP(PMCB),
419*09f455dcSMasahiro Yamada 	DRVGRP(PMCC),
420*09f455dcSMasahiro Yamada 	DRVGRP(PMCD),
421*09f455dcSMasahiro Yamada 	DRVGRP(PMCE),
422*09f455dcSMasahiro Yamada 	DRVGRP(XM2C),
423*09f455dcSMasahiro Yamada 	DRVGRP(XM2D),
424*09f455dcSMasahiro Yamada };
425*09f455dcSMasahiro Yamada const struct pmux_pingrp_desc *tegra_soc_pingroups = tegra20_pingroups;
426