Back to home page

OSCL-LXR

 
 

    


0001 // SPDX-License-Identifier: GPL-2.0-only
0002 /*
0003  * Copyright (c) 2020-2021, The Linux Foundation. All rights reserved.
0004  * Copyright (c) 2022, Linaro Ltd.
0005  */
0006 
0007 #include <linux/module.h>
0008 #include <linux/of.h>
0009 #include <linux/platform_device.h>
0010 #include <linux/pinctrl/pinctrl.h>
0011 
0012 #include "pinctrl-msm.h"
0013 
0014 #define FUNCTION(fname)                 \
0015     [msm_mux_##fname] = {               \
0016         .name = #fname,             \
0017         .groups = fname##_groups,       \
0018         .ngroups = ARRAY_SIZE(fname##_groups),  \
0019     }
0020 
0021 #define REG_SIZE 0x1000
0022 #define PINGROUP(id, f1, f2, f3, f4, f5, f6, f7)    \
0023     {                       \
0024         .name = "gpio" #id,         \
0025         .pins = gpio##id##_pins,        \
0026         .npins = (unsigned int)ARRAY_SIZE(gpio##id##_pins), \
0027         .funcs = (int[]){           \
0028             msm_mux_gpio, /* gpio mode */   \
0029             msm_mux_##f1,           \
0030             msm_mux_##f2,           \
0031             msm_mux_##f3,           \
0032             msm_mux_##f4,           \
0033             msm_mux_##f5,           \
0034             msm_mux_##f6,           \
0035             msm_mux_##f7,           \
0036         },                  \
0037         .nfuncs = 8,                \
0038         .ctl_reg = REG_SIZE * id,       \
0039         .io_reg = 0x4 + REG_SIZE * id,      \
0040         .intr_cfg_reg = 0x8 + REG_SIZE * id,    \
0041         .intr_status_reg = 0xc + REG_SIZE * id, \
0042         .intr_target_reg = 0x8 + REG_SIZE * id, \
0043         .mux_bit = 2,           \
0044         .pull_bit = 0,          \
0045         .drv_bit = 6,           \
0046         .oe_bit = 9,            \
0047         .in_bit = 0,            \
0048         .out_bit = 1,           \
0049         .egpio_enable = 12,     \
0050         .egpio_present = 11,        \
0051         .intr_enable_bit = 0,       \
0052         .intr_status_bit = 0,       \
0053         .intr_target_bit = 5,       \
0054         .intr_target_kpss_val = 3,  \
0055         .intr_raw_status_bit = 4,   \
0056         .intr_polarity_bit = 1,     \
0057         .intr_detection_bit = 2,    \
0058         .intr_detection_width = 2,  \
0059     }
0060 
0061 #define SDC_QDSD_PINGROUP(pg_name, ctl, pull, drv)  \
0062     {                       \
0063         .name = #pg_name,           \
0064         .pins = pg_name##_pins,         \
0065         .npins = (unsigned int)ARRAY_SIZE(pg_name##_pins),  \
0066         .ctl_reg = ctl,             \
0067         .io_reg = 0,                \
0068         .intr_cfg_reg = 0,          \
0069         .intr_status_reg = 0,           \
0070         .intr_target_reg = 0,           \
0071         .mux_bit = -1,              \
0072         .pull_bit = pull,           \
0073         .drv_bit = drv,             \
0074         .oe_bit = -1,               \
0075         .in_bit = -1,               \
0076         .out_bit = -1,              \
0077         .intr_enable_bit = -1,          \
0078         .intr_status_bit = -1,          \
0079         .intr_target_bit = -1,          \
0080         .intr_raw_status_bit = -1,      \
0081         .intr_polarity_bit = -1,        \
0082         .intr_detection_bit = -1,       \
0083         .intr_detection_width = -1,     \
0084     }
0085 
0086 #define UFS_RESET(pg_name, offset)              \
0087     {                       \
0088         .name = #pg_name,           \
0089         .pins = pg_name##_pins,         \
0090         .npins = (unsigned int)ARRAY_SIZE(pg_name##_pins),  \
0091         .ctl_reg = offset,          \
0092         .io_reg = offset + 0x4,         \
0093         .intr_cfg_reg = 0,          \
0094         .intr_status_reg = 0,           \
0095         .intr_target_reg = 0,           \
0096         .mux_bit = -1,              \
0097         .pull_bit = 3,              \
0098         .drv_bit = 0,               \
0099         .oe_bit = -1,               \
0100         .in_bit = -1,               \
0101         .out_bit = 0,               \
0102         .intr_enable_bit = -1,          \
0103         .intr_status_bit = -1,          \
0104         .intr_target_bit = -1,          \
0105         .intr_raw_status_bit = -1,      \
0106         .intr_polarity_bit = -1,        \
0107         .intr_detection_bit = -1,       \
0108         .intr_detection_width = -1,     \
0109     }
0110 static const struct pinctrl_pin_desc sc8280xp_pins[] = {
0111     PINCTRL_PIN(0, "GPIO_0"),
0112     PINCTRL_PIN(1, "GPIO_1"),
0113     PINCTRL_PIN(2, "GPIO_2"),
0114     PINCTRL_PIN(3, "GPIO_3"),
0115     PINCTRL_PIN(4, "GPIO_4"),
0116     PINCTRL_PIN(5, "GPIO_5"),
0117     PINCTRL_PIN(6, "GPIO_6"),
0118     PINCTRL_PIN(7, "GPIO_7"),
0119     PINCTRL_PIN(8, "GPIO_8"),
0120     PINCTRL_PIN(9, "GPIO_9"),
0121     PINCTRL_PIN(10, "GPIO_10"),
0122     PINCTRL_PIN(11, "GPIO_11"),
0123     PINCTRL_PIN(12, "GPIO_12"),
0124     PINCTRL_PIN(13, "GPIO_13"),
0125     PINCTRL_PIN(14, "GPIO_14"),
0126     PINCTRL_PIN(15, "GPIO_15"),
0127     PINCTRL_PIN(16, "GPIO_16"),
0128     PINCTRL_PIN(17, "GPIO_17"),
0129     PINCTRL_PIN(18, "GPIO_18"),
0130     PINCTRL_PIN(19, "GPIO_19"),
0131     PINCTRL_PIN(20, "GPIO_20"),
0132     PINCTRL_PIN(21, "GPIO_21"),
0133     PINCTRL_PIN(22, "GPIO_22"),
0134     PINCTRL_PIN(23, "GPIO_23"),
0135     PINCTRL_PIN(24, "GPIO_24"),
0136     PINCTRL_PIN(25, "GPIO_25"),
0137     PINCTRL_PIN(26, "GPIO_26"),
0138     PINCTRL_PIN(27, "GPIO_27"),
0139     PINCTRL_PIN(28, "GPIO_28"),
0140     PINCTRL_PIN(29, "GPIO_29"),
0141     PINCTRL_PIN(30, "GPIO_30"),
0142     PINCTRL_PIN(31, "GPIO_31"),
0143     PINCTRL_PIN(32, "GPIO_32"),
0144     PINCTRL_PIN(33, "GPIO_33"),
0145     PINCTRL_PIN(34, "GPIO_34"),
0146     PINCTRL_PIN(35, "GPIO_35"),
0147     PINCTRL_PIN(36, "GPIO_36"),
0148     PINCTRL_PIN(37, "GPIO_37"),
0149     PINCTRL_PIN(38, "GPIO_38"),
0150     PINCTRL_PIN(39, "GPIO_39"),
0151     PINCTRL_PIN(40, "GPIO_40"),
0152     PINCTRL_PIN(41, "GPIO_41"),
0153     PINCTRL_PIN(42, "GPIO_42"),
0154     PINCTRL_PIN(43, "GPIO_43"),
0155     PINCTRL_PIN(44, "GPIO_44"),
0156     PINCTRL_PIN(45, "GPIO_45"),
0157     PINCTRL_PIN(46, "GPIO_46"),
0158     PINCTRL_PIN(47, "GPIO_47"),
0159     PINCTRL_PIN(48, "GPIO_48"),
0160     PINCTRL_PIN(49, "GPIO_49"),
0161     PINCTRL_PIN(50, "GPIO_50"),
0162     PINCTRL_PIN(51, "GPIO_51"),
0163     PINCTRL_PIN(52, "GPIO_52"),
0164     PINCTRL_PIN(53, "GPIO_53"),
0165     PINCTRL_PIN(54, "GPIO_54"),
0166     PINCTRL_PIN(55, "GPIO_55"),
0167     PINCTRL_PIN(56, "GPIO_56"),
0168     PINCTRL_PIN(57, "GPIO_57"),
0169     PINCTRL_PIN(58, "GPIO_58"),
0170     PINCTRL_PIN(59, "GPIO_59"),
0171     PINCTRL_PIN(60, "GPIO_60"),
0172     PINCTRL_PIN(61, "GPIO_61"),
0173     PINCTRL_PIN(62, "GPIO_62"),
0174     PINCTRL_PIN(63, "GPIO_63"),
0175     PINCTRL_PIN(64, "GPIO_64"),
0176     PINCTRL_PIN(65, "GPIO_65"),
0177     PINCTRL_PIN(66, "GPIO_66"),
0178     PINCTRL_PIN(67, "GPIO_67"),
0179     PINCTRL_PIN(68, "GPIO_68"),
0180     PINCTRL_PIN(69, "GPIO_69"),
0181     PINCTRL_PIN(70, "GPIO_70"),
0182     PINCTRL_PIN(71, "GPIO_71"),
0183     PINCTRL_PIN(72, "GPIO_72"),
0184     PINCTRL_PIN(73, "GPIO_73"),
0185     PINCTRL_PIN(74, "GPIO_74"),
0186     PINCTRL_PIN(75, "GPIO_75"),
0187     PINCTRL_PIN(76, "GPIO_76"),
0188     PINCTRL_PIN(77, "GPIO_77"),
0189     PINCTRL_PIN(78, "GPIO_78"),
0190     PINCTRL_PIN(79, "GPIO_79"),
0191     PINCTRL_PIN(80, "GPIO_80"),
0192     PINCTRL_PIN(81, "GPIO_81"),
0193     PINCTRL_PIN(82, "GPIO_82"),
0194     PINCTRL_PIN(83, "GPIO_83"),
0195     PINCTRL_PIN(84, "GPIO_84"),
0196     PINCTRL_PIN(85, "GPIO_85"),
0197     PINCTRL_PIN(86, "GPIO_86"),
0198     PINCTRL_PIN(87, "GPIO_87"),
0199     PINCTRL_PIN(88, "GPIO_88"),
0200     PINCTRL_PIN(89, "GPIO_89"),
0201     PINCTRL_PIN(90, "GPIO_90"),
0202     PINCTRL_PIN(91, "GPIO_91"),
0203     PINCTRL_PIN(92, "GPIO_92"),
0204     PINCTRL_PIN(93, "GPIO_93"),
0205     PINCTRL_PIN(94, "GPIO_94"),
0206     PINCTRL_PIN(95, "GPIO_95"),
0207     PINCTRL_PIN(96, "GPIO_96"),
0208     PINCTRL_PIN(97, "GPIO_97"),
0209     PINCTRL_PIN(98, "GPIO_98"),
0210     PINCTRL_PIN(99, "GPIO_99"),
0211     PINCTRL_PIN(100, "GPIO_100"),
0212     PINCTRL_PIN(101, "GPIO_101"),
0213     PINCTRL_PIN(102, "GPIO_102"),
0214     PINCTRL_PIN(103, "GPIO_103"),
0215     PINCTRL_PIN(104, "GPIO_104"),
0216     PINCTRL_PIN(105, "GPIO_105"),
0217     PINCTRL_PIN(106, "GPIO_106"),
0218     PINCTRL_PIN(107, "GPIO_107"),
0219     PINCTRL_PIN(108, "GPIO_108"),
0220     PINCTRL_PIN(109, "GPIO_109"),
0221     PINCTRL_PIN(110, "GPIO_110"),
0222     PINCTRL_PIN(111, "GPIO_111"),
0223     PINCTRL_PIN(112, "GPIO_112"),
0224     PINCTRL_PIN(113, "GPIO_113"),
0225     PINCTRL_PIN(114, "GPIO_114"),
0226     PINCTRL_PIN(115, "GPIO_115"),
0227     PINCTRL_PIN(116, "GPIO_116"),
0228     PINCTRL_PIN(117, "GPIO_117"),
0229     PINCTRL_PIN(118, "GPIO_118"),
0230     PINCTRL_PIN(119, "GPIO_119"),
0231     PINCTRL_PIN(120, "GPIO_120"),
0232     PINCTRL_PIN(121, "GPIO_121"),
0233     PINCTRL_PIN(122, "GPIO_122"),
0234     PINCTRL_PIN(123, "GPIO_123"),
0235     PINCTRL_PIN(124, "GPIO_124"),
0236     PINCTRL_PIN(125, "GPIO_125"),
0237     PINCTRL_PIN(126, "GPIO_126"),
0238     PINCTRL_PIN(127, "GPIO_127"),
0239     PINCTRL_PIN(128, "GPIO_128"),
0240     PINCTRL_PIN(129, "GPIO_129"),
0241     PINCTRL_PIN(130, "GPIO_130"),
0242     PINCTRL_PIN(131, "GPIO_131"),
0243     PINCTRL_PIN(132, "GPIO_132"),
0244     PINCTRL_PIN(133, "GPIO_133"),
0245     PINCTRL_PIN(134, "GPIO_134"),
0246     PINCTRL_PIN(135, "GPIO_135"),
0247     PINCTRL_PIN(136, "GPIO_136"),
0248     PINCTRL_PIN(137, "GPIO_137"),
0249     PINCTRL_PIN(138, "GPIO_138"),
0250     PINCTRL_PIN(139, "GPIO_139"),
0251     PINCTRL_PIN(140, "GPIO_140"),
0252     PINCTRL_PIN(141, "GPIO_141"),
0253     PINCTRL_PIN(142, "GPIO_142"),
0254     PINCTRL_PIN(143, "GPIO_143"),
0255     PINCTRL_PIN(144, "GPIO_144"),
0256     PINCTRL_PIN(145, "GPIO_145"),
0257     PINCTRL_PIN(146, "GPIO_146"),
0258     PINCTRL_PIN(147, "GPIO_147"),
0259     PINCTRL_PIN(148, "GPIO_148"),
0260     PINCTRL_PIN(149, "GPIO_149"),
0261     PINCTRL_PIN(150, "GPIO_150"),
0262     PINCTRL_PIN(151, "GPIO_151"),
0263     PINCTRL_PIN(152, "GPIO_152"),
0264     PINCTRL_PIN(153, "GPIO_153"),
0265     PINCTRL_PIN(154, "GPIO_154"),
0266     PINCTRL_PIN(155, "GPIO_155"),
0267     PINCTRL_PIN(156, "GPIO_156"),
0268     PINCTRL_PIN(157, "GPIO_157"),
0269     PINCTRL_PIN(158, "GPIO_158"),
0270     PINCTRL_PIN(159, "GPIO_159"),
0271     PINCTRL_PIN(160, "GPIO_160"),
0272     PINCTRL_PIN(161, "GPIO_161"),
0273     PINCTRL_PIN(162, "GPIO_162"),
0274     PINCTRL_PIN(163, "GPIO_163"),
0275     PINCTRL_PIN(164, "GPIO_164"),
0276     PINCTRL_PIN(165, "GPIO_165"),
0277     PINCTRL_PIN(166, "GPIO_166"),
0278     PINCTRL_PIN(167, "GPIO_167"),
0279     PINCTRL_PIN(168, "GPIO_168"),
0280     PINCTRL_PIN(169, "GPIO_169"),
0281     PINCTRL_PIN(170, "GPIO_170"),
0282     PINCTRL_PIN(171, "GPIO_171"),
0283     PINCTRL_PIN(172, "GPIO_172"),
0284     PINCTRL_PIN(173, "GPIO_173"),
0285     PINCTRL_PIN(174, "GPIO_174"),
0286     PINCTRL_PIN(175, "GPIO_175"),
0287     PINCTRL_PIN(176, "GPIO_176"),
0288     PINCTRL_PIN(177, "GPIO_177"),
0289     PINCTRL_PIN(178, "GPIO_178"),
0290     PINCTRL_PIN(179, "GPIO_179"),
0291     PINCTRL_PIN(180, "GPIO_180"),
0292     PINCTRL_PIN(181, "GPIO_181"),
0293     PINCTRL_PIN(182, "GPIO_182"),
0294     PINCTRL_PIN(183, "GPIO_183"),
0295     PINCTRL_PIN(184, "GPIO_184"),
0296     PINCTRL_PIN(185, "GPIO_185"),
0297     PINCTRL_PIN(186, "GPIO_186"),
0298     PINCTRL_PIN(187, "GPIO_187"),
0299     PINCTRL_PIN(188, "GPIO_188"),
0300     PINCTRL_PIN(189, "GPIO_189"),
0301     PINCTRL_PIN(190, "GPIO_190"),
0302     PINCTRL_PIN(191, "GPIO_191"),
0303     PINCTRL_PIN(192, "GPIO_192"),
0304     PINCTRL_PIN(193, "GPIO_193"),
0305     PINCTRL_PIN(194, "GPIO_194"),
0306     PINCTRL_PIN(195, "GPIO_195"),
0307     PINCTRL_PIN(196, "GPIO_196"),
0308     PINCTRL_PIN(197, "GPIO_197"),
0309     PINCTRL_PIN(198, "GPIO_198"),
0310     PINCTRL_PIN(199, "GPIO_199"),
0311     PINCTRL_PIN(200, "GPIO_200"),
0312     PINCTRL_PIN(201, "GPIO_201"),
0313     PINCTRL_PIN(202, "GPIO_202"),
0314     PINCTRL_PIN(203, "GPIO_203"),
0315     PINCTRL_PIN(204, "GPIO_204"),
0316     PINCTRL_PIN(205, "GPIO_205"),
0317     PINCTRL_PIN(206, "GPIO_206"),
0318     PINCTRL_PIN(207, "GPIO_207"),
0319     PINCTRL_PIN(208, "GPIO_208"),
0320     PINCTRL_PIN(209, "GPIO_209"),
0321     PINCTRL_PIN(210, "GPIO_210"),
0322     PINCTRL_PIN(211, "GPIO_211"),
0323     PINCTRL_PIN(212, "GPIO_212"),
0324     PINCTRL_PIN(213, "GPIO_213"),
0325     PINCTRL_PIN(214, "GPIO_214"),
0326     PINCTRL_PIN(215, "GPIO_215"),
0327     PINCTRL_PIN(216, "GPIO_216"),
0328     PINCTRL_PIN(217, "GPIO_217"),
0329     PINCTRL_PIN(218, "GPIO_218"),
0330     PINCTRL_PIN(219, "GPIO_219"),
0331     PINCTRL_PIN(220, "GPIO_220"),
0332     PINCTRL_PIN(221, "GPIO_221"),
0333     PINCTRL_PIN(222, "GPIO_222"),
0334     PINCTRL_PIN(223, "GPIO_223"),
0335     PINCTRL_PIN(224, "GPIO_224"),
0336     PINCTRL_PIN(225, "GPIO_225"),
0337     PINCTRL_PIN(226, "GPIO_226"),
0338     PINCTRL_PIN(227, "GPIO_227"),
0339     PINCTRL_PIN(228, "UFS_RESET"),
0340     PINCTRL_PIN(229, "UFS1_RESET"),
0341     PINCTRL_PIN(230, "SDC2_CLK"),
0342     PINCTRL_PIN(231, "SDC2_CMD"),
0343     PINCTRL_PIN(232, "SDC2_DATA"),
0344 };
0345 
0346 #define DECLARE_MSM_GPIO_PINS(pin) \
0347     static const unsigned int gpio##pin##_pins[] = { pin }
0348 DECLARE_MSM_GPIO_PINS(0);
0349 DECLARE_MSM_GPIO_PINS(1);
0350 DECLARE_MSM_GPIO_PINS(2);
0351 DECLARE_MSM_GPIO_PINS(3);
0352 DECLARE_MSM_GPIO_PINS(4);
0353 DECLARE_MSM_GPIO_PINS(5);
0354 DECLARE_MSM_GPIO_PINS(6);
0355 DECLARE_MSM_GPIO_PINS(7);
0356 DECLARE_MSM_GPIO_PINS(8);
0357 DECLARE_MSM_GPIO_PINS(9);
0358 DECLARE_MSM_GPIO_PINS(10);
0359 DECLARE_MSM_GPIO_PINS(11);
0360 DECLARE_MSM_GPIO_PINS(12);
0361 DECLARE_MSM_GPIO_PINS(13);
0362 DECLARE_MSM_GPIO_PINS(14);
0363 DECLARE_MSM_GPIO_PINS(15);
0364 DECLARE_MSM_GPIO_PINS(16);
0365 DECLARE_MSM_GPIO_PINS(17);
0366 DECLARE_MSM_GPIO_PINS(18);
0367 DECLARE_MSM_GPIO_PINS(19);
0368 DECLARE_MSM_GPIO_PINS(20);
0369 DECLARE_MSM_GPIO_PINS(21);
0370 DECLARE_MSM_GPIO_PINS(22);
0371 DECLARE_MSM_GPIO_PINS(23);
0372 DECLARE_MSM_GPIO_PINS(24);
0373 DECLARE_MSM_GPIO_PINS(25);
0374 DECLARE_MSM_GPIO_PINS(26);
0375 DECLARE_MSM_GPIO_PINS(27);
0376 DECLARE_MSM_GPIO_PINS(28);
0377 DECLARE_MSM_GPIO_PINS(29);
0378 DECLARE_MSM_GPIO_PINS(30);
0379 DECLARE_MSM_GPIO_PINS(31);
0380 DECLARE_MSM_GPIO_PINS(32);
0381 DECLARE_MSM_GPIO_PINS(33);
0382 DECLARE_MSM_GPIO_PINS(34);
0383 DECLARE_MSM_GPIO_PINS(35);
0384 DECLARE_MSM_GPIO_PINS(36);
0385 DECLARE_MSM_GPIO_PINS(37);
0386 DECLARE_MSM_GPIO_PINS(38);
0387 DECLARE_MSM_GPIO_PINS(39);
0388 DECLARE_MSM_GPIO_PINS(40);
0389 DECLARE_MSM_GPIO_PINS(41);
0390 DECLARE_MSM_GPIO_PINS(42);
0391 DECLARE_MSM_GPIO_PINS(43);
0392 DECLARE_MSM_GPIO_PINS(44);
0393 DECLARE_MSM_GPIO_PINS(45);
0394 DECLARE_MSM_GPIO_PINS(46);
0395 DECLARE_MSM_GPIO_PINS(47);
0396 DECLARE_MSM_GPIO_PINS(48);
0397 DECLARE_MSM_GPIO_PINS(49);
0398 DECLARE_MSM_GPIO_PINS(50);
0399 DECLARE_MSM_GPIO_PINS(51);
0400 DECLARE_MSM_GPIO_PINS(52);
0401 DECLARE_MSM_GPIO_PINS(53);
0402 DECLARE_MSM_GPIO_PINS(54);
0403 DECLARE_MSM_GPIO_PINS(55);
0404 DECLARE_MSM_GPIO_PINS(56);
0405 DECLARE_MSM_GPIO_PINS(57);
0406 DECLARE_MSM_GPIO_PINS(58);
0407 DECLARE_MSM_GPIO_PINS(59);
0408 DECLARE_MSM_GPIO_PINS(60);
0409 DECLARE_MSM_GPIO_PINS(61);
0410 DECLARE_MSM_GPIO_PINS(62);
0411 DECLARE_MSM_GPIO_PINS(63);
0412 DECLARE_MSM_GPIO_PINS(64);
0413 DECLARE_MSM_GPIO_PINS(65);
0414 DECLARE_MSM_GPIO_PINS(66);
0415 DECLARE_MSM_GPIO_PINS(67);
0416 DECLARE_MSM_GPIO_PINS(68);
0417 DECLARE_MSM_GPIO_PINS(69);
0418 DECLARE_MSM_GPIO_PINS(70);
0419 DECLARE_MSM_GPIO_PINS(71);
0420 DECLARE_MSM_GPIO_PINS(72);
0421 DECLARE_MSM_GPIO_PINS(73);
0422 DECLARE_MSM_GPIO_PINS(74);
0423 DECLARE_MSM_GPIO_PINS(75);
0424 DECLARE_MSM_GPIO_PINS(76);
0425 DECLARE_MSM_GPIO_PINS(77);
0426 DECLARE_MSM_GPIO_PINS(78);
0427 DECLARE_MSM_GPIO_PINS(79);
0428 DECLARE_MSM_GPIO_PINS(80);
0429 DECLARE_MSM_GPIO_PINS(81);
0430 DECLARE_MSM_GPIO_PINS(82);
0431 DECLARE_MSM_GPIO_PINS(83);
0432 DECLARE_MSM_GPIO_PINS(84);
0433 DECLARE_MSM_GPIO_PINS(85);
0434 DECLARE_MSM_GPIO_PINS(86);
0435 DECLARE_MSM_GPIO_PINS(87);
0436 DECLARE_MSM_GPIO_PINS(88);
0437 DECLARE_MSM_GPIO_PINS(89);
0438 DECLARE_MSM_GPIO_PINS(90);
0439 DECLARE_MSM_GPIO_PINS(91);
0440 DECLARE_MSM_GPIO_PINS(92);
0441 DECLARE_MSM_GPIO_PINS(93);
0442 DECLARE_MSM_GPIO_PINS(94);
0443 DECLARE_MSM_GPIO_PINS(95);
0444 DECLARE_MSM_GPIO_PINS(96);
0445 DECLARE_MSM_GPIO_PINS(97);
0446 DECLARE_MSM_GPIO_PINS(98);
0447 DECLARE_MSM_GPIO_PINS(99);
0448 DECLARE_MSM_GPIO_PINS(100);
0449 DECLARE_MSM_GPIO_PINS(101);
0450 DECLARE_MSM_GPIO_PINS(102);
0451 DECLARE_MSM_GPIO_PINS(103);
0452 DECLARE_MSM_GPIO_PINS(104);
0453 DECLARE_MSM_GPIO_PINS(105);
0454 DECLARE_MSM_GPIO_PINS(106);
0455 DECLARE_MSM_GPIO_PINS(107);
0456 DECLARE_MSM_GPIO_PINS(108);
0457 DECLARE_MSM_GPIO_PINS(109);
0458 DECLARE_MSM_GPIO_PINS(110);
0459 DECLARE_MSM_GPIO_PINS(111);
0460 DECLARE_MSM_GPIO_PINS(112);
0461 DECLARE_MSM_GPIO_PINS(113);
0462 DECLARE_MSM_GPIO_PINS(114);
0463 DECLARE_MSM_GPIO_PINS(115);
0464 DECLARE_MSM_GPIO_PINS(116);
0465 DECLARE_MSM_GPIO_PINS(117);
0466 DECLARE_MSM_GPIO_PINS(118);
0467 DECLARE_MSM_GPIO_PINS(119);
0468 DECLARE_MSM_GPIO_PINS(120);
0469 DECLARE_MSM_GPIO_PINS(121);
0470 DECLARE_MSM_GPIO_PINS(122);
0471 DECLARE_MSM_GPIO_PINS(123);
0472 DECLARE_MSM_GPIO_PINS(124);
0473 DECLARE_MSM_GPIO_PINS(125);
0474 DECLARE_MSM_GPIO_PINS(126);
0475 DECLARE_MSM_GPIO_PINS(127);
0476 DECLARE_MSM_GPIO_PINS(128);
0477 DECLARE_MSM_GPIO_PINS(129);
0478 DECLARE_MSM_GPIO_PINS(130);
0479 DECLARE_MSM_GPIO_PINS(131);
0480 DECLARE_MSM_GPIO_PINS(132);
0481 DECLARE_MSM_GPIO_PINS(133);
0482 DECLARE_MSM_GPIO_PINS(134);
0483 DECLARE_MSM_GPIO_PINS(135);
0484 DECLARE_MSM_GPIO_PINS(136);
0485 DECLARE_MSM_GPIO_PINS(137);
0486 DECLARE_MSM_GPIO_PINS(138);
0487 DECLARE_MSM_GPIO_PINS(139);
0488 DECLARE_MSM_GPIO_PINS(140);
0489 DECLARE_MSM_GPIO_PINS(141);
0490 DECLARE_MSM_GPIO_PINS(142);
0491 DECLARE_MSM_GPIO_PINS(143);
0492 DECLARE_MSM_GPIO_PINS(144);
0493 DECLARE_MSM_GPIO_PINS(145);
0494 DECLARE_MSM_GPIO_PINS(146);
0495 DECLARE_MSM_GPIO_PINS(147);
0496 DECLARE_MSM_GPIO_PINS(148);
0497 DECLARE_MSM_GPIO_PINS(149);
0498 DECLARE_MSM_GPIO_PINS(150);
0499 DECLARE_MSM_GPIO_PINS(151);
0500 DECLARE_MSM_GPIO_PINS(152);
0501 DECLARE_MSM_GPIO_PINS(153);
0502 DECLARE_MSM_GPIO_PINS(154);
0503 DECLARE_MSM_GPIO_PINS(155);
0504 DECLARE_MSM_GPIO_PINS(156);
0505 DECLARE_MSM_GPIO_PINS(157);
0506 DECLARE_MSM_GPIO_PINS(158);
0507 DECLARE_MSM_GPIO_PINS(159);
0508 DECLARE_MSM_GPIO_PINS(160);
0509 DECLARE_MSM_GPIO_PINS(161);
0510 DECLARE_MSM_GPIO_PINS(162);
0511 DECLARE_MSM_GPIO_PINS(163);
0512 DECLARE_MSM_GPIO_PINS(164);
0513 DECLARE_MSM_GPIO_PINS(165);
0514 DECLARE_MSM_GPIO_PINS(166);
0515 DECLARE_MSM_GPIO_PINS(167);
0516 DECLARE_MSM_GPIO_PINS(168);
0517 DECLARE_MSM_GPIO_PINS(169);
0518 DECLARE_MSM_GPIO_PINS(170);
0519 DECLARE_MSM_GPIO_PINS(171);
0520 DECLARE_MSM_GPIO_PINS(172);
0521 DECLARE_MSM_GPIO_PINS(173);
0522 DECLARE_MSM_GPIO_PINS(174);
0523 DECLARE_MSM_GPIO_PINS(175);
0524 DECLARE_MSM_GPIO_PINS(176);
0525 DECLARE_MSM_GPIO_PINS(177);
0526 DECLARE_MSM_GPIO_PINS(178);
0527 DECLARE_MSM_GPIO_PINS(179);
0528 DECLARE_MSM_GPIO_PINS(180);
0529 DECLARE_MSM_GPIO_PINS(181);
0530 DECLARE_MSM_GPIO_PINS(182);
0531 DECLARE_MSM_GPIO_PINS(183);
0532 DECLARE_MSM_GPIO_PINS(184);
0533 DECLARE_MSM_GPIO_PINS(185);
0534 DECLARE_MSM_GPIO_PINS(186);
0535 DECLARE_MSM_GPIO_PINS(187);
0536 DECLARE_MSM_GPIO_PINS(188);
0537 DECLARE_MSM_GPIO_PINS(189);
0538 DECLARE_MSM_GPIO_PINS(190);
0539 DECLARE_MSM_GPIO_PINS(191);
0540 DECLARE_MSM_GPIO_PINS(192);
0541 DECLARE_MSM_GPIO_PINS(193);
0542 DECLARE_MSM_GPIO_PINS(194);
0543 DECLARE_MSM_GPIO_PINS(195);
0544 DECLARE_MSM_GPIO_PINS(196);
0545 DECLARE_MSM_GPIO_PINS(197);
0546 DECLARE_MSM_GPIO_PINS(198);
0547 DECLARE_MSM_GPIO_PINS(199);
0548 DECLARE_MSM_GPIO_PINS(200);
0549 DECLARE_MSM_GPIO_PINS(201);
0550 DECLARE_MSM_GPIO_PINS(202);
0551 DECLARE_MSM_GPIO_PINS(203);
0552 DECLARE_MSM_GPIO_PINS(204);
0553 DECLARE_MSM_GPIO_PINS(205);
0554 DECLARE_MSM_GPIO_PINS(206);
0555 DECLARE_MSM_GPIO_PINS(207);
0556 DECLARE_MSM_GPIO_PINS(208);
0557 DECLARE_MSM_GPIO_PINS(209);
0558 DECLARE_MSM_GPIO_PINS(210);
0559 DECLARE_MSM_GPIO_PINS(211);
0560 DECLARE_MSM_GPIO_PINS(212);
0561 DECLARE_MSM_GPIO_PINS(213);
0562 DECLARE_MSM_GPIO_PINS(214);
0563 DECLARE_MSM_GPIO_PINS(215);
0564 DECLARE_MSM_GPIO_PINS(216);
0565 DECLARE_MSM_GPIO_PINS(217);
0566 DECLARE_MSM_GPIO_PINS(218);
0567 DECLARE_MSM_GPIO_PINS(219);
0568 DECLARE_MSM_GPIO_PINS(220);
0569 DECLARE_MSM_GPIO_PINS(221);
0570 DECLARE_MSM_GPIO_PINS(222);
0571 DECLARE_MSM_GPIO_PINS(223);
0572 DECLARE_MSM_GPIO_PINS(224);
0573 DECLARE_MSM_GPIO_PINS(225);
0574 DECLARE_MSM_GPIO_PINS(226);
0575 DECLARE_MSM_GPIO_PINS(227);
0576 
0577 static const unsigned int ufs_reset_pins[] = { 228 };
0578 static const unsigned int ufs1_reset_pins[] = { 229 };
0579 static const unsigned int sdc2_clk_pins[] = { 230 };
0580 static const unsigned int sdc2_cmd_pins[] = { 231 };
0581 static const unsigned int sdc2_data_pins[] = { 232 };
0582 
0583 enum sc8280xp_functions {
0584     msm_mux_atest_char,
0585     msm_mux_atest_usb,
0586     msm_mux_audio_ref,
0587     msm_mux_cam_mclk,
0588     msm_mux_cci_async,
0589     msm_mux_cci_i2c,
0590     msm_mux_cci_timer0,
0591     msm_mux_cci_timer1,
0592     msm_mux_cci_timer2,
0593     msm_mux_cci_timer3,
0594     msm_mux_cci_timer4,
0595     msm_mux_cci_timer5,
0596     msm_mux_cci_timer6,
0597     msm_mux_cci_timer7,
0598     msm_mux_cci_timer8,
0599     msm_mux_cci_timer9,
0600     msm_mux_cmu_rng,
0601     msm_mux_cri_trng,
0602     msm_mux_cri_trng0,
0603     msm_mux_cri_trng1,
0604     msm_mux_dbg_out,
0605     msm_mux_ddr_bist,
0606     msm_mux_ddr_pxi0,
0607     msm_mux_ddr_pxi1,
0608     msm_mux_ddr_pxi2,
0609     msm_mux_ddr_pxi3,
0610     msm_mux_ddr_pxi4,
0611     msm_mux_ddr_pxi5,
0612     msm_mux_ddr_pxi6,
0613     msm_mux_ddr_pxi7,
0614     msm_mux_dp2_hot,
0615     msm_mux_dp3_hot,
0616     msm_mux_edp0_lcd,
0617     msm_mux_edp1_lcd,
0618     msm_mux_edp2_lcd,
0619     msm_mux_edp3_lcd,
0620     msm_mux_edp_hot,
0621     msm_mux_egpio,
0622     msm_mux_emac0_dll,
0623     msm_mux_emac0_mcg0,
0624     msm_mux_emac0_mcg1,
0625     msm_mux_emac0_mcg2,
0626     msm_mux_emac0_mcg3,
0627     msm_mux_emac0_phy,
0628     msm_mux_emac0_ptp,
0629     msm_mux_emac1_dll0,
0630     msm_mux_emac1_dll1,
0631     msm_mux_emac1_mcg0,
0632     msm_mux_emac1_mcg1,
0633     msm_mux_emac1_mcg2,
0634     msm_mux_emac1_mcg3,
0635     msm_mux_emac1_phy,
0636     msm_mux_emac1_ptp,
0637     msm_mux_gcc_gp1,
0638     msm_mux_gcc_gp2,
0639     msm_mux_gcc_gp3,
0640     msm_mux_gcc_gp4,
0641     msm_mux_gcc_gp5,
0642     msm_mux_gpio,
0643     msm_mux_hs1_mi2s,
0644     msm_mux_hs2_mi2s,
0645     msm_mux_hs3_mi2s,
0646     msm_mux_ibi_i3c,
0647     msm_mux_jitter_bist,
0648     msm_mux_lpass_slimbus,
0649     msm_mux_mdp0_vsync0,
0650     msm_mux_mdp0_vsync1,
0651     msm_mux_mdp0_vsync2,
0652     msm_mux_mdp0_vsync3,
0653     msm_mux_mdp0_vsync4,
0654     msm_mux_mdp0_vsync5,
0655     msm_mux_mdp0_vsync6,
0656     msm_mux_mdp0_vsync7,
0657     msm_mux_mdp0_vsync8,
0658     msm_mux_mdp1_vsync0,
0659     msm_mux_mdp1_vsync1,
0660     msm_mux_mdp1_vsync2,
0661     msm_mux_mdp1_vsync3,
0662     msm_mux_mdp1_vsync4,
0663     msm_mux_mdp1_vsync5,
0664     msm_mux_mdp1_vsync6,
0665     msm_mux_mdp1_vsync7,
0666     msm_mux_mdp1_vsync8,
0667     msm_mux_mdp_vsync,
0668     msm_mux_mi2s0_data0,
0669     msm_mux_mi2s0_data1,
0670     msm_mux_mi2s0_sck,
0671     msm_mux_mi2s0_ws,
0672     msm_mux_mi2s1_data0,
0673     msm_mux_mi2s1_data1,
0674     msm_mux_mi2s1_sck,
0675     msm_mux_mi2s1_ws,
0676     msm_mux_mi2s2_data0,
0677     msm_mux_mi2s2_data1,
0678     msm_mux_mi2s2_sck,
0679     msm_mux_mi2s2_ws,
0680     msm_mux_mi2s_mclk1,
0681     msm_mux_mi2s_mclk2,
0682     msm_mux_pcie2a_clkreq,
0683     msm_mux_pcie2b_clkreq,
0684     msm_mux_pcie3a_clkreq,
0685     msm_mux_pcie3b_clkreq,
0686     msm_mux_pcie4_clkreq,
0687     msm_mux_phase_flag,
0688     msm_mux_pll_bist,
0689     msm_mux_pll_clk,
0690     msm_mux_prng_rosc0,
0691     msm_mux_prng_rosc1,
0692     msm_mux_prng_rosc2,
0693     msm_mux_prng_rosc3,
0694     msm_mux_qdss_cti,
0695     msm_mux_qdss_gpio,
0696     msm_mux_qspi,
0697     msm_mux_qspi_clk,
0698     msm_mux_qspi_cs,
0699     msm_mux_qup0,
0700     msm_mux_qup1,
0701     msm_mux_qup10,
0702     msm_mux_qup11,
0703     msm_mux_qup12,
0704     msm_mux_qup13,
0705     msm_mux_qup14,
0706     msm_mux_qup15,
0707     msm_mux_qup16,
0708     msm_mux_qup17,
0709     msm_mux_qup18,
0710     msm_mux_qup19,
0711     msm_mux_qup2,
0712     msm_mux_qup20,
0713     msm_mux_qup21,
0714     msm_mux_qup22,
0715     msm_mux_qup23,
0716     msm_mux_qup3,
0717     msm_mux_qup4,
0718     msm_mux_qup5,
0719     msm_mux_qup6,
0720     msm_mux_qup7,
0721     msm_mux_qup8,
0722     msm_mux_qup9,
0723     msm_mux_rgmii_0,
0724     msm_mux_rgmii_1,
0725     msm_mux_sd_write,
0726     msm_mux_sdc40,
0727     msm_mux_sdc42,
0728     msm_mux_sdc43,
0729     msm_mux_sdc4_clk,
0730     msm_mux_sdc4_cmd,
0731     msm_mux_tb_trig,
0732     msm_mux_tgu,
0733     msm_mux_tsense_pwm1,
0734     msm_mux_tsense_pwm2,
0735     msm_mux_tsense_pwm3,
0736     msm_mux_tsense_pwm4,
0737     msm_mux_usb0_dp,
0738     msm_mux_usb0_phy,
0739     msm_mux_usb0_sbrx,
0740     msm_mux_usb0_sbtx,
0741     msm_mux_usb0_usb4,
0742     msm_mux_usb1_dp,
0743     msm_mux_usb1_phy,
0744     msm_mux_usb1_sbrx,
0745     msm_mux_usb1_sbtx,
0746     msm_mux_usb1_usb4,
0747     msm_mux_usb2phy_ac,
0748     msm_mux_vsense_trigger,
0749     msm_mux__,
0750 };
0751 
0752 static const char * const gpio_groups[] = {
0753     "gpio0", "gpio1", "gpio2", "gpio3", "gpio4", "gpio5", "gpio6", "gpio7",
0754     "gpio8", "gpio9", "gpio10", "gpio11", "gpio12", "gpio13", "gpio14",
0755     "gpio15", "gpio16", "gpio17", "gpio18", "gpio19", "gpio20", "gpio21",
0756     "gpio22", "gpio23", "gpio24", "gpio25", "gpio26", "gpio27", "gpio28",
0757     "gpio29", "gpio30", "gpio31", "gpio32", "gpio33", "gpio34", "gpio35",
0758     "gpio36", "gpio37", "gpio38", "gpio39", "gpio40", "gpio41", "gpio42",
0759     "gpio43", "gpio44", "gpio45", "gpio46", "gpio47", "gpio48", "gpio49",
0760     "gpio50", "gpio51", "gpio52", "gpio53", "gpio54", "gpio55", "gpio56",
0761     "gpio57", "gpio58", "gpio59", "gpio60", "gpio61", "gpio62", "gpio63",
0762     "gpio64", "gpio65", "gpio66", "gpio67", "gpio68", "gpio69", "gpio70",
0763     "gpio71", "gpio72", "gpio73", "gpio74", "gpio75", "gpio76", "gpio78",
0764     "gpio79", "gpio80", "gpio81", "gpio82", "gpio83", "gpio84", "gpio85",
0765     "gpio86", "gpio87", "gpio88", "gpio89", "gpio90", "gpio91", "gpio92",
0766     "gpio93", "gpio94", "gpio95", "gpio96", "gpio97", "gpio98", "gpio99",
0767     "gpio100", "gpio101", "gpio102", "gpio103", "gpio104", "gpio105",
0768     "gpio106", "gpio107", "gpio108", "gpio109", "gpio110", "gpio111",
0769     "gpio112", "gpio113", "gpio114", "gpio115", "gpio116", "gpio117",
0770     "gpio118", "gpio119", "gpio120", "gpio121", "gpio122", "gpio123",
0771     "gpio124", "gpio125", "gpio126", "gpio127", "gpio128", "gpio129",
0772     "gpio130", "gpio131", "gpio132", "gpio133", "gpio134", "gpio135",
0773     "gpio136", "gpio137", "gpio138", "gpio139", "gpio140", "gpio141",
0774     "gpio142", "gpio143", "gpio144", "gpio145", "gpio146", "gpio147",
0775     "gpio148", "gpio149", "gpio150", "gpio151", "gpio152", "gpio153",
0776     "gpio154", "gpio155", "gpio156", "gpio157", "gpio158", "gpio159",
0777     "gpio160", "gpio161", "gpio162", "gpio163", "gpio164", "gpio165",
0778     "gpio166", "gpio167", "gpio168", "gpio169", "gpio170", "gpio171",
0779     "gpio172", "gpio173", "gpio174", "gpio175", "gpio176", "gpio177",
0780     "gpio178", "gpio179", "gpio180", "gpio181", "gpio182", "gpio183",
0781     "gpio184", "gpio185", "gpio186", "gpio187", "gpio188", "gpio189",
0782     "gpio190", "gpio191", "gpio192", "gpio193", "gpio194", "gpio195",
0783     "gpio196", "gpio197", "gpio198", "gpio199", "gpio200", "gpio201",
0784     "gpio202", "gpio203", "gpio204", "gpio205", "gpio206", "gpio207",
0785     "gpio208", "gpio209", "gpio210", "gpio211", "gpio212", "gpio213",
0786     "gpio214", "gpio215", "gpio216", "gpio217", "gpio218", "gpio219",
0787     "gpio220", "gpio221", "gpio222", "gpio223", "gpio224", "gpio225",
0788     "gpio226", "gpio227",
0789 };
0790 
0791 static const char * const atest_char_groups[] = {
0792     "gpio134", "gpio139", "gpio140", "gpio142", "gpio143",
0793 };
0794 
0795 static const char * const atest_usb_groups[] = {
0796     "gpio71", "gpio72", "gpio73", "gpio74", "gpio75", "gpio76", "gpio78",
0797     "gpio79", "gpio97", "gpio98", "gpio101", "gpio102", "gpio103",
0798     "gpio104", "gpio105", "gpio110", "gpio111", "gpio112", "gpio113",
0799     "gpio114", "gpio121", "gpio122", "gpio130", "gpio131", "gpio135",
0800     "gpio137", "gpio138", "gpio148", "gpio149",
0801 };
0802 
0803 static const char * const audio_ref_groups[] = {
0804     "gpio80",
0805 };
0806 
0807 static const char * const cam_mclk_groups[] = {
0808     "gpio6", "gpio7", "gpio16", "gpio17", "gpio33", "gpio34", "gpio119",
0809     "gpio120",
0810 };
0811 
0812 static const char * const cci_async_groups[] = {
0813     "gpio15", "gpio119", "gpio120", "gpio160", "gpio161", "gpio167",
0814 };
0815 
0816 static const char * const cci_i2c_groups[] = {
0817     "gpio10", "gpio11", "gpio12", "gpio13", "gpio113", "gpio114",
0818     "gpio115", "gpio116", "gpio117", "gpio118", "gpio123", "gpio124",
0819     "gpio145", "gpio146", "gpio164", "gpio165",
0820 };
0821 
0822 static const char * const cci_timer0_groups[] = {
0823     "gpio119",
0824 };
0825 
0826 static const char * const cci_timer1_groups[] = {
0827     "gpio120",
0828 };
0829 
0830 static const char * const cci_timer2_groups[] = {
0831     "gpio14",
0832 };
0833 
0834 static const char * const cci_timer3_groups[] = {
0835     "gpio15",
0836 };
0837 
0838 static const char * const cci_timer4_groups[] = {
0839     "gpio161",
0840 };
0841 
0842 static const char * const cci_timer5_groups[] = {
0843     "gpio139",
0844 };
0845 
0846 static const char * const cci_timer6_groups[] = {
0847     "gpio162",
0848 };
0849 
0850 static const char * const cci_timer7_groups[] = {
0851     "gpio163",
0852 };
0853 
0854 static const char * const cci_timer8_groups[] = {
0855     "gpio167",
0856 };
0857 
0858 static const char * const cci_timer9_groups[] = {
0859     "gpio160",
0860 };
0861 
0862 static const char * const cmu_rng_groups[] = {
0863     "gpio123", "gpio124", "gpio126", "gpio136",
0864 };
0865 
0866 static const char * const cri_trng0_groups[] = {
0867     "gpio187",
0868 };
0869 
0870 static const char * const cri_trng1_groups[] = {
0871     "gpio188",
0872 };
0873 
0874 static const char * const cri_trng_groups[] = {
0875     "gpio190",
0876 };
0877 
0878 static const char * const dbg_out_groups[] = {
0879     "gpio125",
0880 };
0881 
0882 static const char * const ddr_bist_groups[] = {
0883     "gpio42", "gpio45", "gpio46", "gpio47",
0884 };
0885 
0886 static const char * const ddr_pxi0_groups[] = {
0887     "gpio121", "gpio126",
0888 };
0889 
0890 static const char * const ddr_pxi1_groups[] = {
0891     "gpio124", "gpio125",
0892 };
0893 
0894 static const char * const ddr_pxi2_groups[] = {
0895     "gpio123", "gpio138",
0896 };
0897 
0898 static const char * const ddr_pxi3_groups[] = {
0899     "gpio120", "gpio137",
0900 };
0901 
0902 static const char * const ddr_pxi4_groups[] = {
0903     "gpio216", "gpio217",
0904 };
0905 
0906 static const char * const ddr_pxi5_groups[] = {
0907     "gpio214", "gpio215",
0908 };
0909 
0910 static const char * const ddr_pxi6_groups[] = {
0911     "gpio79", "gpio218",
0912 };
0913 
0914 static const char * const ddr_pxi7_groups[] = {
0915     "gpio135", "gpio136",
0916 };
0917 
0918 static const char * const dp2_hot_groups[] = {
0919     "gpio20",
0920 };
0921 
0922 static const char * const dp3_hot_groups[] = {
0923     "gpio45",
0924 };
0925 
0926 static const char * const edp0_lcd_groups[] = {
0927     "gpio26",
0928 };
0929 
0930 static const char * const edp1_lcd_groups[] = {
0931     "gpio27",
0932 };
0933 
0934 static const char * const edp2_lcd_groups[] = {
0935     "gpio28",
0936 };
0937 
0938 static const char * const edp3_lcd_groups[] = {
0939     "gpio29",
0940 };
0941 
0942 static const char * const edp_hot_groups[] = {
0943     "gpio2", "gpio3", "gpio6", "gpio7",
0944 };
0945 
0946 static const char * const egpio_groups[] = {
0947     "gpio189", "gpio190", "gpio191", "gpio192", "gpio193", "gpio194",
0948     "gpio195", "gpio196", "gpio197", "gpio198", "gpio199", "gpio200",
0949     "gpio201", "gpio202", "gpio203", "gpio204", "gpio205", "gpio206",
0950     "gpio207", "gpio208", "gpio209", "gpio210", "gpio211", "gpio212",
0951     "gpio213", "gpio214", "gpio215", "gpio216", "gpio217", "gpio218",
0952     "gpio219", "gpio220", "gpio221", "gpio222", "gpio223", "gpio224",
0953     "gpio225", "gpio226", "gpio227",
0954 };
0955 
0956 static const char * const emac0_dll_groups[] = {
0957     "gpio216", "gpio217",
0958 };
0959 
0960 static const char * const emac0_mcg0_groups[] = {
0961     "gpio160",
0962 };
0963 
0964 static const char * const emac0_mcg1_groups[] = {
0965     "gpio161",
0966 };
0967 
0968 static const char * const emac0_mcg2_groups[] = {
0969     "gpio162",
0970 };
0971 
0972 static const char * const emac0_mcg3_groups[] = {
0973     "gpio163",
0974 };
0975 
0976 static const char * const emac0_phy_groups[] = {
0977     "gpio127",
0978 };
0979 
0980 static const char * const emac0_ptp_groups[] = {
0981     "gpio130", "gpio130", "gpio131", "gpio131", "gpio156", "gpio156",
0982     "gpio157", "gpio157", "gpio158", "gpio158", "gpio159", "gpio159",
0983 };
0984 
0985 static const char * const emac1_dll0_groups[] = {
0986     "gpio215",
0987 };
0988 
0989 static const char * const emac1_dll1_groups[] = {
0990     "gpio218",
0991 };
0992 
0993 static const char * const emac1_mcg0_groups[] = {
0994     "gpio57",
0995 };
0996 
0997 static const char * const emac1_mcg1_groups[] = {
0998     "gpio58",
0999 };
1000 
1001 static const char * const emac1_mcg2_groups[] = {
1002     "gpio68",
1003 };
1004 
1005 static const char * const emac1_mcg3_groups[] = {
1006     "gpio69",
1007 };
1008 
1009 static const char * const emac1_phy_groups[] = {
1010     "gpio54",
1011 };
1012 
1013 static const char * const emac1_ptp_groups[] = {
1014     "gpio55", "gpio55", "gpio56", "gpio56", "gpio93", "gpio93", "gpio94",
1015     "gpio94", "gpio95", "gpio95", "gpio96", "gpio96",
1016 };
1017 
1018 static const char * const gcc_gp1_groups[] = {
1019     "gpio119", "gpio149",
1020 };
1021 
1022 static const char * const gcc_gp2_groups[] = {
1023     "gpio114", "gpio120",
1024 };
1025 
1026 static const char * const gcc_gp3_groups[] = {
1027     "gpio115", "gpio139",
1028 };
1029 
1030 static const char * const gcc_gp4_groups[] = {
1031     "gpio160", "gpio162",
1032 };
1033 
1034 static const char * const gcc_gp5_groups[] = {
1035     "gpio167", "gpio168",
1036 };
1037 
1038 static const char * const hs1_mi2s_groups[] = {
1039     "gpio208", "gpio209", "gpio210", "gpio211",
1040 };
1041 
1042 static const char * const hs2_mi2s_groups[] = {
1043     "gpio91", "gpio92", "gpio218", "gpio219",
1044 };
1045 
1046 static const char * const hs3_mi2s_groups[] = {
1047     "gpio224", "gpio225", "gpio226", "gpio227",
1048 };
1049 
1050 static const char * const ibi_i3c_groups[] = {
1051     "gpio4", "gpio5", "gpio36", "gpio37", "gpio128", "gpio129", "gpio154",
1052     "gpio155",
1053 };
1054 
1055 static const char * const jitter_bist_groups[] = {
1056     "gpio140",
1057 };
1058 
1059 static const char * const lpass_slimbus_groups[] = {
1060     "gpio220", "gpio221",
1061 };
1062 
1063 static const char * const mdp0_vsync0_groups[] = {
1064     "gpio1",
1065 };
1066 
1067 static const char * const mdp0_vsync1_groups[] = {
1068     "gpio2",
1069 };
1070 
1071 static const char * const mdp0_vsync2_groups[] = {
1072     "gpio8",
1073 };
1074 
1075 static const char * const mdp0_vsync3_groups[] = {
1076     "gpio9",
1077 };
1078 
1079 static const char * const mdp0_vsync4_groups[] = {
1080     "gpio10",
1081 };
1082 
1083 static const char * const mdp0_vsync5_groups[] = {
1084     "gpio11",
1085 };
1086 
1087 static const char * const mdp0_vsync6_groups[] = {
1088     "gpio12",
1089 };
1090 
1091 static const char * const mdp0_vsync7_groups[] = {
1092     "gpio13",
1093 };
1094 
1095 static const char * const mdp0_vsync8_groups[] = {
1096     "gpio16",
1097 };
1098 
1099 static const char * const mdp1_vsync0_groups[] = {
1100     "gpio17",
1101 };
1102 
1103 static const char * const mdp1_vsync1_groups[] = {
1104     "gpio18",
1105 };
1106 
1107 static const char * const mdp1_vsync2_groups[] = {
1108     "gpio19",
1109 };
1110 
1111 static const char * const mdp1_vsync3_groups[] = {
1112     "gpio20",
1113 };
1114 
1115 static const char * const mdp1_vsync4_groups[] = {
1116     "gpio36",
1117 };
1118 
1119 static const char * const mdp1_vsync5_groups[] = {
1120     "gpio37",
1121 };
1122 
1123 static const char * const mdp1_vsync6_groups[] = {
1124     "gpio38",
1125 };
1126 
1127 static const char * const mdp1_vsync7_groups[] = {
1128     "gpio39",
1129 };
1130 
1131 static const char * const mdp1_vsync8_groups[] = {
1132     "gpio40",
1133 };
1134 
1135 static const char * const mdp_vsync_groups[] = {
1136     "gpio8", "gpio100", "gpio101",
1137 };
1138 
1139 static const char * const mi2s0_data0_groups[] = {
1140     "gpio95",
1141 };
1142 
1143 static const char * const mi2s0_data1_groups[] = {
1144     "gpio96",
1145 };
1146 
1147 static const char * const mi2s0_sck_groups[] = {
1148     "gpio93",
1149 };
1150 
1151 static const char * const mi2s0_ws_groups[] = {
1152     "gpio94",
1153 };
1154 
1155 static const char * const mi2s1_data0_groups[] = {
1156     "gpio222",
1157 };
1158 
1159 static const char * const mi2s1_data1_groups[] = {
1160     "gpio223",
1161 };
1162 
1163 static const char * const mi2s1_sck_groups[] = {
1164     "gpio220",
1165 };
1166 
1167 static const char * const mi2s1_ws_groups[] = {
1168     "gpio221",
1169 };
1170 
1171 static const char * const mi2s2_data0_groups[] = {
1172     "gpio214",
1173 };
1174 
1175 static const char * const mi2s2_data1_groups[] = {
1176     "gpio215",
1177 };
1178 
1179 static const char * const mi2s2_sck_groups[] = {
1180     "gpio212",
1181 };
1182 
1183 static const char * const mi2s2_ws_groups[] = {
1184     "gpio213",
1185 };
1186 
1187 static const char * const mi2s_mclk1_groups[] = {
1188     "gpio80", "gpio216",
1189 };
1190 
1191 static const char * const mi2s_mclk2_groups[] = {
1192     "gpio217",
1193 };
1194 
1195 static const char * const pcie2a_clkreq_groups[] = {
1196     "gpio142",
1197 };
1198 
1199 static const char * const pcie2b_clkreq_groups[] = {
1200     "gpio144",
1201 };
1202 
1203 static const char * const pcie3a_clkreq_groups[] = {
1204     "gpio150",
1205 };
1206 
1207 static const char * const pcie3b_clkreq_groups[] = {
1208     "gpio152",
1209 };
1210 
1211 static const char * const pcie4_clkreq_groups[] = {
1212     "gpio140",
1213 };
1214 
1215 static const char * const phase_flag_groups[] = {
1216     "gpio80", "gpio81", "gpio82", "gpio83", "gpio87", "gpio88", "gpio89",
1217     "gpio90", "gpio91", "gpio92", "gpio93", "gpio94", "gpio95", "gpio132",
1218     "gpio144", "gpio145", "gpio146", "gpio147", "gpio195", "gpio196",
1219     "gpio197", "gpio198", "gpio202", "gpio219", "gpio220", "gpio221",
1220     "gpio222", "gpio223", "gpio224", "gpio225", "gpio226", "gpio227",
1221 };
1222 
1223 static const char * const pll_bist_groups[] = {
1224     "gpio84",
1225 };
1226 
1227 static const char * const pll_clk_groups[] = {
1228     "gpio84", "gpio86",
1229 };
1230 
1231 static const char * const prng_rosc0_groups[] = {
1232     "gpio189",
1233 };
1234 
1235 static const char * const prng_rosc1_groups[] = {
1236     "gpio191",
1237 };
1238 
1239 static const char * const prng_rosc2_groups[] = {
1240     "gpio193",
1241 };
1242 
1243 static const char * const prng_rosc3_groups[] = {
1244     "gpio194",
1245 };
1246 
1247 static const char * const qdss_cti_groups[] = {
1248     "gpio3", "gpio4", "gpio7", "gpio21", "gpio30", "gpio30", "gpio31",
1249     "gpio31",
1250 };
1251 
1252 static const char * const qdss_gpio_groups[] = {
1253     "gpio10", "gpio11", "gpio12", "gpio13", "gpio14", "gpio15", "gpio16",
1254     "gpio17", "gpio80", "gpio96", "gpio115", "gpio116", "gpio117",
1255     "gpio118", "gpio119", "gpio120", "gpio121", "gpio122", "gpio161",
1256     "gpio162", "gpio195", "gpio196", "gpio197", "gpio198", "gpio201",
1257     "gpio202", "gpio206", "gpio207", "gpio212", "gpio213", "gpio214",
1258     "gpio215", "gpio216", "gpio217", "gpio222", "gpio223",
1259 };
1260 
1261 static const char * const qspi_clk_groups[] = {
1262     "gpio74",
1263 };
1264 
1265 static const char * const qspi_cs_groups[] = {
1266     "gpio75", "gpio81",
1267 };
1268 
1269 static const char * const qspi_groups[] = {
1270     "gpio76", "gpio78", "gpio79",
1271 };
1272 
1273 static const char * const qup0_groups[] = {
1274     "gpio135", "gpio136", "gpio137", "gpio138",
1275 };
1276 
1277 static const char * const qup10_groups[] = {
1278     "gpio22", "gpio23", "gpio24", "gpio25",
1279 };
1280 
1281 static const char * const qup11_groups[] = {
1282     "gpio18", "gpio19", "gpio20", "gpio21",
1283 };
1284 
1285 static const char * const qup12_groups[] = {
1286     "gpio0", "gpio1", "gpio2", "gpio3",
1287 };
1288 
1289 static const char * const qup13_groups[] = {
1290     "gpio26", "gpio27", "gpio28", "gpio29",
1291 };
1292 
1293 static const char * const qup14_groups[] = {
1294     "gpio4", "gpio5", "gpio6", "gpio7",
1295 };
1296 
1297 static const char * const qup15_groups[] = {
1298     "gpio36", "gpio37", "gpio38", "gpio39",
1299 };
1300 
1301 static const char * const qup16_groups[] = {
1302     "gpio70", "gpio71", "gpio72", "gpio73",
1303 };
1304 
1305 static const char * const qup17_groups[] = {
1306     "gpio61", "gpio62", "gpio63", "gpio64",
1307 };
1308 
1309 static const char * const qup18_groups[] = {
1310     "gpio66", "gpio67", "gpio68", "gpio69",
1311 };
1312 
1313 static const char * const qup19_groups[] = {
1314     "gpio55", "gpio56", "gpio57", "gpio58",
1315 };
1316 
1317 static const char * const qup1_groups[] = {
1318     "gpio158", "gpio159", "gpio160", "gpio161",
1319 };
1320 
1321 static const char * const qup20_groups[] = {
1322     "gpio87", "gpio88", "gpio89", "gpio90", "gpio91", "gpio92", "gpio110",
1323 };
1324 
1325 static const char * const qup21_groups[] = {
1326     "gpio81", "gpio82", "gpio83", "gpio84",
1327 };
1328 
1329 static const char * const qup22_groups[] = {
1330     "gpio83", "gpio84", "gpio85", "gpio86",
1331 };
1332 
1333 static const char * const qup23_groups[] = {
1334     "gpio59", "gpio60", "gpio61", "gpio62",
1335 };
1336 
1337 static const char * const qup2_groups[] = {
1338     "gpio121", "gpio122", "gpio123", "gpio124",
1339 };
1340 
1341 static const char * const qup3_groups[] = {
1342     "gpio135", "gpio136", "gpio137", "gpio138",
1343 };
1344 
1345 static const char * const qup4_groups[] = {
1346     "gpio111", "gpio112", "gpio171", "gpio172", "gpio173", "gpio174",
1347     "gpio175",
1348 };
1349 
1350 static const char * const qup5_groups[] = {
1351     "gpio111", "gpio112", "gpio145", "gpio146",
1352 };
1353 
1354 static const char * const qup6_groups[] = {
1355     "gpio154", "gpio155", "gpio156", "gpio157",
1356 };
1357 
1358 static const char * const qup7_groups[] = {
1359     "gpio125", "gpio126", "gpio128", "gpio129",
1360 };
1361 
1362 static const char * const qup8_groups[] = {
1363     "gpio43", "gpio44", "gpio45", "gpio46",
1364 };
1365 
1366 static const char * const qup9_groups[] = {
1367     "gpio41", "gpio42", "gpio43", "gpio44",
1368 };
1369 
1370 static const char * const rgmii_0_groups[] = {
1371     "gpio175", "gpio176", "gpio177", "gpio178", "gpio179", "gpio180",
1372     "gpio181", "gpio182", "gpio183", "gpio184", "gpio185", "gpio186",
1373     "gpio187", "gpio188",
1374 };
1375 
1376 static const char * const rgmii_1_groups[] = {
1377     "gpio97", "gpio98", "gpio99", "gpio100", "gpio101", "gpio102",
1378     "gpio103", "gpio104", "gpio105", "gpio106", "gpio107", "gpio108",
1379     "gpio109", "gpio110",
1380 };
1381 
1382 static const char * const sd_write_groups[] = {
1383     "gpio130",
1384 };
1385 
1386 static const char * const sdc40_groups[] = {
1387     "gpio76",
1388 };
1389 
1390 static const char * const sdc42_groups[] = {
1391     "gpio78",
1392 };
1393 
1394 static const char * const sdc43_groups[] = {
1395     "gpio79",
1396 };
1397 
1398 static const char * const sdc4_clk_groups[] = {
1399     "gpio74",
1400 };
1401 
1402 static const char * const sdc4_cmd_groups[] = {
1403     "gpio75",
1404 };
1405 
1406 static const char * const tb_trig_groups[] = {
1407     "gpio153", "gpio157",
1408 };
1409 
1410 static const char * const tgu_groups[] = {
1411     "gpio101", "gpio102", "gpio103", "gpio104", "gpio105", "gpio106",
1412     "gpio107", "gpio108",
1413 };
1414 
1415 static const char * const tsense_pwm1_groups[] = {
1416     "gpio70",
1417 };
1418 
1419 static const char * const tsense_pwm2_groups[] = {
1420     "gpio69",
1421 };
1422 
1423 static const char * const tsense_pwm3_groups[] = {
1424     "gpio67",
1425 };
1426 
1427 static const char * const tsense_pwm4_groups[] = {
1428     "gpio65",
1429 };
1430 
1431 static const char * const usb0_dp_groups[] = {
1432     "gpio21",
1433 };
1434 
1435 static const char * const usb0_phy_groups[] = {
1436     "gpio166",
1437 };
1438 
1439 static const char * const usb0_sbrx_groups[] = {
1440     "gpio170",
1441 };
1442 
1443 static const char * const usb0_sbtx_groups[] = {
1444     "gpio168", "gpio169",
1445 };
1446 
1447 static const char * const usb0_usb4_groups[] = {
1448     "gpio132",
1449 };
1450 
1451 static const char * const usb1_dp_groups[] = {
1452     "gpio9",
1453 };
1454 
1455 static const char * const usb1_phy_groups[] = {
1456     "gpio49",
1457 };
1458 
1459 static const char * const usb1_sbrx_groups[] = {
1460     "gpio53",
1461 };
1462 
1463 static const char * const usb1_sbtx_groups[] = {
1464     "gpio51", "gpio52",
1465 };
1466 
1467 static const char * const usb1_usb4_groups[] = {
1468     "gpio32",
1469 };
1470 
1471 static const char * const usb2phy_ac_groups[] = {
1472     "gpio24", "gpio25", "gpio133", "gpio134", "gpio148", "gpio149",
1473 };
1474 
1475 static const char * const vsense_trigger_groups[] = {
1476     "gpio81",
1477 };
1478 
1479 static const struct msm_function sc8280xp_functions[] = {
1480     FUNCTION(atest_char),
1481     FUNCTION(atest_usb),
1482     FUNCTION(audio_ref),
1483     FUNCTION(cam_mclk),
1484     FUNCTION(cci_async),
1485     FUNCTION(cci_i2c),
1486     FUNCTION(cci_timer0),
1487     FUNCTION(cci_timer1),
1488     FUNCTION(cci_timer2),
1489     FUNCTION(cci_timer3),
1490     FUNCTION(cci_timer4),
1491     FUNCTION(cci_timer5),
1492     FUNCTION(cci_timer6),
1493     FUNCTION(cci_timer7),
1494     FUNCTION(cci_timer8),
1495     FUNCTION(cci_timer9),
1496     FUNCTION(cmu_rng),
1497     FUNCTION(cri_trng),
1498     FUNCTION(cri_trng0),
1499     FUNCTION(cri_trng1),
1500     FUNCTION(dbg_out),
1501     FUNCTION(ddr_bist),
1502     FUNCTION(ddr_pxi0),
1503     FUNCTION(ddr_pxi1),
1504     FUNCTION(ddr_pxi2),
1505     FUNCTION(ddr_pxi3),
1506     FUNCTION(ddr_pxi4),
1507     FUNCTION(ddr_pxi5),
1508     FUNCTION(ddr_pxi6),
1509     FUNCTION(ddr_pxi7),
1510     FUNCTION(dp2_hot),
1511     FUNCTION(dp3_hot),
1512     FUNCTION(edp0_lcd),
1513     FUNCTION(edp1_lcd),
1514     FUNCTION(edp2_lcd),
1515     FUNCTION(edp3_lcd),
1516     FUNCTION(edp_hot),
1517     FUNCTION(egpio),
1518     FUNCTION(emac0_dll),
1519     FUNCTION(emac0_mcg0),
1520     FUNCTION(emac0_mcg1),
1521     FUNCTION(emac0_mcg2),
1522     FUNCTION(emac0_mcg3),
1523     FUNCTION(emac0_phy),
1524     FUNCTION(emac0_ptp),
1525     FUNCTION(emac1_dll0),
1526     FUNCTION(emac1_dll1),
1527     FUNCTION(emac1_mcg0),
1528     FUNCTION(emac1_mcg1),
1529     FUNCTION(emac1_mcg2),
1530     FUNCTION(emac1_mcg3),
1531     FUNCTION(emac1_phy),
1532     FUNCTION(emac1_ptp),
1533     FUNCTION(gcc_gp1),
1534     FUNCTION(gcc_gp2),
1535     FUNCTION(gcc_gp3),
1536     FUNCTION(gcc_gp4),
1537     FUNCTION(gcc_gp5),
1538     FUNCTION(gpio),
1539     FUNCTION(hs1_mi2s),
1540     FUNCTION(hs2_mi2s),
1541     FUNCTION(hs3_mi2s),
1542     FUNCTION(ibi_i3c),
1543     FUNCTION(jitter_bist),
1544     FUNCTION(lpass_slimbus),
1545     FUNCTION(mdp0_vsync0),
1546     FUNCTION(mdp0_vsync1),
1547     FUNCTION(mdp0_vsync2),
1548     FUNCTION(mdp0_vsync3),
1549     FUNCTION(mdp0_vsync4),
1550     FUNCTION(mdp0_vsync5),
1551     FUNCTION(mdp0_vsync6),
1552     FUNCTION(mdp0_vsync7),
1553     FUNCTION(mdp0_vsync8),
1554     FUNCTION(mdp1_vsync0),
1555     FUNCTION(mdp1_vsync1),
1556     FUNCTION(mdp1_vsync2),
1557     FUNCTION(mdp1_vsync3),
1558     FUNCTION(mdp1_vsync4),
1559     FUNCTION(mdp1_vsync5),
1560     FUNCTION(mdp1_vsync6),
1561     FUNCTION(mdp1_vsync7),
1562     FUNCTION(mdp1_vsync8),
1563     FUNCTION(mdp_vsync),
1564     FUNCTION(mi2s0_data0),
1565     FUNCTION(mi2s0_data1),
1566     FUNCTION(mi2s0_sck),
1567     FUNCTION(mi2s0_ws),
1568     FUNCTION(mi2s1_data0),
1569     FUNCTION(mi2s1_data1),
1570     FUNCTION(mi2s1_sck),
1571     FUNCTION(mi2s1_ws),
1572     FUNCTION(mi2s2_data0),
1573     FUNCTION(mi2s2_data1),
1574     FUNCTION(mi2s2_sck),
1575     FUNCTION(mi2s2_ws),
1576     FUNCTION(mi2s_mclk1),
1577     FUNCTION(mi2s_mclk2),
1578     FUNCTION(pcie2a_clkreq),
1579     FUNCTION(pcie2b_clkreq),
1580     FUNCTION(pcie3a_clkreq),
1581     FUNCTION(pcie3b_clkreq),
1582     FUNCTION(pcie4_clkreq),
1583     FUNCTION(phase_flag),
1584     FUNCTION(pll_bist),
1585     FUNCTION(pll_clk),
1586     FUNCTION(prng_rosc0),
1587     FUNCTION(prng_rosc1),
1588     FUNCTION(prng_rosc2),
1589     FUNCTION(prng_rosc3),
1590     FUNCTION(qdss_cti),
1591     FUNCTION(qdss_gpio),
1592     FUNCTION(qspi),
1593     FUNCTION(qspi_clk),
1594     FUNCTION(qspi_cs),
1595     FUNCTION(qup0),
1596     FUNCTION(qup1),
1597     FUNCTION(qup2),
1598     FUNCTION(qup3),
1599     FUNCTION(qup4),
1600     FUNCTION(qup5),
1601     FUNCTION(qup6),
1602     FUNCTION(qup7),
1603     FUNCTION(qup8),
1604     FUNCTION(qup9),
1605     FUNCTION(qup10),
1606     FUNCTION(qup11),
1607     FUNCTION(qup12),
1608     FUNCTION(qup13),
1609     FUNCTION(qup14),
1610     FUNCTION(qup15),
1611     FUNCTION(qup16),
1612     FUNCTION(qup17),
1613     FUNCTION(qup18),
1614     FUNCTION(qup19),
1615     FUNCTION(qup20),
1616     FUNCTION(qup21),
1617     FUNCTION(qup22),
1618     FUNCTION(qup23),
1619     FUNCTION(rgmii_0),
1620     FUNCTION(rgmii_1),
1621     FUNCTION(sd_write),
1622     FUNCTION(sdc40),
1623     FUNCTION(sdc42),
1624     FUNCTION(sdc43),
1625     FUNCTION(sdc4_clk),
1626     FUNCTION(sdc4_cmd),
1627     FUNCTION(tb_trig),
1628     FUNCTION(tgu),
1629     FUNCTION(tsense_pwm1),
1630     FUNCTION(tsense_pwm2),
1631     FUNCTION(tsense_pwm3),
1632     FUNCTION(tsense_pwm4),
1633     FUNCTION(usb0_dp),
1634     FUNCTION(usb0_phy),
1635     FUNCTION(usb0_sbrx),
1636     FUNCTION(usb0_sbtx),
1637     FUNCTION(usb0_usb4),
1638     FUNCTION(usb1_dp),
1639     FUNCTION(usb1_phy),
1640     FUNCTION(usb1_sbrx),
1641     FUNCTION(usb1_sbtx),
1642     FUNCTION(usb1_usb4),
1643     FUNCTION(usb2phy_ac),
1644     FUNCTION(vsense_trigger),
1645 };
1646 
1647 static const struct msm_pingroup sc8280xp_groups[] = {
1648     [0] = PINGROUP(0, qup12, _, _, _, _, _, _),
1649     [1] = PINGROUP(1, qup12, mdp0_vsync0, _, _, _, _, _),
1650     [2] = PINGROUP(2, edp_hot, qup12, mdp0_vsync1, _, _, _, _),
1651     [3] = PINGROUP(3, edp_hot, qup12, qdss_cti, _, _, _, _),
1652     [4] = PINGROUP(4, qup14, ibi_i3c, qdss_cti, _, _, _, _),
1653     [5] = PINGROUP(5, qup14, ibi_i3c, _, _, _, _, _),
1654     [6] = PINGROUP(6, edp_hot, qup14, cam_mclk, _, _, _, _),
1655     [7] = PINGROUP(7, edp_hot, qup14, qdss_cti, cam_mclk, _, _, _),
1656     [8] = PINGROUP(8, mdp_vsync, mdp0_vsync2, _, _, _, _, _),
1657     [9] = PINGROUP(9, usb1_dp, mdp0_vsync3, _, _, _, _, _),
1658     [10] = PINGROUP(10, cci_i2c, mdp0_vsync4, _, qdss_gpio, _, _, _),
1659     [11] = PINGROUP(11, cci_i2c, mdp0_vsync5, _, qdss_gpio, _, _, _),
1660     [12] = PINGROUP(12, cci_i2c, mdp0_vsync6, _, qdss_gpio, _, _, _),
1661     [13] = PINGROUP(13, cci_i2c, mdp0_vsync7, _, qdss_gpio, _, _, _),
1662     [14] = PINGROUP(14, cci_timer2, qdss_gpio, _, _, _, _, _),
1663     [15] = PINGROUP(15, cci_timer3, cci_async, _, qdss_gpio, _, _, _),
1664     [16] = PINGROUP(16, cam_mclk, mdp0_vsync8, _, qdss_gpio, _, _, _),
1665     [17] = PINGROUP(17, cam_mclk, mdp1_vsync0, _, qdss_gpio, _, _, _),
1666     [18] = PINGROUP(18, qup11, mdp1_vsync1, _, _, _, _, _),
1667     [19] = PINGROUP(19, qup11, mdp1_vsync2, _, _, _, _, _),
1668     [20] = PINGROUP(20, qup11, dp2_hot, mdp1_vsync3, _, _, _, _),
1669     [21] = PINGROUP(21, qup11, usb0_dp, qdss_cti, _, _, _, _),
1670     [22] = PINGROUP(22, qup10, _, _, _, _, _, _),
1671     [23] = PINGROUP(23, qup10, _, _, _, _, _, _),
1672     [24] = PINGROUP(24, qup10, usb2phy_ac, _, _, _, _, _),
1673     [25] = PINGROUP(25, qup10, usb2phy_ac, _, _, _, _, _),
1674     [26] = PINGROUP(26, qup13, edp0_lcd, _, _, _, _, _),
1675     [27] = PINGROUP(27, qup13, edp1_lcd, _, _, _, _, _),
1676     [28] = PINGROUP(28, qup13, edp2_lcd, _, _, _, _, _),
1677     [29] = PINGROUP(29, qup13, edp3_lcd, _, _, _, _, _),
1678     [30] = PINGROUP(30, qdss_cti, qdss_cti, _, _, _, _, _),
1679     [31] = PINGROUP(31, qdss_cti, qdss_cti, _, _, _, _, _),
1680     [32] = PINGROUP(32, usb1_usb4, _, _, _, _, _, _),
1681     [33] = PINGROUP(33, cam_mclk, _, _, _, _, _, _),
1682     [34] = PINGROUP(34, cam_mclk, _, _, _, _, _, _),
1683     [35] = PINGROUP(35, _, _, _, _, _, _, _),
1684     [36] = PINGROUP(36, qup15, ibi_i3c, mdp1_vsync4, _, _, _, _),
1685     [37] = PINGROUP(37, qup15, ibi_i3c, mdp1_vsync5, _, _, _, _),
1686     [38] = PINGROUP(38, qup15, mdp1_vsync6, _, _, _, _, _),
1687     [39] = PINGROUP(39, qup15, mdp1_vsync7, _, _, _, _, _),
1688     [40] = PINGROUP(40, mdp1_vsync8, _, _, _, _, _, _),
1689     [41] = PINGROUP(41, qup9, _, _, _, _, _, _),
1690     [42] = PINGROUP(42, qup9, ddr_bist, _, _, _, _, _),
1691     [43] = PINGROUP(43, qup8, qup9, _, _, _, _, _),
1692     [44] = PINGROUP(44, qup8, qup9, _, _, _, _, _),
1693     [45] = PINGROUP(45, qup8, dp3_hot, ddr_bist, _, _, _, _),
1694     [46] = PINGROUP(46, qup8, ddr_bist, _, _, _, _, _),
1695     [47] = PINGROUP(47, ddr_bist, _, _, _, _, _, _),
1696     [48] = PINGROUP(48, _, _, _, _, _, _, _),
1697     [49] = PINGROUP(49, usb1_phy, _, _, _, _, _, _),
1698     [50] = PINGROUP(50, _, _, _, _, _, _, _),
1699     [51] = PINGROUP(51, usb1_sbtx, _, _, _, _, _, _),
1700     [52] = PINGROUP(52, usb1_sbtx, _, _, _, _, _, _),
1701     [53] = PINGROUP(53, usb1_sbrx, _, _, _, _, _, _),
1702     [54] = PINGROUP(54, emac1_phy, _, _, _, _, _, _),
1703     [55] = PINGROUP(55, emac1_ptp, emac1_ptp, qup19, _, _, _, _),
1704     [56] = PINGROUP(56, emac1_ptp, emac1_ptp, qup19, _, _, _, _),
1705     [57] = PINGROUP(57, qup19, emac1_mcg0, _, _, _, _, _),
1706     [58] = PINGROUP(58, qup19, emac1_mcg1, _, _, _, _, _),
1707     [59] = PINGROUP(59, qup23, _, _, _, _, _, _),
1708     [60] = PINGROUP(60, qup23, _, _, _, _, _, _),
1709     [61] = PINGROUP(61, qup23, qup17, _, _, _, _, _),
1710     [62] = PINGROUP(62, qup23, qup17, _, _, _, _, _),
1711     [63] = PINGROUP(63, qup17, _, _, _, _, _, _),
1712     [64] = PINGROUP(64, qup17, _, _, _, _, _, _),
1713     [65] = PINGROUP(65, tsense_pwm4, _, _, _, _, _, _),
1714     [66] = PINGROUP(66, qup18, _, _, _, _, _, _),
1715     [67] = PINGROUP(67, qup18, tsense_pwm3, _, _, _, _, _),
1716     [68] = PINGROUP(68, qup18, emac1_mcg2, _, _, _, _, _),
1717     [69] = PINGROUP(69, qup18, emac1_mcg3, tsense_pwm2, _, _, _, _),
1718     [70] = PINGROUP(70, qup16, tsense_pwm1, _, _, _, _, _),
1719     [71] = PINGROUP(71, qup16, atest_usb, _, _, _, _, _),
1720     [72] = PINGROUP(72, qup16, atest_usb, _, _, _, _, _),
1721     [73] = PINGROUP(73, qup16, atest_usb, _, _, _, _, _),
1722     [74] = PINGROUP(74, qspi_clk, sdc4_clk, atest_usb, _, _, _, _),
1723     [75] = PINGROUP(75, qspi_cs, sdc4_cmd, atest_usb, _, _, _, _),
1724     [76] = PINGROUP(76, qspi, sdc40, atest_usb, _, _, _, _),
1725     [77] = PINGROUP(77, _, _, _, _, _, _, _),
1726     [78] = PINGROUP(78, qspi, sdc42, atest_usb, _, _, _, _),
1727     [79] = PINGROUP(79, qspi, sdc43, atest_usb, ddr_pxi6, _, _, _),
1728     [80] = PINGROUP(80, mi2s_mclk1, audio_ref, phase_flag, _, qdss_gpio, _, _),
1729     [81] = PINGROUP(81, qup21, qspi_cs, phase_flag, _, vsense_trigger, _, _),
1730     [82] = PINGROUP(82, qup21, phase_flag, _, _, _, _, _),
1731     [83] = PINGROUP(83, qup21, qup22, phase_flag, _, _, _, _),
1732     [84] = PINGROUP(84, qup21, qup22, pll_bist, pll_clk, _, _, _),
1733     [85] = PINGROUP(85, qup22, _, _, _, _, _, _),
1734     [86] = PINGROUP(86, qup22, _, pll_clk, _, _, _, _),
1735     [87] = PINGROUP(87, qup20, phase_flag, _, _, _, _, _),
1736     [88] = PINGROUP(88, qup20, phase_flag, _, _, _, _, _),
1737     [89] = PINGROUP(89, qup20, phase_flag, _, _, _, _, _),
1738     [90] = PINGROUP(90, qup20, phase_flag, _, _, _, _, _),
1739     [91] = PINGROUP(91, qup20, hs2_mi2s, phase_flag, _, _, _, _),
1740     [92] = PINGROUP(92, qup20, hs2_mi2s, phase_flag, _, _, _, _),
1741     [93] = PINGROUP(93, mi2s0_sck, emac1_ptp, emac1_ptp, phase_flag, _, _, _),
1742     [94] = PINGROUP(94, mi2s0_ws, emac1_ptp, emac1_ptp, phase_flag, _, _, _),
1743     [95] = PINGROUP(95, mi2s0_data0, emac1_ptp, emac1_ptp, phase_flag, _, _, _),
1744     [96] = PINGROUP(96, mi2s0_data1, emac1_ptp, emac1_ptp, qdss_gpio, _, _, _),
1745     [97] = PINGROUP(97, rgmii_1, atest_usb, _, _, _, _, _),
1746     [98] = PINGROUP(98, rgmii_1, atest_usb, _, _, _, _, _),
1747     [99] = PINGROUP(99, rgmii_1, _, _, _, _, _, _),
1748     [100] = PINGROUP(100, mdp_vsync, rgmii_1, _, _, _, _, _),
1749     [101] = PINGROUP(101, mdp_vsync, rgmii_1, tgu, atest_usb, _, _, _),
1750     [102] = PINGROUP(102, rgmii_1, tgu, atest_usb, _, _, _, _),
1751     [103] = PINGROUP(103, rgmii_1, tgu, atest_usb, _, _, _, _),
1752     [104] = PINGROUP(104, rgmii_1, tgu, atest_usb, _, _, _, _),
1753     [105] = PINGROUP(105, rgmii_1, tgu, atest_usb, _, _, _, _),
1754     [106] = PINGROUP(106, rgmii_1, tgu, _, _, _, _, _),
1755     [107] = PINGROUP(107, rgmii_1, tgu, _, _, _, _, _),
1756     [108] = PINGROUP(108, rgmii_1, tgu, _, _, _, _, _),
1757     [109] = PINGROUP(109, rgmii_1, _, _, _, _, _, _),
1758     [110] = PINGROUP(110, qup20, rgmii_1, atest_usb, _, _, _, _),
1759     [111] = PINGROUP(111, qup4, qup5, atest_usb, _, _, _, _),
1760     [112] = PINGROUP(112, qup4, qup5, atest_usb, _, _, _, _),
1761     [113] = PINGROUP(113, cci_i2c, atest_usb, _, _, _, _, _),
1762     [114] = PINGROUP(114, cci_i2c, gcc_gp2, atest_usb, _, _, _, _),
1763     [115] = PINGROUP(115, cci_i2c, gcc_gp3, qdss_gpio, _, _, _, _),
1764     [116] = PINGROUP(116, cci_i2c, qdss_gpio, _, _, _, _, _),
1765     [117] = PINGROUP(117, cci_i2c, _, qdss_gpio, _, _, _, _),
1766     [118] = PINGROUP(118, cci_i2c, _, qdss_gpio, _, _, _, _),
1767     [119] = PINGROUP(119, cam_mclk, cci_timer0, cci_async, gcc_gp1, qdss_gpio, _, _),
1768     [120] = PINGROUP(120, cam_mclk, cci_timer1, cci_async, gcc_gp2, qdss_gpio, ddr_pxi3, _),
1769     [121] = PINGROUP(121, qup2, qdss_gpio, _, atest_usb, ddr_pxi0, _, _),
1770     [122] = PINGROUP(122, qup2, qdss_gpio, atest_usb, _, _, _, _),
1771     [123] = PINGROUP(123, qup2, cci_i2c, cmu_rng, ddr_pxi2, _, _, _),
1772     [124] = PINGROUP(124, qup2, cci_i2c, cmu_rng, ddr_pxi1, _, _, _),
1773     [125] = PINGROUP(125, qup7, dbg_out, ddr_pxi1, _, _, _, _),
1774     [126] = PINGROUP(126, qup7, cmu_rng, ddr_pxi0, _, _, _, _),
1775     [127] = PINGROUP(127, emac0_phy, _, _, _, _, _, _),
1776     [128] = PINGROUP(128, qup7, ibi_i3c, _, _, _, _, _),
1777     [129] = PINGROUP(129, qup7, ibi_i3c, _, _, _, _, _),
1778     [130] = PINGROUP(130, emac0_ptp, emac0_ptp, sd_write, atest_usb, _, _, _),
1779     [131] = PINGROUP(131, emac0_ptp, emac0_ptp, atest_usb, _, _, _, _),
1780     [132] = PINGROUP(132, usb0_usb4, phase_flag, _, _, _, _, _),
1781     [133] = PINGROUP(133, usb2phy_ac, _, _, _, _, _, _),
1782     [134] = PINGROUP(134, usb2phy_ac, atest_char, _, _, _, _, _),
1783     [135] = PINGROUP(135, qup0, qup3, _, atest_usb, ddr_pxi7, _, _),
1784     [136] = PINGROUP(136, qup0, qup3, cmu_rng, ddr_pxi7, _, _, _),
1785     [137] = PINGROUP(137, qup3, qup0, _, atest_usb, ddr_pxi3, _, _),
1786     [138] = PINGROUP(138, qup3, qup0, _, atest_usb, ddr_pxi2, _, _),
1787     [139] = PINGROUP(139, cci_timer5, gcc_gp3, atest_char, _, _, _, _),
1788     [140] = PINGROUP(140, pcie4_clkreq, jitter_bist, atest_char, _, _, _, _),
1789     [141] = PINGROUP(141, _, _, _, _, _, _, _),
1790     [142] = PINGROUP(142, pcie2a_clkreq, atest_char, _, _, _, _, _),
1791     [143] = PINGROUP(143, _, atest_char, _, _, _, _, _),
1792     [144] = PINGROUP(144, pcie2b_clkreq, phase_flag, _, _, _, _, _),
1793     [145] = PINGROUP(145, qup5, cci_i2c, phase_flag, _, _, _, _),
1794     [146] = PINGROUP(146, qup5, cci_i2c, phase_flag, _, _, _, _),
1795     [147] = PINGROUP(147, _, phase_flag, _, _, _, _, _),
1796     [148] = PINGROUP(148, usb2phy_ac, _, atest_usb, _, _, _, _),
1797     [149] = PINGROUP(149, usb2phy_ac, gcc_gp1, atest_usb, _, _, _, _),
1798     [150] = PINGROUP(150, pcie3a_clkreq, _, _, _, _, _, _),
1799     [151] = PINGROUP(151, _, _, _, _, _, _, _),
1800     [152] = PINGROUP(152, pcie3b_clkreq, _, _, _, _, _, _),
1801     [153] = PINGROUP(153, _, tb_trig, _, _, _, _, _),
1802     [154] = PINGROUP(154, qup6, ibi_i3c, _, _, _, _, _),
1803     [155] = PINGROUP(155, qup6, ibi_i3c, _, _, _, _, _),
1804     [156] = PINGROUP(156, qup6, emac0_ptp, emac0_ptp, _, _, _, _),
1805     [157] = PINGROUP(157, qup6, emac0_ptp, emac0_ptp, tb_trig, _, _, _),
1806     [158] = PINGROUP(158, qup1, emac0_ptp, emac0_ptp, _, _, _, _),
1807     [159] = PINGROUP(159, qup1, emac0_ptp, emac0_ptp, _, _, _, _),
1808     [160] = PINGROUP(160, cci_timer9, qup1, cci_async, emac0_mcg0, gcc_gp4, _, _),
1809     [161] = PINGROUP(161, cci_timer4, cci_async, qup1, emac0_mcg1, qdss_gpio, _, _),
1810     [162] = PINGROUP(162, cci_timer6, emac0_mcg2, gcc_gp4, qdss_gpio, _, _, _),
1811     [163] = PINGROUP(163, cci_timer7, emac0_mcg3, _, _, _, _, _),
1812     [164] = PINGROUP(164, cci_i2c, _, _, _, _, _, _),
1813     [165] = PINGROUP(165, cci_i2c, _, _, _, _, _, _),
1814     [166] = PINGROUP(166, usb0_phy, _, _, _, _, _, _),
1815     [167] = PINGROUP(167, cci_timer8, cci_async, gcc_gp5, _, _, _, _),
1816     [168] = PINGROUP(168, usb0_sbtx, gcc_gp5, _, _, _, _, _),
1817     [169] = PINGROUP(169, usb0_sbtx, _, _, _, _, _, _),
1818     [170] = PINGROUP(170, usb0_sbrx, _, _, _, _, _, _),
1819     [171] = PINGROUP(171, qup4, _, _, _, _, _, _),
1820     [172] = PINGROUP(172, qup4, _, _, _, _, _, _),
1821     [173] = PINGROUP(173, qup4, _, _, _, _, _, _),
1822     [174] = PINGROUP(174, qup4, _, _, _, _, _, _),
1823     [175] = PINGROUP(175, qup4, rgmii_0, _, _, _, _, _),
1824     [176] = PINGROUP(176, rgmii_0, _, _, _, _, _, _),
1825     [177] = PINGROUP(177, rgmii_0, _, _, _, _, _, _),
1826     [178] = PINGROUP(178, rgmii_0, _, _, _, _, _, _),
1827     [179] = PINGROUP(179, rgmii_0, _, _, _, _, _, _),
1828     [180] = PINGROUP(180, rgmii_0, _, _, _, _, _, _),
1829     [181] = PINGROUP(181, rgmii_0, _, _, _, _, _, _),
1830     [182] = PINGROUP(182, rgmii_0, _, _, _, _, _, _),
1831     [183] = PINGROUP(183, rgmii_0, _, _, _, _, _, _),
1832     [184] = PINGROUP(184, rgmii_0, _, _, _, _, _, _),
1833     [185] = PINGROUP(185, rgmii_0, _, _, _, _, _, _),
1834     [186] = PINGROUP(186, rgmii_0, _, _, _, _, _, _),
1835     [187] = PINGROUP(187, rgmii_0, cri_trng0, _, _, _, _, _),
1836     [188] = PINGROUP(188, rgmii_0, cri_trng1, _, _, _, _, _),
1837     [189] = PINGROUP(189, prng_rosc0, _, _, _, _, _, egpio),
1838     [190] = PINGROUP(190, cri_trng, _, _, _, _, _, egpio),
1839     [191] = PINGROUP(191, prng_rosc1, _, _, _, _, _, egpio),
1840     [192] = PINGROUP(192, _, _, _, _, _, _, egpio),
1841     [193] = PINGROUP(193, prng_rosc2, _, _, _, _, _, egpio),
1842     [194] = PINGROUP(194, prng_rosc3, _, _, _, _, _, egpio),
1843     [195] = PINGROUP(195, phase_flag, _, qdss_gpio, _, _, _, egpio),
1844     [196] = PINGROUP(196, phase_flag, _, qdss_gpio, _, _, _, egpio),
1845     [197] = PINGROUP(197, phase_flag, _, qdss_gpio, _, _, _, egpio),
1846     [198] = PINGROUP(198, phase_flag, _, qdss_gpio, _, _, _, egpio),
1847     [199] = PINGROUP(199, _, _, _, _, _, _, egpio),
1848     [200] = PINGROUP(200, _, _, _, _, _, _, egpio),
1849     [201] = PINGROUP(201, qdss_gpio, _, _, _, _, _, egpio),
1850     [202] = PINGROUP(202, phase_flag, _, qdss_gpio, _, _, _, egpio),
1851     [203] = PINGROUP(203, _, _, _, _, _, _, egpio),
1852     [204] = PINGROUP(204, _, _, _, _, _, _, egpio),
1853     [205] = PINGROUP(205, _, _, _, _, _, _, egpio),
1854     [206] = PINGROUP(206, qdss_gpio, _, _, _, _, _, egpio),
1855     [207] = PINGROUP(207, qdss_gpio, _, _, _, _, _, egpio),
1856     [208] = PINGROUP(208, hs1_mi2s, _, _, _, _, _, egpio),
1857     [209] = PINGROUP(209, hs1_mi2s, _, _, _, _, _, egpio),
1858     [210] = PINGROUP(210, hs1_mi2s, _, _, _, _, _, egpio),
1859     [211] = PINGROUP(211, hs1_mi2s, _, _, _, _, _, egpio),
1860     [212] = PINGROUP(212, mi2s2_sck, qdss_gpio, _, _, _, _, egpio),
1861     [213] = PINGROUP(213, mi2s2_ws, qdss_gpio, _, _, _, _, egpio),
1862     [214] = PINGROUP(214, mi2s2_data0, qdss_gpio, ddr_pxi5, _, _, _, egpio),
1863     [215] = PINGROUP(215, mi2s2_data1, qdss_gpio, emac1_dll0, ddr_pxi5, _, _, egpio),
1864     [216] = PINGROUP(216, mi2s_mclk1, qdss_gpio, emac0_dll, ddr_pxi4, _, _, egpio),
1865     [217] = PINGROUP(217, mi2s_mclk2, qdss_gpio, emac0_dll, ddr_pxi4, _, _, egpio),
1866     [218] = PINGROUP(218, hs2_mi2s, emac1_dll1, ddr_pxi6, _, _, _, egpio),
1867     [219] = PINGROUP(219, hs2_mi2s, phase_flag, _, _, _, _, egpio),
1868     [220] = PINGROUP(220, lpass_slimbus, mi2s1_sck, phase_flag, _, _, _, egpio),
1869     [221] = PINGROUP(221, lpass_slimbus, mi2s1_ws, phase_flag, _, _, _, egpio),
1870     [222] = PINGROUP(222, mi2s1_data0, phase_flag, _, qdss_gpio, _, _, egpio),
1871     [223] = PINGROUP(223, mi2s1_data1, phase_flag, _, qdss_gpio, _, _, egpio),
1872     [224] = PINGROUP(224, hs3_mi2s, phase_flag, _, _, _, _, egpio),
1873     [225] = PINGROUP(225, hs3_mi2s, phase_flag, _, _, _, _, egpio),
1874     [226] = PINGROUP(226, hs3_mi2s, phase_flag, _, _, _, _, egpio),
1875     [227] = PINGROUP(227, hs3_mi2s, phase_flag, _, _, _, _, egpio),
1876     [228] = UFS_RESET(ufs_reset, 0xf1004),
1877     [229] = UFS_RESET(ufs1_reset, 0xf3004),
1878     [230] = SDC_QDSD_PINGROUP(sdc2_clk, 0xe8000, 14, 6),
1879     [231] = SDC_QDSD_PINGROUP(sdc2_cmd, 0xe8000, 11, 3),
1880     [232] = SDC_QDSD_PINGROUP(sdc2_data, 0xe8000, 9, 0),
1881 };
1882 
1883 static const struct msm_gpio_wakeirq_map sc8280xp_pdc_map[] = {
1884     { 3, 245 }, { 4, 263 }, { 7, 254 }, { 21, 220 }, { 25, 244 },
1885     { 26, 211 }, { 27, 172 }, { 29, 203 }, { 30, 169 }, { 31, 180 },
1886     { 32, 181 }, { 33, 182 }, { 36, 206 }, { 39, 246 }, { 40, 183 },
1887     { 42, 179 }, { 46, 247 }, { 53, 248 }, { 54, 190 }, { 55, 249 },
1888     { 56, 250 }, { 58, 251 }, { 59, 207 }, { 62, 252 }, { 63, 191 },
1889     { 64, 192 }, { 65, 193 }, { 69, 253 }, { 73, 255 }, { 84, 256 },
1890     { 85, 208 }, { 90, 257 }, { 102, 214 }, { 103, 215 }, { 104, 216 },
1891     { 107, 217 }, { 110, 218 }, { 124, 224 }, { 125, 189 },
1892     { 126, 200 }, { 127, 225 }, { 128, 262 }, { 129, 201 },
1893     { 130, 209 }, { 131, 173 }, { 132, 202 }, { 136, 210 },
1894     { 138, 171 }, { 139, 226 }, { 140, 227 }, { 142, 228 },
1895     { 144, 229 }, { 145, 230 }, { 146, 231 }, { 148, 232 },
1896     { 149, 233 }, { 150, 234 }, { 152, 235 }, { 154, 212 },
1897     { 157, 213 }, { 161, 219 }, { 170, 236 }, { 171, 221 },
1898     { 174, 222 }, { 175, 237 }, { 176, 223 }, { 177, 170 },
1899     { 180, 238 }, { 181, 239 }, { 182, 240 }, { 183, 241 },
1900     { 184, 242 }, { 185, 243 }, { 190, 178 }, { 193, 184 },
1901     { 196, 185 }, { 198, 186 }, { 200, 174 }, { 201, 175 },
1902     { 205, 176 }, { 206, 177 }, { 208, 187 }, { 210, 198 },
1903     { 211, 199 }, { 212, 204 }, { 215, 205 }, { 220, 188 },
1904     { 221, 194 }, { 223, 195 }, { 225, 196 }, { 227, 197 },
1905 };
1906 
1907 static struct msm_pinctrl_soc_data sc8280xp_pinctrl = {
1908     .pins = sc8280xp_pins,
1909     .npins = ARRAY_SIZE(sc8280xp_pins),
1910     .functions = sc8280xp_functions,
1911     .nfunctions = ARRAY_SIZE(sc8280xp_functions),
1912     .groups = sc8280xp_groups,
1913     .ngroups = ARRAY_SIZE(sc8280xp_groups),
1914     .ngpios = 230,
1915     .wakeirq_map = sc8280xp_pdc_map,
1916     .nwakeirq_map = ARRAY_SIZE(sc8280xp_pdc_map),
1917     .egpio_func = 7,
1918 };
1919 
1920 static int sc8280xp_pinctrl_probe(struct platform_device *pdev)
1921 {
1922     return msm_pinctrl_probe(pdev, &sc8280xp_pinctrl);
1923 }
1924 
1925 static const struct of_device_id sc8280xp_pinctrl_of_match[] = {
1926     { .compatible = "qcom,sc8280xp-tlmm", },
1927     { },
1928 };
1929 MODULE_DEVICE_TABLE(of, sc8280xp_pinctrl_of_match);
1930 
1931 static struct platform_driver sc8280xp_pinctrl_driver = {
1932     .driver = {
1933         .name = "sc8280xp-tlmm",
1934         .of_match_table = sc8280xp_pinctrl_of_match,
1935     },
1936     .probe = sc8280xp_pinctrl_probe,
1937     .remove = msm_pinctrl_remove,
1938 };
1939 
1940 static int __init sc8280xp_pinctrl_init(void)
1941 {
1942     return platform_driver_register(&sc8280xp_pinctrl_driver);
1943 }
1944 arch_initcall(sc8280xp_pinctrl_init);
1945 
1946 static void __exit sc8280xp_pinctrl_exit(void)
1947 {
1948     platform_driver_unregister(&sc8280xp_pinctrl_driver);
1949 }
1950 module_exit(sc8280xp_pinctrl_exit);
1951 
1952 MODULE_DESCRIPTION("Qualcomm SC8280XP TLMM pinctrl driver");
1953 MODULE_LICENSE("GPL");