0001
0002 #ifndef __PINCTRL_MTK_MT6397_H
0003 #define __PINCTRL_MTK_MT6397_H
0004
0005 #include <linux/pinctrl/pinctrl.h>
0006 #include "pinctrl-mtk-common.h"
0007
0008 static const struct mtk_desc_pin mtk_pins_mt6397[] = {
0009 MTK_PIN(PINCTRL_PIN(0, "INT"),
0010 "N2", "mt6397",
0011 MTK_EINT_FUNCTION(NO_EINT_SUPPORT, NO_EINT_SUPPORT),
0012 MTK_FUNCTION(0, "GPIO0"),
0013 MTK_FUNCTION(1, "INT")
0014 ),
0015 MTK_PIN(PINCTRL_PIN(1, "SRCVOLTEN"),
0016 "M4", "mt6397",
0017 MTK_EINT_FUNCTION(NO_EINT_SUPPORT, NO_EINT_SUPPORT),
0018 MTK_FUNCTION(0, "GPIO1"),
0019 MTK_FUNCTION(1, "SRCVOLTEN"),
0020 MTK_FUNCTION(6, "TEST_CK1")
0021 ),
0022 MTK_PIN(PINCTRL_PIN(2, "SRCLKEN_PERI"),
0023 "M2", "mt6397",
0024 MTK_EINT_FUNCTION(NO_EINT_SUPPORT, NO_EINT_SUPPORT),
0025 MTK_FUNCTION(0, "GPIO2"),
0026 MTK_FUNCTION(1, "SRCLKEN_PERI"),
0027 MTK_FUNCTION(6, "TEST_CK2")
0028 ),
0029 MTK_PIN(PINCTRL_PIN(3, "RTC_32K1V8"),
0030 "K3", "mt6397",
0031 MTK_EINT_FUNCTION(NO_EINT_SUPPORT, NO_EINT_SUPPORT),
0032 MTK_FUNCTION(0, "GPIO3"),
0033 MTK_FUNCTION(1, "RTC_32K1V8"),
0034 MTK_FUNCTION(6, "TEST_CK3")
0035 ),
0036 MTK_PIN(PINCTRL_PIN(4, "WRAP_EVENT"),
0037 "J2", "mt6397",
0038 MTK_EINT_FUNCTION(NO_EINT_SUPPORT, NO_EINT_SUPPORT),
0039 MTK_FUNCTION(0, "GPIO4"),
0040 MTK_FUNCTION(1, "WRAP_EVENT")
0041 ),
0042 MTK_PIN(PINCTRL_PIN(5, "SPI_CLK"),
0043 "L4", "mt6397",
0044 MTK_EINT_FUNCTION(NO_EINT_SUPPORT, NO_EINT_SUPPORT),
0045 MTK_FUNCTION(0, "GPIO5"),
0046 MTK_FUNCTION(1, "SPI_CLK")
0047 ),
0048 MTK_PIN(PINCTRL_PIN(6, "SPI_CSN"),
0049 "J3", "mt6397",
0050 MTK_EINT_FUNCTION(NO_EINT_SUPPORT, NO_EINT_SUPPORT),
0051 MTK_FUNCTION(0, "GPIO6"),
0052 MTK_FUNCTION(1, "SPI_CSN")
0053 ),
0054 MTK_PIN(PINCTRL_PIN(7, "SPI_MOSI"),
0055 "J1", "mt6397",
0056 MTK_EINT_FUNCTION(NO_EINT_SUPPORT, NO_EINT_SUPPORT),
0057 MTK_FUNCTION(0, "GPIO7"),
0058 MTK_FUNCTION(1, "SPI_MOSI")
0059 ),
0060 MTK_PIN(PINCTRL_PIN(8, "SPI_MISO"),
0061 "L3", "mt6397",
0062 MTK_EINT_FUNCTION(NO_EINT_SUPPORT, NO_EINT_SUPPORT),
0063 MTK_FUNCTION(0, "GPIO8"),
0064 MTK_FUNCTION(1, "SPI_MISO")
0065 ),
0066 MTK_PIN(PINCTRL_PIN(9, "AUD_CLK_MOSI"),
0067 "H2", "mt6397",
0068 MTK_EINT_FUNCTION(NO_EINT_SUPPORT, NO_EINT_SUPPORT),
0069 MTK_FUNCTION(0, "GPIO9"),
0070 MTK_FUNCTION(1, "AUD_CLK"),
0071 MTK_FUNCTION(6, "TEST_IN0"),
0072 MTK_FUNCTION(7, "TEST_OUT0")
0073 ),
0074 MTK_PIN(PINCTRL_PIN(10, "AUD_DAT_MISO"),
0075 "H3", "mt6397",
0076 MTK_EINT_FUNCTION(NO_EINT_SUPPORT, NO_EINT_SUPPORT),
0077 MTK_FUNCTION(0, "GPIO10"),
0078 MTK_FUNCTION(1, "AUD_MISO"),
0079 MTK_FUNCTION(6, "TEST_IN1"),
0080 MTK_FUNCTION(7, "TEST_OUT1")
0081 ),
0082 MTK_PIN(PINCTRL_PIN(11, "AUD_DAT_MOSI"),
0083 "H1", "mt6397",
0084 MTK_EINT_FUNCTION(NO_EINT_SUPPORT, NO_EINT_SUPPORT),
0085 MTK_FUNCTION(0, "GPIO11"),
0086 MTK_FUNCTION(1, "AUD_MOSI"),
0087 MTK_FUNCTION(6, "TEST_IN2"),
0088 MTK_FUNCTION(7, "TEST_OUT2")
0089 ),
0090 MTK_PIN(PINCTRL_PIN(12, "COL0"),
0091 "F3", "mt6397",
0092 MTK_EINT_FUNCTION(2, 10),
0093 MTK_FUNCTION(0, "GPIO12"),
0094 MTK_FUNCTION(1, "COL0_USBDL"),
0095 MTK_FUNCTION(2, "EINT10_1X"),
0096 MTK_FUNCTION(3, "PWM1_3X"),
0097 MTK_FUNCTION(6, "TEST_IN3"),
0098 MTK_FUNCTION(7, "TEST_OUT3")
0099 ),
0100 MTK_PIN(PINCTRL_PIN(13, "COL1"),
0101 "G8", "mt6397",
0102 MTK_EINT_FUNCTION(2, 11),
0103 MTK_FUNCTION(0, "GPIO13"),
0104 MTK_FUNCTION(1, "COL1"),
0105 MTK_FUNCTION(2, "EINT11_1X"),
0106 MTK_FUNCTION(3, "SCL0_2X"),
0107 MTK_FUNCTION(6, "TEST_IN4"),
0108 MTK_FUNCTION(7, "TEST_OUT4")
0109 ),
0110 MTK_PIN(PINCTRL_PIN(14, "COL2"),
0111 "H4", "mt6397",
0112 MTK_EINT_FUNCTION(2, 12),
0113 MTK_FUNCTION(0, "GPIO14"),
0114 MTK_FUNCTION(1, "COL2"),
0115 MTK_FUNCTION(2, "EINT12_1X"),
0116 MTK_FUNCTION(3, "SDA0_2X"),
0117 MTK_FUNCTION(6, "TEST_IN5"),
0118 MTK_FUNCTION(7, "TEST_OUT5")
0119 ),
0120 MTK_PIN(PINCTRL_PIN(15, "COL3"),
0121 "G2", "mt6397",
0122 MTK_EINT_FUNCTION(2, 13),
0123 MTK_FUNCTION(0, "GPIO15"),
0124 MTK_FUNCTION(1, "COL3"),
0125 MTK_FUNCTION(2, "EINT13_1X"),
0126 MTK_FUNCTION(3, "SCL1_2X"),
0127 MTK_FUNCTION(6, "TEST_IN6"),
0128 MTK_FUNCTION(7, "TEST_OUT6")
0129 ),
0130 MTK_PIN(PINCTRL_PIN(16, "COL4"),
0131 "F2", "mt6397",
0132 MTK_EINT_FUNCTION(2, 14),
0133 MTK_FUNCTION(0, "GPIO16"),
0134 MTK_FUNCTION(1, "COL4"),
0135 MTK_FUNCTION(2, "EINT14_1X"),
0136 MTK_FUNCTION(3, "SDA1_2X"),
0137 MTK_FUNCTION(6, "TEST_IN7"),
0138 MTK_FUNCTION(7, "TEST_OUT7")
0139 ),
0140 MTK_PIN(PINCTRL_PIN(17, "COL5"),
0141 "G7", "mt6397",
0142 MTK_EINT_FUNCTION(2, 15),
0143 MTK_FUNCTION(0, "GPIO17"),
0144 MTK_FUNCTION(1, "COL5"),
0145 MTK_FUNCTION(2, "EINT15_1X"),
0146 MTK_FUNCTION(3, "SCL2_2X"),
0147 MTK_FUNCTION(6, "TEST_IN8"),
0148 MTK_FUNCTION(7, "TEST_OUT8")
0149 ),
0150 MTK_PIN(PINCTRL_PIN(18, "COL6"),
0151 "J6", "mt6397",
0152 MTK_EINT_FUNCTION(2, 16),
0153 MTK_FUNCTION(0, "GPIO18"),
0154 MTK_FUNCTION(1, "COL6"),
0155 MTK_FUNCTION(2, "EINT16_1X"),
0156 MTK_FUNCTION(3, "SDA2_2X"),
0157 MTK_FUNCTION(4, "GPIO32K_0"),
0158 MTK_FUNCTION(5, "GPIO26M_0"),
0159 MTK_FUNCTION(6, "TEST_IN9"),
0160 MTK_FUNCTION(7, "TEST_OUT9")
0161 ),
0162 MTK_PIN(PINCTRL_PIN(19, "COL7"),
0163 "J5", "mt6397",
0164 MTK_EINT_FUNCTION(2, 17),
0165 MTK_FUNCTION(0, "GPIO19"),
0166 MTK_FUNCTION(1, "COL7"),
0167 MTK_FUNCTION(2, "EINT17_1X"),
0168 MTK_FUNCTION(3, "PWM2_3X"),
0169 MTK_FUNCTION(4, "GPIO32K_1"),
0170 MTK_FUNCTION(5, "GPIO26M_1"),
0171 MTK_FUNCTION(6, "TEST_IN10"),
0172 MTK_FUNCTION(7, "TEST_OUT10")
0173 ),
0174 MTK_PIN(PINCTRL_PIN(20, "ROW0"),
0175 "L7", "mt6397",
0176 MTK_EINT_FUNCTION(2, 18),
0177 MTK_FUNCTION(0, "GPIO20"),
0178 MTK_FUNCTION(1, "ROW0"),
0179 MTK_FUNCTION(2, "EINT18_1X"),
0180 MTK_FUNCTION(3, "SCL0_3X"),
0181 MTK_FUNCTION(6, "TEST_IN11"),
0182 MTK_FUNCTION(7, "TEST_OUT11")
0183 ),
0184 MTK_PIN(PINCTRL_PIN(21, "ROW1"),
0185 "P1", "mt6397",
0186 MTK_EINT_FUNCTION(2, 19),
0187 MTK_FUNCTION(0, "GPIO21"),
0188 MTK_FUNCTION(1, "ROW1"),
0189 MTK_FUNCTION(2, "EINT19_1X"),
0190 MTK_FUNCTION(3, "SDA0_3X"),
0191 MTK_FUNCTION(4, "AUD_TSTCK"),
0192 MTK_FUNCTION(6, "TEST_IN12"),
0193 MTK_FUNCTION(7, "TEST_OUT12")
0194 ),
0195 MTK_PIN(PINCTRL_PIN(22, "ROW2"),
0196 "J8", "mt6397",
0197 MTK_EINT_FUNCTION(2, 20),
0198 MTK_FUNCTION(0, "GPIO22"),
0199 MTK_FUNCTION(1, "ROW2"),
0200 MTK_FUNCTION(2, "EINT20_1X"),
0201 MTK_FUNCTION(3, "SCL1_3X"),
0202 MTK_FUNCTION(6, "TEST_IN13"),
0203 MTK_FUNCTION(7, "TEST_OUT13")
0204 ),
0205 MTK_PIN(PINCTRL_PIN(23, "ROW3"),
0206 "J7", "mt6397",
0207 MTK_EINT_FUNCTION(2, 21),
0208 MTK_FUNCTION(0, "GPIO23"),
0209 MTK_FUNCTION(1, "ROW3"),
0210 MTK_FUNCTION(2, "EINT21_1X"),
0211 MTK_FUNCTION(3, "SDA1_3X"),
0212 MTK_FUNCTION(6, "TEST_IN14"),
0213 MTK_FUNCTION(7, "TEST_OUT14")
0214 ),
0215 MTK_PIN(PINCTRL_PIN(24, "ROW4"),
0216 "L5", "mt6397",
0217 MTK_EINT_FUNCTION(2, 22),
0218 MTK_FUNCTION(0, "GPIO24"),
0219 MTK_FUNCTION(1, "ROW4"),
0220 MTK_FUNCTION(2, "EINT22_1X"),
0221 MTK_FUNCTION(3, "SCL2_3X"),
0222 MTK_FUNCTION(6, "TEST_IN15"),
0223 MTK_FUNCTION(7, "TEST_OUT15")
0224 ),
0225 MTK_PIN(PINCTRL_PIN(25, "ROW5"),
0226 "N6", "mt6397",
0227 MTK_EINT_FUNCTION(2, 23),
0228 MTK_FUNCTION(0, "GPIO25"),
0229 MTK_FUNCTION(1, "ROW5"),
0230 MTK_FUNCTION(2, "EINT23_1X"),
0231 MTK_FUNCTION(3, "SDA2_3X"),
0232 MTK_FUNCTION(6, "TEST_IN16"),
0233 MTK_FUNCTION(7, "TEST_OUT16")
0234 ),
0235 MTK_PIN(PINCTRL_PIN(26, "ROW6"),
0236 "L6", "mt6397",
0237 MTK_EINT_FUNCTION(2, 24),
0238 MTK_FUNCTION(0, "GPIO26"),
0239 MTK_FUNCTION(1, "ROW6"),
0240 MTK_FUNCTION(2, "EINT24_1X"),
0241 MTK_FUNCTION(3, "PWM3_3X"),
0242 MTK_FUNCTION(4, "GPIO32K_2"),
0243 MTK_FUNCTION(5, "GPIO26M_2"),
0244 MTK_FUNCTION(6, "TEST_IN17"),
0245 MTK_FUNCTION(7, "TEST_OUT17")
0246 ),
0247 MTK_PIN(PINCTRL_PIN(27, "ROW7"),
0248 "P2", "mt6397",
0249 MTK_EINT_FUNCTION(2, 3),
0250 MTK_FUNCTION(0, "GPIO27"),
0251 MTK_FUNCTION(1, "ROW7"),
0252 MTK_FUNCTION(2, "EINT3_1X"),
0253 MTK_FUNCTION(3, "CBUS"),
0254 MTK_FUNCTION(4, "GPIO32K_3"),
0255 MTK_FUNCTION(5, "GPIO26M_3"),
0256 MTK_FUNCTION(6, "TEST_IN18"),
0257 MTK_FUNCTION(7, "TEST_OUT18")
0258 ),
0259 MTK_PIN(PINCTRL_PIN(28, "PWM1(VMSEL1)"),
0260 "J4", "mt6397",
0261 MTK_EINT_FUNCTION(2, 4),
0262 MTK_FUNCTION(0, "GPIO28"),
0263 MTK_FUNCTION(1, "PWM1"),
0264 MTK_FUNCTION(2, "EINT4_1X"),
0265 MTK_FUNCTION(4, "GPIO32K_4"),
0266 MTK_FUNCTION(5, "GPIO26M_4"),
0267 MTK_FUNCTION(6, "TEST_IN19"),
0268 MTK_FUNCTION(7, "TEST_OUT19")
0269 ),
0270 MTK_PIN(PINCTRL_PIN(29, "PWM2(VMSEL2)"),
0271 "N5", "mt6397",
0272 MTK_EINT_FUNCTION(2, 5),
0273 MTK_FUNCTION(0, "GPIO29"),
0274 MTK_FUNCTION(1, "PWM2"),
0275 MTK_FUNCTION(2, "EINT5_1X"),
0276 MTK_FUNCTION(4, "GPIO32K_5"),
0277 MTK_FUNCTION(5, "GPIO26M_5"),
0278 MTK_FUNCTION(6, "TEST_IN20"),
0279 MTK_FUNCTION(7, "TEST_OUT20")
0280 ),
0281 MTK_PIN(PINCTRL_PIN(30, "PWM3(PWM)"),
0282 "R3", "mt6397",
0283 MTK_EINT_FUNCTION(2, 6),
0284 MTK_FUNCTION(0, "GPIO30"),
0285 MTK_FUNCTION(1, "PWM3"),
0286 MTK_FUNCTION(2, "EINT6_1X"),
0287 MTK_FUNCTION(3, "COL0"),
0288 MTK_FUNCTION(4, "GPIO32K_6"),
0289 MTK_FUNCTION(5, "GPIO26M_6"),
0290 MTK_FUNCTION(6, "TEST_IN21"),
0291 MTK_FUNCTION(7, "TEST_OUT21")
0292 ),
0293 MTK_PIN(PINCTRL_PIN(31, "SCL0"),
0294 "N1", "mt6397",
0295 MTK_EINT_FUNCTION(2, 7),
0296 MTK_FUNCTION(0, "GPIO31"),
0297 MTK_FUNCTION(1, "SCL0"),
0298 MTK_FUNCTION(2, "EINT7_1X"),
0299 MTK_FUNCTION(3, "PWM1_2X"),
0300 MTK_FUNCTION(6, "TEST_IN22"),
0301 MTK_FUNCTION(7, "TEST_OUT22")
0302 ),
0303 MTK_PIN(PINCTRL_PIN(32, "SDA0"),
0304 "N3", "mt6397",
0305 MTK_EINT_FUNCTION(2, 8),
0306 MTK_FUNCTION(0, "GPIO32"),
0307 MTK_FUNCTION(1, "SDA0"),
0308 MTK_FUNCTION(2, "EINT8_1X"),
0309 MTK_FUNCTION(6, "TEST_IN23"),
0310 MTK_FUNCTION(7, "TEST_OUT23")
0311 ),
0312 MTK_PIN(PINCTRL_PIN(33, "SCL1"),
0313 "T1", "mt6397",
0314 MTK_EINT_FUNCTION(2, 9),
0315 MTK_FUNCTION(0, "GPIO33"),
0316 MTK_FUNCTION(1, "SCL1"),
0317 MTK_FUNCTION(2, "EINT9_1X"),
0318 MTK_FUNCTION(3, "PWM2_2X"),
0319 MTK_FUNCTION(6, "TEST_IN24"),
0320 MTK_FUNCTION(7, "TEST_OUT24")
0321 ),
0322 MTK_PIN(PINCTRL_PIN(34, "SDA1"),
0323 "T2", "mt6397",
0324 MTK_EINT_FUNCTION(2, 0),
0325 MTK_FUNCTION(0, "GPIO34"),
0326 MTK_FUNCTION(1, "SDA1"),
0327 MTK_FUNCTION(2, "EINT0_1X"),
0328 MTK_FUNCTION(6, "TEST_IN25"),
0329 MTK_FUNCTION(7, "TEST_OUT25")
0330 ),
0331 MTK_PIN(PINCTRL_PIN(35, "SCL2"),
0332 "T3", "mt6397",
0333 MTK_EINT_FUNCTION(2, 1),
0334 MTK_FUNCTION(0, "GPIO35"),
0335 MTK_FUNCTION(1, "SCL2"),
0336 MTK_FUNCTION(2, "EINT1_1X"),
0337 MTK_FUNCTION(3, "PWM3_2X"),
0338 MTK_FUNCTION(6, "TEST_IN26"),
0339 MTK_FUNCTION(7, "TEST_OUT26")
0340 ),
0341 MTK_PIN(PINCTRL_PIN(36, "SDA2"),
0342 "U2", "mt6397",
0343 MTK_EINT_FUNCTION(2, 2),
0344 MTK_FUNCTION(0, "GPIO36"),
0345 MTK_FUNCTION(1, "SDA2"),
0346 MTK_FUNCTION(2, "EINT2_1X"),
0347 MTK_FUNCTION(6, "TEST_IN27"),
0348 MTK_FUNCTION(7, "TEST_OUT27")
0349 ),
0350 MTK_PIN(PINCTRL_PIN(37, "HDMISD"),
0351 "H6", "mt6397",
0352 MTK_EINT_FUNCTION(NO_EINT_SUPPORT, NO_EINT_SUPPORT),
0353 MTK_FUNCTION(0, "GPIO37"),
0354 MTK_FUNCTION(1, "HDMISD"),
0355 MTK_FUNCTION(6, "TEST_IN28"),
0356 MTK_FUNCTION(7, "TEST_OUT28")
0357 ),
0358 MTK_PIN(PINCTRL_PIN(38, "HDMISCK"),
0359 "H5", "mt6397",
0360 MTK_EINT_FUNCTION(NO_EINT_SUPPORT, NO_EINT_SUPPORT),
0361 MTK_FUNCTION(0, "GPIO38"),
0362 MTK_FUNCTION(1, "HDMISCK"),
0363 MTK_FUNCTION(6, "TEST_IN29"),
0364 MTK_FUNCTION(7, "TEST_OUT29")
0365 ),
0366 MTK_PIN(PINCTRL_PIN(39, "HTPLG"),
0367 "H7", "mt6397",
0368 MTK_EINT_FUNCTION(NO_EINT_SUPPORT, NO_EINT_SUPPORT),
0369 MTK_FUNCTION(0, "GPIO39"),
0370 MTK_FUNCTION(1, "HTPLG"),
0371 MTK_FUNCTION(6, "TEST_IN30"),
0372 MTK_FUNCTION(7, "TEST_OUT30")
0373 ),
0374 MTK_PIN(PINCTRL_PIN(40, "CEC"),
0375 "J9", "mt6397",
0376 MTK_EINT_FUNCTION(NO_EINT_SUPPORT, NO_EINT_SUPPORT),
0377 MTK_FUNCTION(0, "GPIO40"),
0378 MTK_FUNCTION(1, "CEC"),
0379 MTK_FUNCTION(6, "TEST_IN31"),
0380 MTK_FUNCTION(7, "TEST_OUT31")
0381 ),
0382 };
0383
0384 #endif