2 * linux/arch/arm/mach-tegra/pinmux-tegra20-tables.c
4 * Common pinmux configurations for Tegra20 SoCs
6 * Copyright (C) 2010 NVIDIA Corporation
8 * This program is free software; you can redistribute it and/or modify
9 * it under the terms of the GNU General Public License as published by
10 * the Free Software Foundation; either version 2 of the License, or
11 * (at your option) any later version.
13 * This program is distributed in the hope that it will be useful, but WITHOUT
14 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
15 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
18 * You should have received a copy of the GNU General Public License along
19 * with this program; if not, write to the Free Software Foundation, Inc.,
20 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
23 #include <linux/kernel.h>
24 #include <linux/errno.h>
25 #include <linux/spinlock.h>
27 #include <linux/init.h>
28 #include <linux/string.h>
30 #include <mach/iomap.h>
31 #include <mach/pinmux.h>
32 #include <mach/pinmux-tegra20.h>
33 #include <mach/suspend.h>
35 #define TRISTATE_REG_A 0x14
36 #define PIN_MUX_CTL_REG_A 0x80
37 #define PULLUPDOWN_REG_A 0xa0
38 #define PINGROUP_REG_A 0x868
40 #define DRIVE_PINGROUP(pg_name, r) \
41 [TEGRA_DRIVE_PINGROUP_ ## pg_name] = { \
44 .reg = ((r) - PINGROUP_REG_A) \
47 static const struct tegra_drive_pingroup_desc tegra_soc_drive_pingroups
[TEGRA_MAX_DRIVE_PINGROUP
] = {
48 DRIVE_PINGROUP(AO1
, 0x868),
49 DRIVE_PINGROUP(AO2
, 0x86c),
50 DRIVE_PINGROUP(AT1
, 0x870),
51 DRIVE_PINGROUP(AT2
, 0x874),
52 DRIVE_PINGROUP(CDEV1
, 0x878),
53 DRIVE_PINGROUP(CDEV2
, 0x87c),
54 DRIVE_PINGROUP(CSUS
, 0x880),
55 DRIVE_PINGROUP(DAP1
, 0x884),
56 DRIVE_PINGROUP(DAP2
, 0x888),
57 DRIVE_PINGROUP(DAP3
, 0x88c),
58 DRIVE_PINGROUP(DAP4
, 0x890),
59 DRIVE_PINGROUP(DBG
, 0x894),
60 DRIVE_PINGROUP(LCD1
, 0x898),
61 DRIVE_PINGROUP(LCD2
, 0x89c),
62 DRIVE_PINGROUP(SDMMC2
, 0x8a0),
63 DRIVE_PINGROUP(SDMMC3
, 0x8a4),
64 DRIVE_PINGROUP(SPI
, 0x8a8),
65 DRIVE_PINGROUP(UAA
, 0x8ac),
66 DRIVE_PINGROUP(UAB
, 0x8b0),
67 DRIVE_PINGROUP(UART2
, 0x8b4),
68 DRIVE_PINGROUP(UART3
, 0x8b8),
69 DRIVE_PINGROUP(VI1
, 0x8bc),
70 DRIVE_PINGROUP(VI2
, 0x8c0),
71 DRIVE_PINGROUP(XM2A
, 0x8c4),
72 DRIVE_PINGROUP(XM2C
, 0x8c8),
73 DRIVE_PINGROUP(XM2D
, 0x8cc),
74 DRIVE_PINGROUP(XM2CLK
, 0x8d0),
75 DRIVE_PINGROUP(MEMCOMP
, 0x8d4),
76 DRIVE_PINGROUP(SDIO1
, 0x8e0),
77 DRIVE_PINGROUP(CRT
, 0x8ec),
78 DRIVE_PINGROUP(DDC
, 0x8f0),
79 DRIVE_PINGROUP(GMA
, 0x8f4),
80 DRIVE_PINGROUP(GMB
, 0x8f8),
81 DRIVE_PINGROUP(GMC
, 0x8fc),
82 DRIVE_PINGROUP(GMD
, 0x900),
83 DRIVE_PINGROUP(GME
, 0x904),
84 DRIVE_PINGROUP(OWR
, 0x908),
85 DRIVE_PINGROUP(UAD
, 0x90c),
88 #define PINGROUP(pg_name, vdd, f0, f1, f2, f3, f_safe, \
89 tri_r, tri_b, mux_r, mux_b, pupd_r, pupd_b) \
90 [TEGRA_PINGROUP_ ## pg_name] = { \
92 .vddio = TEGRA_VDDIO_ ## vdd, \
99 .func_safe = TEGRA_MUX_ ## f_safe, \
101 .tri_reg = ((tri_r) - TRISTATE_REG_A), \
104 .mux_reg = ((mux_r) - PIN_MUX_CTL_REG_A), \
107 .pupd_reg = ((pupd_r) - PULLUPDOWN_REG_A), \
108 .pupd_bit = pupd_b, \
115 static const struct tegra_pingroup_desc tegra_soc_pingroups
[TEGRA_MAX_PINGROUP
] = {
116 PINGROUP(ATA
, NAND
, IDE
, NAND
, GMI
, RSVD
, IDE
, 0x14, 0, 0x80, 24, 0xA0, 0),
117 PINGROUP(ATB
, NAND
, IDE
, NAND
, GMI
, SDIO4
, IDE
, 0x14, 1, 0x80, 16, 0xA0, 2),
118 PINGROUP(ATC
, NAND
, IDE
, NAND
, GMI
, SDIO4
, IDE
, 0x14, 2, 0x80, 22, 0xA0, 4),
119 PINGROUP(ATD
, NAND
, IDE
, NAND
, GMI
, SDIO4
, IDE
, 0x14, 3, 0x80, 20, 0xA0, 6),
120 PINGROUP(ATE
, NAND
, IDE
, NAND
, GMI
, RSVD
, IDE
, 0x18, 25, 0x80, 12, 0xA0, 8),
121 PINGROUP(CDEV1
, AUDIO
, OSC
, PLLA_OUT
, PLLM_OUT1
, AUDIO_SYNC
, OSC
, 0x14, 4, 0x88, 2, 0xA8, 0),
122 PINGROUP(CDEV2
, AUDIO
, OSC
, AHB_CLK
, APB_CLK
, PLLP_OUT4
, OSC
, 0x14, 5, 0x88, 4, 0xA8, 2),
123 PINGROUP(CRTP
, LCD
, CRT
, RSVD
, RSVD
, RSVD
, RSVD
, 0x20, 14, 0x98, 20, 0xA4, 24),
124 PINGROUP(CSUS
, VI
, PLLC_OUT1
, PLLP_OUT2
, PLLP_OUT3
, VI_SENSOR_CLK
, PLLC_OUT1
, 0x14, 6, 0x88, 6, 0xAC, 24),
125 PINGROUP(DAP1
, AUDIO
, DAP1
, RSVD
, GMI
, SDIO2
, DAP1
, 0x14, 7, 0x88, 20, 0xA0, 10),
126 PINGROUP(DAP2
, AUDIO
, DAP2
, TWC
, RSVD
, GMI
, DAP2
, 0x14, 8, 0x88, 22, 0xA0, 12),
127 PINGROUP(DAP3
, BB
, DAP3
, RSVD
, RSVD
, RSVD
, DAP3
, 0x14, 9, 0x88, 24, 0xA0, 14),
128 PINGROUP(DAP4
, UART
, DAP4
, RSVD
, GMI
, RSVD
, DAP4
, 0x14, 10, 0x88, 26, 0xA0, 16),
129 PINGROUP(DDC
, LCD
, I2C2
, RSVD
, RSVD
, RSVD
, RSVD4
, 0x18, 31, 0x88, 0, 0xB0, 28),
130 PINGROUP(DTA
, VI
, RSVD
, SDIO2
, VI
, RSVD
, RSVD4
, 0x14, 11, 0x84, 20, 0xA0, 18),
131 PINGROUP(DTB
, VI
, RSVD
, RSVD
, VI
, SPI1
, RSVD1
, 0x14, 12, 0x84, 22, 0xA0, 20),
132 PINGROUP(DTC
, VI
, RSVD
, RSVD
, VI
, RSVD
, RSVD1
, 0x14, 13, 0x84, 26, 0xA0, 22),
133 PINGROUP(DTD
, VI
, RSVD
, SDIO2
, VI
, RSVD
, RSVD1
, 0x14, 14, 0x84, 28, 0xA0, 24),
134 PINGROUP(DTE
, VI
, RSVD
, RSVD
, VI
, SPI1
, RSVD1
, 0x14, 15, 0x84, 30, 0xA0, 26),
135 PINGROUP(DTF
, VI
, I2C3
, RSVD
, VI
, RSVD
, RSVD4
, 0x20, 12, 0x98, 30, 0xA0, 28),
136 PINGROUP(GMA
, NAND
, UARTE
, SPI3
, GMI
, SDIO4
, SPI3
, 0x14, 28, 0x84, 0, 0xB0, 20),
137 PINGROUP(GMB
, NAND
, IDE
, NAND
, GMI
, GMI_INT
, GMI
, 0x18, 29, 0x88, 28, 0xB0, 22),
138 PINGROUP(GMC
, NAND
, UARTD
, SPI4
, GMI
, SFLASH
, SPI4
, 0x14, 29, 0x84, 2, 0xB0, 24),
139 PINGROUP(GMD
, NAND
, RSVD
, NAND
, GMI
, SFLASH
, GMI
, 0x18, 30, 0x88, 30, 0xB0, 26),
140 PINGROUP(GME
, NAND
, RSVD
, DAP5
, GMI
, SDIO4
, GMI
, 0x18, 0, 0x8C, 0, 0xA8, 24),
141 PINGROUP(GPU
, UART
, PWM
, UARTA
, GMI
, RSVD
, RSVD4
, 0x14, 16, 0x8C, 4, 0xA4, 20),
142 PINGROUP(GPU7
, SYS
, RTCK
, RSVD
, RSVD
, RSVD
, RTCK
, 0x20, 11, 0x98, 28, 0xA4, 6),
143 PINGROUP(GPV
, SD
, PCIE
, RSVD
, RSVD
, RSVD
, PCIE
, 0x14, 17, 0x8C, 2, 0xA0, 30),
144 PINGROUP(HDINT
, LCD
, HDMI
, RSVD
, RSVD
, RSVD
, HDMI
, 0x1C, 23, 0x84, 4, 0xAC, 22),
145 PINGROUP(I2CP
, SYS
, I2C
, RSVD
, RSVD
, RSVD
, RSVD4
, 0x14, 18, 0x88, 8, 0xA4, 2),
146 PINGROUP(IRRX
, UART
, UARTA
, UARTB
, GMI
, SPI4
, UARTB
, 0x14, 20, 0x88, 18, 0xA8, 22),
147 PINGROUP(IRTX
, UART
, UARTA
, UARTB
, GMI
, SPI4
, UARTB
, 0x14, 19, 0x88, 16, 0xA8, 20),
148 PINGROUP(KBCA
, SYS
, KBC
, NAND
, SDIO2
, EMC_TEST0_DLL
, KBC
, 0x14, 22, 0x88, 10, 0xA4, 8),
149 PINGROUP(KBCB
, SYS
, KBC
, NAND
, SDIO2
, MIO
, KBC
, 0x14, 21, 0x88, 12, 0xA4, 10),
150 PINGROUP(KBCC
, SYS
, KBC
, NAND
, TRACE
, EMC_TEST1_DLL
, KBC
, 0x18, 26, 0x88, 14, 0xA4, 12),
151 PINGROUP(KBCD
, SYS
, KBC
, NAND
, SDIO2
, MIO
, KBC
, 0x20, 10, 0x98, 26, 0xA4, 14),
152 PINGROUP(KBCE
, SYS
, KBC
, NAND
, OWR
, RSVD
, KBC
, 0x14, 26, 0x80, 28, 0xB0, 2),
153 PINGROUP(KBCF
, SYS
, KBC
, NAND
, TRACE
, MIO
, KBC
, 0x14, 27, 0x80, 26, 0xB0, 0),
154 PINGROUP(LCSN
, LCD
, DISPLAYA
, DISPLAYB
, SPI3
, RSVD
, RSVD4
, 0x1C, 31, 0x90, 12, 0xAC, 20),
155 PINGROUP(LD0
, LCD
, DISPLAYA
, DISPLAYB
, XIO
, RSVD
, RSVD4
, 0x1C, 0, 0x94, 0, 0xAC, 12),
156 PINGROUP(LD1
, LCD
, DISPLAYA
, DISPLAYB
, XIO
, RSVD
, RSVD4
, 0x1C, 1, 0x94, 2, 0xAC, 12),
157 PINGROUP(LD10
, LCD
, DISPLAYA
, DISPLAYB
, XIO
, RSVD
, RSVD4
, 0x1C, 10, 0x94, 20, 0xAC, 12),
158 PINGROUP(LD11
, LCD
, DISPLAYA
, DISPLAYB
, XIO
, RSVD
, RSVD4
, 0x1C, 11, 0x94, 22, 0xAC, 12),
159 PINGROUP(LD12
, LCD
, DISPLAYA
, DISPLAYB
, XIO
, RSVD
, RSVD4
, 0x1C, 12, 0x94, 24, 0xAC, 12),
160 PINGROUP(LD13
, LCD
, DISPLAYA
, DISPLAYB
, XIO
, RSVD
, RSVD4
, 0x1C, 13, 0x94, 26, 0xAC, 12),
161 PINGROUP(LD14
, LCD
, DISPLAYA
, DISPLAYB
, XIO
, RSVD
, RSVD4
, 0x1C, 14, 0x94, 28, 0xAC, 12),
162 PINGROUP(LD15
, LCD
, DISPLAYA
, DISPLAYB
, XIO
, RSVD
, RSVD4
, 0x1C, 15, 0x94, 30, 0xAC, 12),
163 PINGROUP(LD16
, LCD
, DISPLAYA
, DISPLAYB
, XIO
, RSVD
, RSVD4
, 0x1C, 16, 0x98, 0, 0xAC, 12),
164 PINGROUP(LD17
, LCD
, DISPLAYA
, DISPLAYB
, RSVD
, RSVD
, RSVD4
, 0x1C, 17, 0x98, 2, 0xAC, 12),
165 PINGROUP(LD2
, LCD
, DISPLAYA
, DISPLAYB
, XIO
, RSVD
, RSVD4
, 0x1C, 2, 0x94, 4, 0xAC, 12),
166 PINGROUP(LD3
, LCD
, DISPLAYA
, DISPLAYB
, XIO
, RSVD
, RSVD4
, 0x1C, 3, 0x94, 6, 0xAC, 12),
167 PINGROUP(LD4
, LCD
, DISPLAYA
, DISPLAYB
, XIO
, RSVD
, RSVD4
, 0x1C, 4, 0x94, 8, 0xAC, 12),
168 PINGROUP(LD5
, LCD
, DISPLAYA
, DISPLAYB
, XIO
, RSVD
, RSVD4
, 0x1C, 5, 0x94, 10, 0xAC, 12),
169 PINGROUP(LD6
, LCD
, DISPLAYA
, DISPLAYB
, XIO
, RSVD
, RSVD4
, 0x1C, 6, 0x94, 12, 0xAC, 12),
170 PINGROUP(LD7
, LCD
, DISPLAYA
, DISPLAYB
, XIO
, RSVD
, RSVD4
, 0x1C, 7, 0x94, 14, 0xAC, 12),
171 PINGROUP(LD8
, LCD
, DISPLAYA
, DISPLAYB
, XIO
, RSVD
, RSVD4
, 0x1C, 8, 0x94, 16, 0xAC, 12),
172 PINGROUP(LD9
, LCD
, DISPLAYA
, DISPLAYB
, XIO
, RSVD
, RSVD4
, 0x1C, 9, 0x94, 18, 0xAC, 12),
173 PINGROUP(LDC
, LCD
, DISPLAYA
, DISPLAYB
, RSVD
, RSVD
, RSVD4
, 0x1C, 30, 0x90, 14, 0xAC, 20),
174 PINGROUP(LDI
, LCD
, DISPLAYA
, DISPLAYB
, RSVD
, RSVD
, RSVD4
, 0x20, 6, 0x98, 16, 0xAC, 18),
175 PINGROUP(LHP0
, LCD
, DISPLAYA
, DISPLAYB
, RSVD
, RSVD
, RSVD4
, 0x1C, 18, 0x98, 10, 0xAC, 16),
176 PINGROUP(LHP1
, LCD
, DISPLAYA
, DISPLAYB
, RSVD
, RSVD
, RSVD4
, 0x1C, 19, 0x98, 4, 0xAC, 14),
177 PINGROUP(LHP2
, LCD
, DISPLAYA
, DISPLAYB
, RSVD
, RSVD
, RSVD4
, 0x1C, 20, 0x98, 6, 0xAC, 14),
178 PINGROUP(LHS
, LCD
, DISPLAYA
, DISPLAYB
, XIO
, RSVD
, RSVD4
, 0x20, 7, 0x90, 22, 0xAC, 22),
179 PINGROUP(LM0
, LCD
, DISPLAYA
, DISPLAYB
, SPI3
, RSVD
, RSVD4
, 0x1C, 24, 0x90, 26, 0xAC, 22),
180 PINGROUP(LM1
, LCD
, DISPLAYA
, DISPLAYB
, RSVD
, CRT
, RSVD3
, 0x1C, 25, 0x90, 28, 0xAC, 22),
181 PINGROUP(LPP
, LCD
, DISPLAYA
, DISPLAYB
, RSVD
, RSVD
, RSVD4
, 0x20, 8, 0x98, 14, 0xAC, 18),
182 PINGROUP(LPW0
, LCD
, DISPLAYA
, DISPLAYB
, SPI3
, HDMI
, DISPLAYA
, 0x20, 3, 0x90, 0, 0xAC, 20),
183 PINGROUP(LPW1
, LCD
, DISPLAYA
, DISPLAYB
, RSVD
, RSVD
, RSVD4
, 0x20, 4, 0x90, 2, 0xAC, 20),
184 PINGROUP(LPW2
, LCD
, DISPLAYA
, DISPLAYB
, SPI3
, HDMI
, DISPLAYA
, 0x20, 5, 0x90, 4, 0xAC, 20),
185 PINGROUP(LSC0
, LCD
, DISPLAYA
, DISPLAYB
, XIO
, RSVD
, RSVD4
, 0x1C, 27, 0x90, 18, 0xAC, 22),
186 PINGROUP(LSC1
, LCD
, DISPLAYA
, DISPLAYB
, SPI3
, HDMI
, DISPLAYA
, 0x1C, 28, 0x90, 20, 0xAC, 20),
187 PINGROUP(LSCK
, LCD
, DISPLAYA
, DISPLAYB
, SPI3
, HDMI
, DISPLAYA
, 0x1C, 29, 0x90, 16, 0xAC, 20),
188 PINGROUP(LSDA
, LCD
, DISPLAYA
, DISPLAYB
, SPI3
, HDMI
, DISPLAYA
, 0x20, 1, 0x90, 8, 0xAC, 20),
189 PINGROUP(LSDI
, LCD
, DISPLAYA
, DISPLAYB
, SPI3
, RSVD
, DISPLAYA
, 0x20, 2, 0x90, 6, 0xAC, 20),
190 PINGROUP(LSPI
, LCD
, DISPLAYA
, DISPLAYB
, XIO
, HDMI
, DISPLAYA
, 0x20, 0, 0x90, 10, 0xAC, 22),
191 PINGROUP(LVP0
, LCD
, DISPLAYA
, DISPLAYB
, RSVD
, RSVD
, RSVD4
, 0x1C, 21, 0x90, 30, 0xAC, 22),
192 PINGROUP(LVP1
, LCD
, DISPLAYA
, DISPLAYB
, RSVD
, RSVD
, RSVD4
, 0x1C, 22, 0x98, 8, 0xAC, 16),
193 PINGROUP(LVS
, LCD
, DISPLAYA
, DISPLAYB
, XIO
, RSVD
, RSVD4
, 0x1C, 26, 0x90, 24, 0xAC, 22),
194 PINGROUP(OWC
, SYS
, OWR
, RSVD
, RSVD
, RSVD
, OWR
, 0x14, 31, 0x84, 8, 0xB0, 30),
195 PINGROUP(PMC
, SYS
, PWR_ON
, PWR_INTR
, RSVD
, RSVD
, PWR_ON
, 0x14, 23, 0x98, 18, -1, -1),
196 PINGROUP(PTA
, NAND
, I2C2
, HDMI
, GMI
, RSVD
, RSVD4
, 0x14, 24, 0x98, 22, 0xA4, 4),
197 PINGROUP(RM
, UART
, I2C
, RSVD
, RSVD
, RSVD
, RSVD4
, 0x14, 25, 0x80, 14, 0xA4, 0),
198 PINGROUP(SDB
, SD
, UARTA
, PWM
, SDIO3
, SPI2
, PWM
, 0x20, 15, 0x8C, 10, -1, -1),
199 PINGROUP(SDC
, SD
, PWM
, TWC
, SDIO3
, SPI3
, TWC
, 0x18, 1, 0x8C, 12, 0xAC, 28),
200 PINGROUP(SDD
, SD
, UARTA
, PWM
, SDIO3
, SPI3
, PWM
, 0x18, 2, 0x8C, 14, 0xAC, 30),
201 PINGROUP(SDIO1
, BB
, SDIO1
, RSVD
, UARTE
, UARTA
, RSVD2
, 0x14, 30, 0x80, 30, 0xB0, 18),
202 PINGROUP(SLXA
, SD
, PCIE
, SPI4
, SDIO3
, SPI2
, PCIE
, 0x18, 3, 0x84, 6, 0xA4, 22),
203 PINGROUP(SLXC
, SD
, SPDIF
, SPI4
, SDIO3
, SPI2
, SPI4
, 0x18, 5, 0x84, 10, 0xA4, 26),
204 PINGROUP(SLXD
, SD
, SPDIF
, SPI4
, SDIO3
, SPI2
, SPI4
, 0x18, 6, 0x84, 12, 0xA4, 28),
205 PINGROUP(SLXK
, SD
, PCIE
, SPI4
, SDIO3
, SPI2
, PCIE
, 0x18, 7, 0x84, 14, 0xA4, 30),
206 PINGROUP(SPDI
, AUDIO
, SPDIF
, RSVD
, I2C
, SDIO2
, RSVD2
, 0x18, 8, 0x8C, 8, 0xA4, 16),
207 PINGROUP(SPDO
, AUDIO
, SPDIF
, RSVD
, I2C
, SDIO2
, RSVD2
, 0x18, 9, 0x8C, 6, 0xA4, 18),
208 PINGROUP(SPIA
, AUDIO
, SPI1
, SPI2
, SPI3
, GMI
, GMI
, 0x18, 10, 0x8C, 30, 0xA8, 4),
209 PINGROUP(SPIB
, AUDIO
, SPI1
, SPI2
, SPI3
, GMI
, GMI
, 0x18, 11, 0x8C, 28, 0xA8, 6),
210 PINGROUP(SPIC
, AUDIO
, SPI1
, SPI2
, SPI3
, GMI
, GMI
, 0x18, 12, 0x8C, 26, 0xA8, 8),
211 PINGROUP(SPID
, AUDIO
, SPI2
, SPI1
, SPI2_ALT
, GMI
, GMI
, 0x18, 13, 0x8C, 24, 0xA8, 10),
212 PINGROUP(SPIE
, AUDIO
, SPI2
, SPI1
, SPI2_ALT
, GMI
, GMI
, 0x18, 14, 0x8C, 22, 0xA8, 12),
213 PINGROUP(SPIF
, AUDIO
, SPI3
, SPI1
, SPI2
, RSVD
, RSVD4
, 0x18, 15, 0x8C, 20, 0xA8, 14),
214 PINGROUP(SPIG
, AUDIO
, SPI3
, SPI2
, SPI2_ALT
, I2C
, SPI2_ALT
, 0x18, 16, 0x8C, 18, 0xA8, 16),
215 PINGROUP(SPIH
, AUDIO
, SPI3
, SPI2
, SPI2_ALT
, I2C
, SPI2_ALT
, 0x18, 17, 0x8C, 16, 0xA8, 18),
216 PINGROUP(UAA
, BB
, SPI3
, MIPI_HS
, UARTA
, ULPI
, MIPI_HS
, 0x18, 18, 0x80, 0, 0xAC, 0),
217 PINGROUP(UAB
, BB
, SPI2
, MIPI_HS
, UARTA
, ULPI
, MIPI_HS
, 0x18, 19, 0x80, 2, 0xAC, 2),
218 PINGROUP(UAC
, BB
, OWR
, RSVD
, RSVD
, RSVD
, RSVD4
, 0x18, 20, 0x80, 4, 0xAC, 4),
219 PINGROUP(UAD
, UART
, IRDA
, SPDIF
, UARTA
, SPI4
, SPDIF
, 0x18, 21, 0x80, 6, 0xAC, 6),
220 PINGROUP(UCA
, UART
, UARTC
, RSVD
, GMI
, RSVD
, RSVD4
, 0x18, 22, 0x84, 16, 0xAC, 8),
221 PINGROUP(UCB
, UART
, UARTC
, PWM
, GMI
, RSVD
, RSVD4
, 0x18, 23, 0x84, 18, 0xAC, 10),
222 PINGROUP(UDA
, BB
, SPI1
, RSVD
, UARTD
, ULPI
, RSVD2
, 0x20, 13, 0x80, 8, 0xB0, 16),
223 /* these pin groups only have pullup and pull down control */
224 PINGROUP(CK32
, SYS
, RSVD
, RSVD
, RSVD
, RSVD
, RSVD
, -1, -1, -1, -1, 0xB0, 14),
225 PINGROUP(DDRC
, DDR
, RSVD
, RSVD
, RSVD
, RSVD
, RSVD
, -1, -1, -1, -1, 0xAC, 26),
226 PINGROUP(PMCA
, SYS
, RSVD
, RSVD
, RSVD
, RSVD
, RSVD
, -1, -1, -1, -1, 0xB0, 4),
227 PINGROUP(PMCB
, SYS
, RSVD
, RSVD
, RSVD
, RSVD
, RSVD
, -1, -1, -1, -1, 0xB0, 6),
228 PINGROUP(PMCC
, SYS
, RSVD
, RSVD
, RSVD
, RSVD
, RSVD
, -1, -1, -1, -1, 0xB0, 8),
229 PINGROUP(PMCD
, SYS
, RSVD
, RSVD
, RSVD
, RSVD
, RSVD
, -1, -1, -1, -1, 0xB0, 10),
230 PINGROUP(PMCE
, SYS
, RSVD
, RSVD
, RSVD
, RSVD
, RSVD
, -1, -1, -1, -1, 0xB0, 12),
231 PINGROUP(XM2C
, DDR
, RSVD
, RSVD
, RSVD
, RSVD
, RSVD
, -1, -1, -1, -1, 0xA8, 30),
232 PINGROUP(XM2D
, DDR
, RSVD
, RSVD
, RSVD
, RSVD
, RSVD
, -1, -1, -1, -1, 0xA8, 28),
235 void __devinit
tegra20_pinmux_init(const struct tegra_pingroup_desc
**pg
,
236 int *pg_max
, const struct tegra_drive_pingroup_desc
**pgdrive
,
239 *pg
= tegra_soc_pingroups
;
240 *pg_max
= TEGRA_MAX_PINGROUP
;
241 *pgdrive
= tegra_soc_drive_pingroups
;
242 *pgdrive_max
= TEGRA_MAX_DRIVE_PINGROUP
;