0001
0002
0003
0004
0005
0006
0007
0008
0009
0010 #include <linux/init.h>
0011 #include <linux/of.h>
0012 #include <linux/platform_device.h>
0013 #include <linux/pinctrl/pinctrl.h>
0014 #include <linux/pinctrl/pinmux.h>
0015
0016 #include "pinctrl-tegra.h"
0017
0018
0019
0020
0021
0022 #define _GPIO(offset) (offset)
0023
0024 #define TEGRA_PIN_CLK_32K_OUT_PA0 _GPIO(0)
0025 #define TEGRA_PIN_UART3_CTS_N_PA1 _GPIO(1)
0026 #define TEGRA_PIN_DAP2_FS_PA2 _GPIO(2)
0027 #define TEGRA_PIN_DAP2_SCLK_PA3 _GPIO(3)
0028 #define TEGRA_PIN_DAP2_DIN_PA4 _GPIO(4)
0029 #define TEGRA_PIN_DAP2_DOUT_PA5 _GPIO(5)
0030 #define TEGRA_PIN_SDMMC3_CLK_PA6 _GPIO(6)
0031 #define TEGRA_PIN_SDMMC3_CMD_PA7 _GPIO(7)
0032 #define TEGRA_PIN_PB0 _GPIO(8)
0033 #define TEGRA_PIN_PB1 _GPIO(9)
0034 #define TEGRA_PIN_SDMMC3_DAT3_PB4 _GPIO(12)
0035 #define TEGRA_PIN_SDMMC3_DAT2_PB5 _GPIO(13)
0036 #define TEGRA_PIN_SDMMC3_DAT1_PB6 _GPIO(14)
0037 #define TEGRA_PIN_SDMMC3_DAT0_PB7 _GPIO(15)
0038 #define TEGRA_PIN_UART3_RTS_N_PC0 _GPIO(16)
0039 #define TEGRA_PIN_UART2_TXD_PC2 _GPIO(18)
0040 #define TEGRA_PIN_UART2_RXD_PC3 _GPIO(19)
0041 #define TEGRA_PIN_GEN1_I2C_SCL_PC4 _GPIO(20)
0042 #define TEGRA_PIN_GEN1_I2C_SDA_PC5 _GPIO(21)
0043 #define TEGRA_PIN_PC7 _GPIO(23)
0044 #define TEGRA_PIN_PG0 _GPIO(48)
0045 #define TEGRA_PIN_PG1 _GPIO(49)
0046 #define TEGRA_PIN_PG2 _GPIO(50)
0047 #define TEGRA_PIN_PG3 _GPIO(51)
0048 #define TEGRA_PIN_PG4 _GPIO(52)
0049 #define TEGRA_PIN_PG5 _GPIO(53)
0050 #define TEGRA_PIN_PG6 _GPIO(54)
0051 #define TEGRA_PIN_PG7 _GPIO(55)
0052 #define TEGRA_PIN_PH0 _GPIO(56)
0053 #define TEGRA_PIN_PH1 _GPIO(57)
0054 #define TEGRA_PIN_PH2 _GPIO(58)
0055 #define TEGRA_PIN_PH3 _GPIO(59)
0056 #define TEGRA_PIN_PH4 _GPIO(60)
0057 #define TEGRA_PIN_PH5 _GPIO(61)
0058 #define TEGRA_PIN_PH6 _GPIO(62)
0059 #define TEGRA_PIN_PH7 _GPIO(63)
0060 #define TEGRA_PIN_PI0 _GPIO(64)
0061 #define TEGRA_PIN_PI1 _GPIO(65)
0062 #define TEGRA_PIN_PI2 _GPIO(66)
0063 #define TEGRA_PIN_PI3 _GPIO(67)
0064 #define TEGRA_PIN_PI4 _GPIO(68)
0065 #define TEGRA_PIN_PI5 _GPIO(69)
0066 #define TEGRA_PIN_PI6 _GPIO(70)
0067 #define TEGRA_PIN_PI7 _GPIO(71)
0068 #define TEGRA_PIN_PJ0 _GPIO(72)
0069 #define TEGRA_PIN_PJ2 _GPIO(74)
0070 #define TEGRA_PIN_UART2_CTS_N_PJ5 _GPIO(77)
0071 #define TEGRA_PIN_UART2_RTS_N_PJ6 _GPIO(78)
0072 #define TEGRA_PIN_PJ7 _GPIO(79)
0073 #define TEGRA_PIN_PK0 _GPIO(80)
0074 #define TEGRA_PIN_PK1 _GPIO(81)
0075 #define TEGRA_PIN_PK2 _GPIO(82)
0076 #define TEGRA_PIN_PK3 _GPIO(83)
0077 #define TEGRA_PIN_PK4 _GPIO(84)
0078 #define TEGRA_PIN_SPDIF_OUT_PK5 _GPIO(85)
0079 #define TEGRA_PIN_SPDIF_IN_PK6 _GPIO(86)
0080 #define TEGRA_PIN_PK7 _GPIO(87)
0081 #define TEGRA_PIN_DAP1_FS_PN0 _GPIO(104)
0082 #define TEGRA_PIN_DAP1_DIN_PN1 _GPIO(105)
0083 #define TEGRA_PIN_DAP1_DOUT_PN2 _GPIO(106)
0084 #define TEGRA_PIN_DAP1_SCLK_PN3 _GPIO(107)
0085 #define TEGRA_PIN_USB_VBUS_EN0_PN4 _GPIO(108)
0086 #define TEGRA_PIN_USB_VBUS_EN1_PN5 _GPIO(109)
0087 #define TEGRA_PIN_HDMI_INT_PN7 _GPIO(111)
0088 #define TEGRA_PIN_ULPI_DATA7_PO0 _GPIO(112)
0089 #define TEGRA_PIN_ULPI_DATA0_PO1 _GPIO(113)
0090 #define TEGRA_PIN_ULPI_DATA1_PO2 _GPIO(114)
0091 #define TEGRA_PIN_ULPI_DATA2_PO3 _GPIO(115)
0092 #define TEGRA_PIN_ULPI_DATA3_PO4 _GPIO(116)
0093 #define TEGRA_PIN_ULPI_DATA4_PO5 _GPIO(117)
0094 #define TEGRA_PIN_ULPI_DATA5_PO6 _GPIO(118)
0095 #define TEGRA_PIN_ULPI_DATA6_PO7 _GPIO(119)
0096 #define TEGRA_PIN_DAP3_FS_PP0 _GPIO(120)
0097 #define TEGRA_PIN_DAP3_DIN_PP1 _GPIO(121)
0098 #define TEGRA_PIN_DAP3_DOUT_PP2 _GPIO(122)
0099 #define TEGRA_PIN_DAP3_SCLK_PP3 _GPIO(123)
0100 #define TEGRA_PIN_DAP4_FS_PP4 _GPIO(124)
0101 #define TEGRA_PIN_DAP4_DIN_PP5 _GPIO(125)
0102 #define TEGRA_PIN_DAP4_DOUT_PP6 _GPIO(126)
0103 #define TEGRA_PIN_DAP4_SCLK_PP7 _GPIO(127)
0104 #define TEGRA_PIN_KB_COL0_PQ0 _GPIO(128)
0105 #define TEGRA_PIN_KB_COL1_PQ1 _GPIO(129)
0106 #define TEGRA_PIN_KB_COL2_PQ2 _GPIO(130)
0107 #define TEGRA_PIN_KB_COL3_PQ3 _GPIO(131)
0108 #define TEGRA_PIN_KB_COL4_PQ4 _GPIO(132)
0109 #define TEGRA_PIN_KB_COL5_PQ5 _GPIO(133)
0110 #define TEGRA_PIN_KB_COL6_PQ6 _GPIO(134)
0111 #define TEGRA_PIN_KB_COL7_PQ7 _GPIO(135)
0112 #define TEGRA_PIN_KB_ROW0_PR0 _GPIO(136)
0113 #define TEGRA_PIN_KB_ROW1_PR1 _GPIO(137)
0114 #define TEGRA_PIN_KB_ROW2_PR2 _GPIO(138)
0115 #define TEGRA_PIN_KB_ROW3_PR3 _GPIO(139)
0116 #define TEGRA_PIN_KB_ROW4_PR4 _GPIO(140)
0117 #define TEGRA_PIN_KB_ROW5_PR5 _GPIO(141)
0118 #define TEGRA_PIN_KB_ROW6_PR6 _GPIO(142)
0119 #define TEGRA_PIN_KB_ROW7_PR7 _GPIO(143)
0120 #define TEGRA_PIN_KB_ROW8_PS0 _GPIO(144)
0121 #define TEGRA_PIN_KB_ROW9_PS1 _GPIO(145)
0122 #define TEGRA_PIN_KB_ROW10_PS2 _GPIO(146)
0123 #define TEGRA_PIN_KB_ROW11_PS3 _GPIO(147)
0124 #define TEGRA_PIN_KB_ROW12_PS4 _GPIO(148)
0125 #define TEGRA_PIN_KB_ROW13_PS5 _GPIO(149)
0126 #define TEGRA_PIN_KB_ROW14_PS6 _GPIO(150)
0127 #define TEGRA_PIN_KB_ROW15_PS7 _GPIO(151)
0128 #define TEGRA_PIN_KB_ROW16_PT0 _GPIO(152)
0129 #define TEGRA_PIN_KB_ROW17_PT1 _GPIO(153)
0130 #define TEGRA_PIN_GEN2_I2C_SCL_PT5 _GPIO(157)
0131 #define TEGRA_PIN_GEN2_I2C_SDA_PT6 _GPIO(158)
0132 #define TEGRA_PIN_SDMMC4_CMD_PT7 _GPIO(159)
0133 #define TEGRA_PIN_PU0 _GPIO(160)
0134 #define TEGRA_PIN_PU1 _GPIO(161)
0135 #define TEGRA_PIN_PU2 _GPIO(162)
0136 #define TEGRA_PIN_PU3 _GPIO(163)
0137 #define TEGRA_PIN_PU4 _GPIO(164)
0138 #define TEGRA_PIN_PU5 _GPIO(165)
0139 #define TEGRA_PIN_PU6 _GPIO(166)
0140 #define TEGRA_PIN_PV0 _GPIO(168)
0141 #define TEGRA_PIN_PV1 _GPIO(169)
0142 #define TEGRA_PIN_SDMMC3_CD_N_PV2 _GPIO(170)
0143 #define TEGRA_PIN_SDMMC1_WP_N_PV3 _GPIO(171)
0144 #define TEGRA_PIN_DDC_SCL_PV4 _GPIO(172)
0145 #define TEGRA_PIN_DDC_SDA_PV5 _GPIO(173)
0146 #define TEGRA_PIN_GPIO_W2_AUD_PW2 _GPIO(178)
0147 #define TEGRA_PIN_GPIO_W3_AUD_PW3 _GPIO(179)
0148 #define TEGRA_PIN_DAP_MCLK1_PW4 _GPIO(180)
0149 #define TEGRA_PIN_CLK2_OUT_PW5 _GPIO(181)
0150 #define TEGRA_PIN_UART3_TXD_PW6 _GPIO(182)
0151 #define TEGRA_PIN_UART3_RXD_PW7 _GPIO(183)
0152 #define TEGRA_PIN_DVFS_PWM_PX0 _GPIO(184)
0153 #define TEGRA_PIN_GPIO_X1_AUD_PX1 _GPIO(185)
0154 #define TEGRA_PIN_DVFS_CLK_PX2 _GPIO(186)
0155 #define TEGRA_PIN_GPIO_X3_AUD_PX3 _GPIO(187)
0156 #define TEGRA_PIN_GPIO_X4_AUD_PX4 _GPIO(188)
0157 #define TEGRA_PIN_GPIO_X5_AUD_PX5 _GPIO(189)
0158 #define TEGRA_PIN_GPIO_X6_AUD_PX6 _GPIO(190)
0159 #define TEGRA_PIN_GPIO_X7_AUD_PX7 _GPIO(191)
0160 #define TEGRA_PIN_ULPI_CLK_PY0 _GPIO(192)
0161 #define TEGRA_PIN_ULPI_DIR_PY1 _GPIO(193)
0162 #define TEGRA_PIN_ULPI_NXT_PY2 _GPIO(194)
0163 #define TEGRA_PIN_ULPI_STP_PY3 _GPIO(195)
0164 #define TEGRA_PIN_SDMMC1_DAT3_PY4 _GPIO(196)
0165 #define TEGRA_PIN_SDMMC1_DAT2_PY5 _GPIO(197)
0166 #define TEGRA_PIN_SDMMC1_DAT1_PY6 _GPIO(198)
0167 #define TEGRA_PIN_SDMMC1_DAT0_PY7 _GPIO(199)
0168 #define TEGRA_PIN_SDMMC1_CLK_PZ0 _GPIO(200)
0169 #define TEGRA_PIN_SDMMC1_CMD_PZ1 _GPIO(201)
0170 #define TEGRA_PIN_PWR_I2C_SCL_PZ6 _GPIO(206)
0171 #define TEGRA_PIN_PWR_I2C_SDA_PZ7 _GPIO(207)
0172 #define TEGRA_PIN_SDMMC4_DAT0_PAA0 _GPIO(208)
0173 #define TEGRA_PIN_SDMMC4_DAT1_PAA1 _GPIO(209)
0174 #define TEGRA_PIN_SDMMC4_DAT2_PAA2 _GPIO(210)
0175 #define TEGRA_PIN_SDMMC4_DAT3_PAA3 _GPIO(211)
0176 #define TEGRA_PIN_SDMMC4_DAT4_PAA4 _GPIO(212)
0177 #define TEGRA_PIN_SDMMC4_DAT5_PAA5 _GPIO(213)
0178 #define TEGRA_PIN_SDMMC4_DAT6_PAA6 _GPIO(214)
0179 #define TEGRA_PIN_SDMMC4_DAT7_PAA7 _GPIO(215)
0180 #define TEGRA_PIN_PBB0 _GPIO(216)
0181 #define TEGRA_PIN_CAM_I2C_SCL_PBB1 _GPIO(217)
0182 #define TEGRA_PIN_CAM_I2C_SDA_PBB2 _GPIO(218)
0183 #define TEGRA_PIN_PBB3 _GPIO(219)
0184 #define TEGRA_PIN_PBB4 _GPIO(220)
0185 #define TEGRA_PIN_PBB5 _GPIO(221)
0186 #define TEGRA_PIN_PBB6 _GPIO(222)
0187 #define TEGRA_PIN_PBB7 _GPIO(223)
0188 #define TEGRA_PIN_CAM_MCLK_PCC0 _GPIO(224)
0189 #define TEGRA_PIN_PCC1 _GPIO(225)
0190 #define TEGRA_PIN_PCC2 _GPIO(226)
0191 #define TEGRA_PIN_SDMMC4_CLK_PCC4 _GPIO(228)
0192 #define TEGRA_PIN_CLK2_REQ_PCC5 _GPIO(229)
0193 #define TEGRA_PIN_PEX_L0_RST_N_PDD1 _GPIO(233)
0194 #define TEGRA_PIN_PEX_L0_CLKREQ_N_PDD2 _GPIO(234)
0195 #define TEGRA_PIN_PEX_WAKE_N_PDD3 _GPIO(235)
0196 #define TEGRA_PIN_PEX_L1_RST_N_PDD5 _GPIO(237)
0197 #define TEGRA_PIN_PEX_L1_CLKREQ_N_PDD6 _GPIO(238)
0198 #define TEGRA_PIN_CLK3_OUT_PEE0 _GPIO(240)
0199 #define TEGRA_PIN_CLK3_REQ_PEE1 _GPIO(241)
0200 #define TEGRA_PIN_DAP_MCLK1_REQ_PEE2 _GPIO(242)
0201 #define TEGRA_PIN_HDMI_CEC_PEE3 _GPIO(243)
0202 #define TEGRA_PIN_SDMMC3_CLK_LB_OUT_PEE4 _GPIO(244)
0203 #define TEGRA_PIN_SDMMC3_CLK_LB_IN_PEE5 _GPIO(245)
0204 #define TEGRA_PIN_DP_HPD_PFF0 _GPIO(248)
0205 #define TEGRA_PIN_USB_VBUS_EN2_PFF1 _GPIO(249)
0206 #define TEGRA_PIN_PFF2 _GPIO(250)
0207
0208
0209 #define NUM_GPIOS (TEGRA_PIN_PFF2 + 1)
0210 #define _PIN(offset) (NUM_GPIOS + (offset))
0211
0212
0213 #define TEGRA_PIN_CORE_PWR_REQ _PIN(0)
0214 #define TEGRA_PIN_CPU_PWR_REQ _PIN(1)
0215 #define TEGRA_PIN_PWR_INT_N _PIN(2)
0216 #define TEGRA_PIN_GMI_CLK_LB _PIN(3)
0217 #define TEGRA_PIN_RESET_OUT_N _PIN(4)
0218 #define TEGRA_PIN_OWR _PIN(5)
0219 #define TEGRA_PIN_CLK_32K_IN _PIN(6)
0220 #define TEGRA_PIN_JTAG_RTCK _PIN(7)
0221 #define TEGRA_PIN_DSI_B_CLK_P _PIN(8)
0222 #define TEGRA_PIN_DSI_B_CLK_N _PIN(9)
0223 #define TEGRA_PIN_DSI_B_D0_P _PIN(10)
0224 #define TEGRA_PIN_DSI_B_D0_N _PIN(11)
0225 #define TEGRA_PIN_DSI_B_D1_P _PIN(12)
0226 #define TEGRA_PIN_DSI_B_D1_N _PIN(13)
0227 #define TEGRA_PIN_DSI_B_D2_P _PIN(14)
0228 #define TEGRA_PIN_DSI_B_D2_N _PIN(15)
0229 #define TEGRA_PIN_DSI_B_D3_P _PIN(16)
0230 #define TEGRA_PIN_DSI_B_D3_N _PIN(17)
0231
0232 static const struct pinctrl_pin_desc tegra124_pins[] = {
0233 PINCTRL_PIN(TEGRA_PIN_CLK_32K_OUT_PA0, "CLK_32K_OUT PA0"),
0234 PINCTRL_PIN(TEGRA_PIN_UART3_CTS_N_PA1, "UART3_CTS_N PA1"),
0235 PINCTRL_PIN(TEGRA_PIN_DAP2_FS_PA2, "DAP2_FS PA2"),
0236 PINCTRL_PIN(TEGRA_PIN_DAP2_SCLK_PA3, "DAP2_SCLK PA3"),
0237 PINCTRL_PIN(TEGRA_PIN_DAP2_DIN_PA4, "DAP2_DIN PA4"),
0238 PINCTRL_PIN(TEGRA_PIN_DAP2_DOUT_PA5, "DAP2_DOUT PA5"),
0239 PINCTRL_PIN(TEGRA_PIN_SDMMC3_CLK_PA6, "SDMMC3_CLK PA6"),
0240 PINCTRL_PIN(TEGRA_PIN_SDMMC3_CMD_PA7, "SDMMC3_CMD PA7"),
0241 PINCTRL_PIN(TEGRA_PIN_PB0, "PB0"),
0242 PINCTRL_PIN(TEGRA_PIN_PB1, "PB1"),
0243 PINCTRL_PIN(TEGRA_PIN_SDMMC3_DAT3_PB4, "SDMMC3_DAT3 PB4"),
0244 PINCTRL_PIN(TEGRA_PIN_SDMMC3_DAT2_PB5, "SDMMC3_DAT2 PB5"),
0245 PINCTRL_PIN(TEGRA_PIN_SDMMC3_DAT1_PB6, "SDMMC3_DAT1 PB6"),
0246 PINCTRL_PIN(TEGRA_PIN_SDMMC3_DAT0_PB7, "SDMMC3_DAT0 PB7"),
0247 PINCTRL_PIN(TEGRA_PIN_UART3_RTS_N_PC0, "UART3_RTS_N PC0"),
0248 PINCTRL_PIN(TEGRA_PIN_UART2_TXD_PC2, "UART2_TXD PC2"),
0249 PINCTRL_PIN(TEGRA_PIN_UART2_RXD_PC3, "UART2_RXD PC3"),
0250 PINCTRL_PIN(TEGRA_PIN_GEN1_I2C_SCL_PC4, "GEN1_I2C_SCL PC4"),
0251 PINCTRL_PIN(TEGRA_PIN_GEN1_I2C_SDA_PC5, "GEN1_I2C_SDA PC5"),
0252 PINCTRL_PIN(TEGRA_PIN_PC7, "PC7"),
0253 PINCTRL_PIN(TEGRA_PIN_PG0, "PG0"),
0254 PINCTRL_PIN(TEGRA_PIN_PG1, "PG1"),
0255 PINCTRL_PIN(TEGRA_PIN_PG2, "PG2"),
0256 PINCTRL_PIN(TEGRA_PIN_PG3, "PG3"),
0257 PINCTRL_PIN(TEGRA_PIN_PG4, "PG4"),
0258 PINCTRL_PIN(TEGRA_PIN_PG5, "PG5"),
0259 PINCTRL_PIN(TEGRA_PIN_PG6, "PG6"),
0260 PINCTRL_PIN(TEGRA_PIN_PG7, "PG7"),
0261 PINCTRL_PIN(TEGRA_PIN_PH0, "PH0"),
0262 PINCTRL_PIN(TEGRA_PIN_PH1, "PH1"),
0263 PINCTRL_PIN(TEGRA_PIN_PH2, "PH2"),
0264 PINCTRL_PIN(TEGRA_PIN_PH3, "PH3"),
0265 PINCTRL_PIN(TEGRA_PIN_PH4, "PH4"),
0266 PINCTRL_PIN(TEGRA_PIN_PH5, "PH5"),
0267 PINCTRL_PIN(TEGRA_PIN_PH6, "PH6"),
0268 PINCTRL_PIN(TEGRA_PIN_PH7, "PH7"),
0269 PINCTRL_PIN(TEGRA_PIN_PI0, "PI0"),
0270 PINCTRL_PIN(TEGRA_PIN_PI1, "PI1"),
0271 PINCTRL_PIN(TEGRA_PIN_PI2, "PI2"),
0272 PINCTRL_PIN(TEGRA_PIN_PI3, "PI3"),
0273 PINCTRL_PIN(TEGRA_PIN_PI4, "PI4"),
0274 PINCTRL_PIN(TEGRA_PIN_PI5, "PI5"),
0275 PINCTRL_PIN(TEGRA_PIN_PI6, "PI6"),
0276 PINCTRL_PIN(TEGRA_PIN_PI7, "PI7"),
0277 PINCTRL_PIN(TEGRA_PIN_PJ0, "PJ0"),
0278 PINCTRL_PIN(TEGRA_PIN_PJ2, "PJ2"),
0279 PINCTRL_PIN(TEGRA_PIN_UART2_CTS_N_PJ5, "UART2_CTS_N PJ5"),
0280 PINCTRL_PIN(TEGRA_PIN_UART2_RTS_N_PJ6, "UART2_RTS_N PJ6"),
0281 PINCTRL_PIN(TEGRA_PIN_PJ7, "PJ7"),
0282 PINCTRL_PIN(TEGRA_PIN_PK0, "PK0"),
0283 PINCTRL_PIN(TEGRA_PIN_PK1, "PK1"),
0284 PINCTRL_PIN(TEGRA_PIN_PK2, "PK2"),
0285 PINCTRL_PIN(TEGRA_PIN_PK3, "PK3"),
0286 PINCTRL_PIN(TEGRA_PIN_PK4, "PK4"),
0287 PINCTRL_PIN(TEGRA_PIN_SPDIF_OUT_PK5, "SPDIF_OUT PK5"),
0288 PINCTRL_PIN(TEGRA_PIN_SPDIF_IN_PK6, "SPDIF_IN PK6"),
0289 PINCTRL_PIN(TEGRA_PIN_PK7, "PK7"),
0290 PINCTRL_PIN(TEGRA_PIN_DAP1_FS_PN0, "DAP1_FS PN0"),
0291 PINCTRL_PIN(TEGRA_PIN_DAP1_DIN_PN1, "DAP1_DIN PN1"),
0292 PINCTRL_PIN(TEGRA_PIN_DAP1_DOUT_PN2, "DAP1_DOUT PN2"),
0293 PINCTRL_PIN(TEGRA_PIN_DAP1_SCLK_PN3, "DAP1_SCLK PN3"),
0294 PINCTRL_PIN(TEGRA_PIN_USB_VBUS_EN0_PN4, "USB_VBUS_EN0 PN4"),
0295 PINCTRL_PIN(TEGRA_PIN_USB_VBUS_EN1_PN5, "USB_VBUS_EN1 PN5"),
0296 PINCTRL_PIN(TEGRA_PIN_HDMI_INT_PN7, "HDMI_INT PN7"),
0297 PINCTRL_PIN(TEGRA_PIN_ULPI_DATA7_PO0, "ULPI_DATA7 PO0"),
0298 PINCTRL_PIN(TEGRA_PIN_ULPI_DATA0_PO1, "ULPI_DATA0 PO1"),
0299 PINCTRL_PIN(TEGRA_PIN_ULPI_DATA1_PO2, "ULPI_DATA1 PO2"),
0300 PINCTRL_PIN(TEGRA_PIN_ULPI_DATA2_PO3, "ULPI_DATA2 PO3"),
0301 PINCTRL_PIN(TEGRA_PIN_ULPI_DATA3_PO4, "ULPI_DATA3 PO4"),
0302 PINCTRL_PIN(TEGRA_PIN_ULPI_DATA4_PO5, "ULPI_DATA4 PO5"),
0303 PINCTRL_PIN(TEGRA_PIN_ULPI_DATA5_PO6, "ULPI_DATA5 PO6"),
0304 PINCTRL_PIN(TEGRA_PIN_ULPI_DATA6_PO7, "ULPI_DATA6 PO7"),
0305 PINCTRL_PIN(TEGRA_PIN_DAP3_FS_PP0, "DAP3_FS PP0"),
0306 PINCTRL_PIN(TEGRA_PIN_DAP3_DIN_PP1, "DAP3_DIN PP1"),
0307 PINCTRL_PIN(TEGRA_PIN_DAP3_DOUT_PP2, "DAP3_DOUT PP2"),
0308 PINCTRL_PIN(TEGRA_PIN_DAP3_SCLK_PP3, "DAP3_SCLK PP3"),
0309 PINCTRL_PIN(TEGRA_PIN_DAP4_FS_PP4, "DAP4_FS PP4"),
0310 PINCTRL_PIN(TEGRA_PIN_DAP4_DIN_PP5, "DAP4_DIN PP5"),
0311 PINCTRL_PIN(TEGRA_PIN_DAP4_DOUT_PP6, "DAP4_DOUT PP6"),
0312 PINCTRL_PIN(TEGRA_PIN_DAP4_SCLK_PP7, "DAP4_SCLK PP7"),
0313 PINCTRL_PIN(TEGRA_PIN_KB_COL0_PQ0, "KB_COL0 PQ0"),
0314 PINCTRL_PIN(TEGRA_PIN_KB_COL1_PQ1, "KB_COL1 PQ1"),
0315 PINCTRL_PIN(TEGRA_PIN_KB_COL2_PQ2, "KB_COL2 PQ2"),
0316 PINCTRL_PIN(TEGRA_PIN_KB_COL3_PQ3, "KB_COL3 PQ3"),
0317 PINCTRL_PIN(TEGRA_PIN_KB_COL4_PQ4, "KB_COL4 PQ4"),
0318 PINCTRL_PIN(TEGRA_PIN_KB_COL5_PQ5, "KB_COL5 PQ5"),
0319 PINCTRL_PIN(TEGRA_PIN_KB_COL6_PQ6, "KB_COL6 PQ6"),
0320 PINCTRL_PIN(TEGRA_PIN_KB_COL7_PQ7, "KB_COL7 PQ7"),
0321 PINCTRL_PIN(TEGRA_PIN_KB_ROW0_PR0, "KB_ROW0 PR0"),
0322 PINCTRL_PIN(TEGRA_PIN_KB_ROW1_PR1, "KB_ROW1 PR1"),
0323 PINCTRL_PIN(TEGRA_PIN_KB_ROW2_PR2, "KB_ROW2 PR2"),
0324 PINCTRL_PIN(TEGRA_PIN_KB_ROW3_PR3, "KB_ROW3 PR3"),
0325 PINCTRL_PIN(TEGRA_PIN_KB_ROW4_PR4, "KB_ROW4 PR4"),
0326 PINCTRL_PIN(TEGRA_PIN_KB_ROW5_PR5, "KB_ROW5 PR5"),
0327 PINCTRL_PIN(TEGRA_PIN_KB_ROW6_PR6, "KB_ROW6 PR6"),
0328 PINCTRL_PIN(TEGRA_PIN_KB_ROW7_PR7, "KB_ROW7 PR7"),
0329 PINCTRL_PIN(TEGRA_PIN_KB_ROW8_PS0, "KB_ROW8 PS0"),
0330 PINCTRL_PIN(TEGRA_PIN_KB_ROW9_PS1, "KB_ROW9 PS1"),
0331 PINCTRL_PIN(TEGRA_PIN_KB_ROW10_PS2, "KB_ROW10 PS2"),
0332 PINCTRL_PIN(TEGRA_PIN_KB_ROW11_PS3, "KB_ROW11 PS3"),
0333 PINCTRL_PIN(TEGRA_PIN_KB_ROW12_PS4, "KB_ROW12 PS4"),
0334 PINCTRL_PIN(TEGRA_PIN_KB_ROW13_PS5, "KB_ROW13 PS5"),
0335 PINCTRL_PIN(TEGRA_PIN_KB_ROW14_PS6, "KB_ROW14 PS6"),
0336 PINCTRL_PIN(TEGRA_PIN_KB_ROW15_PS7, "KB_ROW15 PS7"),
0337 PINCTRL_PIN(TEGRA_PIN_KB_ROW16_PT0, "KB_ROW16 PT0"),
0338 PINCTRL_PIN(TEGRA_PIN_KB_ROW17_PT1, "KB_ROW17 PT1"),
0339 PINCTRL_PIN(TEGRA_PIN_GEN2_I2C_SCL_PT5, "GEN2_I2C_SCL PT5"),
0340 PINCTRL_PIN(TEGRA_PIN_GEN2_I2C_SDA_PT6, "GEN2_I2C_SDA PT6"),
0341 PINCTRL_PIN(TEGRA_PIN_SDMMC4_CMD_PT7, "SDMMC4_CMD PT7"),
0342 PINCTRL_PIN(TEGRA_PIN_PU0, "PU0"),
0343 PINCTRL_PIN(TEGRA_PIN_PU1, "PU1"),
0344 PINCTRL_PIN(TEGRA_PIN_PU2, "PU2"),
0345 PINCTRL_PIN(TEGRA_PIN_PU3, "PU3"),
0346 PINCTRL_PIN(TEGRA_PIN_PU4, "PU4"),
0347 PINCTRL_PIN(TEGRA_PIN_PU5, "PU5"),
0348 PINCTRL_PIN(TEGRA_PIN_PU6, "PU6"),
0349 PINCTRL_PIN(TEGRA_PIN_PV0, "PV0"),
0350 PINCTRL_PIN(TEGRA_PIN_PV1, "PV1"),
0351 PINCTRL_PIN(TEGRA_PIN_SDMMC3_CD_N_PV2, "SDMMC3_CD_N PV2"),
0352 PINCTRL_PIN(TEGRA_PIN_SDMMC1_WP_N_PV3, "SDMMC1_WP_N PV3"),
0353 PINCTRL_PIN(TEGRA_PIN_DDC_SCL_PV4, "DDC_SCL PV4"),
0354 PINCTRL_PIN(TEGRA_PIN_DDC_SDA_PV5, "DDC_SDA PV5"),
0355 PINCTRL_PIN(TEGRA_PIN_GPIO_W2_AUD_PW2, "GPIO_W2_AUD PW2"),
0356 PINCTRL_PIN(TEGRA_PIN_GPIO_W3_AUD_PW3, "GPIO_W3_AUD PW3"),
0357 PINCTRL_PIN(TEGRA_PIN_DAP_MCLK1_PW4, "DAP_MCLK1 PW4"),
0358 PINCTRL_PIN(TEGRA_PIN_CLK2_OUT_PW5, "CLK2_OUT PW5"),
0359 PINCTRL_PIN(TEGRA_PIN_UART3_TXD_PW6, "UART3_TXD PW6"),
0360 PINCTRL_PIN(TEGRA_PIN_UART3_RXD_PW7, "UART3_RXD PW7"),
0361 PINCTRL_PIN(TEGRA_PIN_DVFS_PWM_PX0, "DVFS_PWM PX0"),
0362 PINCTRL_PIN(TEGRA_PIN_GPIO_X1_AUD_PX1, "GPIO_X1_AUD PX1"),
0363 PINCTRL_PIN(TEGRA_PIN_DVFS_CLK_PX2, "DVFS_CLK PX2"),
0364 PINCTRL_PIN(TEGRA_PIN_GPIO_X3_AUD_PX3, "GPIO_X3_AUD PX3"),
0365 PINCTRL_PIN(TEGRA_PIN_GPIO_X4_AUD_PX4, "GPIO_X4_AUD PX4"),
0366 PINCTRL_PIN(TEGRA_PIN_GPIO_X5_AUD_PX5, "GPIO_X5_AUD PX5"),
0367 PINCTRL_PIN(TEGRA_PIN_GPIO_X6_AUD_PX6, "GPIO_X6_AUD PX6"),
0368 PINCTRL_PIN(TEGRA_PIN_GPIO_X7_AUD_PX7, "GPIO_X7_AUD PX7"),
0369 PINCTRL_PIN(TEGRA_PIN_ULPI_CLK_PY0, "ULPI_CLK PY0"),
0370 PINCTRL_PIN(TEGRA_PIN_ULPI_DIR_PY1, "ULPI_DIR PY1"),
0371 PINCTRL_PIN(TEGRA_PIN_ULPI_NXT_PY2, "ULPI_NXT PY2"),
0372 PINCTRL_PIN(TEGRA_PIN_ULPI_STP_PY3, "ULPI_STP PY3"),
0373 PINCTRL_PIN(TEGRA_PIN_SDMMC1_DAT3_PY4, "SDMMC1_DAT3 PY4"),
0374 PINCTRL_PIN(TEGRA_PIN_SDMMC1_DAT2_PY5, "SDMMC1_DAT2 PY5"),
0375 PINCTRL_PIN(TEGRA_PIN_SDMMC1_DAT1_PY6, "SDMMC1_DAT1 PY6"),
0376 PINCTRL_PIN(TEGRA_PIN_SDMMC1_DAT0_PY7, "SDMMC1_DAT0 PY7"),
0377 PINCTRL_PIN(TEGRA_PIN_SDMMC1_CLK_PZ0, "SDMMC1_CLK PZ0"),
0378 PINCTRL_PIN(TEGRA_PIN_SDMMC1_CMD_PZ1, "SDMMC1_CMD PZ1"),
0379 PINCTRL_PIN(TEGRA_PIN_PWR_I2C_SCL_PZ6, "PWR_I2C_SCL PZ6"),
0380 PINCTRL_PIN(TEGRA_PIN_PWR_I2C_SDA_PZ7, "PWR_I2C_SDA PZ7"),
0381 PINCTRL_PIN(TEGRA_PIN_SDMMC4_DAT0_PAA0, "SDMMC4_DAT0 PAA0"),
0382 PINCTRL_PIN(TEGRA_PIN_SDMMC4_DAT1_PAA1, "SDMMC4_DAT1 PAA1"),
0383 PINCTRL_PIN(TEGRA_PIN_SDMMC4_DAT2_PAA2, "SDMMC4_DAT2 PAA2"),
0384 PINCTRL_PIN(TEGRA_PIN_SDMMC4_DAT3_PAA3, "SDMMC4_DAT3 PAA3"),
0385 PINCTRL_PIN(TEGRA_PIN_SDMMC4_DAT4_PAA4, "SDMMC4_DAT4 PAA4"),
0386 PINCTRL_PIN(TEGRA_PIN_SDMMC4_DAT5_PAA5, "SDMMC4_DAT5 PAA5"),
0387 PINCTRL_PIN(TEGRA_PIN_SDMMC4_DAT6_PAA6, "SDMMC4_DAT6 PAA6"),
0388 PINCTRL_PIN(TEGRA_PIN_SDMMC4_DAT7_PAA7, "SDMMC4_DAT7 PAA7"),
0389 PINCTRL_PIN(TEGRA_PIN_PBB0, "PBB0"),
0390 PINCTRL_PIN(TEGRA_PIN_CAM_I2C_SCL_PBB1, "CAM_I2C_SCL PBB1"),
0391 PINCTRL_PIN(TEGRA_PIN_CAM_I2C_SDA_PBB2, "CAM_I2C_SDA PBB2"),
0392 PINCTRL_PIN(TEGRA_PIN_PBB3, "PBB3"),
0393 PINCTRL_PIN(TEGRA_PIN_PBB4, "PBB4"),
0394 PINCTRL_PIN(TEGRA_PIN_PBB5, "PBB5"),
0395 PINCTRL_PIN(TEGRA_PIN_PBB6, "PBB6"),
0396 PINCTRL_PIN(TEGRA_PIN_PBB7, "PBB7"),
0397 PINCTRL_PIN(TEGRA_PIN_CAM_MCLK_PCC0, "CAM_MCLK PCC0"),
0398 PINCTRL_PIN(TEGRA_PIN_PCC1, "PCC1"),
0399 PINCTRL_PIN(TEGRA_PIN_PCC2, "PCC2"),
0400 PINCTRL_PIN(TEGRA_PIN_SDMMC4_CLK_PCC4, "SDMMC4_CLK PCC4"),
0401 PINCTRL_PIN(TEGRA_PIN_CLK2_REQ_PCC5, "CLK2_REQ PCC5"),
0402 PINCTRL_PIN(TEGRA_PIN_PEX_L0_RST_N_PDD1, "PEX_L0_RST_N PDD1"),
0403 PINCTRL_PIN(TEGRA_PIN_PEX_L0_CLKREQ_N_PDD2, "PEX_L0_CLKREQ_N PDD2"),
0404 PINCTRL_PIN(TEGRA_PIN_PEX_WAKE_N_PDD3, "PEX_WAKE_N PDD3"),
0405 PINCTRL_PIN(TEGRA_PIN_PEX_L1_RST_N_PDD5, "PEX_L1_RST_N PDD5"),
0406 PINCTRL_PIN(TEGRA_PIN_PEX_L1_CLKREQ_N_PDD6, "PEX_L1_CLKREQ_N PDD6"),
0407 PINCTRL_PIN(TEGRA_PIN_CLK3_OUT_PEE0, "CLK3_OUT PEE0"),
0408 PINCTRL_PIN(TEGRA_PIN_CLK3_REQ_PEE1, "CLK3_REQ PEE1"),
0409 PINCTRL_PIN(TEGRA_PIN_DAP_MCLK1_REQ_PEE2, "DAP_MCLK1_REQ PEE2"),
0410 PINCTRL_PIN(TEGRA_PIN_HDMI_CEC_PEE3, "HDMI_CEC PEE3"),
0411 PINCTRL_PIN(TEGRA_PIN_SDMMC3_CLK_LB_OUT_PEE4, "SDMMC3_CLK_LB_OUT PEE4"),
0412 PINCTRL_PIN(TEGRA_PIN_SDMMC3_CLK_LB_IN_PEE5, "SDMMC3_CLK_LB_IN PEE5"),
0413 PINCTRL_PIN(TEGRA_PIN_DP_HPD_PFF0, "DP_HPD PFF0"),
0414 PINCTRL_PIN(TEGRA_PIN_USB_VBUS_EN2_PFF1, "USB_VBUS_EN2 PFF1"),
0415 PINCTRL_PIN(TEGRA_PIN_PFF2, "PFF2"),
0416 PINCTRL_PIN(TEGRA_PIN_CORE_PWR_REQ, "CORE_PWR_REQ"),
0417 PINCTRL_PIN(TEGRA_PIN_CPU_PWR_REQ, "CPU_PWR_REQ"),
0418 PINCTRL_PIN(TEGRA_PIN_PWR_INT_N, "PWR_INT_N"),
0419 PINCTRL_PIN(TEGRA_PIN_GMI_CLK_LB, "GMI_CLK_LB"),
0420 PINCTRL_PIN(TEGRA_PIN_RESET_OUT_N, "RESET_OUT_N"),
0421 PINCTRL_PIN(TEGRA_PIN_OWR, "OWR"),
0422 PINCTRL_PIN(TEGRA_PIN_CLK_32K_IN, "CLK_32K_IN"),
0423 PINCTRL_PIN(TEGRA_PIN_JTAG_RTCK, "JTAG_RTCK"),
0424 PINCTRL_PIN(TEGRA_PIN_DSI_B_CLK_P, "DSI_B_CLK_P"),
0425 PINCTRL_PIN(TEGRA_PIN_DSI_B_CLK_N, "DSI_B_CLK_N"),
0426 PINCTRL_PIN(TEGRA_PIN_DSI_B_D0_P, "DSI_B_D0_P"),
0427 PINCTRL_PIN(TEGRA_PIN_DSI_B_D0_N, "DSI_B_D0_N"),
0428 PINCTRL_PIN(TEGRA_PIN_DSI_B_D1_P, "DSI_B_D1_P"),
0429 PINCTRL_PIN(TEGRA_PIN_DSI_B_D1_N, "DSI_B_D1_N"),
0430 PINCTRL_PIN(TEGRA_PIN_DSI_B_D2_P, "DSI_B_D2_P"),
0431 PINCTRL_PIN(TEGRA_PIN_DSI_B_D2_N, "DSI_B_D2_N"),
0432 PINCTRL_PIN(TEGRA_PIN_DSI_B_D3_P, "DSI_B_D3_P"),
0433 PINCTRL_PIN(TEGRA_PIN_DSI_B_D3_N, "DSI_B_D3_N"),
0434 };
0435
0436 static const unsigned clk_32k_out_pa0_pins[] = {
0437 TEGRA_PIN_CLK_32K_OUT_PA0,
0438 };
0439
0440 static const unsigned uart3_cts_n_pa1_pins[] = {
0441 TEGRA_PIN_UART3_CTS_N_PA1,
0442 };
0443
0444 static const unsigned dap2_fs_pa2_pins[] = {
0445 TEGRA_PIN_DAP2_FS_PA2,
0446 };
0447
0448 static const unsigned dap2_sclk_pa3_pins[] = {
0449 TEGRA_PIN_DAP2_SCLK_PA3,
0450 };
0451
0452 static const unsigned dap2_din_pa4_pins[] = {
0453 TEGRA_PIN_DAP2_DIN_PA4,
0454 };
0455
0456 static const unsigned dap2_dout_pa5_pins[] = {
0457 TEGRA_PIN_DAP2_DOUT_PA5,
0458 };
0459
0460 static const unsigned sdmmc3_clk_pa6_pins[] = {
0461 TEGRA_PIN_SDMMC3_CLK_PA6,
0462 };
0463
0464 static const unsigned sdmmc3_cmd_pa7_pins[] = {
0465 TEGRA_PIN_SDMMC3_CMD_PA7,
0466 };
0467
0468 static const unsigned pb0_pins[] = {
0469 TEGRA_PIN_PB0,
0470 };
0471
0472 static const unsigned pb1_pins[] = {
0473 TEGRA_PIN_PB1,
0474 };
0475
0476 static const unsigned sdmmc3_dat3_pb4_pins[] = {
0477 TEGRA_PIN_SDMMC3_DAT3_PB4,
0478 };
0479
0480 static const unsigned sdmmc3_dat2_pb5_pins[] = {
0481 TEGRA_PIN_SDMMC3_DAT2_PB5,
0482 };
0483
0484 static const unsigned sdmmc3_dat1_pb6_pins[] = {
0485 TEGRA_PIN_SDMMC3_DAT1_PB6,
0486 };
0487
0488 static const unsigned sdmmc3_dat0_pb7_pins[] = {
0489 TEGRA_PIN_SDMMC3_DAT0_PB7,
0490 };
0491
0492 static const unsigned uart3_rts_n_pc0_pins[] = {
0493 TEGRA_PIN_UART3_RTS_N_PC0,
0494 };
0495
0496 static const unsigned uart2_txd_pc2_pins[] = {
0497 TEGRA_PIN_UART2_TXD_PC2,
0498 };
0499
0500 static const unsigned uart2_rxd_pc3_pins[] = {
0501 TEGRA_PIN_UART2_RXD_PC3,
0502 };
0503
0504 static const unsigned gen1_i2c_scl_pc4_pins[] = {
0505 TEGRA_PIN_GEN1_I2C_SCL_PC4,
0506 };
0507
0508 static const unsigned gen1_i2c_sda_pc5_pins[] = {
0509 TEGRA_PIN_GEN1_I2C_SDA_PC5,
0510 };
0511
0512 static const unsigned pc7_pins[] = {
0513 TEGRA_PIN_PC7,
0514 };
0515
0516 static const unsigned pg0_pins[] = {
0517 TEGRA_PIN_PG0,
0518 };
0519
0520 static const unsigned pg1_pins[] = {
0521 TEGRA_PIN_PG1,
0522 };
0523
0524 static const unsigned pg2_pins[] = {
0525 TEGRA_PIN_PG2,
0526 };
0527
0528 static const unsigned pg3_pins[] = {
0529 TEGRA_PIN_PG3,
0530 };
0531
0532 static const unsigned pg4_pins[] = {
0533 TEGRA_PIN_PG4,
0534 };
0535
0536 static const unsigned pg5_pins[] = {
0537 TEGRA_PIN_PG5,
0538 };
0539
0540 static const unsigned pg6_pins[] = {
0541 TEGRA_PIN_PG6,
0542 };
0543
0544 static const unsigned pg7_pins[] = {
0545 TEGRA_PIN_PG7,
0546 };
0547
0548 static const unsigned ph0_pins[] = {
0549 TEGRA_PIN_PH0,
0550 };
0551
0552 static const unsigned ph1_pins[] = {
0553 TEGRA_PIN_PH1,
0554 };
0555
0556 static const unsigned ph2_pins[] = {
0557 TEGRA_PIN_PH2,
0558 };
0559
0560 static const unsigned ph3_pins[] = {
0561 TEGRA_PIN_PH3,
0562 };
0563
0564 static const unsigned ph4_pins[] = {
0565 TEGRA_PIN_PH4,
0566 };
0567
0568 static const unsigned ph5_pins[] = {
0569 TEGRA_PIN_PH5,
0570 };
0571
0572 static const unsigned ph6_pins[] = {
0573 TEGRA_PIN_PH6,
0574 };
0575
0576 static const unsigned ph7_pins[] = {
0577 TEGRA_PIN_PH7,
0578 };
0579
0580 static const unsigned pi0_pins[] = {
0581 TEGRA_PIN_PI0,
0582 };
0583
0584 static const unsigned pi1_pins[] = {
0585 TEGRA_PIN_PI1,
0586 };
0587
0588 static const unsigned pi2_pins[] = {
0589 TEGRA_PIN_PI2,
0590 };
0591
0592 static const unsigned pi3_pins[] = {
0593 TEGRA_PIN_PI3,
0594 };
0595
0596 static const unsigned pi4_pins[] = {
0597 TEGRA_PIN_PI4,
0598 };
0599
0600 static const unsigned pi5_pins[] = {
0601 TEGRA_PIN_PI5,
0602 };
0603
0604 static const unsigned pi6_pins[] = {
0605 TEGRA_PIN_PI6,
0606 };
0607
0608 static const unsigned pi7_pins[] = {
0609 TEGRA_PIN_PI7,
0610 };
0611
0612 static const unsigned pj0_pins[] = {
0613 TEGRA_PIN_PJ0,
0614 };
0615
0616 static const unsigned pj2_pins[] = {
0617 TEGRA_PIN_PJ2,
0618 };
0619
0620 static const unsigned uart2_cts_n_pj5_pins[] = {
0621 TEGRA_PIN_UART2_CTS_N_PJ5,
0622 };
0623
0624 static const unsigned uart2_rts_n_pj6_pins[] = {
0625 TEGRA_PIN_UART2_RTS_N_PJ6,
0626 };
0627
0628 static const unsigned pj7_pins[] = {
0629 TEGRA_PIN_PJ7,
0630 };
0631
0632 static const unsigned pk0_pins[] = {
0633 TEGRA_PIN_PK0,
0634 };
0635
0636 static const unsigned pk1_pins[] = {
0637 TEGRA_PIN_PK1,
0638 };
0639
0640 static const unsigned pk2_pins[] = {
0641 TEGRA_PIN_PK2,
0642 };
0643
0644 static const unsigned pk3_pins[] = {
0645 TEGRA_PIN_PK3,
0646 };
0647
0648 static const unsigned pk4_pins[] = {
0649 TEGRA_PIN_PK4,
0650 };
0651
0652 static const unsigned spdif_out_pk5_pins[] = {
0653 TEGRA_PIN_SPDIF_OUT_PK5,
0654 };
0655
0656 static const unsigned spdif_in_pk6_pins[] = {
0657 TEGRA_PIN_SPDIF_IN_PK6,
0658 };
0659
0660 static const unsigned pk7_pins[] = {
0661 TEGRA_PIN_PK7,
0662 };
0663
0664 static const unsigned dap1_fs_pn0_pins[] = {
0665 TEGRA_PIN_DAP1_FS_PN0,
0666 };
0667
0668 static const unsigned dap1_din_pn1_pins[] = {
0669 TEGRA_PIN_DAP1_DIN_PN1,
0670 };
0671
0672 static const unsigned dap1_dout_pn2_pins[] = {
0673 TEGRA_PIN_DAP1_DOUT_PN2,
0674 };
0675
0676 static const unsigned dap1_sclk_pn3_pins[] = {
0677 TEGRA_PIN_DAP1_SCLK_PN3,
0678 };
0679
0680 static const unsigned usb_vbus_en0_pn4_pins[] = {
0681 TEGRA_PIN_USB_VBUS_EN0_PN4,
0682 };
0683
0684 static const unsigned usb_vbus_en1_pn5_pins[] = {
0685 TEGRA_PIN_USB_VBUS_EN1_PN5,
0686 };
0687
0688 static const unsigned hdmi_int_pn7_pins[] = {
0689 TEGRA_PIN_HDMI_INT_PN7,
0690 };
0691
0692 static const unsigned ulpi_data7_po0_pins[] = {
0693 TEGRA_PIN_ULPI_DATA7_PO0,
0694 };
0695
0696 static const unsigned ulpi_data0_po1_pins[] = {
0697 TEGRA_PIN_ULPI_DATA0_PO1,
0698 };
0699
0700 static const unsigned ulpi_data1_po2_pins[] = {
0701 TEGRA_PIN_ULPI_DATA1_PO2,
0702 };
0703
0704 static const unsigned ulpi_data2_po3_pins[] = {
0705 TEGRA_PIN_ULPI_DATA2_PO3,
0706 };
0707
0708 static const unsigned ulpi_data3_po4_pins[] = {
0709 TEGRA_PIN_ULPI_DATA3_PO4,
0710 };
0711
0712 static const unsigned ulpi_data4_po5_pins[] = {
0713 TEGRA_PIN_ULPI_DATA4_PO5,
0714 };
0715
0716 static const unsigned ulpi_data5_po6_pins[] = {
0717 TEGRA_PIN_ULPI_DATA5_PO6,
0718 };
0719
0720 static const unsigned ulpi_data6_po7_pins[] = {
0721 TEGRA_PIN_ULPI_DATA6_PO7,
0722 };
0723
0724 static const unsigned dap3_fs_pp0_pins[] = {
0725 TEGRA_PIN_DAP3_FS_PP0,
0726 };
0727
0728 static const unsigned dap3_din_pp1_pins[] = {
0729 TEGRA_PIN_DAP3_DIN_PP1,
0730 };
0731
0732 static const unsigned dap3_dout_pp2_pins[] = {
0733 TEGRA_PIN_DAP3_DOUT_PP2,
0734 };
0735
0736 static const unsigned dap3_sclk_pp3_pins[] = {
0737 TEGRA_PIN_DAP3_SCLK_PP3,
0738 };
0739
0740 static const unsigned dap4_fs_pp4_pins[] = {
0741 TEGRA_PIN_DAP4_FS_PP4,
0742 };
0743
0744 static const unsigned dap4_din_pp5_pins[] = {
0745 TEGRA_PIN_DAP4_DIN_PP5,
0746 };
0747
0748 static const unsigned dap4_dout_pp6_pins[] = {
0749 TEGRA_PIN_DAP4_DOUT_PP6,
0750 };
0751
0752 static const unsigned dap4_sclk_pp7_pins[] = {
0753 TEGRA_PIN_DAP4_SCLK_PP7,
0754 };
0755
0756 static const unsigned kb_col0_pq0_pins[] = {
0757 TEGRA_PIN_KB_COL0_PQ0,
0758 };
0759
0760 static const unsigned kb_col1_pq1_pins[] = {
0761 TEGRA_PIN_KB_COL1_PQ1,
0762 };
0763
0764 static const unsigned kb_col2_pq2_pins[] = {
0765 TEGRA_PIN_KB_COL2_PQ2,
0766 };
0767
0768 static const unsigned kb_col3_pq3_pins[] = {
0769 TEGRA_PIN_KB_COL3_PQ3,
0770 };
0771
0772 static const unsigned kb_col4_pq4_pins[] = {
0773 TEGRA_PIN_KB_COL4_PQ4,
0774 };
0775
0776 static const unsigned kb_col5_pq5_pins[] = {
0777 TEGRA_PIN_KB_COL5_PQ5,
0778 };
0779
0780 static const unsigned kb_col6_pq6_pins[] = {
0781 TEGRA_PIN_KB_COL6_PQ6,
0782 };
0783
0784 static const unsigned kb_col7_pq7_pins[] = {
0785 TEGRA_PIN_KB_COL7_PQ7,
0786 };
0787
0788 static const unsigned kb_row0_pr0_pins[] = {
0789 TEGRA_PIN_KB_ROW0_PR0,
0790 };
0791
0792 static const unsigned kb_row1_pr1_pins[] = {
0793 TEGRA_PIN_KB_ROW1_PR1,
0794 };
0795
0796 static const unsigned kb_row2_pr2_pins[] = {
0797 TEGRA_PIN_KB_ROW2_PR2,
0798 };
0799
0800 static const unsigned kb_row3_pr3_pins[] = {
0801 TEGRA_PIN_KB_ROW3_PR3,
0802 };
0803
0804 static const unsigned kb_row4_pr4_pins[] = {
0805 TEGRA_PIN_KB_ROW4_PR4,
0806 };
0807
0808 static const unsigned kb_row5_pr5_pins[] = {
0809 TEGRA_PIN_KB_ROW5_PR5,
0810 };
0811
0812 static const unsigned kb_row6_pr6_pins[] = {
0813 TEGRA_PIN_KB_ROW6_PR6,
0814 };
0815
0816 static const unsigned kb_row7_pr7_pins[] = {
0817 TEGRA_PIN_KB_ROW7_PR7,
0818 };
0819
0820 static const unsigned kb_row8_ps0_pins[] = {
0821 TEGRA_PIN_KB_ROW8_PS0,
0822 };
0823
0824 static const unsigned kb_row9_ps1_pins[] = {
0825 TEGRA_PIN_KB_ROW9_PS1,
0826 };
0827
0828 static const unsigned kb_row10_ps2_pins[] = {
0829 TEGRA_PIN_KB_ROW10_PS2,
0830 };
0831
0832 static const unsigned kb_row11_ps3_pins[] = {
0833 TEGRA_PIN_KB_ROW11_PS3,
0834 };
0835
0836 static const unsigned kb_row12_ps4_pins[] = {
0837 TEGRA_PIN_KB_ROW12_PS4,
0838 };
0839
0840 static const unsigned kb_row13_ps5_pins[] = {
0841 TEGRA_PIN_KB_ROW13_PS5,
0842 };
0843
0844 static const unsigned kb_row14_ps6_pins[] = {
0845 TEGRA_PIN_KB_ROW14_PS6,
0846 };
0847
0848 static const unsigned kb_row15_ps7_pins[] = {
0849 TEGRA_PIN_KB_ROW15_PS7,
0850 };
0851
0852 static const unsigned kb_row16_pt0_pins[] = {
0853 TEGRA_PIN_KB_ROW16_PT0,
0854 };
0855
0856 static const unsigned kb_row17_pt1_pins[] = {
0857 TEGRA_PIN_KB_ROW17_PT1,
0858 };
0859
0860 static const unsigned gen2_i2c_scl_pt5_pins[] = {
0861 TEGRA_PIN_GEN2_I2C_SCL_PT5,
0862 };
0863
0864 static const unsigned gen2_i2c_sda_pt6_pins[] = {
0865 TEGRA_PIN_GEN2_I2C_SDA_PT6,
0866 };
0867
0868 static const unsigned sdmmc4_cmd_pt7_pins[] = {
0869 TEGRA_PIN_SDMMC4_CMD_PT7,
0870 };
0871
0872 static const unsigned pu0_pins[] = {
0873 TEGRA_PIN_PU0,
0874 };
0875
0876 static const unsigned pu1_pins[] = {
0877 TEGRA_PIN_PU1,
0878 };
0879
0880 static const unsigned pu2_pins[] = {
0881 TEGRA_PIN_PU2,
0882 };
0883
0884 static const unsigned pu3_pins[] = {
0885 TEGRA_PIN_PU3,
0886 };
0887
0888 static const unsigned pu4_pins[] = {
0889 TEGRA_PIN_PU4,
0890 };
0891
0892 static const unsigned pu5_pins[] = {
0893 TEGRA_PIN_PU5,
0894 };
0895
0896 static const unsigned pu6_pins[] = {
0897 TEGRA_PIN_PU6,
0898 };
0899
0900 static const unsigned pv0_pins[] = {
0901 TEGRA_PIN_PV0,
0902 };
0903
0904 static const unsigned pv1_pins[] = {
0905 TEGRA_PIN_PV1,
0906 };
0907
0908 static const unsigned sdmmc3_cd_n_pv2_pins[] = {
0909 TEGRA_PIN_SDMMC3_CD_N_PV2,
0910 };
0911
0912 static const unsigned sdmmc1_wp_n_pv3_pins[] = {
0913 TEGRA_PIN_SDMMC1_WP_N_PV3,
0914 };
0915
0916 static const unsigned ddc_scl_pv4_pins[] = {
0917 TEGRA_PIN_DDC_SCL_PV4,
0918 };
0919
0920 static const unsigned ddc_sda_pv5_pins[] = {
0921 TEGRA_PIN_DDC_SDA_PV5,
0922 };
0923
0924 static const unsigned gpio_w2_aud_pw2_pins[] = {
0925 TEGRA_PIN_GPIO_W2_AUD_PW2,
0926 };
0927
0928 static const unsigned gpio_w3_aud_pw3_pins[] = {
0929 TEGRA_PIN_GPIO_W3_AUD_PW3,
0930 };
0931
0932 static const unsigned dap_mclk1_pw4_pins[] = {
0933 TEGRA_PIN_DAP_MCLK1_PW4,
0934 };
0935
0936 static const unsigned clk2_out_pw5_pins[] = {
0937 TEGRA_PIN_CLK2_OUT_PW5,
0938 };
0939
0940 static const unsigned uart3_txd_pw6_pins[] = {
0941 TEGRA_PIN_UART3_TXD_PW6,
0942 };
0943
0944 static const unsigned uart3_rxd_pw7_pins[] = {
0945 TEGRA_PIN_UART3_RXD_PW7,
0946 };
0947
0948 static const unsigned dvfs_pwm_px0_pins[] = {
0949 TEGRA_PIN_DVFS_PWM_PX0,
0950 };
0951
0952 static const unsigned gpio_x1_aud_px1_pins[] = {
0953 TEGRA_PIN_GPIO_X1_AUD_PX1,
0954 };
0955
0956 static const unsigned dvfs_clk_px2_pins[] = {
0957 TEGRA_PIN_DVFS_CLK_PX2,
0958 };
0959
0960 static const unsigned gpio_x3_aud_px3_pins[] = {
0961 TEGRA_PIN_GPIO_X3_AUD_PX3,
0962 };
0963
0964 static const unsigned gpio_x4_aud_px4_pins[] = {
0965 TEGRA_PIN_GPIO_X4_AUD_PX4,
0966 };
0967
0968 static const unsigned gpio_x5_aud_px5_pins[] = {
0969 TEGRA_PIN_GPIO_X5_AUD_PX5,
0970 };
0971
0972 static const unsigned gpio_x6_aud_px6_pins[] = {
0973 TEGRA_PIN_GPIO_X6_AUD_PX6,
0974 };
0975
0976 static const unsigned gpio_x7_aud_px7_pins[] = {
0977 TEGRA_PIN_GPIO_X7_AUD_PX7,
0978 };
0979
0980 static const unsigned ulpi_clk_py0_pins[] = {
0981 TEGRA_PIN_ULPI_CLK_PY0,
0982 };
0983
0984 static const unsigned ulpi_dir_py1_pins[] = {
0985 TEGRA_PIN_ULPI_DIR_PY1,
0986 };
0987
0988 static const unsigned ulpi_nxt_py2_pins[] = {
0989 TEGRA_PIN_ULPI_NXT_PY2,
0990 };
0991
0992 static const unsigned ulpi_stp_py3_pins[] = {
0993 TEGRA_PIN_ULPI_STP_PY3,
0994 };
0995
0996 static const unsigned sdmmc1_dat3_py4_pins[] = {
0997 TEGRA_PIN_SDMMC1_DAT3_PY4,
0998 };
0999
1000 static const unsigned sdmmc1_dat2_py5_pins[] = {
1001 TEGRA_PIN_SDMMC1_DAT2_PY5,
1002 };
1003
1004 static const unsigned sdmmc1_dat1_py6_pins[] = {
1005 TEGRA_PIN_SDMMC1_DAT1_PY6,
1006 };
1007
1008 static const unsigned sdmmc1_dat0_py7_pins[] = {
1009 TEGRA_PIN_SDMMC1_DAT0_PY7,
1010 };
1011
1012 static const unsigned sdmmc1_clk_pz0_pins[] = {
1013 TEGRA_PIN_SDMMC1_CLK_PZ0,
1014 };
1015
1016 static const unsigned sdmmc1_cmd_pz1_pins[] = {
1017 TEGRA_PIN_SDMMC1_CMD_PZ1,
1018 };
1019
1020 static const unsigned pwr_i2c_scl_pz6_pins[] = {
1021 TEGRA_PIN_PWR_I2C_SCL_PZ6,
1022 };
1023
1024 static const unsigned pwr_i2c_sda_pz7_pins[] = {
1025 TEGRA_PIN_PWR_I2C_SDA_PZ7,
1026 };
1027
1028 static const unsigned sdmmc4_dat0_paa0_pins[] = {
1029 TEGRA_PIN_SDMMC4_DAT0_PAA0,
1030 };
1031
1032 static const unsigned sdmmc4_dat1_paa1_pins[] = {
1033 TEGRA_PIN_SDMMC4_DAT1_PAA1,
1034 };
1035
1036 static const unsigned sdmmc4_dat2_paa2_pins[] = {
1037 TEGRA_PIN_SDMMC4_DAT2_PAA2,
1038 };
1039
1040 static const unsigned sdmmc4_dat3_paa3_pins[] = {
1041 TEGRA_PIN_SDMMC4_DAT3_PAA3,
1042 };
1043
1044 static const unsigned sdmmc4_dat4_paa4_pins[] = {
1045 TEGRA_PIN_SDMMC4_DAT4_PAA4,
1046 };
1047
1048 static const unsigned sdmmc4_dat5_paa5_pins[] = {
1049 TEGRA_PIN_SDMMC4_DAT5_PAA5,
1050 };
1051
1052 static const unsigned sdmmc4_dat6_paa6_pins[] = {
1053 TEGRA_PIN_SDMMC4_DAT6_PAA6,
1054 };
1055
1056 static const unsigned sdmmc4_dat7_paa7_pins[] = {
1057 TEGRA_PIN_SDMMC4_DAT7_PAA7,
1058 };
1059
1060 static const unsigned pbb0_pins[] = {
1061 TEGRA_PIN_PBB0,
1062 };
1063
1064 static const unsigned cam_i2c_scl_pbb1_pins[] = {
1065 TEGRA_PIN_CAM_I2C_SCL_PBB1,
1066 };
1067
1068 static const unsigned cam_i2c_sda_pbb2_pins[] = {
1069 TEGRA_PIN_CAM_I2C_SDA_PBB2,
1070 };
1071
1072 static const unsigned pbb3_pins[] = {
1073 TEGRA_PIN_PBB3,
1074 };
1075
1076 static const unsigned pbb4_pins[] = {
1077 TEGRA_PIN_PBB4,
1078 };
1079
1080 static const unsigned pbb5_pins[] = {
1081 TEGRA_PIN_PBB5,
1082 };
1083
1084 static const unsigned pbb6_pins[] = {
1085 TEGRA_PIN_PBB6,
1086 };
1087
1088 static const unsigned pbb7_pins[] = {
1089 TEGRA_PIN_PBB7,
1090 };
1091
1092 static const unsigned cam_mclk_pcc0_pins[] = {
1093 TEGRA_PIN_CAM_MCLK_PCC0,
1094 };
1095
1096 static const unsigned pcc1_pins[] = {
1097 TEGRA_PIN_PCC1,
1098 };
1099
1100 static const unsigned pcc2_pins[] = {
1101 TEGRA_PIN_PCC2,
1102 };
1103
1104 static const unsigned sdmmc4_clk_pcc4_pins[] = {
1105 TEGRA_PIN_SDMMC4_CLK_PCC4,
1106 };
1107
1108 static const unsigned clk2_req_pcc5_pins[] = {
1109 TEGRA_PIN_CLK2_REQ_PCC5,
1110 };
1111
1112 static const unsigned pex_l0_rst_n_pdd1_pins[] = {
1113 TEGRA_PIN_PEX_L0_RST_N_PDD1,
1114 };
1115
1116 static const unsigned pex_l0_clkreq_n_pdd2_pins[] = {
1117 TEGRA_PIN_PEX_L0_CLKREQ_N_PDD2,
1118 };
1119
1120 static const unsigned pex_wake_n_pdd3_pins[] = {
1121 TEGRA_PIN_PEX_WAKE_N_PDD3,
1122 };
1123
1124 static const unsigned pex_l1_rst_n_pdd5_pins[] = {
1125 TEGRA_PIN_PEX_L1_RST_N_PDD5,
1126 };
1127
1128 static const unsigned pex_l1_clkreq_n_pdd6_pins[] = {
1129 TEGRA_PIN_PEX_L1_CLKREQ_N_PDD6,
1130 };
1131
1132 static const unsigned clk3_out_pee0_pins[] = {
1133 TEGRA_PIN_CLK3_OUT_PEE0,
1134 };
1135
1136 static const unsigned clk3_req_pee1_pins[] = {
1137 TEGRA_PIN_CLK3_REQ_PEE1,
1138 };
1139
1140 static const unsigned dap_mclk1_req_pee2_pins[] = {
1141 TEGRA_PIN_DAP_MCLK1_REQ_PEE2,
1142 };
1143
1144 static const unsigned hdmi_cec_pee3_pins[] = {
1145 TEGRA_PIN_HDMI_CEC_PEE3,
1146 };
1147
1148 static const unsigned sdmmc3_clk_lb_out_pee4_pins[] = {
1149 TEGRA_PIN_SDMMC3_CLK_LB_OUT_PEE4,
1150 };
1151
1152 static const unsigned sdmmc3_clk_lb_in_pee5_pins[] = {
1153 TEGRA_PIN_SDMMC3_CLK_LB_IN_PEE5,
1154 };
1155
1156 static const unsigned dp_hpd_pff0_pins[] = {
1157 TEGRA_PIN_DP_HPD_PFF0,
1158 };
1159
1160 static const unsigned usb_vbus_en2_pff1_pins[] = {
1161 TEGRA_PIN_USB_VBUS_EN2_PFF1,
1162 };
1163
1164 static const unsigned pff2_pins[] = {
1165 TEGRA_PIN_PFF2,
1166 };
1167
1168 static const unsigned core_pwr_req_pins[] = {
1169 TEGRA_PIN_CORE_PWR_REQ,
1170 };
1171
1172 static const unsigned cpu_pwr_req_pins[] = {
1173 TEGRA_PIN_CPU_PWR_REQ,
1174 };
1175
1176 static const unsigned pwr_int_n_pins[] = {
1177 TEGRA_PIN_PWR_INT_N,
1178 };
1179
1180 static const unsigned gmi_clk_lb_pins[] = {
1181 TEGRA_PIN_GMI_CLK_LB,
1182 };
1183
1184 static const unsigned reset_out_n_pins[] = {
1185 TEGRA_PIN_RESET_OUT_N,
1186 };
1187
1188 static const unsigned owr_pins[] = {
1189 TEGRA_PIN_OWR,
1190 };
1191
1192 static const unsigned clk_32k_in_pins[] = {
1193 TEGRA_PIN_CLK_32K_IN,
1194 };
1195
1196 static const unsigned jtag_rtck_pins[] = {
1197 TEGRA_PIN_JTAG_RTCK,
1198 };
1199
1200 static const unsigned drive_ao1_pins[] = {
1201 TEGRA_PIN_KB_ROW0_PR0,
1202 TEGRA_PIN_KB_ROW1_PR1,
1203 TEGRA_PIN_KB_ROW2_PR2,
1204 TEGRA_PIN_KB_ROW3_PR3,
1205 TEGRA_PIN_KB_ROW4_PR4,
1206 TEGRA_PIN_KB_ROW5_PR5,
1207 TEGRA_PIN_KB_ROW6_PR6,
1208 TEGRA_PIN_KB_ROW7_PR7,
1209 TEGRA_PIN_PWR_I2C_SCL_PZ6,
1210 TEGRA_PIN_PWR_I2C_SDA_PZ7,
1211 };
1212
1213 static const unsigned drive_ao2_pins[] = {
1214 TEGRA_PIN_CLK_32K_OUT_PA0,
1215 TEGRA_PIN_CLK_32K_IN,
1216 TEGRA_PIN_KB_COL0_PQ0,
1217 TEGRA_PIN_KB_COL1_PQ1,
1218 TEGRA_PIN_KB_COL2_PQ2,
1219 TEGRA_PIN_KB_COL3_PQ3,
1220 TEGRA_PIN_KB_COL4_PQ4,
1221 TEGRA_PIN_KB_COL5_PQ5,
1222 TEGRA_PIN_KB_COL6_PQ6,
1223 TEGRA_PIN_KB_COL7_PQ7,
1224 TEGRA_PIN_KB_ROW8_PS0,
1225 TEGRA_PIN_KB_ROW9_PS1,
1226 TEGRA_PIN_KB_ROW10_PS2,
1227 TEGRA_PIN_KB_ROW11_PS3,
1228 TEGRA_PIN_KB_ROW12_PS4,
1229 TEGRA_PIN_KB_ROW13_PS5,
1230 TEGRA_PIN_KB_ROW14_PS6,
1231 TEGRA_PIN_KB_ROW15_PS7,
1232 TEGRA_PIN_KB_ROW16_PT0,
1233 TEGRA_PIN_KB_ROW17_PT1,
1234 TEGRA_PIN_SDMMC3_CD_N_PV2,
1235 TEGRA_PIN_CORE_PWR_REQ,
1236 TEGRA_PIN_CPU_PWR_REQ,
1237 TEGRA_PIN_PWR_INT_N,
1238 };
1239
1240 static const unsigned drive_at1_pins[] = {
1241 TEGRA_PIN_PH0,
1242 TEGRA_PIN_PH1,
1243 TEGRA_PIN_PH2,
1244 TEGRA_PIN_PH3,
1245 };
1246
1247 static const unsigned drive_at2_pins[] = {
1248 TEGRA_PIN_PG0,
1249 TEGRA_PIN_PG1,
1250 TEGRA_PIN_PG2,
1251 TEGRA_PIN_PG3,
1252 TEGRA_PIN_PG4,
1253 TEGRA_PIN_PG5,
1254 TEGRA_PIN_PG6,
1255 TEGRA_PIN_PG7,
1256 TEGRA_PIN_PI0,
1257 TEGRA_PIN_PI1,
1258 TEGRA_PIN_PI3,
1259 TEGRA_PIN_PI4,
1260 TEGRA_PIN_PI7,
1261 TEGRA_PIN_PK0,
1262 TEGRA_PIN_PK2,
1263 };
1264
1265 static const unsigned drive_at3_pins[] = {
1266 TEGRA_PIN_PC7,
1267 TEGRA_PIN_PJ0,
1268 };
1269
1270 static const unsigned drive_at4_pins[] = {
1271 TEGRA_PIN_PB0,
1272 TEGRA_PIN_PB1,
1273 TEGRA_PIN_PJ0,
1274 TEGRA_PIN_PJ7,
1275 TEGRA_PIN_PK7,
1276 };
1277
1278 static const unsigned drive_at5_pins[] = {
1279 TEGRA_PIN_GEN2_I2C_SCL_PT5,
1280 TEGRA_PIN_GEN2_I2C_SDA_PT6,
1281 };
1282
1283 static const unsigned drive_cdev1_pins[] = {
1284 TEGRA_PIN_DAP_MCLK1_PW4,
1285 TEGRA_PIN_DAP_MCLK1_REQ_PEE2,
1286 };
1287
1288 static const unsigned drive_cdev2_pins[] = {
1289 TEGRA_PIN_CLK2_OUT_PW5,
1290 TEGRA_PIN_CLK2_REQ_PCC5,
1291 };
1292
1293 static const unsigned drive_dap1_pins[] = {
1294 TEGRA_PIN_DAP1_FS_PN0,
1295 TEGRA_PIN_DAP1_DIN_PN1,
1296 TEGRA_PIN_DAP1_DOUT_PN2,
1297 TEGRA_PIN_DAP1_SCLK_PN3,
1298 };
1299
1300 static const unsigned drive_dap2_pins[] = {
1301 TEGRA_PIN_DAP2_FS_PA2,
1302 TEGRA_PIN_DAP2_SCLK_PA3,
1303 TEGRA_PIN_DAP2_DIN_PA4,
1304 TEGRA_PIN_DAP2_DOUT_PA5,
1305 };
1306
1307 static const unsigned drive_dap3_pins[] = {
1308 TEGRA_PIN_DAP3_FS_PP0,
1309 TEGRA_PIN_DAP3_DIN_PP1,
1310 TEGRA_PIN_DAP3_DOUT_PP2,
1311 TEGRA_PIN_DAP3_SCLK_PP3,
1312 };
1313
1314 static const unsigned drive_dap4_pins[] = {
1315 TEGRA_PIN_DAP4_FS_PP4,
1316 TEGRA_PIN_DAP4_DIN_PP5,
1317 TEGRA_PIN_DAP4_DOUT_PP6,
1318 TEGRA_PIN_DAP4_SCLK_PP7,
1319 };
1320
1321 static const unsigned drive_dbg_pins[] = {
1322 TEGRA_PIN_GEN1_I2C_SCL_PC4,
1323 TEGRA_PIN_GEN1_I2C_SDA_PC5,
1324 TEGRA_PIN_PU0,
1325 TEGRA_PIN_PU1,
1326 TEGRA_PIN_PU2,
1327 TEGRA_PIN_PU3,
1328 TEGRA_PIN_PU4,
1329 TEGRA_PIN_PU5,
1330 TEGRA_PIN_PU6,
1331 };
1332
1333 static const unsigned drive_sdio3_pins[] = {
1334 TEGRA_PIN_SDMMC3_CLK_PA6,
1335 TEGRA_PIN_SDMMC3_CMD_PA7,
1336 TEGRA_PIN_SDMMC3_DAT3_PB4,
1337 TEGRA_PIN_SDMMC3_DAT2_PB5,
1338 TEGRA_PIN_SDMMC3_DAT1_PB6,
1339 TEGRA_PIN_SDMMC3_DAT0_PB7,
1340 TEGRA_PIN_SDMMC3_CLK_LB_OUT_PEE4,
1341 TEGRA_PIN_SDMMC3_CLK_LB_IN_PEE5,
1342 };
1343
1344 static const unsigned drive_spi_pins[] = {
1345 TEGRA_PIN_DVFS_PWM_PX0,
1346 TEGRA_PIN_GPIO_X1_AUD_PX1,
1347 TEGRA_PIN_DVFS_CLK_PX2,
1348 TEGRA_PIN_GPIO_X3_AUD_PX3,
1349 TEGRA_PIN_GPIO_X4_AUD_PX4,
1350 TEGRA_PIN_GPIO_X5_AUD_PX5,
1351 TEGRA_PIN_GPIO_X6_AUD_PX6,
1352 TEGRA_PIN_GPIO_X7_AUD_PX7,
1353 TEGRA_PIN_GPIO_W2_AUD_PW2,
1354 TEGRA_PIN_GPIO_W3_AUD_PW3,
1355 };
1356
1357 static const unsigned drive_uaa_pins[] = {
1358 TEGRA_PIN_ULPI_DATA0_PO1,
1359 TEGRA_PIN_ULPI_DATA1_PO2,
1360 TEGRA_PIN_ULPI_DATA2_PO3,
1361 TEGRA_PIN_ULPI_DATA3_PO4,
1362 };
1363
1364 static const unsigned drive_uab_pins[] = {
1365 TEGRA_PIN_ULPI_DATA7_PO0,
1366 TEGRA_PIN_ULPI_DATA4_PO5,
1367 TEGRA_PIN_ULPI_DATA5_PO6,
1368 TEGRA_PIN_ULPI_DATA6_PO7,
1369 TEGRA_PIN_PV0,
1370 TEGRA_PIN_PV1,
1371 };
1372
1373 static const unsigned drive_uart2_pins[] = {
1374 TEGRA_PIN_UART2_TXD_PC2,
1375 TEGRA_PIN_UART2_RXD_PC3,
1376 TEGRA_PIN_UART2_CTS_N_PJ5,
1377 TEGRA_PIN_UART2_RTS_N_PJ6,
1378 };
1379
1380 static const unsigned drive_uart3_pins[] = {
1381 TEGRA_PIN_UART3_CTS_N_PA1,
1382 TEGRA_PIN_UART3_RTS_N_PC0,
1383 TEGRA_PIN_UART3_TXD_PW6,
1384 TEGRA_PIN_UART3_RXD_PW7,
1385 };
1386
1387 static const unsigned drive_sdio1_pins[] = {
1388 TEGRA_PIN_SDMMC1_DAT3_PY4,
1389 TEGRA_PIN_SDMMC1_DAT2_PY5,
1390 TEGRA_PIN_SDMMC1_DAT1_PY6,
1391 TEGRA_PIN_SDMMC1_DAT0_PY7,
1392 TEGRA_PIN_SDMMC1_CLK_PZ0,
1393 TEGRA_PIN_SDMMC1_CMD_PZ1,
1394 };
1395
1396 static const unsigned drive_ddc_pins[] = {
1397 TEGRA_PIN_DDC_SCL_PV4,
1398 TEGRA_PIN_DDC_SDA_PV5,
1399 };
1400
1401 static const unsigned drive_gma_pins[] = {
1402 TEGRA_PIN_SDMMC4_CLK_PCC4,
1403 TEGRA_PIN_SDMMC4_CMD_PT7,
1404 TEGRA_PIN_SDMMC4_DAT0_PAA0,
1405 TEGRA_PIN_SDMMC4_DAT1_PAA1,
1406 TEGRA_PIN_SDMMC4_DAT2_PAA2,
1407 TEGRA_PIN_SDMMC4_DAT3_PAA3,
1408 TEGRA_PIN_SDMMC4_DAT4_PAA4,
1409 TEGRA_PIN_SDMMC4_DAT5_PAA5,
1410 TEGRA_PIN_SDMMC4_DAT6_PAA6,
1411 TEGRA_PIN_SDMMC4_DAT7_PAA7,
1412 };
1413
1414 static const unsigned drive_gme_pins[] = {
1415 TEGRA_PIN_PBB0,
1416 TEGRA_PIN_CAM_I2C_SCL_PBB1,
1417 TEGRA_PIN_CAM_I2C_SDA_PBB2,
1418 TEGRA_PIN_PBB3,
1419 TEGRA_PIN_PCC2,
1420 };
1421
1422 static const unsigned drive_gmf_pins[] = {
1423 TEGRA_PIN_PBB4,
1424 TEGRA_PIN_PBB5,
1425 TEGRA_PIN_PBB6,
1426 TEGRA_PIN_PBB7,
1427 };
1428
1429 static const unsigned drive_gmg_pins[] = {
1430 TEGRA_PIN_CAM_MCLK_PCC0,
1431 };
1432
1433 static const unsigned drive_gmh_pins[] = {
1434 TEGRA_PIN_PCC1,
1435 };
1436
1437 static const unsigned drive_owr_pins[] = {
1438 TEGRA_PIN_SDMMC3_CD_N_PV2,
1439 TEGRA_PIN_OWR,
1440 };
1441
1442 static const unsigned drive_uda_pins[] = {
1443 TEGRA_PIN_ULPI_CLK_PY0,
1444 TEGRA_PIN_ULPI_DIR_PY1,
1445 TEGRA_PIN_ULPI_NXT_PY2,
1446 TEGRA_PIN_ULPI_STP_PY3,
1447 };
1448
1449 static const unsigned drive_gpv_pins[] = {
1450 TEGRA_PIN_PEX_L0_RST_N_PDD1,
1451 TEGRA_PIN_PEX_L0_CLKREQ_N_PDD2,
1452 TEGRA_PIN_PEX_WAKE_N_PDD3,
1453 TEGRA_PIN_PEX_L1_RST_N_PDD5,
1454 TEGRA_PIN_PEX_L1_CLKREQ_N_PDD6,
1455 TEGRA_PIN_USB_VBUS_EN2_PFF1,
1456 TEGRA_PIN_PFF2,
1457 };
1458
1459 static const unsigned drive_dev3_pins[] = {
1460 TEGRA_PIN_CLK3_OUT_PEE0,
1461 TEGRA_PIN_CLK3_REQ_PEE1,
1462 };
1463
1464 static const unsigned drive_cec_pins[] = {
1465 TEGRA_PIN_HDMI_CEC_PEE3,
1466 };
1467
1468 static const unsigned drive_at6_pins[] = {
1469 TEGRA_PIN_PK1,
1470 TEGRA_PIN_PK3,
1471 TEGRA_PIN_PK4,
1472 TEGRA_PIN_PI2,
1473 TEGRA_PIN_PI5,
1474 TEGRA_PIN_PI6,
1475 TEGRA_PIN_PH4,
1476 TEGRA_PIN_PH5,
1477 TEGRA_PIN_PH6,
1478 TEGRA_PIN_PH7,
1479 };
1480
1481 static const unsigned drive_dap5_pins[] = {
1482 TEGRA_PIN_SPDIF_IN_PK6,
1483 TEGRA_PIN_SPDIF_OUT_PK5,
1484 TEGRA_PIN_DP_HPD_PFF0,
1485 };
1486
1487 static const unsigned drive_usb_vbus_en_pins[] = {
1488 TEGRA_PIN_USB_VBUS_EN0_PN4,
1489 TEGRA_PIN_USB_VBUS_EN1_PN5,
1490 };
1491
1492 static const unsigned drive_ao3_pins[] = {
1493 TEGRA_PIN_RESET_OUT_N,
1494 };
1495
1496 static const unsigned drive_ao0_pins[] = {
1497 TEGRA_PIN_JTAG_RTCK,
1498 };
1499
1500 static const unsigned drive_hv0_pins[] = {
1501 TEGRA_PIN_HDMI_INT_PN7,
1502 };
1503
1504 static const unsigned drive_sdio4_pins[] = {
1505 TEGRA_PIN_SDMMC1_WP_N_PV3,
1506 };
1507
1508 static const unsigned drive_ao4_pins[] = {
1509 TEGRA_PIN_JTAG_RTCK,
1510 };
1511
1512 static const unsigned mipi_pad_ctrl_dsi_b_pins[] = {
1513 TEGRA_PIN_DSI_B_CLK_P,
1514 TEGRA_PIN_DSI_B_CLK_N,
1515 TEGRA_PIN_DSI_B_D0_P,
1516 TEGRA_PIN_DSI_B_D0_N,
1517 TEGRA_PIN_DSI_B_D1_P,
1518 TEGRA_PIN_DSI_B_D1_N,
1519 TEGRA_PIN_DSI_B_D2_P,
1520 TEGRA_PIN_DSI_B_D2_N,
1521 TEGRA_PIN_DSI_B_D3_P,
1522 TEGRA_PIN_DSI_B_D3_N,
1523 };
1524
1525 enum tegra_mux {
1526 TEGRA_MUX_BLINK,
1527 TEGRA_MUX_CCLA,
1528 TEGRA_MUX_CEC,
1529 TEGRA_MUX_CLDVFS,
1530 TEGRA_MUX_CLK,
1531 TEGRA_MUX_CLK12,
1532 TEGRA_MUX_CPU,
1533 TEGRA_MUX_CSI,
1534 TEGRA_MUX_DAP,
1535 TEGRA_MUX_DAP1,
1536 TEGRA_MUX_DAP2,
1537 TEGRA_MUX_DEV3,
1538 TEGRA_MUX_DISPLAYA,
1539 TEGRA_MUX_DISPLAYA_ALT,
1540 TEGRA_MUX_DISPLAYB,
1541 TEGRA_MUX_DP,
1542 TEGRA_MUX_DSI_B,
1543 TEGRA_MUX_DTV,
1544 TEGRA_MUX_EXTPERIPH1,
1545 TEGRA_MUX_EXTPERIPH2,
1546 TEGRA_MUX_EXTPERIPH3,
1547 TEGRA_MUX_GMI,
1548 TEGRA_MUX_GMI_ALT,
1549 TEGRA_MUX_HDA,
1550 TEGRA_MUX_HSI,
1551 TEGRA_MUX_I2C1,
1552 TEGRA_MUX_I2C2,
1553 TEGRA_MUX_I2C3,
1554 TEGRA_MUX_I2C4,
1555 TEGRA_MUX_I2CPWR,
1556 TEGRA_MUX_I2S0,
1557 TEGRA_MUX_I2S1,
1558 TEGRA_MUX_I2S2,
1559 TEGRA_MUX_I2S3,
1560 TEGRA_MUX_I2S4,
1561 TEGRA_MUX_IRDA,
1562 TEGRA_MUX_KBC,
1563 TEGRA_MUX_OWR,
1564 TEGRA_MUX_PE,
1565 TEGRA_MUX_PE0,
1566 TEGRA_MUX_PE1,
1567 TEGRA_MUX_PMI,
1568 TEGRA_MUX_PWM0,
1569 TEGRA_MUX_PWM1,
1570 TEGRA_MUX_PWM2,
1571 TEGRA_MUX_PWM3,
1572 TEGRA_MUX_PWRON,
1573 TEGRA_MUX_RESET_OUT_N,
1574 TEGRA_MUX_RSVD1,
1575 TEGRA_MUX_RSVD2,
1576 TEGRA_MUX_RSVD3,
1577 TEGRA_MUX_RSVD4,
1578 TEGRA_MUX_RTCK,
1579 TEGRA_MUX_SATA,
1580 TEGRA_MUX_SDMMC1,
1581 TEGRA_MUX_SDMMC2,
1582 TEGRA_MUX_SDMMC3,
1583 TEGRA_MUX_SDMMC4,
1584 TEGRA_MUX_SOC,
1585 TEGRA_MUX_SPDIF,
1586 TEGRA_MUX_SPI1,
1587 TEGRA_MUX_SPI2,
1588 TEGRA_MUX_SPI3,
1589 TEGRA_MUX_SPI4,
1590 TEGRA_MUX_SPI5,
1591 TEGRA_MUX_SPI6,
1592 TEGRA_MUX_SYS,
1593 TEGRA_MUX_TMDS,
1594 TEGRA_MUX_TRACE,
1595 TEGRA_MUX_UARTA,
1596 TEGRA_MUX_UARTB,
1597 TEGRA_MUX_UARTC,
1598 TEGRA_MUX_UARTD,
1599 TEGRA_MUX_ULPI,
1600 TEGRA_MUX_USB,
1601 TEGRA_MUX_VGP1,
1602 TEGRA_MUX_VGP2,
1603 TEGRA_MUX_VGP3,
1604 TEGRA_MUX_VGP4,
1605 TEGRA_MUX_VGP5,
1606 TEGRA_MUX_VGP6,
1607 TEGRA_MUX_VI,
1608 TEGRA_MUX_VI_ALT1,
1609 TEGRA_MUX_VI_ALT3,
1610 TEGRA_MUX_VIMCLK2,
1611 TEGRA_MUX_VIMCLK2_ALT,
1612 };
1613
1614 #define FUNCTION(fname) \
1615 { \
1616 .name = #fname, \
1617 }
1618
1619 static struct tegra_function tegra124_functions[] = {
1620 FUNCTION(blink),
1621 FUNCTION(ccla),
1622 FUNCTION(cec),
1623 FUNCTION(cldvfs),
1624 FUNCTION(clk),
1625 FUNCTION(clk12),
1626 FUNCTION(cpu),
1627 FUNCTION(csi),
1628 FUNCTION(dap),
1629 FUNCTION(dap1),
1630 FUNCTION(dap2),
1631 FUNCTION(dev3),
1632 FUNCTION(displaya),
1633 FUNCTION(displaya_alt),
1634 FUNCTION(displayb),
1635 FUNCTION(dp),
1636 FUNCTION(dsi_b),
1637 FUNCTION(dtv),
1638 FUNCTION(extperiph1),
1639 FUNCTION(extperiph2),
1640 FUNCTION(extperiph3),
1641 FUNCTION(gmi),
1642 FUNCTION(gmi_alt),
1643 FUNCTION(hda),
1644 FUNCTION(hsi),
1645 FUNCTION(i2c1),
1646 FUNCTION(i2c2),
1647 FUNCTION(i2c3),
1648 FUNCTION(i2c4),
1649 FUNCTION(i2cpwr),
1650 FUNCTION(i2s0),
1651 FUNCTION(i2s1),
1652 FUNCTION(i2s2),
1653 FUNCTION(i2s3),
1654 FUNCTION(i2s4),
1655 FUNCTION(irda),
1656 FUNCTION(kbc),
1657 FUNCTION(owr),
1658 FUNCTION(pe),
1659 FUNCTION(pe0),
1660 FUNCTION(pe1),
1661 FUNCTION(pmi),
1662 FUNCTION(pwm0),
1663 FUNCTION(pwm1),
1664 FUNCTION(pwm2),
1665 FUNCTION(pwm3),
1666 FUNCTION(pwron),
1667 FUNCTION(reset_out_n),
1668 FUNCTION(rsvd1),
1669 FUNCTION(rsvd2),
1670 FUNCTION(rsvd3),
1671 FUNCTION(rsvd4),
1672 FUNCTION(rtck),
1673 FUNCTION(sata),
1674 FUNCTION(sdmmc1),
1675 FUNCTION(sdmmc2),
1676 FUNCTION(sdmmc3),
1677 FUNCTION(sdmmc4),
1678 FUNCTION(soc),
1679 FUNCTION(spdif),
1680 FUNCTION(spi1),
1681 FUNCTION(spi2),
1682 FUNCTION(spi3),
1683 FUNCTION(spi4),
1684 FUNCTION(spi5),
1685 FUNCTION(spi6),
1686 FUNCTION(sys),
1687 FUNCTION(tmds),
1688 FUNCTION(trace),
1689 FUNCTION(uarta),
1690 FUNCTION(uartb),
1691 FUNCTION(uartc),
1692 FUNCTION(uartd),
1693 FUNCTION(ulpi),
1694 FUNCTION(usb),
1695 FUNCTION(vgp1),
1696 FUNCTION(vgp2),
1697 FUNCTION(vgp3),
1698 FUNCTION(vgp4),
1699 FUNCTION(vgp5),
1700 FUNCTION(vgp6),
1701 FUNCTION(vi),
1702 FUNCTION(vi_alt1),
1703 FUNCTION(vi_alt3),
1704 FUNCTION(vimclk2),
1705 FUNCTION(vimclk2_alt),
1706 };
1707
1708 #define DRV_PINGROUP_REG_A 0x868
1709 #define PINGROUP_REG_A 0x3000
1710 #define MIPI_PAD_CTRL_PINGROUP_REG_A 0x820
1711
1712 #define DRV_PINGROUP_REG(r) ((r) - DRV_PINGROUP_REG_A)
1713 #define PINGROUP_REG(r) ((r) - PINGROUP_REG_A)
1714 #define MIPI_PAD_CTRL_PINGROUP_REG_Y(r) ((r) - MIPI_PAD_CTRL_PINGROUP_REG_A)
1715
1716 #define PINGROUP_BIT_Y(b) (b)
1717 #define PINGROUP_BIT_N(b) (-1)
1718
1719 #define PINGROUP(pg_name, f0, f1, f2, f3, r, od, ior, rcv_sel) \
1720 { \
1721 .name = #pg_name, \
1722 .pins = pg_name##_pins, \
1723 .npins = ARRAY_SIZE(pg_name##_pins), \
1724 .funcs = { \
1725 TEGRA_MUX_##f0, \
1726 TEGRA_MUX_##f1, \
1727 TEGRA_MUX_##f2, \
1728 TEGRA_MUX_##f3, \
1729 }, \
1730 .mux_reg = PINGROUP_REG(r), \
1731 .mux_bank = 1, \
1732 .mux_bit = 0, \
1733 .pupd_reg = PINGROUP_REG(r), \
1734 .pupd_bank = 1, \
1735 .pupd_bit = 2, \
1736 .tri_reg = PINGROUP_REG(r), \
1737 .tri_bank = 1, \
1738 .tri_bit = 4, \
1739 .einput_bit = 5, \
1740 .odrain_bit = PINGROUP_BIT_##od(6), \
1741 .lock_bit = 7, \
1742 .ioreset_bit = PINGROUP_BIT_##ior(8), \
1743 .rcv_sel_bit = PINGROUP_BIT_##rcv_sel(9), \
1744 .drv_reg = -1, \
1745 .parked_bitmask = 0, \
1746 }
1747
1748 #define DRV_PINGROUP(pg_name, r, hsm_b, schmitt_b, lpmd_b, drvdn_b, \
1749 drvdn_w, drvup_b, drvup_w, slwr_b, slwr_w, \
1750 slwf_b, slwf_w, drvtype) \
1751 { \
1752 .name = "drive_" #pg_name, \
1753 .pins = drive_##pg_name##_pins, \
1754 .npins = ARRAY_SIZE(drive_##pg_name##_pins), \
1755 .mux_reg = -1, \
1756 .pupd_reg = -1, \
1757 .tri_reg = -1, \
1758 .einput_bit = -1, \
1759 .odrain_bit = -1, \
1760 .lock_bit = -1, \
1761 .ioreset_bit = -1, \
1762 .rcv_sel_bit = -1, \
1763 .drv_reg = DRV_PINGROUP_REG(r), \
1764 .drv_bank = 0, \
1765 .hsm_bit = hsm_b, \
1766 .schmitt_bit = schmitt_b, \
1767 .lpmd_bit = lpmd_b, \
1768 .drvdn_bit = drvdn_b, \
1769 .drvdn_width = drvdn_w, \
1770 .drvup_bit = drvup_b, \
1771 .drvup_width = drvup_w, \
1772 .slwr_bit = slwr_b, \
1773 .slwr_width = slwr_w, \
1774 .slwf_bit = slwf_b, \
1775 .slwf_width = slwf_w, \
1776 .drvtype_bit = PINGROUP_BIT_##drvtype(6), \
1777 .parked_bitmask = 0, \
1778 }
1779
1780 #define MIPI_PAD_CTRL_PINGROUP(pg_name, r, b, f0, f1) \
1781 { \
1782 .name = "mipi_pad_ctrl_" #pg_name, \
1783 .pins = mipi_pad_ctrl_##pg_name##_pins, \
1784 .npins = ARRAY_SIZE(mipi_pad_ctrl_##pg_name##_pins), \
1785 .funcs = { \
1786 TEGRA_MUX_ ## f0, \
1787 TEGRA_MUX_ ## f1, \
1788 TEGRA_MUX_RSVD3, \
1789 TEGRA_MUX_RSVD4, \
1790 }, \
1791 .mux_reg = MIPI_PAD_CTRL_PINGROUP_REG_Y(r), \
1792 .mux_bank = 2, \
1793 .mux_bit = b, \
1794 .pupd_reg = -1, \
1795 .tri_reg = -1, \
1796 .einput_bit = -1, \
1797 .odrain_bit = -1, \
1798 .lock_bit = -1, \
1799 .ioreset_bit = -1, \
1800 .rcv_sel_bit = -1, \
1801 .drv_reg = -1, \
1802 }
1803
1804 static const struct tegra_pingroup tegra124_groups[] = {
1805
1806 PINGROUP(ulpi_data0_po1, SPI3, HSI, UARTA, ULPI, 0x3000, N, N, N),
1807 PINGROUP(ulpi_data1_po2, SPI3, HSI, UARTA, ULPI, 0x3004, N, N, N),
1808 PINGROUP(ulpi_data2_po3, SPI3, HSI, UARTA, ULPI, 0x3008, N, N, N),
1809 PINGROUP(ulpi_data3_po4, SPI3, HSI, UARTA, ULPI, 0x300c, N, N, N),
1810 PINGROUP(ulpi_data4_po5, SPI2, HSI, UARTA, ULPI, 0x3010, N, N, N),
1811 PINGROUP(ulpi_data5_po6, SPI2, HSI, UARTA, ULPI, 0x3014, N, N, N),
1812 PINGROUP(ulpi_data6_po7, SPI2, HSI, UARTA, ULPI, 0x3018, N, N, N),
1813 PINGROUP(ulpi_data7_po0, SPI2, HSI, UARTA, ULPI, 0x301c, N, N, N),
1814 PINGROUP(ulpi_clk_py0, SPI1, SPI5, UARTD, ULPI, 0x3020, N, N, N),
1815 PINGROUP(ulpi_dir_py1, SPI1, SPI5, UARTD, ULPI, 0x3024, N, N, N),
1816 PINGROUP(ulpi_nxt_py2, SPI1, SPI5, UARTD, ULPI, 0x3028, N, N, N),
1817 PINGROUP(ulpi_stp_py3, SPI1, SPI5, UARTD, ULPI, 0x302c, N, N, N),
1818 PINGROUP(dap3_fs_pp0, I2S2, SPI5, DISPLAYA, DISPLAYB, 0x3030, N, N, N),
1819 PINGROUP(dap3_din_pp1, I2S2, SPI5, DISPLAYA, DISPLAYB, 0x3034, N, N, N),
1820 PINGROUP(dap3_dout_pp2, I2S2, SPI5, DISPLAYA, RSVD4, 0x3038, N, N, N),
1821 PINGROUP(dap3_sclk_pp3, I2S2, SPI5, RSVD3, DISPLAYB, 0x303c, N, N, N),
1822 PINGROUP(pv0, RSVD1, RSVD2, RSVD3, RSVD4, 0x3040, N, N, N),
1823 PINGROUP(pv1, RSVD1, RSVD2, RSVD3, RSVD4, 0x3044, N, N, N),
1824 PINGROUP(sdmmc1_clk_pz0, SDMMC1, CLK12, RSVD3, RSVD4, 0x3048, N, N, N),
1825 PINGROUP(sdmmc1_cmd_pz1, SDMMC1, SPDIF, SPI4, UARTA, 0x304c, N, N, N),
1826 PINGROUP(sdmmc1_dat3_py4, SDMMC1, SPDIF, SPI4, UARTA, 0x3050, N, N, N),
1827 PINGROUP(sdmmc1_dat2_py5, SDMMC1, PWM0, SPI4, UARTA, 0x3054, N, N, N),
1828 PINGROUP(sdmmc1_dat1_py6, SDMMC1, PWM1, SPI4, UARTA, 0x3058, N, N, N),
1829 PINGROUP(sdmmc1_dat0_py7, SDMMC1, RSVD2, SPI4, UARTA, 0x305c, N, N, N),
1830 PINGROUP(clk2_out_pw5, EXTPERIPH2, RSVD2, RSVD3, RSVD4, 0x3068, N, N, N),
1831 PINGROUP(clk2_req_pcc5, DAP, RSVD2, RSVD3, RSVD4, 0x306c, N, N, N),
1832 PINGROUP(hdmi_int_pn7, RSVD1, RSVD2, RSVD3, RSVD4, 0x3110, N, N, Y),
1833 PINGROUP(ddc_scl_pv4, I2C4, RSVD2, RSVD3, RSVD4, 0x3114, N, N, Y),
1834 PINGROUP(ddc_sda_pv5, I2C4, RSVD2, RSVD3, RSVD4, 0x3118, N, N, Y),
1835 PINGROUP(uart2_rxd_pc3, IRDA, SPDIF, UARTA, SPI4, 0x3164, N, N, N),
1836 PINGROUP(uart2_txd_pc2, IRDA, SPDIF, UARTA, SPI4, 0x3168, N, N, N),
1837 PINGROUP(uart2_rts_n_pj6, UARTA, UARTB, GMI, SPI4, 0x316c, N, N, N),
1838 PINGROUP(uart2_cts_n_pj5, UARTA, UARTB, GMI, SPI4, 0x3170, N, N, N),
1839 PINGROUP(uart3_txd_pw6, UARTC, RSVD2, GMI, SPI4, 0x3174, N, N, N),
1840 PINGROUP(uart3_rxd_pw7, UARTC, RSVD2, GMI, SPI4, 0x3178, N, N, N),
1841 PINGROUP(uart3_cts_n_pa1, UARTC, SDMMC1, DTV, GMI, 0x317c, N, N, N),
1842 PINGROUP(uart3_rts_n_pc0, UARTC, PWM0, DTV, GMI, 0x3180, N, N, N),
1843 PINGROUP(pu0, OWR, UARTA, GMI, RSVD4, 0x3184, N, N, N),
1844 PINGROUP(pu1, RSVD1, UARTA, GMI, RSVD4, 0x3188, N, N, N),
1845 PINGROUP(pu2, RSVD1, UARTA, GMI, RSVD4, 0x318c, N, N, N),
1846 PINGROUP(pu3, PWM0, UARTA, GMI, DISPLAYB, 0x3190, N, N, N),
1847 PINGROUP(pu4, PWM1, UARTA, GMI, DISPLAYB, 0x3194, N, N, N),
1848 PINGROUP(pu5, PWM2, UARTA, GMI, DISPLAYB, 0x3198, N, N, N),
1849 PINGROUP(pu6, PWM3, UARTA, RSVD3, GMI, 0x319c, N, N, N),
1850 PINGROUP(gen1_i2c_sda_pc5, I2C1, RSVD2, RSVD3, RSVD4, 0x31a0, Y, N, N),
1851 PINGROUP(gen1_i2c_scl_pc4, I2C1, RSVD2, RSVD3, RSVD4, 0x31a4, Y, N, N),
1852 PINGROUP(dap4_fs_pp4, I2S3, GMI, DTV, RSVD4, 0x31a8, N, N, N),
1853 PINGROUP(dap4_din_pp5, I2S3, GMI, RSVD3, RSVD4, 0x31ac, N, N, N),
1854 PINGROUP(dap4_dout_pp6, I2S3, GMI, DTV, RSVD4, 0x31b0, N, N, N),
1855 PINGROUP(dap4_sclk_pp7, I2S3, GMI, RSVD3, RSVD4, 0x31b4, N, N, N),
1856 PINGROUP(clk3_out_pee0, EXTPERIPH3, RSVD2, RSVD3, RSVD4, 0x31b8, N, N, N),
1857 PINGROUP(clk3_req_pee1, DEV3, RSVD2, RSVD3, RSVD4, 0x31bc, N, N, N),
1858 PINGROUP(pc7, RSVD1, RSVD2, GMI, GMI_ALT, 0x31c0, N, N, N),
1859 PINGROUP(pi5, SDMMC2, RSVD2, GMI, RSVD4, 0x31c4, N, N, N),
1860 PINGROUP(pi7, RSVD1, TRACE, GMI, DTV, 0x31c8, N, N, N),
1861 PINGROUP(pk0, RSVD1, SDMMC3, GMI, SOC, 0x31cc, N, N, N),
1862 PINGROUP(pk1, SDMMC2, TRACE, GMI, RSVD4, 0x31d0, N, N, N),
1863 PINGROUP(pj0, RSVD1, RSVD2, GMI, USB, 0x31d4, N, N, N),
1864 PINGROUP(pj2, RSVD1, RSVD2, GMI, SOC, 0x31d8, N, N, N),
1865 PINGROUP(pk3, SDMMC2, TRACE, GMI, CCLA, 0x31dc, N, N, N),
1866 PINGROUP(pk4, SDMMC2, RSVD2, GMI, GMI_ALT, 0x31e0, N, N, N),
1867 PINGROUP(pk2, RSVD1, RSVD2, GMI, RSVD4, 0x31e4, N, N, N),
1868 PINGROUP(pi3, RSVD1, RSVD2, GMI, SPI4, 0x31e8, N, N, N),
1869 PINGROUP(pi6, RSVD1, RSVD2, GMI, SDMMC2, 0x31ec, N, N, N),
1870 PINGROUP(pg0, RSVD1, RSVD2, GMI, RSVD4, 0x31f0, N, N, N),
1871 PINGROUP(pg1, RSVD1, RSVD2, GMI, RSVD4, 0x31f4, N, N, N),
1872 PINGROUP(pg2, RSVD1, TRACE, GMI, RSVD4, 0x31f8, N, N, N),
1873 PINGROUP(pg3, RSVD1, TRACE, GMI, RSVD4, 0x31fc, N, N, N),
1874 PINGROUP(pg4, RSVD1, TMDS, GMI, SPI4, 0x3200, N, N, N),
1875 PINGROUP(pg5, RSVD1, RSVD2, GMI, SPI4, 0x3204, N, N, N),
1876 PINGROUP(pg6, RSVD1, RSVD2, GMI, SPI4, 0x3208, N, N, N),
1877 PINGROUP(pg7, RSVD1, RSVD2, GMI, SPI4, 0x320c, N, N, N),
1878 PINGROUP(ph0, PWM0, TRACE, GMI, DTV, 0x3210, N, N, N),
1879 PINGROUP(ph1, PWM1, TMDS, GMI, DISPLAYA, 0x3214, N, N, N),
1880 PINGROUP(ph2, PWM2, TMDS, GMI, CLDVFS, 0x3218, N, N, N),
1881 PINGROUP(ph3, PWM3, SPI4, GMI, CLDVFS, 0x321c, N, N, N),
1882 PINGROUP(ph4, SDMMC2, RSVD2, GMI, RSVD4, 0x3220, N, N, N),
1883 PINGROUP(ph5, SDMMC2, RSVD2, GMI, RSVD4, 0x3224, N, N, N),
1884 PINGROUP(ph6, SDMMC2, TRACE, GMI, DTV, 0x3228, N, N, N),
1885 PINGROUP(ph7, SDMMC2, TRACE, GMI, DTV, 0x322c, N, N, N),
1886 PINGROUP(pj7, UARTD, RSVD2, GMI, GMI_ALT, 0x3230, N, N, N),
1887 PINGROUP(pb0, UARTD, RSVD2, GMI, RSVD4, 0x3234, N, N, N),
1888 PINGROUP(pb1, UARTD, RSVD2, GMI, RSVD4, 0x3238, N, N, N),
1889 PINGROUP(pk7, UARTD, RSVD2, GMI, RSVD4, 0x323c, N, N, N),
1890 PINGROUP(pi0, RSVD1, RSVD2, GMI, RSVD4, 0x3240, N, N, N),
1891 PINGROUP(pi1, RSVD1, RSVD2, GMI, RSVD4, 0x3244, N, N, N),
1892 PINGROUP(pi2, SDMMC2, TRACE, GMI, RSVD4, 0x3248, N, N, N),
1893 PINGROUP(pi4, SPI4, TRACE, GMI, DISPLAYA, 0x324c, N, N, N),
1894 PINGROUP(gen2_i2c_scl_pt5, I2C2, RSVD2, GMI, RSVD4, 0x3250, Y, N, N),
1895 PINGROUP(gen2_i2c_sda_pt6, I2C2, RSVD2, GMI, RSVD4, 0x3254, Y, N, N),
1896 PINGROUP(sdmmc4_clk_pcc4, SDMMC4, RSVD2, GMI, RSVD4, 0x3258, N, Y, N),
1897 PINGROUP(sdmmc4_cmd_pt7, SDMMC4, RSVD2, GMI, RSVD4, 0x325c, N, Y, N),
1898 PINGROUP(sdmmc4_dat0_paa0, SDMMC4, SPI3, GMI, RSVD4, 0x3260, N, Y, N),
1899 PINGROUP(sdmmc4_dat1_paa1, SDMMC4, SPI3, GMI, RSVD4, 0x3264, N, Y, N),
1900 PINGROUP(sdmmc4_dat2_paa2, SDMMC4, SPI3, GMI, RSVD4, 0x3268, N, Y, N),
1901 PINGROUP(sdmmc4_dat3_paa3, SDMMC4, SPI3, GMI, RSVD4, 0x326c, N, Y, N),
1902 PINGROUP(sdmmc4_dat4_paa4, SDMMC4, SPI3, GMI, RSVD4, 0x3270, N, Y, N),
1903 PINGROUP(sdmmc4_dat5_paa5, SDMMC4, SPI3, RSVD3, RSVD4, 0x3274, N, Y, N),
1904 PINGROUP(sdmmc4_dat6_paa6, SDMMC4, SPI3, GMI, RSVD4, 0x3278, N, Y, N),
1905 PINGROUP(sdmmc4_dat7_paa7, SDMMC4, RSVD2, GMI, RSVD4, 0x327c, N, Y, N),
1906 PINGROUP(cam_mclk_pcc0, VI, VI_ALT1, VI_ALT3, SDMMC2, 0x3284, N, N, N),
1907 PINGROUP(pcc1, I2S4, RSVD2, RSVD3, SDMMC2, 0x3288, N, N, N),
1908 PINGROUP(pbb0, VGP6, VIMCLK2, SDMMC2, VIMCLK2_ALT, 0x328c, N, N, N),
1909 PINGROUP(cam_i2c_scl_pbb1, VGP1, I2C3, RSVD3, SDMMC2, 0x3290, Y, N, N),
1910 PINGROUP(cam_i2c_sda_pbb2, VGP2, I2C3, RSVD3, SDMMC2, 0x3294, Y, N, N),
1911 PINGROUP(pbb3, VGP3, DISPLAYA, DISPLAYB, SDMMC2, 0x3298, N, N, N),
1912 PINGROUP(pbb4, VGP4, DISPLAYA, DISPLAYB, SDMMC2, 0x329c, N, N, N),
1913 PINGROUP(pbb5, VGP5, DISPLAYA, RSVD3, SDMMC2, 0x32a0, N, N, N),
1914 PINGROUP(pbb6, I2S4, RSVD2, DISPLAYB, SDMMC2, 0x32a4, N, N, N),
1915 PINGROUP(pbb7, I2S4, RSVD2, RSVD3, SDMMC2, 0x32a8, N, N, N),
1916 PINGROUP(pcc2, I2S4, RSVD2, SDMMC3, SDMMC2, 0x32ac, N, N, N),
1917 PINGROUP(jtag_rtck, RTCK, RSVD2, RSVD3, RSVD4, 0x32b0, N, N, N),
1918 PINGROUP(pwr_i2c_scl_pz6, I2CPWR, RSVD2, RSVD3, RSVD4, 0x32b4, Y, N, N),
1919 PINGROUP(pwr_i2c_sda_pz7, I2CPWR, RSVD2, RSVD3, RSVD4, 0x32b8, Y, N, N),
1920 PINGROUP(kb_row0_pr0, KBC, RSVD2, RSVD3, RSVD4, 0x32bc, N, N, N),
1921 PINGROUP(kb_row1_pr1, KBC, RSVD2, RSVD3, RSVD4, 0x32c0, N, N, N),
1922 PINGROUP(kb_row2_pr2, KBC, RSVD2, RSVD3, RSVD4, 0x32c4, N, N, N),
1923 PINGROUP(kb_row3_pr3, KBC, DISPLAYA, SYS, DISPLAYB, 0x32c8, N, N, N),
1924 PINGROUP(kb_row4_pr4, KBC, DISPLAYA, RSVD3, DISPLAYB, 0x32cc, N, N, N),
1925 PINGROUP(kb_row5_pr5, KBC, DISPLAYA, RSVD3, DISPLAYB, 0x32d0, N, N, N),
1926 PINGROUP(kb_row6_pr6, KBC, DISPLAYA, DISPLAYA_ALT, DISPLAYB, 0x32d4, N, N, N),
1927 PINGROUP(kb_row7_pr7, KBC, RSVD2, CLDVFS, UARTA, 0x32d8, N, N, N),
1928 PINGROUP(kb_row8_ps0, KBC, RSVD2, CLDVFS, UARTA, 0x32dc, N, N, N),
1929 PINGROUP(kb_row9_ps1, KBC, RSVD2, RSVD3, UARTA, 0x32e0, N, N, N),
1930 PINGROUP(kb_row10_ps2, KBC, RSVD2, RSVD3, UARTA, 0x32e4, N, N, N),
1931 PINGROUP(kb_row11_ps3, KBC, RSVD2, RSVD3, IRDA, 0x32e8, N, N, N),
1932 PINGROUP(kb_row12_ps4, KBC, RSVD2, RSVD3, IRDA, 0x32ec, N, N, N),
1933 PINGROUP(kb_row13_ps5, KBC, RSVD2, SPI2, RSVD4, 0x32f0, N, N, N),
1934 PINGROUP(kb_row14_ps6, KBC, RSVD2, SPI2, RSVD4, 0x32f4, N, N, N),
1935 PINGROUP(kb_row15_ps7, KBC, SOC, RSVD3, RSVD4, 0x32f8, N, N, N),
1936 PINGROUP(kb_col0_pq0, KBC, RSVD2, SPI2, RSVD4, 0x32fc, N, N, N),
1937 PINGROUP(kb_col1_pq1, KBC, RSVD2, SPI2, RSVD4, 0x3300, N, N, N),
1938 PINGROUP(kb_col2_pq2, KBC, RSVD2, SPI2, RSVD4, 0x3304, N, N, N),
1939 PINGROUP(kb_col3_pq3, KBC, DISPLAYA, PWM2, UARTA, 0x3308, N, N, N),
1940 PINGROUP(kb_col4_pq4, KBC, OWR, SDMMC3, UARTA, 0x330c, N, N, N),
1941 PINGROUP(kb_col5_pq5, KBC, RSVD2, SDMMC3, RSVD4, 0x3310, N, N, N),
1942 PINGROUP(kb_col6_pq6, KBC, RSVD2, SPI2, UARTD, 0x3314, N, N, N),
1943 PINGROUP(kb_col7_pq7, KBC, RSVD2, SPI2, UARTD, 0x3318, N, N, N),
1944 PINGROUP(clk_32k_out_pa0, BLINK, SOC, RSVD3, RSVD4, 0x331c, N, N, N),
1945 PINGROUP(core_pwr_req, PWRON, RSVD2, RSVD3, RSVD4, 0x3324, N, N, N),
1946 PINGROUP(cpu_pwr_req, CPU, RSVD2, RSVD3, RSVD4, 0x3328, N, N, N),
1947 PINGROUP(pwr_int_n, PMI, RSVD2, RSVD3, RSVD4, 0x332c, N, N, N),
1948 PINGROUP(clk_32k_in, CLK, RSVD2, RSVD3, RSVD4, 0x3330, N, N, N),
1949 PINGROUP(owr, OWR, RSVD2, RSVD3, RSVD4, 0x3334, N, N, Y),
1950 PINGROUP(dap1_fs_pn0, I2S0, HDA, GMI, RSVD4, 0x3338, N, N, N),
1951 PINGROUP(dap1_din_pn1, I2S0, HDA, GMI, RSVD4, 0x333c, N, N, N),
1952 PINGROUP(dap1_dout_pn2, I2S0, HDA, GMI, SATA, 0x3340, N, N, N),
1953 PINGROUP(dap1_sclk_pn3, I2S0, HDA, GMI, RSVD4, 0x3344, N, N, N),
1954 PINGROUP(dap_mclk1_req_pee2, DAP, DAP1, SATA, RSVD4, 0x3348, N, N, N),
1955 PINGROUP(dap_mclk1_pw4, EXTPERIPH1, DAP2, RSVD3, RSVD4, 0x334c, N, N, N),
1956 PINGROUP(spdif_in_pk6, SPDIF, RSVD2, RSVD3, I2C3, 0x3350, N, N, N),
1957 PINGROUP(spdif_out_pk5, SPDIF, RSVD2, RSVD3, I2C3, 0x3354, N, N, N),
1958 PINGROUP(dap2_fs_pa2, I2S1, HDA, GMI, RSVD4, 0x3358, N, N, N),
1959 PINGROUP(dap2_din_pa4, I2S1, HDA, GMI, RSVD4, 0x335c, N, N, N),
1960 PINGROUP(dap2_dout_pa5, I2S1, HDA, GMI, RSVD4, 0x3360, N, N, N),
1961 PINGROUP(dap2_sclk_pa3, I2S1, HDA, GMI, RSVD4, 0x3364, N, N, N),
1962 PINGROUP(dvfs_pwm_px0, SPI6, CLDVFS, GMI, RSVD4, 0x3368, N, N, N),
1963 PINGROUP(gpio_x1_aud_px1, SPI6, RSVD2, GMI, RSVD4, 0x336c, N, N, N),
1964 PINGROUP(gpio_x3_aud_px3, SPI6, SPI1, GMI, RSVD4, 0x3370, N, N, N),
1965 PINGROUP(dvfs_clk_px2, SPI6, CLDVFS, GMI, RSVD4, 0x3374, N, N, N),
1966 PINGROUP(gpio_x4_aud_px4, GMI, SPI1, SPI2, DAP2, 0x3378, N, N, N),
1967 PINGROUP(gpio_x5_aud_px5, GMI, SPI1, SPI2, RSVD4, 0x337c, N, N, N),
1968 PINGROUP(gpio_x6_aud_px6, SPI6, SPI1, SPI2, GMI, 0x3380, N, N, N),
1969 PINGROUP(gpio_x7_aud_px7, RSVD1, SPI1, SPI2, RSVD4, 0x3384, N, N, N),
1970 PINGROUP(sdmmc3_clk_pa6, SDMMC3, RSVD2, RSVD3, SPI3, 0x3390, N, N, N),
1971 PINGROUP(sdmmc3_cmd_pa7, SDMMC3, PWM3, UARTA, SPI3, 0x3394, N, N, N),
1972 PINGROUP(sdmmc3_dat0_pb7, SDMMC3, RSVD2, RSVD3, SPI3, 0x3398, N, N, N),
1973 PINGROUP(sdmmc3_dat1_pb6, SDMMC3, PWM2, UARTA, SPI3, 0x339c, N, N, N),
1974 PINGROUP(sdmmc3_dat2_pb5, SDMMC3, PWM1, DISPLAYA, SPI3, 0x33a0, N, N, N),
1975 PINGROUP(sdmmc3_dat3_pb4, SDMMC3, PWM0, DISPLAYB, SPI3, 0x33a4, N, N, N),
1976 PINGROUP(pex_l0_rst_n_pdd1, PE0, RSVD2, RSVD3, RSVD4, 0x33bc, N, N, N),
1977 PINGROUP(pex_l0_clkreq_n_pdd2, PE0, RSVD2, RSVD3, RSVD4, 0x33c0, N, N, N),
1978 PINGROUP(pex_wake_n_pdd3, PE, RSVD2, RSVD3, RSVD4, 0x33c4, N, N, N),
1979 PINGROUP(pex_l1_rst_n_pdd5, PE1, RSVD2, RSVD3, RSVD4, 0x33cc, N, N, N),
1980 PINGROUP(pex_l1_clkreq_n_pdd6, PE1, RSVD2, RSVD3, RSVD4, 0x33d0, N, N, N),
1981 PINGROUP(hdmi_cec_pee3, CEC, RSVD2, RSVD3, RSVD4, 0x33e0, Y, N, N),
1982 PINGROUP(sdmmc1_wp_n_pv3, SDMMC1, CLK12, SPI4, UARTA, 0x33e4, N, N, N),
1983 PINGROUP(sdmmc3_cd_n_pv2, SDMMC3, OWR, RSVD3, RSVD4, 0x33e8, N, N, N),
1984 PINGROUP(gpio_w2_aud_pw2, SPI6, RSVD2, SPI2, I2C1, 0x33ec, N, N, N),
1985 PINGROUP(gpio_w3_aud_pw3, SPI6, SPI1, SPI2, I2C1, 0x33f0, N, N, N),
1986 PINGROUP(usb_vbus_en0_pn4, USB, RSVD2, RSVD3, RSVD4, 0x33f4, Y, N, N),
1987 PINGROUP(usb_vbus_en1_pn5, USB, RSVD2, RSVD3, RSVD4, 0x33f8, Y, N, N),
1988 PINGROUP(sdmmc3_clk_lb_in_pee5, SDMMC3, RSVD2, RSVD3, RSVD4, 0x33fc, N, N, N),
1989 PINGROUP(sdmmc3_clk_lb_out_pee4, SDMMC3, RSVD2, RSVD3, RSVD4, 0x3400, N, N, N),
1990 PINGROUP(gmi_clk_lb, SDMMC2, RSVD2, GMI, RSVD4, 0x3404, N, N, N),
1991 PINGROUP(reset_out_n, RSVD1, RSVD2, RSVD3, RESET_OUT_N, 0x3408, N, N, N),
1992 PINGROUP(kb_row16_pt0, KBC, RSVD2, RSVD3, UARTC, 0x340c, N, N, N),
1993 PINGROUP(kb_row17_pt1, KBC, RSVD2, RSVD3, UARTC, 0x3410, N, N, N),
1994 PINGROUP(usb_vbus_en2_pff1, USB, RSVD2, RSVD3, RSVD4, 0x3414, Y, N, N),
1995 PINGROUP(pff2, SATA, RSVD2, RSVD3, RSVD4, 0x3418, Y, N, N),
1996 PINGROUP(dp_hpd_pff0, DP, RSVD2, RSVD3, RSVD4, 0x3430, N, N, N),
1997
1998
1999 DRV_PINGROUP(ao1, 0x868, 2, 3, 4, 12, 5, 20, 5, 28, 2, 30, 2, N),
2000 DRV_PINGROUP(ao2, 0x86c, 2, 3, 4, 12, 5, 20, 5, 28, 2, 30, 2, N),
2001 DRV_PINGROUP(at1, 0x870, 2, 3, 4, 12, 7, 20, 7, 28, 2, 30, 2, Y),
2002 DRV_PINGROUP(at2, 0x874, 2, 3, 4, 12, 7, 20, 7, 28, 2, 30, 2, Y),
2003 DRV_PINGROUP(at3, 0x878, 2, 3, 4, 12, 7, 20, 7, 28, 2, 30, 2, Y),
2004 DRV_PINGROUP(at4, 0x87c, 2, 3, 4, 12, 7, 20, 7, 28, 2, 30, 2, Y),
2005 DRV_PINGROUP(at5, 0x880, 2, 3, 4, 14, 5, 19, 5, 28, 2, 30, 2, N),
2006 DRV_PINGROUP(cdev1, 0x884, 2, 3, 4, 12, 5, 20, 5, 28, 2, 30, 2, N),
2007 DRV_PINGROUP(cdev2, 0x888, 2, 3, 4, 12, 5, 20, 5, 28, 2, 30, 2, N),
2008 DRV_PINGROUP(dap1, 0x890, 2, 3, 4, 12, 5, 20, 5, 28, 2, 30, 2, N),
2009 DRV_PINGROUP(dap2, 0x894, 2, 3, 4, 12, 5, 20, 5, 28, 2, 30, 2, N),
2010 DRV_PINGROUP(dap3, 0x898, 2, 3, 4, 12, 5, 20, 5, 28, 2, 30, 2, N),
2011 DRV_PINGROUP(dap4, 0x89c, 2, 3, 4, 12, 5, 20, 5, 28, 2, 30, 2, N),
2012 DRV_PINGROUP(dbg, 0x8a0, 2, 3, 4, 12, 5, 20, 5, 28, 2, 30, 2, N),
2013 DRV_PINGROUP(sdio3, 0x8b0, 2, 3, -1, 12, 7, 20, 7, 28, 2, 30, 2, N),
2014 DRV_PINGROUP(spi, 0x8b4, 2, 3, 4, 12, 5, 20, 5, 28, 2, 30, 2, N),
2015 DRV_PINGROUP(uaa, 0x8b8, 2, 3, 4, 12, 5, 20, 5, 28, 2, 30, 2, N),
2016 DRV_PINGROUP(uab, 0x8bc, 2, 3, 4, 12, 5, 20, 5, 28, 2, 30, 2, N),
2017 DRV_PINGROUP(uart2, 0x8c0, 2, 3, 4, 12, 5, 20, 5, 28, 2, 30, 2, N),
2018 DRV_PINGROUP(uart3, 0x8c4, 2, 3, 4, 12, 5, 20, 5, 28, 2, 30, 2, N),
2019 DRV_PINGROUP(sdio1, 0x8ec, 2, 3, -1, 12, 7, 20, 7, 28, 2, 30, 2, N),
2020 DRV_PINGROUP(ddc, 0x8fc, 2, 3, 4, 12, 5, 20, 5, 28, 2, 30, 2, N),
2021 DRV_PINGROUP(gma, 0x900, 2, 3, 4, 14, 5, 20, 5, 28, 2, 30, 2, Y),
2022 DRV_PINGROUP(gme, 0x910, 2, 3, 4, 14, 5, 19, 5, 28, 2, 30, 2, N),
2023 DRV_PINGROUP(gmf, 0x914, 2, 3, 4, 14, 5, 19, 5, 28, 2, 30, 2, N),
2024 DRV_PINGROUP(gmg, 0x918, 2, 3, 4, 14, 5, 19, 5, 28, 2, 30, 2, N),
2025 DRV_PINGROUP(gmh, 0x91c, 2, 3, 4, 14, 5, 19, 5, 28, 2, 30, 2, N),
2026 DRV_PINGROUP(owr, 0x920, 2, 3, 4, 12, 5, 20, 5, 28, 2, 30, 2, N),
2027 DRV_PINGROUP(uda, 0x924, 2, 3, 4, 12, 5, 20, 5, 28, 2, 30, 2, N),
2028 DRV_PINGROUP(gpv, 0x928, 2, 3, 4, 12, 5, 20, 5, 28, 2, 30, 2, N),
2029 DRV_PINGROUP(dev3, 0x92c, 2, 3, 4, 12, 5, 20, 5, 28, 2, 30, 2, N),
2030 DRV_PINGROUP(cec, 0x938, 2, 3, 4, 12, 5, 20, 5, 28, 2, 30, 2, N),
2031 DRV_PINGROUP(at6, 0x994, 2, 3, 4, 12, 7, 20, 7, 28, 2, 30, 2, Y),
2032 DRV_PINGROUP(dap5, 0x998, 2, 3, 4, 12, 5, 20, 5, 28, 2, 30, 2, N),
2033 DRV_PINGROUP(usb_vbus_en, 0x99c, 2, 3, 4, 12, 5, 20, 5, 28, 2, 30, 2, N),
2034 DRV_PINGROUP(ao3, 0x9a8, 2, 3, 4, 12, 5, -1, -1, 28, 2, -1, -1, N),
2035 DRV_PINGROUP(ao0, 0x9b0, 2, 3, 4, 12, 5, 20, 5, 28, 2, 30, 2, N),
2036 DRV_PINGROUP(hv0, 0x9b4, 2, 3, 4, 12, 5, -1, -1, 28, 2, -1, -1, N),
2037 DRV_PINGROUP(sdio4, 0x9c4, 2, 3, 4, 12, 5, 20, 5, 28, 2, 30, 2, N),
2038 DRV_PINGROUP(ao4, 0x9c8, 2, 3, 4, 12, 7, 20, 7, 28, 2, 30, 2, Y),
2039
2040
2041 MIPI_PAD_CTRL_PINGROUP(dsi_b, 0x820, 1, CSI, DSI_B),
2042 };
2043
2044 static const struct tegra_pinctrl_soc_data tegra124_pinctrl = {
2045 .ngpios = NUM_GPIOS,
2046 .gpio_compatible = "nvidia,tegra124-gpio",
2047 .pins = tegra124_pins,
2048 .npins = ARRAY_SIZE(tegra124_pins),
2049 .functions = tegra124_functions,
2050 .nfunctions = ARRAY_SIZE(tegra124_functions),
2051 .groups = tegra124_groups,
2052 .ngroups = ARRAY_SIZE(tegra124_groups),
2053 .hsm_in_mux = false,
2054 .schmitt_in_mux = false,
2055 .drvtype_in_mux = false,
2056 };
2057
2058 static int tegra124_pinctrl_probe(struct platform_device *pdev)
2059 {
2060 return tegra_pinctrl_probe(pdev, &tegra124_pinctrl);
2061 }
2062
2063 static const struct of_device_id tegra124_pinctrl_of_match[] = {
2064 { .compatible = "nvidia,tegra124-pinmux", },
2065 { },
2066 };
2067
2068 static struct platform_driver tegra124_pinctrl_driver = {
2069 .driver = {
2070 .name = "tegra124-pinctrl",
2071 .of_match_table = tegra124_pinctrl_of_match,
2072 },
2073 .probe = tegra124_pinctrl_probe,
2074 };
2075
2076 static int __init tegra124_pinctrl_init(void)
2077 {
2078 return platform_driver_register(&tegra124_pinctrl_driver);
2079 }
2080 arch_initcall(tegra124_pinctrl_init);