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_GMI_A17_PB0 _GPIO(8)
0033 #define TEGRA_PIN_GMI_A18_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_GMI_WP_N_PC7 _GPIO(23)
0044 #define TEGRA_PIN_GMI_AD0_PG0 _GPIO(48)
0045 #define TEGRA_PIN_GMI_AD1_PG1 _GPIO(49)
0046 #define TEGRA_PIN_GMI_AD2_PG2 _GPIO(50)
0047 #define TEGRA_PIN_GMI_AD3_PG3 _GPIO(51)
0048 #define TEGRA_PIN_GMI_AD4_PG4 _GPIO(52)
0049 #define TEGRA_PIN_GMI_AD5_PG5 _GPIO(53)
0050 #define TEGRA_PIN_GMI_AD6_PG6 _GPIO(54)
0051 #define TEGRA_PIN_GMI_AD7_PG7 _GPIO(55)
0052 #define TEGRA_PIN_GMI_AD8_PH0 _GPIO(56)
0053 #define TEGRA_PIN_GMI_AD9_PH1 _GPIO(57)
0054 #define TEGRA_PIN_GMI_AD10_PH2 _GPIO(58)
0055 #define TEGRA_PIN_GMI_AD11_PH3 _GPIO(59)
0056 #define TEGRA_PIN_GMI_AD12_PH4 _GPIO(60)
0057 #define TEGRA_PIN_GMI_AD13_PH5 _GPIO(61)
0058 #define TEGRA_PIN_GMI_AD14_PH6 _GPIO(62)
0059 #define TEGRA_PIN_GMI_AD15_PH7 _GPIO(63)
0060 #define TEGRA_PIN_GMI_WR_N_PI0 _GPIO(64)
0061 #define TEGRA_PIN_GMI_OE_N_PI1 _GPIO(65)
0062 #define TEGRA_PIN_GMI_CS6_N_PI3 _GPIO(67)
0063 #define TEGRA_PIN_GMI_RST_N_PI4 _GPIO(68)
0064 #define TEGRA_PIN_GMI_IORDY_PI5 _GPIO(69)
0065 #define TEGRA_PIN_GMI_CS7_N_PI6 _GPIO(70)
0066 #define TEGRA_PIN_GMI_WAIT_PI7 _GPIO(71)
0067 #define TEGRA_PIN_GMI_CS0_N_PJ0 _GPIO(72)
0068 #define TEGRA_PIN_GMI_CS1_N_PJ2 _GPIO(74)
0069 #define TEGRA_PIN_GMI_DQS_P_PJ3 _GPIO(75)
0070 #define TEGRA_PIN_UART2_CTS_N_PJ5 _GPIO(77)
0071 #define TEGRA_PIN_UART2_RTS_N_PJ6 _GPIO(78)
0072 #define TEGRA_PIN_GMI_A16_PJ7 _GPIO(79)
0073 #define TEGRA_PIN_GMI_ADV_N_PK0 _GPIO(80)
0074 #define TEGRA_PIN_GMI_CLK_PK1 _GPIO(81)
0075 #define TEGRA_PIN_GMI_CS4_N_PK2 _GPIO(82)
0076 #define TEGRA_PIN_GMI_CS2_N_PK3 _GPIO(83)
0077 #define TEGRA_PIN_GMI_CS3_N_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_GMI_A19_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_GEN2_I2C_SCL_PT5 _GPIO(157)
0124 #define TEGRA_PIN_GEN2_I2C_SDA_PT6 _GPIO(158)
0125 #define TEGRA_PIN_SDMMC4_CMD_PT7 _GPIO(159)
0126 #define TEGRA_PIN_PU0 _GPIO(160)
0127 #define TEGRA_PIN_PU1 _GPIO(161)
0128 #define TEGRA_PIN_PU2 _GPIO(162)
0129 #define TEGRA_PIN_PU3 _GPIO(163)
0130 #define TEGRA_PIN_PU4 _GPIO(164)
0131 #define TEGRA_PIN_PU5 _GPIO(165)
0132 #define TEGRA_PIN_PU6 _GPIO(166)
0133 #define TEGRA_PIN_PV0 _GPIO(168)
0134 #define TEGRA_PIN_PV1 _GPIO(169)
0135 #define TEGRA_PIN_SDMMC3_CD_N_PV2 _GPIO(170)
0136 #define TEGRA_PIN_SDMMC1_WP_N_PV3 _GPIO(171)
0137 #define TEGRA_PIN_DDC_SCL_PV4 _GPIO(172)
0138 #define TEGRA_PIN_DDC_SDA_PV5 _GPIO(173)
0139 #define TEGRA_PIN_GPIO_W2_AUD_PW2 _GPIO(178)
0140 #define TEGRA_PIN_GPIO_W3_AUD_PW3 _GPIO(179)
0141 #define TEGRA_PIN_CLK1_OUT_PW4 _GPIO(180)
0142 #define TEGRA_PIN_CLK2_OUT_PW5 _GPIO(181)
0143 #define TEGRA_PIN_UART3_TXD_PW6 _GPIO(182)
0144 #define TEGRA_PIN_UART3_RXD_PW7 _GPIO(183)
0145 #define TEGRA_PIN_DVFS_PWM_PX0 _GPIO(184)
0146 #define TEGRA_PIN_GPIO_X1_AUD_PX1 _GPIO(185)
0147 #define TEGRA_PIN_DVFS_CLK_PX2 _GPIO(186)
0148 #define TEGRA_PIN_GPIO_X3_AUD_PX3 _GPIO(187)
0149 #define TEGRA_PIN_GPIO_X4_AUD_PX4 _GPIO(188)
0150 #define TEGRA_PIN_GPIO_X5_AUD_PX5 _GPIO(189)
0151 #define TEGRA_PIN_GPIO_X6_AUD_PX6 _GPIO(190)
0152 #define TEGRA_PIN_GPIO_X7_AUD_PX7 _GPIO(191)
0153 #define TEGRA_PIN_ULPI_CLK_PY0 _GPIO(192)
0154 #define TEGRA_PIN_ULPI_DIR_PY1 _GPIO(193)
0155 #define TEGRA_PIN_ULPI_NXT_PY2 _GPIO(194)
0156 #define TEGRA_PIN_ULPI_STP_PY3 _GPIO(195)
0157 #define TEGRA_PIN_SDMMC1_DAT3_PY4 _GPIO(196)
0158 #define TEGRA_PIN_SDMMC1_DAT2_PY5 _GPIO(197)
0159 #define TEGRA_PIN_SDMMC1_DAT1_PY6 _GPIO(198)
0160 #define TEGRA_PIN_SDMMC1_DAT0_PY7 _GPIO(199)
0161 #define TEGRA_PIN_SDMMC1_CLK_PZ0 _GPIO(200)
0162 #define TEGRA_PIN_SDMMC1_CMD_PZ1 _GPIO(201)
0163 #define TEGRA_PIN_SYS_CLK_REQ_PZ5 _GPIO(205)
0164 #define TEGRA_PIN_PWR_I2C_SCL_PZ6 _GPIO(206)
0165 #define TEGRA_PIN_PWR_I2C_SDA_PZ7 _GPIO(207)
0166 #define TEGRA_PIN_SDMMC4_DAT0_PAA0 _GPIO(208)
0167 #define TEGRA_PIN_SDMMC4_DAT1_PAA1 _GPIO(209)
0168 #define TEGRA_PIN_SDMMC4_DAT2_PAA2 _GPIO(210)
0169 #define TEGRA_PIN_SDMMC4_DAT3_PAA3 _GPIO(211)
0170 #define TEGRA_PIN_SDMMC4_DAT4_PAA4 _GPIO(212)
0171 #define TEGRA_PIN_SDMMC4_DAT5_PAA5 _GPIO(213)
0172 #define TEGRA_PIN_SDMMC4_DAT6_PAA6 _GPIO(214)
0173 #define TEGRA_PIN_SDMMC4_DAT7_PAA7 _GPIO(215)
0174 #define TEGRA_PIN_PBB0 _GPIO(216)
0175 #define TEGRA_PIN_CAM_I2C_SCL_PBB1 _GPIO(217)
0176 #define TEGRA_PIN_CAM_I2C_SDA_PBB2 _GPIO(218)
0177 #define TEGRA_PIN_PBB3 _GPIO(219)
0178 #define TEGRA_PIN_PBB4 _GPIO(220)
0179 #define TEGRA_PIN_PBB5 _GPIO(221)
0180 #define TEGRA_PIN_PBB6 _GPIO(222)
0181 #define TEGRA_PIN_PBB7 _GPIO(223)
0182 #define TEGRA_PIN_CAM_MCLK_PCC0 _GPIO(224)
0183 #define TEGRA_PIN_PCC1 _GPIO(225)
0184 #define TEGRA_PIN_PCC2 _GPIO(226)
0185 #define TEGRA_PIN_SDMMC4_CLK_PCC4 _GPIO(228)
0186 #define TEGRA_PIN_CLK2_REQ_PCC5 _GPIO(229)
0187 #define TEGRA_PIN_CLK3_OUT_PEE0 _GPIO(240)
0188 #define TEGRA_PIN_CLK3_REQ_PEE1 _GPIO(241)
0189 #define TEGRA_PIN_CLK1_REQ_PEE2 _GPIO(242)
0190 #define TEGRA_PIN_HDMI_CEC_PEE3 _GPIO(243)
0191 #define TEGRA_PIN_SDMMC3_CLK_LB_OUT_PEE4 _GPIO(244)
0192 #define TEGRA_PIN_SDMMC3_CLK_LB_IN_PEE5 _GPIO(245)
0193
0194
0195 #define NUM_GPIOS (TEGRA_PIN_SDMMC3_CLK_LB_IN_PEE5 + 1)
0196 #define _PIN(offset) (NUM_GPIOS + (offset))
0197
0198
0199 #define TEGRA_PIN_CORE_PWR_REQ _PIN(0)
0200 #define TEGRA_PIN_CPU_PWR_REQ _PIN(1)
0201 #define TEGRA_PIN_PWR_INT_N _PIN(2)
0202 #define TEGRA_PIN_RESET_OUT_N _PIN(3)
0203 #define TEGRA_PIN_OWR _PIN(4)
0204 #define TEGRA_PIN_JTAG_RTCK _PIN(5)
0205 #define TEGRA_PIN_CLK_32K_IN _PIN(6)
0206 #define TEGRA_PIN_GMI_CLK_LB _PIN(7)
0207
0208 static const struct pinctrl_pin_desc tegra114_pins[] = {
0209 PINCTRL_PIN(TEGRA_PIN_CLK_32K_OUT_PA0, "CLK_32K_OUT PA0"),
0210 PINCTRL_PIN(TEGRA_PIN_UART3_CTS_N_PA1, "UART3_CTS_N PA1"),
0211 PINCTRL_PIN(TEGRA_PIN_DAP2_FS_PA2, "DAP2_FS PA2"),
0212 PINCTRL_PIN(TEGRA_PIN_DAP2_SCLK_PA3, "DAP2_SCLK PA3"),
0213 PINCTRL_PIN(TEGRA_PIN_DAP2_DIN_PA4, "DAP2_DIN PA4"),
0214 PINCTRL_PIN(TEGRA_PIN_DAP2_DOUT_PA5, "DAP2_DOUT PA5"),
0215 PINCTRL_PIN(TEGRA_PIN_SDMMC3_CLK_PA6, "SDMMC3_CLK PA6"),
0216 PINCTRL_PIN(TEGRA_PIN_SDMMC3_CMD_PA7, "SDMMC3_CMD PA7"),
0217 PINCTRL_PIN(TEGRA_PIN_GMI_A17_PB0, "GMI_A17 PB0"),
0218 PINCTRL_PIN(TEGRA_PIN_GMI_A18_PB1, "GMI_A18 PB1"),
0219 PINCTRL_PIN(TEGRA_PIN_SDMMC3_DAT3_PB4, "SDMMC3_DAT3 PB4"),
0220 PINCTRL_PIN(TEGRA_PIN_SDMMC3_DAT2_PB5, "SDMMC3_DAT2 PB5"),
0221 PINCTRL_PIN(TEGRA_PIN_SDMMC3_DAT1_PB6, "SDMMC3_DAT1 PB6"),
0222 PINCTRL_PIN(TEGRA_PIN_SDMMC3_DAT0_PB7, "SDMMC3_DAT0 PB7"),
0223 PINCTRL_PIN(TEGRA_PIN_UART3_RTS_N_PC0, "UART3_RTS_N PC0"),
0224 PINCTRL_PIN(TEGRA_PIN_UART2_TXD_PC2, "UART2_TXD PC2"),
0225 PINCTRL_PIN(TEGRA_PIN_UART2_RXD_PC3, "UART2_RXD PC3"),
0226 PINCTRL_PIN(TEGRA_PIN_GEN1_I2C_SCL_PC4, "GEN1_I2C_SCL PC4"),
0227 PINCTRL_PIN(TEGRA_PIN_GEN1_I2C_SDA_PC5, "GEN1_I2C_SDA PC5"),
0228 PINCTRL_PIN(TEGRA_PIN_GMI_WP_N_PC7, "GMI_WP_N PC7"),
0229 PINCTRL_PIN(TEGRA_PIN_GMI_AD0_PG0, "GMI_AD0 PG0"),
0230 PINCTRL_PIN(TEGRA_PIN_GMI_AD1_PG1, "GMI_AD1 PG1"),
0231 PINCTRL_PIN(TEGRA_PIN_GMI_AD2_PG2, "GMI_AD2 PG2"),
0232 PINCTRL_PIN(TEGRA_PIN_GMI_AD3_PG3, "GMI_AD3 PG3"),
0233 PINCTRL_PIN(TEGRA_PIN_GMI_AD4_PG4, "GMI_AD4 PG4"),
0234 PINCTRL_PIN(TEGRA_PIN_GMI_AD5_PG5, "GMI_AD5 PG5"),
0235 PINCTRL_PIN(TEGRA_PIN_GMI_AD6_PG6, "GMI_AD6 PG6"),
0236 PINCTRL_PIN(TEGRA_PIN_GMI_AD7_PG7, "GMI_AD7 PG7"),
0237 PINCTRL_PIN(TEGRA_PIN_GMI_AD8_PH0, "GMI_AD8 PH0"),
0238 PINCTRL_PIN(TEGRA_PIN_GMI_AD9_PH1, "GMI_AD9 PH1"),
0239 PINCTRL_PIN(TEGRA_PIN_GMI_AD10_PH2, "GMI_AD10 PH2"),
0240 PINCTRL_PIN(TEGRA_PIN_GMI_AD11_PH3, "GMI_AD11 PH3"),
0241 PINCTRL_PIN(TEGRA_PIN_GMI_AD12_PH4, "GMI_AD12 PH4"),
0242 PINCTRL_PIN(TEGRA_PIN_GMI_AD13_PH5, "GMI_AD13 PH5"),
0243 PINCTRL_PIN(TEGRA_PIN_GMI_AD14_PH6, "GMI_AD14 PH6"),
0244 PINCTRL_PIN(TEGRA_PIN_GMI_AD15_PH7, "GMI_AD15 PH7"),
0245 PINCTRL_PIN(TEGRA_PIN_GMI_WR_N_PI0, "GMI_WR_N PI0"),
0246 PINCTRL_PIN(TEGRA_PIN_GMI_OE_N_PI1, "GMI_OE_N PI1"),
0247 PINCTRL_PIN(TEGRA_PIN_GMI_CS6_N_PI3, "GMI_CS6_N PI3"),
0248 PINCTRL_PIN(TEGRA_PIN_GMI_RST_N_PI4, "GMI_RST_N PI4"),
0249 PINCTRL_PIN(TEGRA_PIN_GMI_IORDY_PI5, "GMI_IORDY PI5"),
0250 PINCTRL_PIN(TEGRA_PIN_GMI_CS7_N_PI6, "GMI_CS7_N PI6"),
0251 PINCTRL_PIN(TEGRA_PIN_GMI_WAIT_PI7, "GMI_WAIT PI7"),
0252 PINCTRL_PIN(TEGRA_PIN_GMI_CS0_N_PJ0, "GMI_CS0_N PJ0"),
0253 PINCTRL_PIN(TEGRA_PIN_GMI_CS1_N_PJ2, "GMI_CS1_N PJ2"),
0254 PINCTRL_PIN(TEGRA_PIN_GMI_DQS_P_PJ3, "GMI_DQS_P PJ3"),
0255 PINCTRL_PIN(TEGRA_PIN_UART2_CTS_N_PJ5, "UART2_CTS_N PJ5"),
0256 PINCTRL_PIN(TEGRA_PIN_UART2_RTS_N_PJ6, "UART2_RTS_N PJ6"),
0257 PINCTRL_PIN(TEGRA_PIN_GMI_A16_PJ7, "GMI_A16 PJ7"),
0258 PINCTRL_PIN(TEGRA_PIN_GMI_ADV_N_PK0, "GMI_ADV_N PK0"),
0259 PINCTRL_PIN(TEGRA_PIN_GMI_CLK_PK1, "GMI_CLK PK1"),
0260 PINCTRL_PIN(TEGRA_PIN_GMI_CS4_N_PK2, "GMI_CS4_N PK2"),
0261 PINCTRL_PIN(TEGRA_PIN_GMI_CS2_N_PK3, "GMI_CS2_N PK3"),
0262 PINCTRL_PIN(TEGRA_PIN_GMI_CS3_N_PK4, "GMI_CS3_N PK4"),
0263 PINCTRL_PIN(TEGRA_PIN_SPDIF_OUT_PK5, "SPDIF_OUT PK5"),
0264 PINCTRL_PIN(TEGRA_PIN_SPDIF_IN_PK6, "SPDIF_IN PK6"),
0265 PINCTRL_PIN(TEGRA_PIN_GMI_A19_PK7, "GMI_A19 PK7"),
0266 PINCTRL_PIN(TEGRA_PIN_DAP1_FS_PN0, "DAP1_FS PN0"),
0267 PINCTRL_PIN(TEGRA_PIN_DAP1_DIN_PN1, "DAP1_DIN PN1"),
0268 PINCTRL_PIN(TEGRA_PIN_DAP1_DOUT_PN2, "DAP1_DOUT PN2"),
0269 PINCTRL_PIN(TEGRA_PIN_DAP1_SCLK_PN3, "DAP1_SCLK PN3"),
0270 PINCTRL_PIN(TEGRA_PIN_USB_VBUS_EN0_PN4, "USB_VBUS_EN0 PN4"),
0271 PINCTRL_PIN(TEGRA_PIN_USB_VBUS_EN1_PN5, "USB_VBUS_EN1 PN5"),
0272 PINCTRL_PIN(TEGRA_PIN_HDMI_INT_PN7, "HDMI_INT PN7"),
0273 PINCTRL_PIN(TEGRA_PIN_ULPI_DATA7_PO0, "ULPI_DATA7 PO0"),
0274 PINCTRL_PIN(TEGRA_PIN_ULPI_DATA0_PO1, "ULPI_DATA0 PO1"),
0275 PINCTRL_PIN(TEGRA_PIN_ULPI_DATA1_PO2, "ULPI_DATA1 PO2"),
0276 PINCTRL_PIN(TEGRA_PIN_ULPI_DATA2_PO3, "ULPI_DATA2 PO3"),
0277 PINCTRL_PIN(TEGRA_PIN_ULPI_DATA3_PO4, "ULPI_DATA3 PO4"),
0278 PINCTRL_PIN(TEGRA_PIN_ULPI_DATA4_PO5, "ULPI_DATA4 PO5"),
0279 PINCTRL_PIN(TEGRA_PIN_ULPI_DATA5_PO6, "ULPI_DATA5 PO6"),
0280 PINCTRL_PIN(TEGRA_PIN_ULPI_DATA6_PO7, "ULPI_DATA6 PO7"),
0281 PINCTRL_PIN(TEGRA_PIN_DAP3_FS_PP0, "DAP3_FS PP0"),
0282 PINCTRL_PIN(TEGRA_PIN_DAP3_DIN_PP1, "DAP3_DIN PP1"),
0283 PINCTRL_PIN(TEGRA_PIN_DAP3_DOUT_PP2, "DAP3_DOUT PP2"),
0284 PINCTRL_PIN(TEGRA_PIN_DAP3_SCLK_PP3, "DAP3_SCLK PP3"),
0285 PINCTRL_PIN(TEGRA_PIN_DAP4_FS_PP4, "DAP4_FS PP4"),
0286 PINCTRL_PIN(TEGRA_PIN_DAP4_DIN_PP5, "DAP4_DIN PP5"),
0287 PINCTRL_PIN(TEGRA_PIN_DAP4_DOUT_PP6, "DAP4_DOUT PP6"),
0288 PINCTRL_PIN(TEGRA_PIN_DAP4_SCLK_PP7, "DAP4_SCLK PP7"),
0289 PINCTRL_PIN(TEGRA_PIN_KB_COL0_PQ0, "KB_COL0 PQ0"),
0290 PINCTRL_PIN(TEGRA_PIN_KB_COL1_PQ1, "KB_COL1 PQ1"),
0291 PINCTRL_PIN(TEGRA_PIN_KB_COL2_PQ2, "KB_COL2 PQ2"),
0292 PINCTRL_PIN(TEGRA_PIN_KB_COL3_PQ3, "KB_COL3 PQ3"),
0293 PINCTRL_PIN(TEGRA_PIN_KB_COL4_PQ4, "KB_COL4 PQ4"),
0294 PINCTRL_PIN(TEGRA_PIN_KB_COL5_PQ5, "KB_COL5 PQ5"),
0295 PINCTRL_PIN(TEGRA_PIN_KB_COL6_PQ6, "KB_COL6 PQ6"),
0296 PINCTRL_PIN(TEGRA_PIN_KB_COL7_PQ7, "KB_COL7 PQ7"),
0297 PINCTRL_PIN(TEGRA_PIN_KB_ROW0_PR0, "KB_ROW0 PR0"),
0298 PINCTRL_PIN(TEGRA_PIN_KB_ROW1_PR1, "KB_ROW1 PR1"),
0299 PINCTRL_PIN(TEGRA_PIN_KB_ROW2_PR2, "KB_ROW2 PR2"),
0300 PINCTRL_PIN(TEGRA_PIN_KB_ROW3_PR3, "KB_ROW3 PR3"),
0301 PINCTRL_PIN(TEGRA_PIN_KB_ROW4_PR4, "KB_ROW4 PR4"),
0302 PINCTRL_PIN(TEGRA_PIN_KB_ROW5_PR5, "KB_ROW5 PR5"),
0303 PINCTRL_PIN(TEGRA_PIN_KB_ROW6_PR6, "KB_ROW6 PR6"),
0304 PINCTRL_PIN(TEGRA_PIN_KB_ROW7_PR7, "KB_ROW7 PR7"),
0305 PINCTRL_PIN(TEGRA_PIN_KB_ROW8_PS0, "KB_ROW8 PS0"),
0306 PINCTRL_PIN(TEGRA_PIN_KB_ROW9_PS1, "KB_ROW9 PS1"),
0307 PINCTRL_PIN(TEGRA_PIN_KB_ROW10_PS2, "KB_ROW10 PS2"),
0308 PINCTRL_PIN(TEGRA_PIN_GEN2_I2C_SCL_PT5, "GEN2_I2C_SCL PT5"),
0309 PINCTRL_PIN(TEGRA_PIN_GEN2_I2C_SDA_PT6, "GEN2_I2C_SDA PT6"),
0310 PINCTRL_PIN(TEGRA_PIN_SDMMC4_CMD_PT7, "SDMMC4_CMD PT7"),
0311 PINCTRL_PIN(TEGRA_PIN_PU0, "PU0"),
0312 PINCTRL_PIN(TEGRA_PIN_PU1, "PU1"),
0313 PINCTRL_PIN(TEGRA_PIN_PU2, "PU2"),
0314 PINCTRL_PIN(TEGRA_PIN_PU3, "PU3"),
0315 PINCTRL_PIN(TEGRA_PIN_PU4, "PU4"),
0316 PINCTRL_PIN(TEGRA_PIN_PU5, "PU5"),
0317 PINCTRL_PIN(TEGRA_PIN_PU6, "PU6"),
0318 PINCTRL_PIN(TEGRA_PIN_PV0, "PV0"),
0319 PINCTRL_PIN(TEGRA_PIN_PV1, "PV1"),
0320 PINCTRL_PIN(TEGRA_PIN_SDMMC3_CD_N_PV2, "SDMMC3_CD_N PV2"),
0321 PINCTRL_PIN(TEGRA_PIN_SDMMC1_WP_N_PV3, "SDMMC1_WP_N PV3"),
0322 PINCTRL_PIN(TEGRA_PIN_DDC_SCL_PV4, "DDC_SCL PV4"),
0323 PINCTRL_PIN(TEGRA_PIN_DDC_SDA_PV5, "DDC_SDA PV5"),
0324 PINCTRL_PIN(TEGRA_PIN_GPIO_W2_AUD_PW2, "GPIO_W2_AUD PW2"),
0325 PINCTRL_PIN(TEGRA_PIN_GPIO_W3_AUD_PW3, "GPIO_W3_AUD PW3"),
0326 PINCTRL_PIN(TEGRA_PIN_CLK1_OUT_PW4, "CLK1_OUT PW4"),
0327 PINCTRL_PIN(TEGRA_PIN_CLK2_OUT_PW5, "CLK2_OUT PW5"),
0328 PINCTRL_PIN(TEGRA_PIN_UART3_TXD_PW6, "UART3_TXD PW6"),
0329 PINCTRL_PIN(TEGRA_PIN_UART3_RXD_PW7, "UART3_RXD PW7"),
0330 PINCTRL_PIN(TEGRA_PIN_DVFS_PWM_PX0, "DVFS_PWM PX0"),
0331 PINCTRL_PIN(TEGRA_PIN_GPIO_X1_AUD_PX1, "GPIO_X1_AUD PX1"),
0332 PINCTRL_PIN(TEGRA_PIN_DVFS_CLK_PX2, "DVFS_CLK PX2"),
0333 PINCTRL_PIN(TEGRA_PIN_GPIO_X3_AUD_PX3, "GPIO_X3_AUD PX3"),
0334 PINCTRL_PIN(TEGRA_PIN_GPIO_X4_AUD_PX4, "GPIO_X4_AUD PX4"),
0335 PINCTRL_PIN(TEGRA_PIN_GPIO_X5_AUD_PX5, "GPIO_X5_AUD PX5"),
0336 PINCTRL_PIN(TEGRA_PIN_GPIO_X6_AUD_PX6, "GPIO_X6_AUD PX6"),
0337 PINCTRL_PIN(TEGRA_PIN_GPIO_X7_AUD_PX7, "GPIO_X7_AUD PX7"),
0338 PINCTRL_PIN(TEGRA_PIN_ULPI_CLK_PY0, "ULPI_CLK PY0"),
0339 PINCTRL_PIN(TEGRA_PIN_ULPI_DIR_PY1, "ULPI_DIR PY1"),
0340 PINCTRL_PIN(TEGRA_PIN_ULPI_NXT_PY2, "ULPI_NXT PY2"),
0341 PINCTRL_PIN(TEGRA_PIN_ULPI_STP_PY3, "ULPI_STP PY3"),
0342 PINCTRL_PIN(TEGRA_PIN_SDMMC1_DAT3_PY4, "SDMMC1_DAT3 PY4"),
0343 PINCTRL_PIN(TEGRA_PIN_SDMMC1_DAT2_PY5, "SDMMC1_DAT2 PY5"),
0344 PINCTRL_PIN(TEGRA_PIN_SDMMC1_DAT1_PY6, "SDMMC1_DAT1 PY6"),
0345 PINCTRL_PIN(TEGRA_PIN_SDMMC1_DAT0_PY7, "SDMMC1_DAT0 PY7"),
0346 PINCTRL_PIN(TEGRA_PIN_SDMMC1_CLK_PZ0, "SDMMC1_CLK PZ0"),
0347 PINCTRL_PIN(TEGRA_PIN_SDMMC1_CMD_PZ1, "SDMMC1_CMD PZ1"),
0348 PINCTRL_PIN(TEGRA_PIN_SYS_CLK_REQ_PZ5, "SYS_CLK_REQ PZ5"),
0349 PINCTRL_PIN(TEGRA_PIN_PWR_I2C_SCL_PZ6, "PWR_I2C_SCL PZ6"),
0350 PINCTRL_PIN(TEGRA_PIN_PWR_I2C_SDA_PZ7, "PWR_I2C_SDA PZ7"),
0351 PINCTRL_PIN(TEGRA_PIN_SDMMC4_DAT0_PAA0, "SDMMC4_DAT0 PAA0"),
0352 PINCTRL_PIN(TEGRA_PIN_SDMMC4_DAT1_PAA1, "SDMMC4_DAT1 PAA1"),
0353 PINCTRL_PIN(TEGRA_PIN_SDMMC4_DAT2_PAA2, "SDMMC4_DAT2 PAA2"),
0354 PINCTRL_PIN(TEGRA_PIN_SDMMC4_DAT3_PAA3, "SDMMC4_DAT3 PAA3"),
0355 PINCTRL_PIN(TEGRA_PIN_SDMMC4_DAT4_PAA4, "SDMMC4_DAT4 PAA4"),
0356 PINCTRL_PIN(TEGRA_PIN_SDMMC4_DAT5_PAA5, "SDMMC4_DAT5 PAA5"),
0357 PINCTRL_PIN(TEGRA_PIN_SDMMC4_DAT6_PAA6, "SDMMC4_DAT6 PAA6"),
0358 PINCTRL_PIN(TEGRA_PIN_SDMMC4_DAT7_PAA7, "SDMMC4_DAT7 PAA7"),
0359 PINCTRL_PIN(TEGRA_PIN_PBB0, "PBB0"),
0360 PINCTRL_PIN(TEGRA_PIN_CAM_I2C_SCL_PBB1, "CAM_I2C_SCL PBB1"),
0361 PINCTRL_PIN(TEGRA_PIN_CAM_I2C_SDA_PBB2, "CAM_I2C_SDA PBB2"),
0362 PINCTRL_PIN(TEGRA_PIN_PBB3, "PBB3"),
0363 PINCTRL_PIN(TEGRA_PIN_PBB4, "PBB4"),
0364 PINCTRL_PIN(TEGRA_PIN_PBB5, "PBB5"),
0365 PINCTRL_PIN(TEGRA_PIN_PBB6, "PBB6"),
0366 PINCTRL_PIN(TEGRA_PIN_PBB7, "PBB7"),
0367 PINCTRL_PIN(TEGRA_PIN_CAM_MCLK_PCC0, "CAM_MCLK PCC0"),
0368 PINCTRL_PIN(TEGRA_PIN_PCC1, "PCC1"),
0369 PINCTRL_PIN(TEGRA_PIN_PCC2, "PCC2"),
0370 PINCTRL_PIN(TEGRA_PIN_SDMMC4_CLK_PCC4, "SDMMC4_CLK PCC4"),
0371 PINCTRL_PIN(TEGRA_PIN_CLK2_REQ_PCC5, "CLK2_REQ PCC5"),
0372 PINCTRL_PIN(TEGRA_PIN_CLK3_OUT_PEE0, "CLK3_OUT PEE0"),
0373 PINCTRL_PIN(TEGRA_PIN_CLK3_REQ_PEE1, "CLK3_REQ PEE1"),
0374 PINCTRL_PIN(TEGRA_PIN_CLK1_REQ_PEE2, "CLK1_REQ PEE2"),
0375 PINCTRL_PIN(TEGRA_PIN_HDMI_CEC_PEE3, "HDMI_CEC PEE3"),
0376 PINCTRL_PIN(TEGRA_PIN_SDMMC3_CLK_LB_OUT_PEE4, "SDMMC3_CLK_LB_OUT PEE4"),
0377 PINCTRL_PIN(TEGRA_PIN_SDMMC3_CLK_LB_IN_PEE5, "SDMMC3_CLK_LB_IN PEE5"),
0378 PINCTRL_PIN(TEGRA_PIN_CORE_PWR_REQ, "CORE_PWR_REQ"),
0379 PINCTRL_PIN(TEGRA_PIN_CPU_PWR_REQ, "CPU_PWR_REQ"),
0380 PINCTRL_PIN(TEGRA_PIN_PWR_INT_N, "PWR_INT_N"),
0381 PINCTRL_PIN(TEGRA_PIN_RESET_OUT_N, "RESET_OUT_N"),
0382 PINCTRL_PIN(TEGRA_PIN_OWR, "OWR"),
0383 PINCTRL_PIN(TEGRA_PIN_JTAG_RTCK, "JTAG_RTCK"),
0384 PINCTRL_PIN(TEGRA_PIN_CLK_32K_IN, "CLK_32K_IN"),
0385 PINCTRL_PIN(TEGRA_PIN_GMI_CLK_LB, "GMI_CLK_LB"),
0386 };
0387
0388 static const unsigned clk_32k_out_pa0_pins[] = {
0389 TEGRA_PIN_CLK_32K_OUT_PA0,
0390 };
0391
0392 static const unsigned uart3_cts_n_pa1_pins[] = {
0393 TEGRA_PIN_UART3_CTS_N_PA1,
0394 };
0395
0396 static const unsigned dap2_fs_pa2_pins[] = {
0397 TEGRA_PIN_DAP2_FS_PA2,
0398 };
0399
0400 static const unsigned dap2_sclk_pa3_pins[] = {
0401 TEGRA_PIN_DAP2_SCLK_PA3,
0402 };
0403
0404 static const unsigned dap2_din_pa4_pins[] = {
0405 TEGRA_PIN_DAP2_DIN_PA4,
0406 };
0407
0408 static const unsigned dap2_dout_pa5_pins[] = {
0409 TEGRA_PIN_DAP2_DOUT_PA5,
0410 };
0411
0412 static const unsigned sdmmc3_clk_pa6_pins[] = {
0413 TEGRA_PIN_SDMMC3_CLK_PA6,
0414 };
0415
0416 static const unsigned sdmmc3_cmd_pa7_pins[] = {
0417 TEGRA_PIN_SDMMC3_CMD_PA7,
0418 };
0419
0420 static const unsigned gmi_a17_pb0_pins[] = {
0421 TEGRA_PIN_GMI_A17_PB0,
0422 };
0423
0424 static const unsigned gmi_a18_pb1_pins[] = {
0425 TEGRA_PIN_GMI_A18_PB1,
0426 };
0427
0428 static const unsigned sdmmc3_dat3_pb4_pins[] = {
0429 TEGRA_PIN_SDMMC3_DAT3_PB4,
0430 };
0431
0432 static const unsigned sdmmc3_dat2_pb5_pins[] = {
0433 TEGRA_PIN_SDMMC3_DAT2_PB5,
0434 };
0435
0436 static const unsigned sdmmc3_dat1_pb6_pins[] = {
0437 TEGRA_PIN_SDMMC3_DAT1_PB6,
0438 };
0439
0440 static const unsigned sdmmc3_dat0_pb7_pins[] = {
0441 TEGRA_PIN_SDMMC3_DAT0_PB7,
0442 };
0443
0444 static const unsigned uart3_rts_n_pc0_pins[] = {
0445 TEGRA_PIN_UART3_RTS_N_PC0,
0446 };
0447
0448 static const unsigned uart2_txd_pc2_pins[] = {
0449 TEGRA_PIN_UART2_TXD_PC2,
0450 };
0451
0452 static const unsigned uart2_rxd_pc3_pins[] = {
0453 TEGRA_PIN_UART2_RXD_PC3,
0454 };
0455
0456 static const unsigned gen1_i2c_scl_pc4_pins[] = {
0457 TEGRA_PIN_GEN1_I2C_SCL_PC4,
0458 };
0459
0460 static const unsigned gen1_i2c_sda_pc5_pins[] = {
0461 TEGRA_PIN_GEN1_I2C_SDA_PC5,
0462 };
0463
0464 static const unsigned gmi_wp_n_pc7_pins[] = {
0465 TEGRA_PIN_GMI_WP_N_PC7,
0466 };
0467
0468 static const unsigned gmi_ad0_pg0_pins[] = {
0469 TEGRA_PIN_GMI_AD0_PG0,
0470 };
0471
0472 static const unsigned gmi_ad1_pg1_pins[] = {
0473 TEGRA_PIN_GMI_AD1_PG1,
0474 };
0475
0476 static const unsigned gmi_ad2_pg2_pins[] = {
0477 TEGRA_PIN_GMI_AD2_PG2,
0478 };
0479
0480 static const unsigned gmi_ad3_pg3_pins[] = {
0481 TEGRA_PIN_GMI_AD3_PG3,
0482 };
0483
0484 static const unsigned gmi_ad4_pg4_pins[] = {
0485 TEGRA_PIN_GMI_AD4_PG4,
0486 };
0487
0488 static const unsigned gmi_ad5_pg5_pins[] = {
0489 TEGRA_PIN_GMI_AD5_PG5,
0490 };
0491
0492 static const unsigned gmi_ad6_pg6_pins[] = {
0493 TEGRA_PIN_GMI_AD6_PG6,
0494 };
0495
0496 static const unsigned gmi_ad7_pg7_pins[] = {
0497 TEGRA_PIN_GMI_AD7_PG7,
0498 };
0499
0500 static const unsigned gmi_ad8_ph0_pins[] = {
0501 TEGRA_PIN_GMI_AD8_PH0,
0502 };
0503
0504 static const unsigned gmi_ad9_ph1_pins[] = {
0505 TEGRA_PIN_GMI_AD9_PH1,
0506 };
0507
0508 static const unsigned gmi_ad10_ph2_pins[] = {
0509 TEGRA_PIN_GMI_AD10_PH2,
0510 };
0511
0512 static const unsigned gmi_ad11_ph3_pins[] = {
0513 TEGRA_PIN_GMI_AD11_PH3,
0514 };
0515
0516 static const unsigned gmi_ad12_ph4_pins[] = {
0517 TEGRA_PIN_GMI_AD12_PH4,
0518 };
0519
0520 static const unsigned gmi_ad13_ph5_pins[] = {
0521 TEGRA_PIN_GMI_AD13_PH5,
0522 };
0523
0524 static const unsigned gmi_ad14_ph6_pins[] = {
0525 TEGRA_PIN_GMI_AD14_PH6,
0526 };
0527
0528 static const unsigned gmi_ad15_ph7_pins[] = {
0529 TEGRA_PIN_GMI_AD15_PH7,
0530 };
0531
0532 static const unsigned gmi_wr_n_pi0_pins[] = {
0533 TEGRA_PIN_GMI_WR_N_PI0,
0534 };
0535
0536 static const unsigned gmi_oe_n_pi1_pins[] = {
0537 TEGRA_PIN_GMI_OE_N_PI1,
0538 };
0539
0540 static const unsigned gmi_cs6_n_pi3_pins[] = {
0541 TEGRA_PIN_GMI_CS6_N_PI3,
0542 };
0543
0544 static const unsigned gmi_rst_n_pi4_pins[] = {
0545 TEGRA_PIN_GMI_RST_N_PI4,
0546 };
0547
0548 static const unsigned gmi_iordy_pi5_pins[] = {
0549 TEGRA_PIN_GMI_IORDY_PI5,
0550 };
0551
0552 static const unsigned gmi_cs7_n_pi6_pins[] = {
0553 TEGRA_PIN_GMI_CS7_N_PI6,
0554 };
0555
0556 static const unsigned gmi_wait_pi7_pins[] = {
0557 TEGRA_PIN_GMI_WAIT_PI7,
0558 };
0559
0560 static const unsigned gmi_cs0_n_pj0_pins[] = {
0561 TEGRA_PIN_GMI_CS0_N_PJ0,
0562 };
0563
0564 static const unsigned gmi_cs1_n_pj2_pins[] = {
0565 TEGRA_PIN_GMI_CS1_N_PJ2,
0566 };
0567
0568 static const unsigned gmi_dqs_p_pj3_pins[] = {
0569 TEGRA_PIN_GMI_DQS_P_PJ3,
0570 };
0571
0572 static const unsigned uart2_cts_n_pj5_pins[] = {
0573 TEGRA_PIN_UART2_CTS_N_PJ5,
0574 };
0575
0576 static const unsigned uart2_rts_n_pj6_pins[] = {
0577 TEGRA_PIN_UART2_RTS_N_PJ6,
0578 };
0579
0580 static const unsigned gmi_a16_pj7_pins[] = {
0581 TEGRA_PIN_GMI_A16_PJ7,
0582 };
0583
0584 static const unsigned gmi_adv_n_pk0_pins[] = {
0585 TEGRA_PIN_GMI_ADV_N_PK0,
0586 };
0587
0588 static const unsigned gmi_clk_pk1_pins[] = {
0589 TEGRA_PIN_GMI_CLK_PK1,
0590 };
0591
0592 static const unsigned gmi_cs4_n_pk2_pins[] = {
0593 TEGRA_PIN_GMI_CS4_N_PK2,
0594 };
0595
0596 static const unsigned gmi_cs2_n_pk3_pins[] = {
0597 TEGRA_PIN_GMI_CS2_N_PK3,
0598 };
0599
0600 static const unsigned gmi_cs3_n_pk4_pins[] = {
0601 TEGRA_PIN_GMI_CS3_N_PK4,
0602 };
0603
0604 static const unsigned spdif_out_pk5_pins[] = {
0605 TEGRA_PIN_SPDIF_OUT_PK5,
0606 };
0607
0608 static const unsigned spdif_in_pk6_pins[] = {
0609 TEGRA_PIN_SPDIF_IN_PK6,
0610 };
0611
0612 static const unsigned gmi_a19_pk7_pins[] = {
0613 TEGRA_PIN_GMI_A19_PK7,
0614 };
0615
0616 static const unsigned dap1_fs_pn0_pins[] = {
0617 TEGRA_PIN_DAP1_FS_PN0,
0618 };
0619
0620 static const unsigned dap1_din_pn1_pins[] = {
0621 TEGRA_PIN_DAP1_DIN_PN1,
0622 };
0623
0624 static const unsigned dap1_dout_pn2_pins[] = {
0625 TEGRA_PIN_DAP1_DOUT_PN2,
0626 };
0627
0628 static const unsigned dap1_sclk_pn3_pins[] = {
0629 TEGRA_PIN_DAP1_SCLK_PN3,
0630 };
0631
0632 static const unsigned usb_vbus_en0_pn4_pins[] = {
0633 TEGRA_PIN_USB_VBUS_EN0_PN4,
0634 };
0635
0636 static const unsigned usb_vbus_en1_pn5_pins[] = {
0637 TEGRA_PIN_USB_VBUS_EN1_PN5,
0638 };
0639
0640 static const unsigned hdmi_int_pn7_pins[] = {
0641 TEGRA_PIN_HDMI_INT_PN7,
0642 };
0643
0644 static const unsigned ulpi_data7_po0_pins[] = {
0645 TEGRA_PIN_ULPI_DATA7_PO0,
0646 };
0647
0648 static const unsigned ulpi_data0_po1_pins[] = {
0649 TEGRA_PIN_ULPI_DATA0_PO1,
0650 };
0651
0652 static const unsigned ulpi_data1_po2_pins[] = {
0653 TEGRA_PIN_ULPI_DATA1_PO2,
0654 };
0655
0656 static const unsigned ulpi_data2_po3_pins[] = {
0657 TEGRA_PIN_ULPI_DATA2_PO3,
0658 };
0659
0660 static const unsigned ulpi_data3_po4_pins[] = {
0661 TEGRA_PIN_ULPI_DATA3_PO4,
0662 };
0663
0664 static const unsigned ulpi_data4_po5_pins[] = {
0665 TEGRA_PIN_ULPI_DATA4_PO5,
0666 };
0667
0668 static const unsigned ulpi_data5_po6_pins[] = {
0669 TEGRA_PIN_ULPI_DATA5_PO6,
0670 };
0671
0672 static const unsigned ulpi_data6_po7_pins[] = {
0673 TEGRA_PIN_ULPI_DATA6_PO7,
0674 };
0675
0676 static const unsigned dap3_fs_pp0_pins[] = {
0677 TEGRA_PIN_DAP3_FS_PP0,
0678 };
0679
0680 static const unsigned dap3_din_pp1_pins[] = {
0681 TEGRA_PIN_DAP3_DIN_PP1,
0682 };
0683
0684 static const unsigned dap3_dout_pp2_pins[] = {
0685 TEGRA_PIN_DAP3_DOUT_PP2,
0686 };
0687
0688 static const unsigned dap3_sclk_pp3_pins[] = {
0689 TEGRA_PIN_DAP3_SCLK_PP3,
0690 };
0691
0692 static const unsigned dap4_fs_pp4_pins[] = {
0693 TEGRA_PIN_DAP4_FS_PP4,
0694 };
0695
0696 static const unsigned dap4_din_pp5_pins[] = {
0697 TEGRA_PIN_DAP4_DIN_PP5,
0698 };
0699
0700 static const unsigned dap4_dout_pp6_pins[] = {
0701 TEGRA_PIN_DAP4_DOUT_PP6,
0702 };
0703
0704 static const unsigned dap4_sclk_pp7_pins[] = {
0705 TEGRA_PIN_DAP4_SCLK_PP7,
0706 };
0707
0708 static const unsigned kb_col0_pq0_pins[] = {
0709 TEGRA_PIN_KB_COL0_PQ0,
0710 };
0711
0712 static const unsigned kb_col1_pq1_pins[] = {
0713 TEGRA_PIN_KB_COL1_PQ1,
0714 };
0715
0716 static const unsigned kb_col2_pq2_pins[] = {
0717 TEGRA_PIN_KB_COL2_PQ2,
0718 };
0719
0720 static const unsigned kb_col3_pq3_pins[] = {
0721 TEGRA_PIN_KB_COL3_PQ3,
0722 };
0723
0724 static const unsigned kb_col4_pq4_pins[] = {
0725 TEGRA_PIN_KB_COL4_PQ4,
0726 };
0727
0728 static const unsigned kb_col5_pq5_pins[] = {
0729 TEGRA_PIN_KB_COL5_PQ5,
0730 };
0731
0732 static const unsigned kb_col6_pq6_pins[] = {
0733 TEGRA_PIN_KB_COL6_PQ6,
0734 };
0735
0736 static const unsigned kb_col7_pq7_pins[] = {
0737 TEGRA_PIN_KB_COL7_PQ7,
0738 };
0739
0740 static const unsigned kb_row0_pr0_pins[] = {
0741 TEGRA_PIN_KB_ROW0_PR0,
0742 };
0743
0744 static const unsigned kb_row1_pr1_pins[] = {
0745 TEGRA_PIN_KB_ROW1_PR1,
0746 };
0747
0748 static const unsigned kb_row2_pr2_pins[] = {
0749 TEGRA_PIN_KB_ROW2_PR2,
0750 };
0751
0752 static const unsigned kb_row3_pr3_pins[] = {
0753 TEGRA_PIN_KB_ROW3_PR3,
0754 };
0755
0756 static const unsigned kb_row4_pr4_pins[] = {
0757 TEGRA_PIN_KB_ROW4_PR4,
0758 };
0759
0760 static const unsigned kb_row5_pr5_pins[] = {
0761 TEGRA_PIN_KB_ROW5_PR5,
0762 };
0763
0764 static const unsigned kb_row6_pr6_pins[] = {
0765 TEGRA_PIN_KB_ROW6_PR6,
0766 };
0767
0768 static const unsigned kb_row7_pr7_pins[] = {
0769 TEGRA_PIN_KB_ROW7_PR7,
0770 };
0771
0772 static const unsigned kb_row8_ps0_pins[] = {
0773 TEGRA_PIN_KB_ROW8_PS0,
0774 };
0775
0776 static const unsigned kb_row9_ps1_pins[] = {
0777 TEGRA_PIN_KB_ROW9_PS1,
0778 };
0779
0780 static const unsigned kb_row10_ps2_pins[] = {
0781 TEGRA_PIN_KB_ROW10_PS2,
0782 };
0783
0784 static const unsigned gen2_i2c_scl_pt5_pins[] = {
0785 TEGRA_PIN_GEN2_I2C_SCL_PT5,
0786 };
0787
0788 static const unsigned gen2_i2c_sda_pt6_pins[] = {
0789 TEGRA_PIN_GEN2_I2C_SDA_PT6,
0790 };
0791
0792 static const unsigned sdmmc4_cmd_pt7_pins[] = {
0793 TEGRA_PIN_SDMMC4_CMD_PT7,
0794 };
0795
0796 static const unsigned pu0_pins[] = {
0797 TEGRA_PIN_PU0,
0798 };
0799
0800 static const unsigned pu1_pins[] = {
0801 TEGRA_PIN_PU1,
0802 };
0803
0804 static const unsigned pu2_pins[] = {
0805 TEGRA_PIN_PU2,
0806 };
0807
0808 static const unsigned pu3_pins[] = {
0809 TEGRA_PIN_PU3,
0810 };
0811
0812 static const unsigned pu4_pins[] = {
0813 TEGRA_PIN_PU4,
0814 };
0815
0816 static const unsigned pu5_pins[] = {
0817 TEGRA_PIN_PU5,
0818 };
0819
0820 static const unsigned pu6_pins[] = {
0821 TEGRA_PIN_PU6,
0822 };
0823
0824 static const unsigned pv0_pins[] = {
0825 TEGRA_PIN_PV0,
0826 };
0827
0828 static const unsigned pv1_pins[] = {
0829 TEGRA_PIN_PV1,
0830 };
0831
0832 static const unsigned sdmmc3_cd_n_pv2_pins[] = {
0833 TEGRA_PIN_SDMMC3_CD_N_PV2,
0834 };
0835
0836 static const unsigned sdmmc1_wp_n_pv3_pins[] = {
0837 TEGRA_PIN_SDMMC1_WP_N_PV3,
0838 };
0839
0840 static const unsigned ddc_scl_pv4_pins[] = {
0841 TEGRA_PIN_DDC_SCL_PV4,
0842 };
0843
0844 static const unsigned ddc_sda_pv5_pins[] = {
0845 TEGRA_PIN_DDC_SDA_PV5,
0846 };
0847
0848 static const unsigned gpio_w2_aud_pw2_pins[] = {
0849 TEGRA_PIN_GPIO_W2_AUD_PW2,
0850 };
0851
0852 static const unsigned gpio_w3_aud_pw3_pins[] = {
0853 TEGRA_PIN_GPIO_W3_AUD_PW3,
0854 };
0855
0856 static const unsigned clk1_out_pw4_pins[] = {
0857 TEGRA_PIN_CLK1_OUT_PW4,
0858 };
0859
0860 static const unsigned clk2_out_pw5_pins[] = {
0861 TEGRA_PIN_CLK2_OUT_PW5,
0862 };
0863
0864 static const unsigned uart3_txd_pw6_pins[] = {
0865 TEGRA_PIN_UART3_TXD_PW6,
0866 };
0867
0868 static const unsigned uart3_rxd_pw7_pins[] = {
0869 TEGRA_PIN_UART3_RXD_PW7,
0870 };
0871
0872 static const unsigned dvfs_pwm_px0_pins[] = {
0873 TEGRA_PIN_DVFS_PWM_PX0,
0874 };
0875
0876 static const unsigned gpio_x1_aud_px1_pins[] = {
0877 TEGRA_PIN_GPIO_X1_AUD_PX1,
0878 };
0879
0880 static const unsigned dvfs_clk_px2_pins[] = {
0881 TEGRA_PIN_DVFS_CLK_PX2,
0882 };
0883
0884 static const unsigned gpio_x3_aud_px3_pins[] = {
0885 TEGRA_PIN_GPIO_X3_AUD_PX3,
0886 };
0887
0888 static const unsigned gpio_x4_aud_px4_pins[] = {
0889 TEGRA_PIN_GPIO_X4_AUD_PX4,
0890 };
0891
0892 static const unsigned gpio_x5_aud_px5_pins[] = {
0893 TEGRA_PIN_GPIO_X5_AUD_PX5,
0894 };
0895
0896 static const unsigned gpio_x6_aud_px6_pins[] = {
0897 TEGRA_PIN_GPIO_X6_AUD_PX6,
0898 };
0899
0900 static const unsigned gpio_x7_aud_px7_pins[] = {
0901 TEGRA_PIN_GPIO_X7_AUD_PX7,
0902 };
0903
0904 static const unsigned ulpi_clk_py0_pins[] = {
0905 TEGRA_PIN_ULPI_CLK_PY0,
0906 };
0907
0908 static const unsigned ulpi_dir_py1_pins[] = {
0909 TEGRA_PIN_ULPI_DIR_PY1,
0910 };
0911
0912 static const unsigned ulpi_nxt_py2_pins[] = {
0913 TEGRA_PIN_ULPI_NXT_PY2,
0914 };
0915
0916 static const unsigned ulpi_stp_py3_pins[] = {
0917 TEGRA_PIN_ULPI_STP_PY3,
0918 };
0919
0920 static const unsigned sdmmc1_dat3_py4_pins[] = {
0921 TEGRA_PIN_SDMMC1_DAT3_PY4,
0922 };
0923
0924 static const unsigned sdmmc1_dat2_py5_pins[] = {
0925 TEGRA_PIN_SDMMC1_DAT2_PY5,
0926 };
0927
0928 static const unsigned sdmmc1_dat1_py6_pins[] = {
0929 TEGRA_PIN_SDMMC1_DAT1_PY6,
0930 };
0931
0932 static const unsigned sdmmc1_dat0_py7_pins[] = {
0933 TEGRA_PIN_SDMMC1_DAT0_PY7,
0934 };
0935
0936 static const unsigned sdmmc1_clk_pz0_pins[] = {
0937 TEGRA_PIN_SDMMC1_CLK_PZ0,
0938 };
0939
0940 static const unsigned sdmmc1_cmd_pz1_pins[] = {
0941 TEGRA_PIN_SDMMC1_CMD_PZ1,
0942 };
0943
0944 static const unsigned sys_clk_req_pz5_pins[] = {
0945 TEGRA_PIN_SYS_CLK_REQ_PZ5,
0946 };
0947
0948 static const unsigned pwr_i2c_scl_pz6_pins[] = {
0949 TEGRA_PIN_PWR_I2C_SCL_PZ6,
0950 };
0951
0952 static const unsigned pwr_i2c_sda_pz7_pins[] = {
0953 TEGRA_PIN_PWR_I2C_SDA_PZ7,
0954 };
0955
0956 static const unsigned sdmmc4_dat0_paa0_pins[] = {
0957 TEGRA_PIN_SDMMC4_DAT0_PAA0,
0958 };
0959
0960 static const unsigned sdmmc4_dat1_paa1_pins[] = {
0961 TEGRA_PIN_SDMMC4_DAT1_PAA1,
0962 };
0963
0964 static const unsigned sdmmc4_dat2_paa2_pins[] = {
0965 TEGRA_PIN_SDMMC4_DAT2_PAA2,
0966 };
0967
0968 static const unsigned sdmmc4_dat3_paa3_pins[] = {
0969 TEGRA_PIN_SDMMC4_DAT3_PAA3,
0970 };
0971
0972 static const unsigned sdmmc4_dat4_paa4_pins[] = {
0973 TEGRA_PIN_SDMMC4_DAT4_PAA4,
0974 };
0975
0976 static const unsigned sdmmc4_dat5_paa5_pins[] = {
0977 TEGRA_PIN_SDMMC4_DAT5_PAA5,
0978 };
0979
0980 static const unsigned sdmmc4_dat6_paa6_pins[] = {
0981 TEGRA_PIN_SDMMC4_DAT6_PAA6,
0982 };
0983
0984 static const unsigned sdmmc4_dat7_paa7_pins[] = {
0985 TEGRA_PIN_SDMMC4_DAT7_PAA7,
0986 };
0987
0988 static const unsigned pbb0_pins[] = {
0989 TEGRA_PIN_PBB0,
0990 };
0991
0992 static const unsigned cam_i2c_scl_pbb1_pins[] = {
0993 TEGRA_PIN_CAM_I2C_SCL_PBB1,
0994 };
0995
0996 static const unsigned cam_i2c_sda_pbb2_pins[] = {
0997 TEGRA_PIN_CAM_I2C_SDA_PBB2,
0998 };
0999
1000 static const unsigned pbb3_pins[] = {
1001 TEGRA_PIN_PBB3,
1002 };
1003
1004 static const unsigned pbb4_pins[] = {
1005 TEGRA_PIN_PBB4,
1006 };
1007
1008 static const unsigned pbb5_pins[] = {
1009 TEGRA_PIN_PBB5,
1010 };
1011
1012 static const unsigned pbb6_pins[] = {
1013 TEGRA_PIN_PBB6,
1014 };
1015
1016 static const unsigned pbb7_pins[] = {
1017 TEGRA_PIN_PBB7,
1018 };
1019
1020 static const unsigned cam_mclk_pcc0_pins[] = {
1021 TEGRA_PIN_CAM_MCLK_PCC0,
1022 };
1023
1024 static const unsigned pcc1_pins[] = {
1025 TEGRA_PIN_PCC1,
1026 };
1027
1028 static const unsigned pcc2_pins[] = {
1029 TEGRA_PIN_PCC2,
1030 };
1031
1032 static const unsigned sdmmc4_clk_pcc4_pins[] = {
1033 TEGRA_PIN_SDMMC4_CLK_PCC4,
1034 };
1035
1036 static const unsigned clk2_req_pcc5_pins[] = {
1037 TEGRA_PIN_CLK2_REQ_PCC5,
1038 };
1039
1040 static const unsigned clk3_out_pee0_pins[] = {
1041 TEGRA_PIN_CLK3_OUT_PEE0,
1042 };
1043
1044 static const unsigned clk3_req_pee1_pins[] = {
1045 TEGRA_PIN_CLK3_REQ_PEE1,
1046 };
1047
1048 static const unsigned clk1_req_pee2_pins[] = {
1049 TEGRA_PIN_CLK1_REQ_PEE2,
1050 };
1051
1052 static const unsigned hdmi_cec_pee3_pins[] = {
1053 TEGRA_PIN_HDMI_CEC_PEE3,
1054 };
1055
1056 static const unsigned sdmmc3_clk_lb_out_pee4_pins[] = {
1057 TEGRA_PIN_SDMMC3_CLK_LB_OUT_PEE4,
1058 };
1059
1060 static const unsigned sdmmc3_clk_lb_in_pee5_pins[] = {
1061 TEGRA_PIN_SDMMC3_CLK_LB_IN_PEE5,
1062 };
1063
1064 static const unsigned core_pwr_req_pins[] = {
1065 TEGRA_PIN_CORE_PWR_REQ,
1066 };
1067
1068 static const unsigned cpu_pwr_req_pins[] = {
1069 TEGRA_PIN_CPU_PWR_REQ,
1070 };
1071
1072 static const unsigned pwr_int_n_pins[] = {
1073 TEGRA_PIN_PWR_INT_N,
1074 };
1075
1076 static const unsigned reset_out_n_pins[] = {
1077 TEGRA_PIN_RESET_OUT_N,
1078 };
1079
1080 static const unsigned owr_pins[] = {
1081 TEGRA_PIN_OWR,
1082 };
1083
1084 static const unsigned jtag_rtck_pins[] = {
1085 TEGRA_PIN_JTAG_RTCK,
1086 };
1087
1088 static const unsigned clk_32k_in_pins[] = {
1089 TEGRA_PIN_CLK_32K_IN,
1090 };
1091
1092 static const unsigned gmi_clk_lb_pins[] = {
1093 TEGRA_PIN_GMI_CLK_LB,
1094 };
1095
1096 static const unsigned drive_ao1_pins[] = {
1097 TEGRA_PIN_KB_ROW0_PR0,
1098 TEGRA_PIN_KB_ROW1_PR1,
1099 TEGRA_PIN_KB_ROW2_PR2,
1100 TEGRA_PIN_KB_ROW3_PR3,
1101 TEGRA_PIN_KB_ROW4_PR4,
1102 TEGRA_PIN_KB_ROW5_PR5,
1103 TEGRA_PIN_KB_ROW6_PR6,
1104 TEGRA_PIN_KB_ROW7_PR7,
1105 TEGRA_PIN_PWR_I2C_SCL_PZ6,
1106 TEGRA_PIN_PWR_I2C_SDA_PZ7,
1107 };
1108
1109 static const unsigned drive_ao2_pins[] = {
1110 TEGRA_PIN_CLK_32K_OUT_PA0,
1111 TEGRA_PIN_KB_COL0_PQ0,
1112 TEGRA_PIN_KB_COL1_PQ1,
1113 TEGRA_PIN_KB_COL2_PQ2,
1114 TEGRA_PIN_KB_COL3_PQ3,
1115 TEGRA_PIN_KB_COL4_PQ4,
1116 TEGRA_PIN_KB_COL5_PQ5,
1117 TEGRA_PIN_KB_COL6_PQ6,
1118 TEGRA_PIN_KB_COL7_PQ7,
1119 TEGRA_PIN_KB_ROW8_PS0,
1120 TEGRA_PIN_KB_ROW9_PS1,
1121 TEGRA_PIN_KB_ROW10_PS2,
1122 TEGRA_PIN_SYS_CLK_REQ_PZ5,
1123 TEGRA_PIN_CORE_PWR_REQ,
1124 TEGRA_PIN_CPU_PWR_REQ,
1125 TEGRA_PIN_RESET_OUT_N,
1126 };
1127
1128 static const unsigned drive_at1_pins[] = {
1129 TEGRA_PIN_GMI_AD8_PH0,
1130 TEGRA_PIN_GMI_AD9_PH1,
1131 TEGRA_PIN_GMI_AD10_PH2,
1132 TEGRA_PIN_GMI_AD11_PH3,
1133 TEGRA_PIN_GMI_AD12_PH4,
1134 TEGRA_PIN_GMI_AD13_PH5,
1135 TEGRA_PIN_GMI_AD14_PH6,
1136 TEGRA_PIN_GMI_AD15_PH7,
1137 TEGRA_PIN_GMI_IORDY_PI5,
1138 TEGRA_PIN_GMI_CS7_N_PI6,
1139 };
1140
1141 static const unsigned drive_at2_pins[] = {
1142 TEGRA_PIN_GMI_AD0_PG0,
1143 TEGRA_PIN_GMI_AD1_PG1,
1144 TEGRA_PIN_GMI_AD2_PG2,
1145 TEGRA_PIN_GMI_AD3_PG3,
1146 TEGRA_PIN_GMI_AD4_PG4,
1147 TEGRA_PIN_GMI_AD5_PG5,
1148 TEGRA_PIN_GMI_AD6_PG6,
1149 TEGRA_PIN_GMI_AD7_PG7,
1150 TEGRA_PIN_GMI_WR_N_PI0,
1151 TEGRA_PIN_GMI_OE_N_PI1,
1152 TEGRA_PIN_GMI_CS6_N_PI3,
1153 TEGRA_PIN_GMI_RST_N_PI4,
1154 TEGRA_PIN_GMI_WAIT_PI7,
1155 TEGRA_PIN_GMI_DQS_P_PJ3,
1156 TEGRA_PIN_GMI_ADV_N_PK0,
1157 TEGRA_PIN_GMI_CLK_PK1,
1158 TEGRA_PIN_GMI_CS4_N_PK2,
1159 TEGRA_PIN_GMI_CS2_N_PK3,
1160 TEGRA_PIN_GMI_CS3_N_PK4,
1161 };
1162
1163 static const unsigned drive_at3_pins[] = {
1164 TEGRA_PIN_GMI_WP_N_PC7,
1165 TEGRA_PIN_GMI_CS0_N_PJ0,
1166 };
1167
1168 static const unsigned drive_at4_pins[] = {
1169 TEGRA_PIN_GMI_A17_PB0,
1170 TEGRA_PIN_GMI_A18_PB1,
1171 TEGRA_PIN_GMI_CS1_N_PJ2,
1172 TEGRA_PIN_GMI_A16_PJ7,
1173 TEGRA_PIN_GMI_A19_PK7,
1174 };
1175
1176 static const unsigned drive_at5_pins[] = {
1177 TEGRA_PIN_GEN2_I2C_SCL_PT5,
1178 TEGRA_PIN_GEN2_I2C_SDA_PT6,
1179 };
1180
1181 static const unsigned drive_cdev1_pins[] = {
1182 TEGRA_PIN_CLK1_OUT_PW4,
1183 TEGRA_PIN_CLK1_REQ_PEE2,
1184 };
1185
1186 static const unsigned drive_cdev2_pins[] = {
1187 TEGRA_PIN_CLK2_OUT_PW5,
1188 TEGRA_PIN_CLK2_REQ_PCC5,
1189 TEGRA_PIN_SDMMC1_WP_N_PV3,
1190 };
1191
1192 static const unsigned drive_dap1_pins[] = {
1193 TEGRA_PIN_DAP1_FS_PN0,
1194 TEGRA_PIN_DAP1_DIN_PN1,
1195 TEGRA_PIN_DAP1_DOUT_PN2,
1196 TEGRA_PIN_DAP1_SCLK_PN3,
1197 };
1198
1199 static const unsigned drive_dap2_pins[] = {
1200 TEGRA_PIN_DAP2_FS_PA2,
1201 TEGRA_PIN_DAP2_SCLK_PA3,
1202 TEGRA_PIN_DAP2_DIN_PA4,
1203 TEGRA_PIN_DAP2_DOUT_PA5,
1204 };
1205
1206 static const unsigned drive_dap3_pins[] = {
1207 TEGRA_PIN_DAP3_FS_PP0,
1208 TEGRA_PIN_DAP3_DIN_PP1,
1209 TEGRA_PIN_DAP3_DOUT_PP2,
1210 TEGRA_PIN_DAP3_SCLK_PP3,
1211 };
1212
1213 static const unsigned drive_dap4_pins[] = {
1214 TEGRA_PIN_DAP4_FS_PP4,
1215 TEGRA_PIN_DAP4_DIN_PP5,
1216 TEGRA_PIN_DAP4_DOUT_PP6,
1217 TEGRA_PIN_DAP4_SCLK_PP7,
1218 };
1219
1220 static const unsigned drive_dbg_pins[] = {
1221 TEGRA_PIN_GEN1_I2C_SCL_PC4,
1222 TEGRA_PIN_GEN1_I2C_SDA_PC5,
1223 TEGRA_PIN_PU0,
1224 TEGRA_PIN_PU1,
1225 TEGRA_PIN_PU2,
1226 TEGRA_PIN_PU3,
1227 TEGRA_PIN_PU4,
1228 TEGRA_PIN_PU5,
1229 TEGRA_PIN_PU6,
1230 };
1231
1232 static const unsigned drive_sdio3_pins[] = {
1233 TEGRA_PIN_SDMMC3_CLK_PA6,
1234 TEGRA_PIN_SDMMC3_CMD_PA7,
1235 TEGRA_PIN_SDMMC3_DAT3_PB4,
1236 TEGRA_PIN_SDMMC3_DAT2_PB5,
1237 TEGRA_PIN_SDMMC3_DAT1_PB6,
1238 TEGRA_PIN_SDMMC3_DAT0_PB7,
1239 TEGRA_PIN_SDMMC3_CLK_LB_OUT_PEE4,
1240 TEGRA_PIN_SDMMC3_CLK_LB_IN_PEE5,
1241 };
1242
1243 static const unsigned drive_spi_pins[] = {
1244 TEGRA_PIN_DVFS_PWM_PX0,
1245 TEGRA_PIN_GPIO_X1_AUD_PX1,
1246 TEGRA_PIN_DVFS_CLK_PX2,
1247 TEGRA_PIN_GPIO_X3_AUD_PX3,
1248 TEGRA_PIN_GPIO_X4_AUD_PX4,
1249 TEGRA_PIN_GPIO_X5_AUD_PX5,
1250 TEGRA_PIN_GPIO_X6_AUD_PX6,
1251 TEGRA_PIN_GPIO_X7_AUD_PX7,
1252 TEGRA_PIN_GPIO_W2_AUD_PW2,
1253 TEGRA_PIN_GPIO_W3_AUD_PW3,
1254 };
1255
1256 static const unsigned drive_uaa_pins[] = {
1257 TEGRA_PIN_ULPI_DATA0_PO1,
1258 TEGRA_PIN_ULPI_DATA1_PO2,
1259 TEGRA_PIN_ULPI_DATA2_PO3,
1260 TEGRA_PIN_ULPI_DATA3_PO4,
1261 };
1262
1263 static const unsigned drive_uab_pins[] = {
1264 TEGRA_PIN_ULPI_DATA7_PO0,
1265 TEGRA_PIN_ULPI_DATA4_PO5,
1266 TEGRA_PIN_ULPI_DATA5_PO6,
1267 TEGRA_PIN_ULPI_DATA6_PO7,
1268 TEGRA_PIN_PV0,
1269 TEGRA_PIN_PV1,
1270 };
1271
1272 static const unsigned drive_uart2_pins[] = {
1273 TEGRA_PIN_UART2_TXD_PC2,
1274 TEGRA_PIN_UART2_RXD_PC3,
1275 TEGRA_PIN_UART2_CTS_N_PJ5,
1276 TEGRA_PIN_UART2_RTS_N_PJ6,
1277 };
1278
1279 static const unsigned drive_uart3_pins[] = {
1280 TEGRA_PIN_UART3_CTS_N_PA1,
1281 TEGRA_PIN_UART3_RTS_N_PC0,
1282 TEGRA_PIN_UART3_TXD_PW6,
1283 TEGRA_PIN_UART3_RXD_PW7,
1284 };
1285
1286 static const unsigned drive_sdio1_pins[] = {
1287 TEGRA_PIN_SDMMC1_DAT3_PY4,
1288 TEGRA_PIN_SDMMC1_DAT2_PY5,
1289 TEGRA_PIN_SDMMC1_DAT1_PY6,
1290 TEGRA_PIN_SDMMC1_DAT0_PY7,
1291 TEGRA_PIN_SDMMC1_CLK_PZ0,
1292 TEGRA_PIN_SDMMC1_CMD_PZ1,
1293 };
1294
1295 static const unsigned drive_ddc_pins[] = {
1296 TEGRA_PIN_DDC_SCL_PV4,
1297 TEGRA_PIN_DDC_SDA_PV5,
1298 };
1299
1300 static const unsigned drive_gma_pins[] = {
1301 TEGRA_PIN_SDMMC4_CLK_PCC4,
1302 TEGRA_PIN_SDMMC4_CMD_PT7,
1303 TEGRA_PIN_SDMMC4_DAT0_PAA0,
1304 TEGRA_PIN_SDMMC4_DAT1_PAA1,
1305 TEGRA_PIN_SDMMC4_DAT2_PAA2,
1306 TEGRA_PIN_SDMMC4_DAT3_PAA3,
1307 TEGRA_PIN_SDMMC4_DAT4_PAA4,
1308 TEGRA_PIN_SDMMC4_DAT5_PAA5,
1309 TEGRA_PIN_SDMMC4_DAT6_PAA6,
1310 TEGRA_PIN_SDMMC4_DAT7_PAA7,
1311 };
1312
1313 static const unsigned drive_gme_pins[] = {
1314 TEGRA_PIN_PBB0,
1315 TEGRA_PIN_CAM_I2C_SCL_PBB1,
1316 TEGRA_PIN_CAM_I2C_SDA_PBB2,
1317 TEGRA_PIN_PBB3,
1318 TEGRA_PIN_PCC2,
1319 };
1320
1321 static const unsigned drive_gmf_pins[] = {
1322 TEGRA_PIN_PBB4,
1323 TEGRA_PIN_PBB5,
1324 TEGRA_PIN_PBB6,
1325 TEGRA_PIN_PBB7,
1326 };
1327
1328 static const unsigned drive_gmg_pins[] = {
1329 TEGRA_PIN_CAM_MCLK_PCC0,
1330 };
1331
1332 static const unsigned drive_gmh_pins[] = {
1333 TEGRA_PIN_PCC1,
1334 };
1335
1336 static const unsigned drive_owr_pins[] = {
1337 TEGRA_PIN_SDMMC3_CD_N_PV2,
1338 };
1339
1340 static const unsigned drive_uda_pins[] = {
1341 TEGRA_PIN_ULPI_CLK_PY0,
1342 TEGRA_PIN_ULPI_DIR_PY1,
1343 TEGRA_PIN_ULPI_NXT_PY2,
1344 TEGRA_PIN_ULPI_STP_PY3,
1345 };
1346
1347 static const unsigned drive_dev3_pins[] = {
1348 };
1349
1350 static const unsigned drive_cec_pins[] = {
1351 };
1352
1353 static const unsigned drive_at6_pins[] = {
1354 };
1355
1356 static const unsigned drive_dap5_pins[] = {
1357 };
1358
1359 static const unsigned drive_usb_vbus_en_pins[] = {
1360 };
1361
1362 static const unsigned drive_ao3_pins[] = {
1363 };
1364
1365 static const unsigned drive_hv0_pins[] = {
1366 };
1367
1368 static const unsigned drive_sdio4_pins[] = {
1369 };
1370
1371 static const unsigned drive_ao0_pins[] = {
1372 };
1373
1374 enum tegra_mux {
1375 TEGRA_MUX_BLINK,
1376 TEGRA_MUX_CEC,
1377 TEGRA_MUX_CLDVFS,
1378 TEGRA_MUX_CLK,
1379 TEGRA_MUX_CLK12,
1380 TEGRA_MUX_CPU,
1381 TEGRA_MUX_DAP,
1382 TEGRA_MUX_DAP1,
1383 TEGRA_MUX_DAP2,
1384 TEGRA_MUX_DEV3,
1385 TEGRA_MUX_DISPLAYA,
1386 TEGRA_MUX_DISPLAYA_ALT,
1387 TEGRA_MUX_DISPLAYB,
1388 TEGRA_MUX_DTV,
1389 TEGRA_MUX_EMC_DLL,
1390 TEGRA_MUX_EXTPERIPH1,
1391 TEGRA_MUX_EXTPERIPH2,
1392 TEGRA_MUX_EXTPERIPH3,
1393 TEGRA_MUX_GMI,
1394 TEGRA_MUX_GMI_ALT,
1395 TEGRA_MUX_HDA,
1396 TEGRA_MUX_HSI,
1397 TEGRA_MUX_I2C1,
1398 TEGRA_MUX_I2C2,
1399 TEGRA_MUX_I2C3,
1400 TEGRA_MUX_I2C4,
1401 TEGRA_MUX_I2CPWR,
1402 TEGRA_MUX_I2S0,
1403 TEGRA_MUX_I2S1,
1404 TEGRA_MUX_I2S2,
1405 TEGRA_MUX_I2S3,
1406 TEGRA_MUX_I2S4,
1407 TEGRA_MUX_IRDA,
1408 TEGRA_MUX_KBC,
1409 TEGRA_MUX_NAND,
1410 TEGRA_MUX_NAND_ALT,
1411 TEGRA_MUX_OWR,
1412 TEGRA_MUX_PMI,
1413 TEGRA_MUX_PWM0,
1414 TEGRA_MUX_PWM1,
1415 TEGRA_MUX_PWM2,
1416 TEGRA_MUX_PWM3,
1417 TEGRA_MUX_PWRON,
1418 TEGRA_MUX_RESET_OUT_N,
1419 TEGRA_MUX_RSVD1,
1420 TEGRA_MUX_RSVD2,
1421 TEGRA_MUX_RSVD3,
1422 TEGRA_MUX_RSVD4,
1423 TEGRA_MUX_RTCK,
1424 TEGRA_MUX_SDMMC1,
1425 TEGRA_MUX_SDMMC2,
1426 TEGRA_MUX_SDMMC3,
1427 TEGRA_MUX_SDMMC4,
1428 TEGRA_MUX_SOC,
1429 TEGRA_MUX_SPDIF,
1430 TEGRA_MUX_SPI1,
1431 TEGRA_MUX_SPI2,
1432 TEGRA_MUX_SPI3,
1433 TEGRA_MUX_SPI4,
1434 TEGRA_MUX_SPI5,
1435 TEGRA_MUX_SPI6,
1436 TEGRA_MUX_SYSCLK,
1437 TEGRA_MUX_TRACE,
1438 TEGRA_MUX_UARTA,
1439 TEGRA_MUX_UARTB,
1440 TEGRA_MUX_UARTC,
1441 TEGRA_MUX_UARTD,
1442 TEGRA_MUX_ULPI,
1443 TEGRA_MUX_USB,
1444 TEGRA_MUX_VGP1,
1445 TEGRA_MUX_VGP2,
1446 TEGRA_MUX_VGP3,
1447 TEGRA_MUX_VGP4,
1448 TEGRA_MUX_VGP5,
1449 TEGRA_MUX_VGP6,
1450 TEGRA_MUX_VI,
1451 TEGRA_MUX_VI_ALT1,
1452 TEGRA_MUX_VI_ALT3,
1453 };
1454
1455 #define FUNCTION(fname) \
1456 { \
1457 .name = #fname, \
1458 }
1459
1460 static struct tegra_function tegra114_functions[] = {
1461 FUNCTION(blink),
1462 FUNCTION(cec),
1463 FUNCTION(cldvfs),
1464 FUNCTION(clk),
1465 FUNCTION(clk12),
1466 FUNCTION(cpu),
1467 FUNCTION(dap),
1468 FUNCTION(dap1),
1469 FUNCTION(dap2),
1470 FUNCTION(dev3),
1471 FUNCTION(displaya),
1472 FUNCTION(displaya_alt),
1473 FUNCTION(displayb),
1474 FUNCTION(dtv),
1475 FUNCTION(emc_dll),
1476 FUNCTION(extperiph1),
1477 FUNCTION(extperiph2),
1478 FUNCTION(extperiph3),
1479 FUNCTION(gmi),
1480 FUNCTION(gmi_alt),
1481 FUNCTION(hda),
1482 FUNCTION(hsi),
1483 FUNCTION(i2c1),
1484 FUNCTION(i2c2),
1485 FUNCTION(i2c3),
1486 FUNCTION(i2c4),
1487 FUNCTION(i2cpwr),
1488 FUNCTION(i2s0),
1489 FUNCTION(i2s1),
1490 FUNCTION(i2s2),
1491 FUNCTION(i2s3),
1492 FUNCTION(i2s4),
1493 FUNCTION(irda),
1494 FUNCTION(kbc),
1495 FUNCTION(nand),
1496 FUNCTION(nand_alt),
1497 FUNCTION(owr),
1498 FUNCTION(pmi),
1499 FUNCTION(pwm0),
1500 FUNCTION(pwm1),
1501 FUNCTION(pwm2),
1502 FUNCTION(pwm3),
1503 FUNCTION(pwron),
1504 FUNCTION(reset_out_n),
1505 FUNCTION(rsvd1),
1506 FUNCTION(rsvd2),
1507 FUNCTION(rsvd3),
1508 FUNCTION(rsvd4),
1509 FUNCTION(rtck),
1510 FUNCTION(sdmmc1),
1511 FUNCTION(sdmmc2),
1512 FUNCTION(sdmmc3),
1513 FUNCTION(sdmmc4),
1514 FUNCTION(soc),
1515 FUNCTION(spdif),
1516 FUNCTION(spi1),
1517 FUNCTION(spi2),
1518 FUNCTION(spi3),
1519 FUNCTION(spi4),
1520 FUNCTION(spi5),
1521 FUNCTION(spi6),
1522 FUNCTION(sysclk),
1523 FUNCTION(trace),
1524 FUNCTION(uarta),
1525 FUNCTION(uartb),
1526 FUNCTION(uartc),
1527 FUNCTION(uartd),
1528 FUNCTION(ulpi),
1529 FUNCTION(usb),
1530 FUNCTION(vgp1),
1531 FUNCTION(vgp2),
1532 FUNCTION(vgp3),
1533 FUNCTION(vgp4),
1534 FUNCTION(vgp5),
1535 FUNCTION(vgp6),
1536 FUNCTION(vi),
1537 FUNCTION(vi_alt1),
1538 FUNCTION(vi_alt3),
1539 };
1540
1541 #define DRV_PINGROUP_REG_A 0x868
1542 #define PINGROUP_REG_A 0x3000
1543
1544 #define DRV_PINGROUP_REG(r) ((r) - DRV_PINGROUP_REG_A)
1545 #define PINGROUP_REG(r) ((r) - PINGROUP_REG_A)
1546
1547 #define PINGROUP_BIT_Y(b) (b)
1548 #define PINGROUP_BIT_N(b) (-1)
1549
1550 #define PINGROUP(pg_name, f0, f1, f2, f3, r, od, ior, rcv_sel) \
1551 { \
1552 .name = #pg_name, \
1553 .pins = pg_name##_pins, \
1554 .npins = ARRAY_SIZE(pg_name##_pins), \
1555 .funcs = { \
1556 TEGRA_MUX_##f0, \
1557 TEGRA_MUX_##f1, \
1558 TEGRA_MUX_##f2, \
1559 TEGRA_MUX_##f3, \
1560 }, \
1561 .mux_reg = PINGROUP_REG(r), \
1562 .mux_bank = 1, \
1563 .mux_bit = 0, \
1564 .pupd_reg = PINGROUP_REG(r), \
1565 .pupd_bank = 1, \
1566 .pupd_bit = 2, \
1567 .tri_reg = PINGROUP_REG(r), \
1568 .tri_bank = 1, \
1569 .tri_bit = 4, \
1570 .einput_bit = 5, \
1571 .odrain_bit = PINGROUP_BIT_##od(6), \
1572 .lock_bit = 7, \
1573 .ioreset_bit = PINGROUP_BIT_##ior(8), \
1574 .rcv_sel_bit = PINGROUP_BIT_##rcv_sel(9), \
1575 .drv_reg = -1, \
1576 .parked_bitmask = 0, \
1577 }
1578
1579 #define DRV_PINGROUP(pg_name, r, hsm_b, schmitt_b, lpmd_b, drvdn_b, \
1580 drvdn_w, drvup_b, drvup_w, slwr_b, slwr_w, \
1581 slwf_b, slwf_w, drvtype) \
1582 { \
1583 .name = "drive_" #pg_name, \
1584 .pins = drive_##pg_name##_pins, \
1585 .npins = ARRAY_SIZE(drive_##pg_name##_pins), \
1586 .mux_reg = -1, \
1587 .pupd_reg = -1, \
1588 .tri_reg = -1, \
1589 .einput_bit = -1, \
1590 .odrain_bit = -1, \
1591 .lock_bit = -1, \
1592 .ioreset_bit = -1, \
1593 .rcv_sel_bit = -1, \
1594 .drv_reg = DRV_PINGROUP_REG(r), \
1595 .drv_bank = 0, \
1596 .hsm_bit = hsm_b, \
1597 .schmitt_bit = schmitt_b, \
1598 .lpmd_bit = lpmd_b, \
1599 .drvdn_bit = drvdn_b, \
1600 .drvdn_width = drvdn_w, \
1601 .drvup_bit = drvup_b, \
1602 .drvup_width = drvup_w, \
1603 .slwr_bit = slwr_b, \
1604 .slwr_width = slwr_w, \
1605 .slwf_bit = slwf_b, \
1606 .slwf_width = slwf_w, \
1607 .drvtype_bit = PINGROUP_BIT_##drvtype(6), \
1608 .parked_bitmask = 0, \
1609 }
1610
1611 static const struct tegra_pingroup tegra114_groups[] = {
1612
1613 PINGROUP(ulpi_data0_po1, SPI3, HSI, UARTA, ULPI, 0x3000, N, N, N),
1614 PINGROUP(ulpi_data1_po2, SPI3, HSI, UARTA, ULPI, 0x3004, N, N, N),
1615 PINGROUP(ulpi_data2_po3, SPI3, HSI, UARTA, ULPI, 0x3008, N, N, N),
1616 PINGROUP(ulpi_data3_po4, SPI3, HSI, UARTA, ULPI, 0x300c, N, N, N),
1617 PINGROUP(ulpi_data4_po5, SPI2, HSI, UARTA, ULPI, 0x3010, N, N, N),
1618 PINGROUP(ulpi_data5_po6, SPI2, HSI, UARTA, ULPI, 0x3014, N, N, N),
1619 PINGROUP(ulpi_data6_po7, SPI2, HSI, UARTA, ULPI, 0x3018, N, N, N),
1620 PINGROUP(ulpi_data7_po0, SPI2, HSI, UARTA, ULPI, 0x301c, N, N, N),
1621 PINGROUP(ulpi_clk_py0, SPI1, SPI5, UARTD, ULPI, 0x3020, N, N, N),
1622 PINGROUP(ulpi_dir_py1, SPI1, SPI5, UARTD, ULPI, 0x3024, N, N, N),
1623 PINGROUP(ulpi_nxt_py2, SPI1, SPI5, UARTD, ULPI, 0x3028, N, N, N),
1624 PINGROUP(ulpi_stp_py3, SPI1, SPI5, UARTD, ULPI, 0x302c, N, N, N),
1625 PINGROUP(dap3_fs_pp0, I2S2, SPI5, DISPLAYA, DISPLAYB, 0x3030, N, N, N),
1626 PINGROUP(dap3_din_pp1, I2S2, SPI5, DISPLAYA, DISPLAYB, 0x3034, N, N, N),
1627 PINGROUP(dap3_dout_pp2, I2S2, SPI5, DISPLAYA, DISPLAYB, 0x3038, N, N, N),
1628 PINGROUP(dap3_sclk_pp3, I2S2, SPI5, DISPLAYA, DISPLAYB, 0x303c, N, N, N),
1629 PINGROUP(pv0, USB, RSVD2, RSVD3, RSVD4, 0x3040, N, N, N),
1630 PINGROUP(pv1, RSVD1, RSVD2, RSVD3, RSVD4, 0x3044, N, N, N),
1631 PINGROUP(sdmmc1_clk_pz0, SDMMC1, CLK12, RSVD3, RSVD4, 0x3048, N, N, N),
1632 PINGROUP(sdmmc1_cmd_pz1, SDMMC1, SPDIF, SPI4, UARTA, 0x304c, N, N, N),
1633 PINGROUP(sdmmc1_dat3_py4, SDMMC1, SPDIF, SPI4, UARTA, 0x3050, N, N, N),
1634 PINGROUP(sdmmc1_dat2_py5, SDMMC1, PWM0, SPI4, UARTA, 0x3054, N, N, N),
1635 PINGROUP(sdmmc1_dat1_py6, SDMMC1, PWM1, SPI4, UARTA, 0x3058, N, N, N),
1636 PINGROUP(sdmmc1_dat0_py7, SDMMC1, RSVD2, SPI4, UARTA, 0x305c, N, N, N),
1637 PINGROUP(clk2_out_pw5, EXTPERIPH2, RSVD2, RSVD3, RSVD4, 0x3068, N, N, N),
1638 PINGROUP(clk2_req_pcc5, DAP, RSVD2, RSVD3, RSVD4, 0x306c, N, N, N),
1639 PINGROUP(hdmi_int_pn7, RSVD1, RSVD2, RSVD3, RSVD4, 0x3110, N, N, Y),
1640 PINGROUP(ddc_scl_pv4, I2C4, RSVD2, RSVD3, RSVD4, 0x3114, N, N, Y),
1641 PINGROUP(ddc_sda_pv5, I2C4, RSVD2, RSVD3, RSVD4, 0x3118, N, N, Y),
1642 PINGROUP(uart2_rxd_pc3, IRDA, SPDIF, UARTA, SPI4, 0x3164, N, N, N),
1643 PINGROUP(uart2_txd_pc2, IRDA, SPDIF, UARTA, SPI4, 0x3168, N, N, N),
1644 PINGROUP(uart2_rts_n_pj6, UARTA, UARTB, RSVD3, SPI4, 0x316c, N, N, N),
1645 PINGROUP(uart2_cts_n_pj5, UARTA, UARTB, RSVD3, SPI4, 0x3170, N, N, N),
1646 PINGROUP(uart3_txd_pw6, UARTC, RSVD2, RSVD3, SPI4, 0x3174, N, N, N),
1647 PINGROUP(uart3_rxd_pw7, UARTC, RSVD2, RSVD3, SPI4, 0x3178, N, N, N),
1648 PINGROUP(uart3_cts_n_pa1, UARTC, SDMMC1, DTV, SPI4, 0x317c, N, N, N),
1649 PINGROUP(uart3_rts_n_pc0, UARTC, PWM0, DTV, DISPLAYA, 0x3180, N, N, N),
1650 PINGROUP(pu0, OWR, UARTA, RSVD3, RSVD4, 0x3184, N, N, N),
1651 PINGROUP(pu1, RSVD1, UARTA, RSVD3, RSVD4, 0x3188, N, N, N),
1652 PINGROUP(pu2, RSVD1, UARTA, RSVD3, RSVD4, 0x318c, N, N, N),
1653 PINGROUP(pu3, PWM0, UARTA, DISPLAYA, DISPLAYB, 0x3190, N, N, N),
1654 PINGROUP(pu4, PWM1, UARTA, DISPLAYA, DISPLAYB, 0x3194, N, N, N),
1655 PINGROUP(pu5, PWM2, UARTA, DISPLAYA, DISPLAYB, 0x3198, N, N, N),
1656 PINGROUP(pu6, PWM3, UARTA, USB, DISPLAYB, 0x319c, N, N, N),
1657 PINGROUP(gen1_i2c_sda_pc5, I2C1, RSVD2, RSVD3, RSVD4, 0x31a0, Y, N, N),
1658 PINGROUP(gen1_i2c_scl_pc4, I2C1, RSVD2, RSVD3, RSVD4, 0x31a4, Y, N, N),
1659 PINGROUP(dap4_fs_pp4, I2S3, RSVD2, DTV, RSVD4, 0x31a8, N, N, N),
1660 PINGROUP(dap4_din_pp5, I2S3, RSVD2, RSVD3, RSVD4, 0x31ac, N, N, N),
1661 PINGROUP(dap4_dout_pp6, I2S3, RSVD2, DTV, RSVD4, 0x31b0, N, N, N),
1662 PINGROUP(dap4_sclk_pp7, I2S3, RSVD2, RSVD3, RSVD4, 0x31b4, N, N, N),
1663 PINGROUP(clk3_out_pee0, EXTPERIPH3, RSVD2, RSVD3, RSVD4, 0x31b8, N, N, N),
1664 PINGROUP(clk3_req_pee1, DEV3, RSVD2, RSVD3, RSVD4, 0x31bc, N, N, N),
1665 PINGROUP(gmi_wp_n_pc7, RSVD1, NAND, GMI, GMI_ALT, 0x31c0, N, N, N),
1666 PINGROUP(gmi_iordy_pi5, SDMMC2, RSVD2, GMI, TRACE, 0x31c4, N, N, N),
1667 PINGROUP(gmi_wait_pi7, SPI4, NAND, GMI, DTV, 0x31c8, N, N, N),
1668 PINGROUP(gmi_adv_n_pk0, RSVD1, NAND, GMI, TRACE, 0x31cc, N, N, N),
1669 PINGROUP(gmi_clk_pk1, SDMMC2, NAND, GMI, TRACE, 0x31d0, N, N, N),
1670 PINGROUP(gmi_cs0_n_pj0, RSVD1, NAND, GMI, USB, 0x31d4, N, N, N),
1671 PINGROUP(gmi_cs1_n_pj2, RSVD1, NAND, GMI, SOC, 0x31d8, N, N, N),
1672 PINGROUP(gmi_cs2_n_pk3, SDMMC2, NAND, GMI, TRACE, 0x31dc, N, N, N),
1673 PINGROUP(gmi_cs3_n_pk4, SDMMC2, NAND, GMI, GMI_ALT, 0x31e0, N, N, N),
1674 PINGROUP(gmi_cs4_n_pk2, USB, NAND, GMI, TRACE, 0x31e4, N, N, N),
1675 PINGROUP(gmi_cs6_n_pi3, NAND, NAND_ALT, GMI, SPI4, 0x31e8, N, N, N),
1676 PINGROUP(gmi_cs7_n_pi6, NAND, NAND_ALT, GMI, SDMMC2, 0x31ec, N, N, N),
1677 PINGROUP(gmi_ad0_pg0, RSVD1, NAND, GMI, RSVD4, 0x31f0, N, N, N),
1678 PINGROUP(gmi_ad1_pg1, RSVD1, NAND, GMI, RSVD4, 0x31f4, N, N, N),
1679 PINGROUP(gmi_ad2_pg2, RSVD1, NAND, GMI, RSVD4, 0x31f8, N, N, N),
1680 PINGROUP(gmi_ad3_pg3, RSVD1, NAND, GMI, RSVD4, 0x31fc, N, N, N),
1681 PINGROUP(gmi_ad4_pg4, RSVD1, NAND, GMI, RSVD4, 0x3200, N, N, N),
1682 PINGROUP(gmi_ad5_pg5, RSVD1, NAND, GMI, SPI4, 0x3204, N, N, N),
1683 PINGROUP(gmi_ad6_pg6, RSVD1, NAND, GMI, SPI4, 0x3208, N, N, N),
1684 PINGROUP(gmi_ad7_pg7, RSVD1, NAND, GMI, SPI4, 0x320c, N, N, N),
1685 PINGROUP(gmi_ad8_ph0, PWM0, NAND, GMI, DTV, 0x3210, N, N, N),
1686 PINGROUP(gmi_ad9_ph1, PWM1, NAND, GMI, CLDVFS, 0x3214, N, N, N),
1687 PINGROUP(gmi_ad10_ph2, PWM2, NAND, GMI, CLDVFS, 0x3218, N, N, N),
1688 PINGROUP(gmi_ad11_ph3, PWM3, NAND, GMI, USB, 0x321c, N, N, N),
1689 PINGROUP(gmi_ad12_ph4, SDMMC2, NAND, GMI, RSVD4, 0x3220, N, N, N),
1690 PINGROUP(gmi_ad13_ph5, SDMMC2, NAND, GMI, RSVD4, 0x3224, N, N, N),
1691 PINGROUP(gmi_ad14_ph6, SDMMC2, NAND, GMI, DTV, 0x3228, N, N, N),
1692 PINGROUP(gmi_ad15_ph7, SDMMC2, NAND, GMI, DTV, 0x322c, N, N, N),
1693 PINGROUP(gmi_a16_pj7, UARTD, TRACE, GMI, GMI_ALT, 0x3230, N, N, N),
1694 PINGROUP(gmi_a17_pb0, UARTD, RSVD2, GMI, TRACE, 0x3234, N, N, N),
1695 PINGROUP(gmi_a18_pb1, UARTD, RSVD2, GMI, TRACE, 0x3238, N, N, N),
1696 PINGROUP(gmi_a19_pk7, UARTD, SPI4, GMI, TRACE, 0x323c, N, N, N),
1697 PINGROUP(gmi_wr_n_pi0, RSVD1, NAND, GMI, SPI4, 0x3240, N, N, N),
1698 PINGROUP(gmi_oe_n_pi1, RSVD1, NAND, GMI, SOC, 0x3244, N, N, N),
1699 PINGROUP(gmi_dqs_p_pj3, SDMMC2, NAND, GMI, TRACE, 0x3248, N, N, N),
1700 PINGROUP(gmi_rst_n_pi4, NAND, NAND_ALT, GMI, RSVD4, 0x324c, N, N, N),
1701 PINGROUP(gen2_i2c_scl_pt5, I2C2, RSVD2, GMI, RSVD4, 0x3250, Y, N, N),
1702 PINGROUP(gen2_i2c_sda_pt6, I2C2, RSVD2, GMI, RSVD4, 0x3254, Y, N, N),
1703 PINGROUP(sdmmc4_clk_pcc4, SDMMC4, RSVD2, GMI, RSVD4, 0x3258, N, Y, N),
1704 PINGROUP(sdmmc4_cmd_pt7, SDMMC4, RSVD2, GMI, RSVD4, 0x325c, N, Y, N),
1705 PINGROUP(sdmmc4_dat0_paa0, SDMMC4, SPI3, GMI, RSVD4, 0x3260, N, Y, N),
1706 PINGROUP(sdmmc4_dat1_paa1, SDMMC4, SPI3, GMI, RSVD4, 0x3264, N, Y, N),
1707 PINGROUP(sdmmc4_dat2_paa2, SDMMC4, SPI3, GMI, RSVD4, 0x3268, N, Y, N),
1708 PINGROUP(sdmmc4_dat3_paa3, SDMMC4, SPI3, GMI, RSVD4, 0x326c, N, Y, N),
1709 PINGROUP(sdmmc4_dat4_paa4, SDMMC4, SPI3, GMI, RSVD4, 0x3270, N, Y, N),
1710 PINGROUP(sdmmc4_dat5_paa5, SDMMC4, SPI3, GMI, RSVD4, 0x3274, N, Y, N),
1711 PINGROUP(sdmmc4_dat6_paa6, SDMMC4, SPI3, GMI, RSVD4, 0x3278, N, Y, N),
1712 PINGROUP(sdmmc4_dat7_paa7, SDMMC4, RSVD2, GMI, RSVD4, 0x327c, N, Y, N),
1713 PINGROUP(cam_mclk_pcc0, VI, VI_ALT1, VI_ALT3, RSVD4, 0x3284, N, N, N),
1714 PINGROUP(pcc1, I2S4, RSVD2, RSVD3, RSVD4, 0x3288, N, N, N),
1715 PINGROUP(pbb0, I2S4, VI, VI_ALT1, VI_ALT3, 0x328c, N, N, N),
1716 PINGROUP(cam_i2c_scl_pbb1, VGP1, I2C3, RSVD3, RSVD4, 0x3290, Y, N, N),
1717 PINGROUP(cam_i2c_sda_pbb2, VGP2, I2C3, RSVD3, RSVD4, 0x3294, Y, N, N),
1718 PINGROUP(pbb3, VGP3, DISPLAYA, DISPLAYB, RSVD4, 0x3298, N, N, N),
1719 PINGROUP(pbb4, VGP4, DISPLAYA, DISPLAYB, RSVD4, 0x329c, N, N, N),
1720 PINGROUP(pbb5, VGP5, DISPLAYA, DISPLAYB, RSVD4, 0x32a0, N, N, N),
1721 PINGROUP(pbb6, VGP6, DISPLAYA, DISPLAYB, RSVD4, 0x32a4, N, N, N),
1722 PINGROUP(pbb7, I2S4, RSVD2, RSVD3, RSVD4, 0x32a8, N, N, N),
1723 PINGROUP(pcc2, I2S4, RSVD2, RSVD3, RSVD4, 0x32ac, N, N, N),
1724 PINGROUP(jtag_rtck, RTCK, RSVD2, RSVD3, RSVD4, 0x32b0, N, N, N),
1725 PINGROUP(pwr_i2c_scl_pz6, I2CPWR, RSVD2, RSVD3, RSVD4, 0x32b4, Y, N, N),
1726 PINGROUP(pwr_i2c_sda_pz7, I2CPWR, RSVD2, RSVD3, RSVD4, 0x32b8, Y, N, N),
1727 PINGROUP(kb_row0_pr0, KBC, RSVD2, RSVD3, RSVD4, 0x32bc, N, N, N),
1728 PINGROUP(kb_row1_pr1, KBC, RSVD2, RSVD3, RSVD4, 0x32c0, N, N, N),
1729 PINGROUP(kb_row2_pr2, KBC, RSVD2, RSVD3, RSVD4, 0x32c4, N, N, N),
1730 PINGROUP(kb_row3_pr3, KBC, DISPLAYA, RSVD3, DISPLAYB, 0x32c8, N, N, N),
1731 PINGROUP(kb_row4_pr4, KBC, DISPLAYA, SPI2, DISPLAYB, 0x32cc, N, N, N),
1732 PINGROUP(kb_row5_pr5, KBC, DISPLAYA, SPI2, DISPLAYB, 0x32d0, N, N, N),
1733 PINGROUP(kb_row6_pr6, KBC, DISPLAYA, DISPLAYA_ALT, DISPLAYB, 0x32d4, N, N, N),
1734 PINGROUP(kb_row7_pr7, KBC, RSVD2, CLDVFS, UARTA, 0x32d8, N, N, N),
1735 PINGROUP(kb_row8_ps0, KBC, RSVD2, CLDVFS, UARTA, 0x32dc, N, N, N),
1736 PINGROUP(kb_row9_ps1, KBC, RSVD2, RSVD3, UARTA, 0x32e0, N, N, N),
1737 PINGROUP(kb_row10_ps2, KBC, RSVD2, RSVD3, UARTA, 0x32e4, N, N, N),
1738 PINGROUP(kb_col0_pq0, KBC, USB, SPI2, EMC_DLL, 0x32fc, N, N, N),
1739 PINGROUP(kb_col1_pq1, KBC, RSVD2, SPI2, EMC_DLL, 0x3300, N, N, N),
1740 PINGROUP(kb_col2_pq2, KBC, RSVD2, SPI2, RSVD4, 0x3304, N, N, N),
1741 PINGROUP(kb_col3_pq3, KBC, DISPLAYA, PWM2, UARTA, 0x3308, N, N, N),
1742 PINGROUP(kb_col4_pq4, KBC, OWR, SDMMC3, UARTA, 0x330c, N, N, N),
1743 PINGROUP(kb_col5_pq5, KBC, RSVD2, SDMMC1, RSVD4, 0x3310, N, N, N),
1744 PINGROUP(kb_col6_pq6, KBC, RSVD2, SPI2, RSVD4, 0x3314, N, N, N),
1745 PINGROUP(kb_col7_pq7, KBC, RSVD2, SPI2, RSVD4, 0x3318, N, N, N),
1746 PINGROUP(clk_32k_out_pa0, BLINK, SOC, RSVD3, RSVD4, 0x331c, N, N, N),
1747 PINGROUP(sys_clk_req_pz5, SYSCLK, RSVD2, RSVD3, RSVD4, 0x3320, N, N, N),
1748 PINGROUP(core_pwr_req, PWRON, RSVD2, RSVD3, RSVD4, 0x3324, N, N, N),
1749 PINGROUP(cpu_pwr_req, CPU, RSVD2, RSVD3, RSVD4, 0x3328, N, N, N),
1750 PINGROUP(pwr_int_n, PMI, RSVD2, RSVD3, RSVD4, 0x332c, N, N, N),
1751 PINGROUP(clk_32k_in, CLK, RSVD2, RSVD3, RSVD4, 0x3330, N, N, N),
1752 PINGROUP(owr, OWR, RSVD2, RSVD3, RSVD4, 0x3334, N, N, Y),
1753 PINGROUP(dap1_fs_pn0, I2S0, HDA, GMI, RSVD4, 0x3338, N, N, N),
1754 PINGROUP(dap1_din_pn1, I2S0, HDA, GMI, RSVD4, 0x333c, N, N, N),
1755 PINGROUP(dap1_dout_pn2, I2S0, HDA, GMI, RSVD4, 0x3340, N, N, N),
1756 PINGROUP(dap1_sclk_pn3, I2S0, HDA, GMI, RSVD4, 0x3344, N, N, N),
1757 PINGROUP(clk1_req_pee2, DAP, DAP1, RSVD3, RSVD4, 0x3348, N, N, N),
1758 PINGROUP(clk1_out_pw4, EXTPERIPH1, DAP2, RSVD3, RSVD4, 0x334c, N, N, N),
1759 PINGROUP(spdif_in_pk6, SPDIF, USB, RSVD3, RSVD4, 0x3350, N, N, N),
1760 PINGROUP(spdif_out_pk5, SPDIF, RSVD2, RSVD3, RSVD4, 0x3354, N, N, N),
1761 PINGROUP(dap2_fs_pa2, I2S1, HDA, RSVD3, RSVD4, 0x3358, N, N, N),
1762 PINGROUP(dap2_din_pa4, I2S1, HDA, RSVD3, RSVD4, 0x335c, N, N, N),
1763 PINGROUP(dap2_dout_pa5, I2S1, HDA, RSVD3, RSVD4, 0x3360, N, N, N),
1764 PINGROUP(dap2_sclk_pa3, I2S1, HDA, RSVD3, RSVD4, 0x3364, N, N, N),
1765 PINGROUP(dvfs_pwm_px0, SPI6, CLDVFS, RSVD3, RSVD4, 0x3368, N, N, N),
1766 PINGROUP(gpio_x1_aud_px1, SPI6, RSVD2, RSVD3, RSVD4, 0x336c, N, N, N),
1767 PINGROUP(gpio_x3_aud_px3, SPI6, SPI1, RSVD3, RSVD4, 0x3370, N, N, N),
1768 PINGROUP(dvfs_clk_px2, SPI6, CLDVFS, RSVD3, RSVD4, 0x3374, N, N, N),
1769 PINGROUP(gpio_x4_aud_px4, RSVD1, SPI1, SPI2, DAP2, 0x3378, N, N, N),
1770 PINGROUP(gpio_x5_aud_px5, RSVD1, SPI1, SPI2, RSVD4, 0x337c, N, N, N),
1771 PINGROUP(gpio_x6_aud_px6, SPI6, SPI1, SPI2, RSVD4, 0x3380, N, N, N),
1772 PINGROUP(gpio_x7_aud_px7, RSVD1, SPI1, SPI2, RSVD4, 0x3384, N, N, N),
1773 PINGROUP(sdmmc3_clk_pa6, SDMMC3, RSVD2, RSVD3, SPI3, 0x3390, N, N, N),
1774 PINGROUP(sdmmc3_cmd_pa7, SDMMC3, PWM3, UARTA, SPI3, 0x3394, N, N, N),
1775 PINGROUP(sdmmc3_dat0_pb7, SDMMC3, RSVD2, RSVD3, SPI3, 0x3398, N, N, N),
1776 PINGROUP(sdmmc3_dat1_pb6, SDMMC3, PWM2, UARTA, SPI3, 0x339c, N, N, N),
1777 PINGROUP(sdmmc3_dat2_pb5, SDMMC3, PWM1, DISPLAYA, SPI3, 0x33a0, N, N, N),
1778 PINGROUP(sdmmc3_dat3_pb4, SDMMC3, PWM0, DISPLAYB, SPI3, 0x33a4, N, N, N),
1779 PINGROUP(hdmi_cec_pee3, CEC, SDMMC3, RSVD3, SOC, 0x33e0, Y, N, N),
1780 PINGROUP(sdmmc1_wp_n_pv3, SDMMC1, CLK12, SPI4, UARTA, 0x33e4, N, N, N),
1781 PINGROUP(sdmmc3_cd_n_pv2, SDMMC3, OWR, RSVD3, RSVD4, 0x33e8, N, N, N),
1782 PINGROUP(gpio_w2_aud_pw2, SPI6, RSVD2, SPI2, I2C1, 0x33ec, N, N, N),
1783 PINGROUP(gpio_w3_aud_pw3, SPI6, SPI1, SPI2, I2C1, 0x33f0, N, N, N),
1784 PINGROUP(usb_vbus_en0_pn4, USB, RSVD2, RSVD3, RSVD4, 0x33f4, Y, N, N),
1785 PINGROUP(usb_vbus_en1_pn5, USB, RSVD2, RSVD3, RSVD4, 0x33f8, Y, N, N),
1786 PINGROUP(sdmmc3_clk_lb_in_pee5, SDMMC3, RSVD2, RSVD3, RSVD4, 0x33fc, N, N, N),
1787 PINGROUP(sdmmc3_clk_lb_out_pee4, SDMMC3, RSVD2, RSVD3, RSVD4, 0x3400, N, N, N),
1788 PINGROUP(gmi_clk_lb, SDMMC2, NAND, GMI, RSVD4, 0x3404, N, N, N),
1789 PINGROUP(reset_out_n, RSVD1, RSVD2, RSVD3, RESET_OUT_N, 0x3408, N, N, N),
1790
1791
1792 DRV_PINGROUP(ao1, 0x868, 2, 3, 4, 12, 5, 20, 5, 28, 2, 30, 2, N),
1793 DRV_PINGROUP(ao2, 0x86c, 2, 3, 4, 12, 5, 20, 5, 28, 2, 30, 2, N),
1794 DRV_PINGROUP(at1, 0x870, 2, 3, -1, 12, 7, 20, 7, 28, 2, 30, 2, Y),
1795 DRV_PINGROUP(at2, 0x874, 2, 3, -1, 12, 7, 20, 7, 28, 2, 30, 2, Y),
1796 DRV_PINGROUP(at3, 0x878, 2, 3, -1, 12, 7, 20, 7, 28, 2, 30, 2, Y),
1797 DRV_PINGROUP(at4, 0x87c, 2, 3, -1, 12, 7, 20, 7, 28, 2, 30, 2, Y),
1798 DRV_PINGROUP(at5, 0x880, 2, 3, 4, 14, 5, 19, 5, 28, 2, 30, 2, N),
1799 DRV_PINGROUP(cdev1, 0x884, 2, 3, 4, 12, 5, 20, 5, 28, 2, 30, 2, N),
1800 DRV_PINGROUP(cdev2, 0x888, 2, 3, 4, 12, 5, 20, 5, 28, 2, 30, 2, N),
1801 DRV_PINGROUP(dap1, 0x890, 2, 3, 4, 12, 5, 20, 5, 28, 2, 30, 2, N),
1802 DRV_PINGROUP(dap2, 0x894, 2, 3, 4, 12, 5, 20, 5, 28, 2, 30, 2, N),
1803 DRV_PINGROUP(dap3, 0x898, 2, 3, 4, 12, 5, 20, 5, 28, 2, 30, 2, N),
1804 DRV_PINGROUP(dap4, 0x89c, 2, 3, 4, 12, 5, 20, 5, 28, 2, 30, 2, N),
1805 DRV_PINGROUP(dbg, 0x8a0, 2, 3, 4, 12, 5, 20, 5, 28, 2, 30, 2, N),
1806 DRV_PINGROUP(sdio3, 0x8b0, 2, 3, -1, 12, 7, 20, 7, 28, 2, 30, 2, N),
1807 DRV_PINGROUP(spi, 0x8b4, 2, 3, 4, 12, 5, 20, 5, 28, 2, 30, 2, N),
1808 DRV_PINGROUP(uaa, 0x8b8, 2, 3, 4, 12, 5, 20, 5, 28, 2, 30, 2, N),
1809 DRV_PINGROUP(uab, 0x8bc, 2, 3, 4, 12, 5, 20, 5, 28, 2, 30, 2, N),
1810 DRV_PINGROUP(uart2, 0x8c0, 2, 3, 4, 12, 5, 20, 5, 28, 2, 30, 2, N),
1811 DRV_PINGROUP(uart3, 0x8c4, 2, 3, 4, 12, 5, 20, 5, 28, 2, 30, 2, N),
1812 DRV_PINGROUP(sdio1, 0x8ec, 2, 3, -1, 12, 7, 20, 7, 28, 2, 30, 2, N),
1813 DRV_PINGROUP(ddc, 0x8fc, 2, 3, -1, 12, 5, 20, 5, 28, 2, 30, 2, N),
1814 DRV_PINGROUP(gma, 0x900, 2, 3, -1, 14, 5, 20, 5, 28, 2, 30, 2, N),
1815 DRV_PINGROUP(gme, 0x910, 2, 3, 4, 14, 5, 19, 5, 28, 2, 30, 2, N),
1816 DRV_PINGROUP(gmf, 0x914, 2, 3, 4, 14, 5, 19, 5, 28, 2, 30, 2, N),
1817 DRV_PINGROUP(gmg, 0x918, 2, 3, 4, 14, 5, 19, 5, 28, 2, 30, 2, N),
1818 DRV_PINGROUP(gmh, 0x91c, 2, 3, 4, 14, 5, 19, 5, 28, 2, 30, 2, N),
1819 DRV_PINGROUP(owr, 0x920, 2, 3, 4, 12, 5, 20, 5, 28, 2, 30, 2, N),
1820 DRV_PINGROUP(uda, 0x924, 2, 3, 4, 12, 5, 20, 5, 28, 2, 30, 2, N),
1821 DRV_PINGROUP(dev3, 0x92c, 2, 3, 4, 12, 5, 20, 5, 28, 2, 30, 2, N),
1822 DRV_PINGROUP(cec, 0x938, 2, 3, 4, 12, 5, 20, 5, 28, 2, 30, 2, N),
1823 DRV_PINGROUP(at6, 0x994, 2, 3, 4, 12, 5, 20, 5, 28, 2, 30, 2, Y),
1824 DRV_PINGROUP(dap5, 0x998, 2, 3, 4, 12, 5, 20, 5, 28, 2, 30, 2, N),
1825 DRV_PINGROUP(usb_vbus_en, 0x99c, 2, 3, 4, 12, 5, 20, 5, 28, 2, 30, 2, N),
1826 DRV_PINGROUP(ao3, 0x9a0, 2, 3, 4, 12, 5, -1, -1, 28, 2, -1, -1, N),
1827 DRV_PINGROUP(hv0, 0x9a4, 2, 3, 4, 12, 5, -1, -1, 28, 2, -1, -1, N),
1828 DRV_PINGROUP(sdio4, 0x9a8, 2, 3, 4, 12, 5, 20, 5, 28, 2, 30, 2, N),
1829 DRV_PINGROUP(ao0, 0x9ac, 2, 3, 4, 12, 5, 20, 5, 28, 2, 30, 2, N),
1830 };
1831
1832 static const struct tegra_pinctrl_soc_data tegra114_pinctrl = {
1833 .ngpios = NUM_GPIOS,
1834 .gpio_compatible = "nvidia,tegra114-gpio",
1835 .pins = tegra114_pins,
1836 .npins = ARRAY_SIZE(tegra114_pins),
1837 .functions = tegra114_functions,
1838 .nfunctions = ARRAY_SIZE(tegra114_functions),
1839 .groups = tegra114_groups,
1840 .ngroups = ARRAY_SIZE(tegra114_groups),
1841 .hsm_in_mux = false,
1842 .schmitt_in_mux = false,
1843 .drvtype_in_mux = false,
1844 };
1845
1846 static int tegra114_pinctrl_probe(struct platform_device *pdev)
1847 {
1848 return tegra_pinctrl_probe(pdev, &tegra114_pinctrl);
1849 }
1850
1851 static const struct of_device_id tegra114_pinctrl_of_match[] = {
1852 { .compatible = "nvidia,tegra114-pinmux", },
1853 { },
1854 };
1855
1856 static struct platform_driver tegra114_pinctrl_driver = {
1857 .driver = {
1858 .name = "tegra114-pinctrl",
1859 .of_match_table = tegra114_pinctrl_of_match,
1860 },
1861 .probe = tegra114_pinctrl_probe,
1862 };
1863
1864 static int __init tegra114_pinctrl_init(void)
1865 {
1866 return platform_driver_register(&tegra114_pinctrl_driver);
1867 }
1868 arch_initcall(tegra114_pinctrl_init);