cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

pinctrl-sc8280xp.c (56486B)


      1// SPDX-License-Identifier: GPL-2.0-only
      2/*
      3 * Copyright (c) 2020-2021, The Linux Foundation. All rights reserved.
      4 * Copyright (c) 2022, Linaro Ltd.
      5 */
      6
      7#include <linux/module.h>
      8#include <linux/of.h>
      9#include <linux/platform_device.h>
     10#include <linux/pinctrl/pinctrl.h>
     11
     12#include "pinctrl-msm.h"
     13
     14#define FUNCTION(fname)					\
     15	[msm_mux_##fname] = {				\
     16		.name = #fname,				\
     17		.groups = fname##_groups,		\
     18		.ngroups = ARRAY_SIZE(fname##_groups),	\
     19	}
     20
     21#define REG_SIZE 0x1000
     22#define PINGROUP(id, f1, f2, f3, f4, f5, f6, f7)	\
     23	{						\
     24		.name = "gpio" #id,			\
     25		.pins = gpio##id##_pins,		\
     26		.npins = (unsigned int)ARRAY_SIZE(gpio##id##_pins),	\
     27		.funcs = (int[]){			\
     28			msm_mux_gpio, /* gpio mode */	\
     29			msm_mux_##f1,			\
     30			msm_mux_##f2,			\
     31			msm_mux_##f3,			\
     32			msm_mux_##f4,			\
     33			msm_mux_##f5,			\
     34			msm_mux_##f6,			\
     35			msm_mux_##f7,			\
     36		},					\
     37		.nfuncs = 8,				\
     38		.ctl_reg = REG_SIZE * id,		\
     39		.io_reg = 0x4 + REG_SIZE * id,		\
     40		.intr_cfg_reg = 0x8 + REG_SIZE * id,	\
     41		.intr_status_reg = 0xc + REG_SIZE * id,	\
     42		.intr_target_reg = 0x8 + REG_SIZE * id,	\
     43		.mux_bit = 2,			\
     44		.pull_bit = 0,			\
     45		.drv_bit = 6,			\
     46		.oe_bit = 9,			\
     47		.in_bit = 0,			\
     48		.out_bit = 1,			\
     49		.egpio_enable = 12,		\
     50		.egpio_present = 11,		\
     51		.intr_enable_bit = 0,		\
     52		.intr_status_bit = 0,		\
     53		.intr_target_bit = 5,		\
     54		.intr_target_kpss_val = 3,	\
     55		.intr_raw_status_bit = 4,	\
     56		.intr_polarity_bit = 1,		\
     57		.intr_detection_bit = 2,	\
     58		.intr_detection_width = 2,	\
     59	}
     60
     61#define SDC_QDSD_PINGROUP(pg_name, ctl, pull, drv)	\
     62	{						\
     63		.name = #pg_name,			\
     64		.pins = pg_name##_pins,			\
     65		.npins = (unsigned int)ARRAY_SIZE(pg_name##_pins),	\
     66		.ctl_reg = ctl,				\
     67		.io_reg = 0,				\
     68		.intr_cfg_reg = 0,			\
     69		.intr_status_reg = 0,			\
     70		.intr_target_reg = 0,			\
     71		.mux_bit = -1,				\
     72		.pull_bit = pull,			\
     73		.drv_bit = drv,				\
     74		.oe_bit = -1,				\
     75		.in_bit = -1,				\
     76		.out_bit = -1,				\
     77		.intr_enable_bit = -1,			\
     78		.intr_status_bit = -1,			\
     79		.intr_target_bit = -1,			\
     80		.intr_raw_status_bit = -1,		\
     81		.intr_polarity_bit = -1,		\
     82		.intr_detection_bit = -1,		\
     83		.intr_detection_width = -1,		\
     84	}
     85
     86#define UFS_RESET(pg_name, offset)				\
     87	{						\
     88		.name = #pg_name,			\
     89		.pins = pg_name##_pins,			\
     90		.npins = (unsigned int)ARRAY_SIZE(pg_name##_pins),	\
     91		.ctl_reg = offset,			\
     92		.io_reg = offset + 0x4,			\
     93		.intr_cfg_reg = 0,			\
     94		.intr_status_reg = 0,			\
     95		.intr_target_reg = 0,			\
     96		.mux_bit = -1,				\
     97		.pull_bit = 3,				\
     98		.drv_bit = 0,				\
     99		.oe_bit = -1,				\
    100		.in_bit = -1,				\
    101		.out_bit = 0,				\
    102		.intr_enable_bit = -1,			\
    103		.intr_status_bit = -1,			\
    104		.intr_target_bit = -1,			\
    105		.intr_raw_status_bit = -1,		\
    106		.intr_polarity_bit = -1,		\
    107		.intr_detection_bit = -1,		\
    108		.intr_detection_width = -1,		\
    109	}
    110static const struct pinctrl_pin_desc sc8280xp_pins[] = {
    111	PINCTRL_PIN(0, "GPIO_0"),
    112	PINCTRL_PIN(1, "GPIO_1"),
    113	PINCTRL_PIN(2, "GPIO_2"),
    114	PINCTRL_PIN(3, "GPIO_3"),
    115	PINCTRL_PIN(4, "GPIO_4"),
    116	PINCTRL_PIN(5, "GPIO_5"),
    117	PINCTRL_PIN(6, "GPIO_6"),
    118	PINCTRL_PIN(7, "GPIO_7"),
    119	PINCTRL_PIN(8, "GPIO_8"),
    120	PINCTRL_PIN(9, "GPIO_9"),
    121	PINCTRL_PIN(10, "GPIO_10"),
    122	PINCTRL_PIN(11, "GPIO_11"),
    123	PINCTRL_PIN(12, "GPIO_12"),
    124	PINCTRL_PIN(13, "GPIO_13"),
    125	PINCTRL_PIN(14, "GPIO_14"),
    126	PINCTRL_PIN(15, "GPIO_15"),
    127	PINCTRL_PIN(16, "GPIO_16"),
    128	PINCTRL_PIN(17, "GPIO_17"),
    129	PINCTRL_PIN(18, "GPIO_18"),
    130	PINCTRL_PIN(19, "GPIO_19"),
    131	PINCTRL_PIN(20, "GPIO_20"),
    132	PINCTRL_PIN(21, "GPIO_21"),
    133	PINCTRL_PIN(22, "GPIO_22"),
    134	PINCTRL_PIN(23, "GPIO_23"),
    135	PINCTRL_PIN(24, "GPIO_24"),
    136	PINCTRL_PIN(25, "GPIO_25"),
    137	PINCTRL_PIN(26, "GPIO_26"),
    138	PINCTRL_PIN(27, "GPIO_27"),
    139	PINCTRL_PIN(28, "GPIO_28"),
    140	PINCTRL_PIN(29, "GPIO_29"),
    141	PINCTRL_PIN(30, "GPIO_30"),
    142	PINCTRL_PIN(31, "GPIO_31"),
    143	PINCTRL_PIN(32, "GPIO_32"),
    144	PINCTRL_PIN(33, "GPIO_33"),
    145	PINCTRL_PIN(34, "GPIO_34"),
    146	PINCTRL_PIN(35, "GPIO_35"),
    147	PINCTRL_PIN(36, "GPIO_36"),
    148	PINCTRL_PIN(37, "GPIO_37"),
    149	PINCTRL_PIN(38, "GPIO_38"),
    150	PINCTRL_PIN(39, "GPIO_39"),
    151	PINCTRL_PIN(40, "GPIO_40"),
    152	PINCTRL_PIN(41, "GPIO_41"),
    153	PINCTRL_PIN(42, "GPIO_42"),
    154	PINCTRL_PIN(43, "GPIO_43"),
    155	PINCTRL_PIN(44, "GPIO_44"),
    156	PINCTRL_PIN(45, "GPIO_45"),
    157	PINCTRL_PIN(46, "GPIO_46"),
    158	PINCTRL_PIN(47, "GPIO_47"),
    159	PINCTRL_PIN(48, "GPIO_48"),
    160	PINCTRL_PIN(49, "GPIO_49"),
    161	PINCTRL_PIN(50, "GPIO_50"),
    162	PINCTRL_PIN(51, "GPIO_51"),
    163	PINCTRL_PIN(52, "GPIO_52"),
    164	PINCTRL_PIN(53, "GPIO_53"),
    165	PINCTRL_PIN(54, "GPIO_54"),
    166	PINCTRL_PIN(55, "GPIO_55"),
    167	PINCTRL_PIN(56, "GPIO_56"),
    168	PINCTRL_PIN(57, "GPIO_57"),
    169	PINCTRL_PIN(58, "GPIO_58"),
    170	PINCTRL_PIN(59, "GPIO_59"),
    171	PINCTRL_PIN(60, "GPIO_60"),
    172	PINCTRL_PIN(61, "GPIO_61"),
    173	PINCTRL_PIN(62, "GPIO_62"),
    174	PINCTRL_PIN(63, "GPIO_63"),
    175	PINCTRL_PIN(64, "GPIO_64"),
    176	PINCTRL_PIN(65, "GPIO_65"),
    177	PINCTRL_PIN(66, "GPIO_66"),
    178	PINCTRL_PIN(67, "GPIO_67"),
    179	PINCTRL_PIN(68, "GPIO_68"),
    180	PINCTRL_PIN(69, "GPIO_69"),
    181	PINCTRL_PIN(70, "GPIO_70"),
    182	PINCTRL_PIN(71, "GPIO_71"),
    183	PINCTRL_PIN(72, "GPIO_72"),
    184	PINCTRL_PIN(73, "GPIO_73"),
    185	PINCTRL_PIN(74, "GPIO_74"),
    186	PINCTRL_PIN(75, "GPIO_75"),
    187	PINCTRL_PIN(76, "GPIO_76"),
    188	PINCTRL_PIN(77, "GPIO_77"),
    189	PINCTRL_PIN(78, "GPIO_78"),
    190	PINCTRL_PIN(79, "GPIO_79"),
    191	PINCTRL_PIN(80, "GPIO_80"),
    192	PINCTRL_PIN(81, "GPIO_81"),
    193	PINCTRL_PIN(82, "GPIO_82"),
    194	PINCTRL_PIN(83, "GPIO_83"),
    195	PINCTRL_PIN(84, "GPIO_84"),
    196	PINCTRL_PIN(85, "GPIO_85"),
    197	PINCTRL_PIN(86, "GPIO_86"),
    198	PINCTRL_PIN(87, "GPIO_87"),
    199	PINCTRL_PIN(88, "GPIO_88"),
    200	PINCTRL_PIN(89, "GPIO_89"),
    201	PINCTRL_PIN(90, "GPIO_90"),
    202	PINCTRL_PIN(91, "GPIO_91"),
    203	PINCTRL_PIN(92, "GPIO_92"),
    204	PINCTRL_PIN(93, "GPIO_93"),
    205	PINCTRL_PIN(94, "GPIO_94"),
    206	PINCTRL_PIN(95, "GPIO_95"),
    207	PINCTRL_PIN(96, "GPIO_96"),
    208	PINCTRL_PIN(97, "GPIO_97"),
    209	PINCTRL_PIN(98, "GPIO_98"),
    210	PINCTRL_PIN(99, "GPIO_99"),
    211	PINCTRL_PIN(100, "GPIO_100"),
    212	PINCTRL_PIN(101, "GPIO_101"),
    213	PINCTRL_PIN(102, "GPIO_102"),
    214	PINCTRL_PIN(103, "GPIO_103"),
    215	PINCTRL_PIN(104, "GPIO_104"),
    216	PINCTRL_PIN(105, "GPIO_105"),
    217	PINCTRL_PIN(106, "GPIO_106"),
    218	PINCTRL_PIN(107, "GPIO_107"),
    219	PINCTRL_PIN(108, "GPIO_108"),
    220	PINCTRL_PIN(109, "GPIO_109"),
    221	PINCTRL_PIN(110, "GPIO_110"),
    222	PINCTRL_PIN(111, "GPIO_111"),
    223	PINCTRL_PIN(112, "GPIO_112"),
    224	PINCTRL_PIN(113, "GPIO_113"),
    225	PINCTRL_PIN(114, "GPIO_114"),
    226	PINCTRL_PIN(115, "GPIO_115"),
    227	PINCTRL_PIN(116, "GPIO_116"),
    228	PINCTRL_PIN(117, "GPIO_117"),
    229	PINCTRL_PIN(118, "GPIO_118"),
    230	PINCTRL_PIN(119, "GPIO_119"),
    231	PINCTRL_PIN(120, "GPIO_120"),
    232	PINCTRL_PIN(121, "GPIO_121"),
    233	PINCTRL_PIN(122, "GPIO_122"),
    234	PINCTRL_PIN(123, "GPIO_123"),
    235	PINCTRL_PIN(124, "GPIO_124"),
    236	PINCTRL_PIN(125, "GPIO_125"),
    237	PINCTRL_PIN(126, "GPIO_126"),
    238	PINCTRL_PIN(127, "GPIO_127"),
    239	PINCTRL_PIN(128, "GPIO_128"),
    240	PINCTRL_PIN(129, "GPIO_129"),
    241	PINCTRL_PIN(130, "GPIO_130"),
    242	PINCTRL_PIN(131, "GPIO_131"),
    243	PINCTRL_PIN(132, "GPIO_132"),
    244	PINCTRL_PIN(133, "GPIO_133"),
    245	PINCTRL_PIN(134, "GPIO_134"),
    246	PINCTRL_PIN(135, "GPIO_135"),
    247	PINCTRL_PIN(136, "GPIO_136"),
    248	PINCTRL_PIN(137, "GPIO_137"),
    249	PINCTRL_PIN(138, "GPIO_138"),
    250	PINCTRL_PIN(139, "GPIO_139"),
    251	PINCTRL_PIN(140, "GPIO_140"),
    252	PINCTRL_PIN(141, "GPIO_141"),
    253	PINCTRL_PIN(142, "GPIO_142"),
    254	PINCTRL_PIN(143, "GPIO_143"),
    255	PINCTRL_PIN(144, "GPIO_144"),
    256	PINCTRL_PIN(145, "GPIO_145"),
    257	PINCTRL_PIN(146, "GPIO_146"),
    258	PINCTRL_PIN(147, "GPIO_147"),
    259	PINCTRL_PIN(148, "GPIO_148"),
    260	PINCTRL_PIN(149, "GPIO_149"),
    261	PINCTRL_PIN(150, "GPIO_150"),
    262	PINCTRL_PIN(151, "GPIO_151"),
    263	PINCTRL_PIN(152, "GPIO_152"),
    264	PINCTRL_PIN(153, "GPIO_153"),
    265	PINCTRL_PIN(154, "GPIO_154"),
    266	PINCTRL_PIN(155, "GPIO_155"),
    267	PINCTRL_PIN(156, "GPIO_156"),
    268	PINCTRL_PIN(157, "GPIO_157"),
    269	PINCTRL_PIN(158, "GPIO_158"),
    270	PINCTRL_PIN(159, "GPIO_159"),
    271	PINCTRL_PIN(160, "GPIO_160"),
    272	PINCTRL_PIN(161, "GPIO_161"),
    273	PINCTRL_PIN(162, "GPIO_162"),
    274	PINCTRL_PIN(163, "GPIO_163"),
    275	PINCTRL_PIN(164, "GPIO_164"),
    276	PINCTRL_PIN(165, "GPIO_165"),
    277	PINCTRL_PIN(166, "GPIO_166"),
    278	PINCTRL_PIN(167, "GPIO_167"),
    279	PINCTRL_PIN(168, "GPIO_168"),
    280	PINCTRL_PIN(169, "GPIO_169"),
    281	PINCTRL_PIN(170, "GPIO_170"),
    282	PINCTRL_PIN(171, "GPIO_171"),
    283	PINCTRL_PIN(172, "GPIO_172"),
    284	PINCTRL_PIN(173, "GPIO_173"),
    285	PINCTRL_PIN(174, "GPIO_174"),
    286	PINCTRL_PIN(175, "GPIO_175"),
    287	PINCTRL_PIN(176, "GPIO_176"),
    288	PINCTRL_PIN(177, "GPIO_177"),
    289	PINCTRL_PIN(178, "GPIO_178"),
    290	PINCTRL_PIN(179, "GPIO_179"),
    291	PINCTRL_PIN(180, "GPIO_180"),
    292	PINCTRL_PIN(181, "GPIO_181"),
    293	PINCTRL_PIN(182, "GPIO_182"),
    294	PINCTRL_PIN(183, "GPIO_183"),
    295	PINCTRL_PIN(184, "GPIO_184"),
    296	PINCTRL_PIN(185, "GPIO_185"),
    297	PINCTRL_PIN(186, "GPIO_186"),
    298	PINCTRL_PIN(187, "GPIO_187"),
    299	PINCTRL_PIN(188, "GPIO_188"),
    300	PINCTRL_PIN(189, "GPIO_189"),
    301	PINCTRL_PIN(190, "GPIO_190"),
    302	PINCTRL_PIN(191, "GPIO_191"),
    303	PINCTRL_PIN(192, "GPIO_192"),
    304	PINCTRL_PIN(193, "GPIO_193"),
    305	PINCTRL_PIN(194, "GPIO_194"),
    306	PINCTRL_PIN(195, "GPIO_195"),
    307	PINCTRL_PIN(196, "GPIO_196"),
    308	PINCTRL_PIN(197, "GPIO_197"),
    309	PINCTRL_PIN(198, "GPIO_198"),
    310	PINCTRL_PIN(199, "GPIO_199"),
    311	PINCTRL_PIN(200, "GPIO_200"),
    312	PINCTRL_PIN(201, "GPIO_201"),
    313	PINCTRL_PIN(202, "GPIO_202"),
    314	PINCTRL_PIN(203, "GPIO_203"),
    315	PINCTRL_PIN(204, "GPIO_204"),
    316	PINCTRL_PIN(205, "GPIO_205"),
    317	PINCTRL_PIN(206, "GPIO_206"),
    318	PINCTRL_PIN(207, "GPIO_207"),
    319	PINCTRL_PIN(208, "GPIO_208"),
    320	PINCTRL_PIN(209, "GPIO_209"),
    321	PINCTRL_PIN(210, "GPIO_210"),
    322	PINCTRL_PIN(211, "GPIO_211"),
    323	PINCTRL_PIN(212, "GPIO_212"),
    324	PINCTRL_PIN(213, "GPIO_213"),
    325	PINCTRL_PIN(214, "GPIO_214"),
    326	PINCTRL_PIN(215, "GPIO_215"),
    327	PINCTRL_PIN(216, "GPIO_216"),
    328	PINCTRL_PIN(217, "GPIO_217"),
    329	PINCTRL_PIN(218, "GPIO_218"),
    330	PINCTRL_PIN(219, "GPIO_219"),
    331	PINCTRL_PIN(220, "GPIO_220"),
    332	PINCTRL_PIN(221, "GPIO_221"),
    333	PINCTRL_PIN(222, "GPIO_222"),
    334	PINCTRL_PIN(223, "GPIO_223"),
    335	PINCTRL_PIN(224, "GPIO_224"),
    336	PINCTRL_PIN(225, "GPIO_225"),
    337	PINCTRL_PIN(226, "GPIO_226"),
    338	PINCTRL_PIN(227, "GPIO_227"),
    339	PINCTRL_PIN(228, "UFS_RESET"),
    340	PINCTRL_PIN(229, "UFS1_RESET"),
    341	PINCTRL_PIN(230, "SDC2_CLK"),
    342	PINCTRL_PIN(231, "SDC2_CMD"),
    343	PINCTRL_PIN(232, "SDC2_DATA"),
    344};
    345
    346#define DECLARE_MSM_GPIO_PINS(pin) \
    347	static const unsigned int gpio##pin##_pins[] = { pin }
    348DECLARE_MSM_GPIO_PINS(0);
    349DECLARE_MSM_GPIO_PINS(1);
    350DECLARE_MSM_GPIO_PINS(2);
    351DECLARE_MSM_GPIO_PINS(3);
    352DECLARE_MSM_GPIO_PINS(4);
    353DECLARE_MSM_GPIO_PINS(5);
    354DECLARE_MSM_GPIO_PINS(6);
    355DECLARE_MSM_GPIO_PINS(7);
    356DECLARE_MSM_GPIO_PINS(8);
    357DECLARE_MSM_GPIO_PINS(9);
    358DECLARE_MSM_GPIO_PINS(10);
    359DECLARE_MSM_GPIO_PINS(11);
    360DECLARE_MSM_GPIO_PINS(12);
    361DECLARE_MSM_GPIO_PINS(13);
    362DECLARE_MSM_GPIO_PINS(14);
    363DECLARE_MSM_GPIO_PINS(15);
    364DECLARE_MSM_GPIO_PINS(16);
    365DECLARE_MSM_GPIO_PINS(17);
    366DECLARE_MSM_GPIO_PINS(18);
    367DECLARE_MSM_GPIO_PINS(19);
    368DECLARE_MSM_GPIO_PINS(20);
    369DECLARE_MSM_GPIO_PINS(21);
    370DECLARE_MSM_GPIO_PINS(22);
    371DECLARE_MSM_GPIO_PINS(23);
    372DECLARE_MSM_GPIO_PINS(24);
    373DECLARE_MSM_GPIO_PINS(25);
    374DECLARE_MSM_GPIO_PINS(26);
    375DECLARE_MSM_GPIO_PINS(27);
    376DECLARE_MSM_GPIO_PINS(28);
    377DECLARE_MSM_GPIO_PINS(29);
    378DECLARE_MSM_GPIO_PINS(30);
    379DECLARE_MSM_GPIO_PINS(31);
    380DECLARE_MSM_GPIO_PINS(32);
    381DECLARE_MSM_GPIO_PINS(33);
    382DECLARE_MSM_GPIO_PINS(34);
    383DECLARE_MSM_GPIO_PINS(35);
    384DECLARE_MSM_GPIO_PINS(36);
    385DECLARE_MSM_GPIO_PINS(37);
    386DECLARE_MSM_GPIO_PINS(38);
    387DECLARE_MSM_GPIO_PINS(39);
    388DECLARE_MSM_GPIO_PINS(40);
    389DECLARE_MSM_GPIO_PINS(41);
    390DECLARE_MSM_GPIO_PINS(42);
    391DECLARE_MSM_GPIO_PINS(43);
    392DECLARE_MSM_GPIO_PINS(44);
    393DECLARE_MSM_GPIO_PINS(45);
    394DECLARE_MSM_GPIO_PINS(46);
    395DECLARE_MSM_GPIO_PINS(47);
    396DECLARE_MSM_GPIO_PINS(48);
    397DECLARE_MSM_GPIO_PINS(49);
    398DECLARE_MSM_GPIO_PINS(50);
    399DECLARE_MSM_GPIO_PINS(51);
    400DECLARE_MSM_GPIO_PINS(52);
    401DECLARE_MSM_GPIO_PINS(53);
    402DECLARE_MSM_GPIO_PINS(54);
    403DECLARE_MSM_GPIO_PINS(55);
    404DECLARE_MSM_GPIO_PINS(56);
    405DECLARE_MSM_GPIO_PINS(57);
    406DECLARE_MSM_GPIO_PINS(58);
    407DECLARE_MSM_GPIO_PINS(59);
    408DECLARE_MSM_GPIO_PINS(60);
    409DECLARE_MSM_GPIO_PINS(61);
    410DECLARE_MSM_GPIO_PINS(62);
    411DECLARE_MSM_GPIO_PINS(63);
    412DECLARE_MSM_GPIO_PINS(64);
    413DECLARE_MSM_GPIO_PINS(65);
    414DECLARE_MSM_GPIO_PINS(66);
    415DECLARE_MSM_GPIO_PINS(67);
    416DECLARE_MSM_GPIO_PINS(68);
    417DECLARE_MSM_GPIO_PINS(69);
    418DECLARE_MSM_GPIO_PINS(70);
    419DECLARE_MSM_GPIO_PINS(71);
    420DECLARE_MSM_GPIO_PINS(72);
    421DECLARE_MSM_GPIO_PINS(73);
    422DECLARE_MSM_GPIO_PINS(74);
    423DECLARE_MSM_GPIO_PINS(75);
    424DECLARE_MSM_GPIO_PINS(76);
    425DECLARE_MSM_GPIO_PINS(77);
    426DECLARE_MSM_GPIO_PINS(78);
    427DECLARE_MSM_GPIO_PINS(79);
    428DECLARE_MSM_GPIO_PINS(80);
    429DECLARE_MSM_GPIO_PINS(81);
    430DECLARE_MSM_GPIO_PINS(82);
    431DECLARE_MSM_GPIO_PINS(83);
    432DECLARE_MSM_GPIO_PINS(84);
    433DECLARE_MSM_GPIO_PINS(85);
    434DECLARE_MSM_GPIO_PINS(86);
    435DECLARE_MSM_GPIO_PINS(87);
    436DECLARE_MSM_GPIO_PINS(88);
    437DECLARE_MSM_GPIO_PINS(89);
    438DECLARE_MSM_GPIO_PINS(90);
    439DECLARE_MSM_GPIO_PINS(91);
    440DECLARE_MSM_GPIO_PINS(92);
    441DECLARE_MSM_GPIO_PINS(93);
    442DECLARE_MSM_GPIO_PINS(94);
    443DECLARE_MSM_GPIO_PINS(95);
    444DECLARE_MSM_GPIO_PINS(96);
    445DECLARE_MSM_GPIO_PINS(97);
    446DECLARE_MSM_GPIO_PINS(98);
    447DECLARE_MSM_GPIO_PINS(99);
    448DECLARE_MSM_GPIO_PINS(100);
    449DECLARE_MSM_GPIO_PINS(101);
    450DECLARE_MSM_GPIO_PINS(102);
    451DECLARE_MSM_GPIO_PINS(103);
    452DECLARE_MSM_GPIO_PINS(104);
    453DECLARE_MSM_GPIO_PINS(105);
    454DECLARE_MSM_GPIO_PINS(106);
    455DECLARE_MSM_GPIO_PINS(107);
    456DECLARE_MSM_GPIO_PINS(108);
    457DECLARE_MSM_GPIO_PINS(109);
    458DECLARE_MSM_GPIO_PINS(110);
    459DECLARE_MSM_GPIO_PINS(111);
    460DECLARE_MSM_GPIO_PINS(112);
    461DECLARE_MSM_GPIO_PINS(113);
    462DECLARE_MSM_GPIO_PINS(114);
    463DECLARE_MSM_GPIO_PINS(115);
    464DECLARE_MSM_GPIO_PINS(116);
    465DECLARE_MSM_GPIO_PINS(117);
    466DECLARE_MSM_GPIO_PINS(118);
    467DECLARE_MSM_GPIO_PINS(119);
    468DECLARE_MSM_GPIO_PINS(120);
    469DECLARE_MSM_GPIO_PINS(121);
    470DECLARE_MSM_GPIO_PINS(122);
    471DECLARE_MSM_GPIO_PINS(123);
    472DECLARE_MSM_GPIO_PINS(124);
    473DECLARE_MSM_GPIO_PINS(125);
    474DECLARE_MSM_GPIO_PINS(126);
    475DECLARE_MSM_GPIO_PINS(127);
    476DECLARE_MSM_GPIO_PINS(128);
    477DECLARE_MSM_GPIO_PINS(129);
    478DECLARE_MSM_GPIO_PINS(130);
    479DECLARE_MSM_GPIO_PINS(131);
    480DECLARE_MSM_GPIO_PINS(132);
    481DECLARE_MSM_GPIO_PINS(133);
    482DECLARE_MSM_GPIO_PINS(134);
    483DECLARE_MSM_GPIO_PINS(135);
    484DECLARE_MSM_GPIO_PINS(136);
    485DECLARE_MSM_GPIO_PINS(137);
    486DECLARE_MSM_GPIO_PINS(138);
    487DECLARE_MSM_GPIO_PINS(139);
    488DECLARE_MSM_GPIO_PINS(140);
    489DECLARE_MSM_GPIO_PINS(141);
    490DECLARE_MSM_GPIO_PINS(142);
    491DECLARE_MSM_GPIO_PINS(143);
    492DECLARE_MSM_GPIO_PINS(144);
    493DECLARE_MSM_GPIO_PINS(145);
    494DECLARE_MSM_GPIO_PINS(146);
    495DECLARE_MSM_GPIO_PINS(147);
    496DECLARE_MSM_GPIO_PINS(148);
    497DECLARE_MSM_GPIO_PINS(149);
    498DECLARE_MSM_GPIO_PINS(150);
    499DECLARE_MSM_GPIO_PINS(151);
    500DECLARE_MSM_GPIO_PINS(152);
    501DECLARE_MSM_GPIO_PINS(153);
    502DECLARE_MSM_GPIO_PINS(154);
    503DECLARE_MSM_GPIO_PINS(155);
    504DECLARE_MSM_GPIO_PINS(156);
    505DECLARE_MSM_GPIO_PINS(157);
    506DECLARE_MSM_GPIO_PINS(158);
    507DECLARE_MSM_GPIO_PINS(159);
    508DECLARE_MSM_GPIO_PINS(160);
    509DECLARE_MSM_GPIO_PINS(161);
    510DECLARE_MSM_GPIO_PINS(162);
    511DECLARE_MSM_GPIO_PINS(163);
    512DECLARE_MSM_GPIO_PINS(164);
    513DECLARE_MSM_GPIO_PINS(165);
    514DECLARE_MSM_GPIO_PINS(166);
    515DECLARE_MSM_GPIO_PINS(167);
    516DECLARE_MSM_GPIO_PINS(168);
    517DECLARE_MSM_GPIO_PINS(169);
    518DECLARE_MSM_GPIO_PINS(170);
    519DECLARE_MSM_GPIO_PINS(171);
    520DECLARE_MSM_GPIO_PINS(172);
    521DECLARE_MSM_GPIO_PINS(173);
    522DECLARE_MSM_GPIO_PINS(174);
    523DECLARE_MSM_GPIO_PINS(175);
    524DECLARE_MSM_GPIO_PINS(176);
    525DECLARE_MSM_GPIO_PINS(177);
    526DECLARE_MSM_GPIO_PINS(178);
    527DECLARE_MSM_GPIO_PINS(179);
    528DECLARE_MSM_GPIO_PINS(180);
    529DECLARE_MSM_GPIO_PINS(181);
    530DECLARE_MSM_GPIO_PINS(182);
    531DECLARE_MSM_GPIO_PINS(183);
    532DECLARE_MSM_GPIO_PINS(184);
    533DECLARE_MSM_GPIO_PINS(185);
    534DECLARE_MSM_GPIO_PINS(186);
    535DECLARE_MSM_GPIO_PINS(187);
    536DECLARE_MSM_GPIO_PINS(188);
    537DECLARE_MSM_GPIO_PINS(189);
    538DECLARE_MSM_GPIO_PINS(190);
    539DECLARE_MSM_GPIO_PINS(191);
    540DECLARE_MSM_GPIO_PINS(192);
    541DECLARE_MSM_GPIO_PINS(193);
    542DECLARE_MSM_GPIO_PINS(194);
    543DECLARE_MSM_GPIO_PINS(195);
    544DECLARE_MSM_GPIO_PINS(196);
    545DECLARE_MSM_GPIO_PINS(197);
    546DECLARE_MSM_GPIO_PINS(198);
    547DECLARE_MSM_GPIO_PINS(199);
    548DECLARE_MSM_GPIO_PINS(200);
    549DECLARE_MSM_GPIO_PINS(201);
    550DECLARE_MSM_GPIO_PINS(202);
    551DECLARE_MSM_GPIO_PINS(203);
    552DECLARE_MSM_GPIO_PINS(204);
    553DECLARE_MSM_GPIO_PINS(205);
    554DECLARE_MSM_GPIO_PINS(206);
    555DECLARE_MSM_GPIO_PINS(207);
    556DECLARE_MSM_GPIO_PINS(208);
    557DECLARE_MSM_GPIO_PINS(209);
    558DECLARE_MSM_GPIO_PINS(210);
    559DECLARE_MSM_GPIO_PINS(211);
    560DECLARE_MSM_GPIO_PINS(212);
    561DECLARE_MSM_GPIO_PINS(213);
    562DECLARE_MSM_GPIO_PINS(214);
    563DECLARE_MSM_GPIO_PINS(215);
    564DECLARE_MSM_GPIO_PINS(216);
    565DECLARE_MSM_GPIO_PINS(217);
    566DECLARE_MSM_GPIO_PINS(218);
    567DECLARE_MSM_GPIO_PINS(219);
    568DECLARE_MSM_GPIO_PINS(220);
    569DECLARE_MSM_GPIO_PINS(221);
    570DECLARE_MSM_GPIO_PINS(222);
    571DECLARE_MSM_GPIO_PINS(223);
    572DECLARE_MSM_GPIO_PINS(224);
    573DECLARE_MSM_GPIO_PINS(225);
    574DECLARE_MSM_GPIO_PINS(226);
    575DECLARE_MSM_GPIO_PINS(227);
    576
    577static const unsigned int ufs_reset_pins[] = { 228 };
    578static const unsigned int ufs1_reset_pins[] = { 229 };
    579static const unsigned int sdc2_clk_pins[] = { 230 };
    580static const unsigned int sdc2_cmd_pins[] = { 231 };
    581static const unsigned int sdc2_data_pins[] = { 232 };
    582
    583enum sc8280xp_functions {
    584	msm_mux_atest_char,
    585	msm_mux_atest_usb,
    586	msm_mux_audio_ref,
    587	msm_mux_cam_mclk,
    588	msm_mux_cci_async,
    589	msm_mux_cci_i2c,
    590	msm_mux_cci_timer0,
    591	msm_mux_cci_timer1,
    592	msm_mux_cci_timer2,
    593	msm_mux_cci_timer3,
    594	msm_mux_cci_timer4,
    595	msm_mux_cci_timer5,
    596	msm_mux_cci_timer6,
    597	msm_mux_cci_timer7,
    598	msm_mux_cci_timer8,
    599	msm_mux_cci_timer9,
    600	msm_mux_cmu_rng,
    601	msm_mux_cri_trng,
    602	msm_mux_cri_trng0,
    603	msm_mux_cri_trng1,
    604	msm_mux_dbg_out,
    605	msm_mux_ddr_bist,
    606	msm_mux_ddr_pxi0,
    607	msm_mux_ddr_pxi1,
    608	msm_mux_ddr_pxi2,
    609	msm_mux_ddr_pxi3,
    610	msm_mux_ddr_pxi4,
    611	msm_mux_ddr_pxi5,
    612	msm_mux_ddr_pxi6,
    613	msm_mux_ddr_pxi7,
    614	msm_mux_dp2_hot,
    615	msm_mux_dp3_hot,
    616	msm_mux_edp0_lcd,
    617	msm_mux_edp1_lcd,
    618	msm_mux_edp2_lcd,
    619	msm_mux_edp3_lcd,
    620	msm_mux_edp_hot,
    621	msm_mux_egpio,
    622	msm_mux_emac0_dll,
    623	msm_mux_emac0_mcg0,
    624	msm_mux_emac0_mcg1,
    625	msm_mux_emac0_mcg2,
    626	msm_mux_emac0_mcg3,
    627	msm_mux_emac0_phy,
    628	msm_mux_emac0_ptp,
    629	msm_mux_emac1_dll0,
    630	msm_mux_emac1_dll1,
    631	msm_mux_emac1_mcg0,
    632	msm_mux_emac1_mcg1,
    633	msm_mux_emac1_mcg2,
    634	msm_mux_emac1_mcg3,
    635	msm_mux_emac1_phy,
    636	msm_mux_emac1_ptp,
    637	msm_mux_gcc_gp1,
    638	msm_mux_gcc_gp2,
    639	msm_mux_gcc_gp3,
    640	msm_mux_gcc_gp4,
    641	msm_mux_gcc_gp5,
    642	msm_mux_gpio,
    643	msm_mux_hs1_mi2s,
    644	msm_mux_hs2_mi2s,
    645	msm_mux_hs3_mi2s,
    646	msm_mux_ibi_i3c,
    647	msm_mux_jitter_bist,
    648	msm_mux_lpass_slimbus,
    649	msm_mux_mdp0_vsync0,
    650	msm_mux_mdp0_vsync1,
    651	msm_mux_mdp0_vsync2,
    652	msm_mux_mdp0_vsync3,
    653	msm_mux_mdp0_vsync4,
    654	msm_mux_mdp0_vsync5,
    655	msm_mux_mdp0_vsync6,
    656	msm_mux_mdp0_vsync7,
    657	msm_mux_mdp0_vsync8,
    658	msm_mux_mdp1_vsync0,
    659	msm_mux_mdp1_vsync1,
    660	msm_mux_mdp1_vsync2,
    661	msm_mux_mdp1_vsync3,
    662	msm_mux_mdp1_vsync4,
    663	msm_mux_mdp1_vsync5,
    664	msm_mux_mdp1_vsync6,
    665	msm_mux_mdp1_vsync7,
    666	msm_mux_mdp1_vsync8,
    667	msm_mux_mdp_vsync,
    668	msm_mux_mi2s0_data0,
    669	msm_mux_mi2s0_data1,
    670	msm_mux_mi2s0_sck,
    671	msm_mux_mi2s0_ws,
    672	msm_mux_mi2s1_data0,
    673	msm_mux_mi2s1_data1,
    674	msm_mux_mi2s1_sck,
    675	msm_mux_mi2s1_ws,
    676	msm_mux_mi2s2_data0,
    677	msm_mux_mi2s2_data1,
    678	msm_mux_mi2s2_sck,
    679	msm_mux_mi2s2_ws,
    680	msm_mux_mi2s_mclk1,
    681	msm_mux_mi2s_mclk2,
    682	msm_mux_pcie2a_clkreq,
    683	msm_mux_pcie2b_clkreq,
    684	msm_mux_pcie3a_clkreq,
    685	msm_mux_pcie3b_clkreq,
    686	msm_mux_pcie4_clkreq,
    687	msm_mux_phase_flag,
    688	msm_mux_pll_bist,
    689	msm_mux_pll_clk,
    690	msm_mux_prng_rosc0,
    691	msm_mux_prng_rosc1,
    692	msm_mux_prng_rosc2,
    693	msm_mux_prng_rosc3,
    694	msm_mux_qdss_cti,
    695	msm_mux_qdss_gpio,
    696	msm_mux_qspi,
    697	msm_mux_qspi_clk,
    698	msm_mux_qspi_cs,
    699	msm_mux_qup0,
    700	msm_mux_qup1,
    701	msm_mux_qup10,
    702	msm_mux_qup11,
    703	msm_mux_qup12,
    704	msm_mux_qup13,
    705	msm_mux_qup14,
    706	msm_mux_qup15,
    707	msm_mux_qup16,
    708	msm_mux_qup17,
    709	msm_mux_qup18,
    710	msm_mux_qup19,
    711	msm_mux_qup2,
    712	msm_mux_qup20,
    713	msm_mux_qup21,
    714	msm_mux_qup22,
    715	msm_mux_qup23,
    716	msm_mux_qup3,
    717	msm_mux_qup4,
    718	msm_mux_qup5,
    719	msm_mux_qup6,
    720	msm_mux_qup7,
    721	msm_mux_qup8,
    722	msm_mux_qup9,
    723	msm_mux_rgmii_0,
    724	msm_mux_rgmii_1,
    725	msm_mux_sd_write,
    726	msm_mux_sdc40,
    727	msm_mux_sdc42,
    728	msm_mux_sdc43,
    729	msm_mux_sdc4_clk,
    730	msm_mux_sdc4_cmd,
    731	msm_mux_tb_trig,
    732	msm_mux_tgu,
    733	msm_mux_tsense_pwm1,
    734	msm_mux_tsense_pwm2,
    735	msm_mux_tsense_pwm3,
    736	msm_mux_tsense_pwm4,
    737	msm_mux_usb0_dp,
    738	msm_mux_usb0_phy,
    739	msm_mux_usb0_sbrx,
    740	msm_mux_usb0_sbtx,
    741	msm_mux_usb0_usb4,
    742	msm_mux_usb1_dp,
    743	msm_mux_usb1_phy,
    744	msm_mux_usb1_sbrx,
    745	msm_mux_usb1_sbtx,
    746	msm_mux_usb1_usb4,
    747	msm_mux_usb2phy_ac,
    748	msm_mux_vsense_trigger,
    749	msm_mux__,
    750};
    751
    752static const char * const gpio_groups[] = {
    753	"gpio0", "gpio1", "gpio2", "gpio3", "gpio4", "gpio5", "gpio6", "gpio7",
    754	"gpio8", "gpio9", "gpio10", "gpio11", "gpio12", "gpio13", "gpio14",
    755	"gpio15", "gpio16", "gpio17", "gpio18", "gpio19", "gpio20", "gpio21",
    756	"gpio22", "gpio23", "gpio24", "gpio25", "gpio26", "gpio27", "gpio28",
    757	"gpio29", "gpio30", "gpio31", "gpio32", "gpio33", "gpio34", "gpio35",
    758	"gpio36", "gpio37", "gpio38", "gpio39", "gpio40", "gpio41", "gpio42",
    759	"gpio43", "gpio44", "gpio45", "gpio46", "gpio47", "gpio48", "gpio49",
    760	"gpio50", "gpio51", "gpio52", "gpio53", "gpio54", "gpio55", "gpio56",
    761	"gpio57", "gpio58", "gpio59", "gpio60", "gpio61", "gpio62", "gpio63",
    762	"gpio64", "gpio65", "gpio66", "gpio67", "gpio68", "gpio69", "gpio70",
    763	"gpio71", "gpio72", "gpio73", "gpio74", "gpio75", "gpio76", "gpio78",
    764	"gpio79", "gpio80", "gpio81", "gpio82", "gpio83", "gpio84", "gpio85",
    765	"gpio86", "gpio87", "gpio88", "gpio89", "gpio90", "gpio91", "gpio92",
    766	"gpio93", "gpio94", "gpio95", "gpio96", "gpio97", "gpio98", "gpio99",
    767	"gpio100", "gpio101", "gpio102", "gpio103", "gpio104", "gpio105",
    768	"gpio106", "gpio107", "gpio108", "gpio109", "gpio110", "gpio111",
    769	"gpio112", "gpio113", "gpio114", "gpio115", "gpio116", "gpio117",
    770	"gpio118", "gpio119", "gpio120", "gpio121", "gpio122", "gpio123",
    771	"gpio124", "gpio125", "gpio126", "gpio127", "gpio128", "gpio129",
    772	"gpio130", "gpio131", "gpio132", "gpio133", "gpio134", "gpio135",
    773	"gpio136", "gpio137", "gpio138", "gpio139", "gpio140", "gpio141",
    774	"gpio142", "gpio143", "gpio144", "gpio145", "gpio146", "gpio147",
    775	"gpio148", "gpio149", "gpio150", "gpio151", "gpio152", "gpio153",
    776	"gpio154", "gpio155", "gpio156", "gpio157", "gpio158", "gpio159",
    777	"gpio160", "gpio161", "gpio162", "gpio163", "gpio164", "gpio165",
    778	"gpio166", "gpio167", "gpio168", "gpio169", "gpio170", "gpio171",
    779	"gpio172", "gpio173", "gpio174", "gpio175", "gpio176", "gpio177",
    780	"gpio178", "gpio179", "gpio180", "gpio181", "gpio182", "gpio183",
    781	"gpio184", "gpio185", "gpio186", "gpio187", "gpio188", "gpio189",
    782	"gpio190", "gpio191", "gpio192", "gpio193", "gpio194", "gpio195",
    783	"gpio196", "gpio197", "gpio198", "gpio199", "gpio200", "gpio201",
    784	"gpio202", "gpio203", "gpio204", "gpio205", "gpio206", "gpio207",
    785	"gpio208", "gpio209", "gpio210", "gpio211", "gpio212", "gpio213",
    786	"gpio214", "gpio215", "gpio216", "gpio217", "gpio218", "gpio219",
    787	"gpio220", "gpio221", "gpio222", "gpio223", "gpio224", "gpio225",
    788	"gpio226", "gpio227",
    789};
    790
    791static const char * const atest_char_groups[] = {
    792	"gpio134", "gpio139", "gpio140", "gpio142", "gpio143",
    793};
    794
    795static const char * const atest_usb_groups[] = {
    796	"gpio71", "gpio72", "gpio73", "gpio74", "gpio75", "gpio76", "gpio78",
    797	"gpio79", "gpio97", "gpio98", "gpio101", "gpio102", "gpio103",
    798	"gpio104", "gpio105", "gpio110", "gpio111", "gpio112", "gpio113",
    799	"gpio114", "gpio121", "gpio122", "gpio130", "gpio131", "gpio135",
    800	"gpio137", "gpio138", "gpio148", "gpio149",
    801};
    802
    803static const char * const audio_ref_groups[] = {
    804	"gpio80",
    805};
    806
    807static const char * const cam_mclk_groups[] = {
    808	"gpio6", "gpio7", "gpio16", "gpio17", "gpio33", "gpio34", "gpio119",
    809	"gpio120",
    810};
    811
    812static const char * const cci_async_groups[] = {
    813	"gpio15", "gpio119", "gpio120", "gpio160", "gpio161", "gpio167",
    814};
    815
    816static const char * const cci_i2c_groups[] = {
    817	"gpio10", "gpio11", "gpio12", "gpio13", "gpio113", "gpio114",
    818	"gpio115", "gpio116", "gpio117", "gpio118", "gpio123", "gpio124",
    819	"gpio145", "gpio146", "gpio164", "gpio165",
    820};
    821
    822static const char * const cci_timer0_groups[] = {
    823	"gpio119",
    824};
    825
    826static const char * const cci_timer1_groups[] = {
    827	"gpio120",
    828};
    829
    830static const char * const cci_timer2_groups[] = {
    831	"gpio14",
    832};
    833
    834static const char * const cci_timer3_groups[] = {
    835	"gpio15",
    836};
    837
    838static const char * const cci_timer4_groups[] = {
    839	"gpio161",
    840};
    841
    842static const char * const cci_timer5_groups[] = {
    843	"gpio139",
    844};
    845
    846static const char * const cci_timer6_groups[] = {
    847	"gpio162",
    848};
    849
    850static const char * const cci_timer7_groups[] = {
    851	"gpio163",
    852};
    853
    854static const char * const cci_timer8_groups[] = {
    855	"gpio167",
    856};
    857
    858static const char * const cci_timer9_groups[] = {
    859	"gpio160",
    860};
    861
    862static const char * const cmu_rng_groups[] = {
    863	"gpio123", "gpio124", "gpio126", "gpio136",
    864};
    865
    866static const char * const cri_trng0_groups[] = {
    867	"gpio187",
    868};
    869
    870static const char * const cri_trng1_groups[] = {
    871	"gpio188",
    872};
    873
    874static const char * const cri_trng_groups[] = {
    875	"gpio190",
    876};
    877
    878static const char * const dbg_out_groups[] = {
    879	"gpio125",
    880};
    881
    882static const char * const ddr_bist_groups[] = {
    883	"gpio42", "gpio45", "gpio46", "gpio47",
    884};
    885
    886static const char * const ddr_pxi0_groups[] = {
    887	"gpio121", "gpio126",
    888};
    889
    890static const char * const ddr_pxi1_groups[] = {
    891	"gpio124", "gpio125",
    892};
    893
    894static const char * const ddr_pxi2_groups[] = {
    895	"gpio123", "gpio138",
    896};
    897
    898static const char * const ddr_pxi3_groups[] = {
    899	"gpio120", "gpio137",
    900};
    901
    902static const char * const ddr_pxi4_groups[] = {
    903	"gpio216", "gpio217",
    904};
    905
    906static const char * const ddr_pxi5_groups[] = {
    907	"gpio214", "gpio215",
    908};
    909
    910static const char * const ddr_pxi6_groups[] = {
    911	"gpio79", "gpio218",
    912};
    913
    914static const char * const ddr_pxi7_groups[] = {
    915	"gpio135", "gpio136",
    916};
    917
    918static const char * const dp2_hot_groups[] = {
    919	"gpio20",
    920};
    921
    922static const char * const dp3_hot_groups[] = {
    923	"gpio45",
    924};
    925
    926static const char * const edp0_lcd_groups[] = {
    927	"gpio26",
    928};
    929
    930static const char * const edp1_lcd_groups[] = {
    931	"gpio27",
    932};
    933
    934static const char * const edp2_lcd_groups[] = {
    935	"gpio28",
    936};
    937
    938static const char * const edp3_lcd_groups[] = {
    939	"gpio29",
    940};
    941
    942static const char * const edp_hot_groups[] = {
    943	"gpio2", "gpio3", "gpio6", "gpio7",
    944};
    945
    946static const char * const egpio_groups[] = {
    947	"gpio189", "gpio190", "gpio191", "gpio192", "gpio193", "gpio194",
    948	"gpio195", "gpio196", "gpio197", "gpio198", "gpio199", "gpio200",
    949	"gpio201", "gpio202", "gpio203", "gpio204", "gpio205", "gpio206",
    950	"gpio207", "gpio208", "gpio209", "gpio210", "gpio211", "gpio212",
    951	"gpio213", "gpio214", "gpio215", "gpio216", "gpio217", "gpio218",
    952	"gpio219", "gpio220", "gpio221", "gpio222", "gpio223", "gpio224",
    953	"gpio225", "gpio226", "gpio227",
    954};
    955
    956static const char * const emac0_dll_groups[] = {
    957	"gpio216", "gpio217",
    958};
    959
    960static const char * const emac0_mcg0_groups[] = {
    961	"gpio160",
    962};
    963
    964static const char * const emac0_mcg1_groups[] = {
    965	"gpio161",
    966};
    967
    968static const char * const emac0_mcg2_groups[] = {
    969	"gpio162",
    970};
    971
    972static const char * const emac0_mcg3_groups[] = {
    973	"gpio163",
    974};
    975
    976static const char * const emac0_phy_groups[] = {
    977	"gpio127",
    978};
    979
    980static const char * const emac0_ptp_groups[] = {
    981	"gpio130", "gpio130", "gpio131", "gpio131", "gpio156", "gpio156",
    982	"gpio157", "gpio157", "gpio158", "gpio158", "gpio159", "gpio159",
    983};
    984
    985static const char * const emac1_dll0_groups[] = {
    986	"gpio215",
    987};
    988
    989static const char * const emac1_dll1_groups[] = {
    990	"gpio218",
    991};
    992
    993static const char * const emac1_mcg0_groups[] = {
    994	"gpio57",
    995};
    996
    997static const char * const emac1_mcg1_groups[] = {
    998	"gpio58",
    999};
   1000
   1001static const char * const emac1_mcg2_groups[] = {
   1002	"gpio68",
   1003};
   1004
   1005static const char * const emac1_mcg3_groups[] = {
   1006	"gpio69",
   1007};
   1008
   1009static const char * const emac1_phy_groups[] = {
   1010	"gpio54",
   1011};
   1012
   1013static const char * const emac1_ptp_groups[] = {
   1014	"gpio55", "gpio55", "gpio56", "gpio56", "gpio93", "gpio93", "gpio94",
   1015	"gpio94", "gpio95", "gpio95", "gpio96", "gpio96",
   1016};
   1017
   1018static const char * const gcc_gp1_groups[] = {
   1019	"gpio119", "gpio149",
   1020};
   1021
   1022static const char * const gcc_gp2_groups[] = {
   1023	"gpio114", "gpio120",
   1024};
   1025
   1026static const char * const gcc_gp3_groups[] = {
   1027	"gpio115", "gpio139",
   1028};
   1029
   1030static const char * const gcc_gp4_groups[] = {
   1031	"gpio160", "gpio162",
   1032};
   1033
   1034static const char * const gcc_gp5_groups[] = {
   1035	"gpio167", "gpio168",
   1036};
   1037
   1038static const char * const hs1_mi2s_groups[] = {
   1039	"gpio208", "gpio209", "gpio210", "gpio211",
   1040};
   1041
   1042static const char * const hs2_mi2s_groups[] = {
   1043	"gpio91", "gpio92", "gpio218", "gpio219",
   1044};
   1045
   1046static const char * const hs3_mi2s_groups[] = {
   1047	"gpio224", "gpio225", "gpio226", "gpio227",
   1048};
   1049
   1050static const char * const ibi_i3c_groups[] = {
   1051	"gpio4", "gpio5", "gpio36", "gpio37", "gpio128", "gpio129", "gpio154",
   1052	"gpio155",
   1053};
   1054
   1055static const char * const jitter_bist_groups[] = {
   1056	"gpio140",
   1057};
   1058
   1059static const char * const lpass_slimbus_groups[] = {
   1060	"gpio220", "gpio221",
   1061};
   1062
   1063static const char * const mdp0_vsync0_groups[] = {
   1064	"gpio1",
   1065};
   1066
   1067static const char * const mdp0_vsync1_groups[] = {
   1068	"gpio2",
   1069};
   1070
   1071static const char * const mdp0_vsync2_groups[] = {
   1072	"gpio8",
   1073};
   1074
   1075static const char * const mdp0_vsync3_groups[] = {
   1076	"gpio9",
   1077};
   1078
   1079static const char * const mdp0_vsync4_groups[] = {
   1080	"gpio10",
   1081};
   1082
   1083static const char * const mdp0_vsync5_groups[] = {
   1084	"gpio11",
   1085};
   1086
   1087static const char * const mdp0_vsync6_groups[] = {
   1088	"gpio12",
   1089};
   1090
   1091static const char * const mdp0_vsync7_groups[] = {
   1092	"gpio13",
   1093};
   1094
   1095static const char * const mdp0_vsync8_groups[] = {
   1096	"gpio16",
   1097};
   1098
   1099static const char * const mdp1_vsync0_groups[] = {
   1100	"gpio17",
   1101};
   1102
   1103static const char * const mdp1_vsync1_groups[] = {
   1104	"gpio18",
   1105};
   1106
   1107static const char * const mdp1_vsync2_groups[] = {
   1108	"gpio19",
   1109};
   1110
   1111static const char * const mdp1_vsync3_groups[] = {
   1112	"gpio20",
   1113};
   1114
   1115static const char * const mdp1_vsync4_groups[] = {
   1116	"gpio36",
   1117};
   1118
   1119static const char * const mdp1_vsync5_groups[] = {
   1120	"gpio37",
   1121};
   1122
   1123static const char * const mdp1_vsync6_groups[] = {
   1124	"gpio38",
   1125};
   1126
   1127static const char * const mdp1_vsync7_groups[] = {
   1128	"gpio39",
   1129};
   1130
   1131static const char * const mdp1_vsync8_groups[] = {
   1132	"gpio40",
   1133};
   1134
   1135static const char * const mdp_vsync_groups[] = {
   1136	"gpio8", "gpio100", "gpio101",
   1137};
   1138
   1139static const char * const mi2s0_data0_groups[] = {
   1140	"gpio95",
   1141};
   1142
   1143static const char * const mi2s0_data1_groups[] = {
   1144	"gpio96",
   1145};
   1146
   1147static const char * const mi2s0_sck_groups[] = {
   1148	"gpio93",
   1149};
   1150
   1151static const char * const mi2s0_ws_groups[] = {
   1152	"gpio94",
   1153};
   1154
   1155static const char * const mi2s1_data0_groups[] = {
   1156	"gpio222",
   1157};
   1158
   1159static const char * const mi2s1_data1_groups[] = {
   1160	"gpio223",
   1161};
   1162
   1163static const char * const mi2s1_sck_groups[] = {
   1164	"gpio220",
   1165};
   1166
   1167static const char * const mi2s1_ws_groups[] = {
   1168	"gpio221",
   1169};
   1170
   1171static const char * const mi2s2_data0_groups[] = {
   1172	"gpio214",
   1173};
   1174
   1175static const char * const mi2s2_data1_groups[] = {
   1176	"gpio215",
   1177};
   1178
   1179static const char * const mi2s2_sck_groups[] = {
   1180	"gpio212",
   1181};
   1182
   1183static const char * const mi2s2_ws_groups[] = {
   1184	"gpio213",
   1185};
   1186
   1187static const char * const mi2s_mclk1_groups[] = {
   1188	"gpio80", "gpio216",
   1189};
   1190
   1191static const char * const mi2s_mclk2_groups[] = {
   1192	"gpio217",
   1193};
   1194
   1195static const char * const pcie2a_clkreq_groups[] = {
   1196	"gpio142",
   1197};
   1198
   1199static const char * const pcie2b_clkreq_groups[] = {
   1200	"gpio144",
   1201};
   1202
   1203static const char * const pcie3a_clkreq_groups[] = {
   1204	"gpio150",
   1205};
   1206
   1207static const char * const pcie3b_clkreq_groups[] = {
   1208	"gpio152",
   1209};
   1210
   1211static const char * const pcie4_clkreq_groups[] = {
   1212	"gpio140",
   1213};
   1214
   1215static 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
   1223static const char * const pll_bist_groups[] = {
   1224	"gpio84",
   1225};
   1226
   1227static const char * const pll_clk_groups[] = {
   1228	"gpio84", "gpio86",
   1229};
   1230
   1231static const char * const prng_rosc0_groups[] = {
   1232	"gpio189",
   1233};
   1234
   1235static const char * const prng_rosc1_groups[] = {
   1236	"gpio191",
   1237};
   1238
   1239static const char * const prng_rosc2_groups[] = {
   1240	"gpio193",
   1241};
   1242
   1243static const char * const prng_rosc3_groups[] = {
   1244	"gpio194",
   1245};
   1246
   1247static const char * const qdss_cti_groups[] = {
   1248	"gpio3", "gpio4", "gpio7", "gpio21", "gpio30", "gpio30", "gpio31",
   1249	"gpio31",
   1250};
   1251
   1252static 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
   1261static const char * const qspi_clk_groups[] = {
   1262	"gpio74",
   1263};
   1264
   1265static const char * const qspi_cs_groups[] = {
   1266	"gpio75", "gpio81",
   1267};
   1268
   1269static const char * const qspi_groups[] = {
   1270	"gpio76", "gpio78", "gpio79",
   1271};
   1272
   1273static const char * const qup0_groups[] = {
   1274	"gpio135", "gpio136", "gpio137", "gpio138",
   1275};
   1276
   1277static const char * const qup10_groups[] = {
   1278	"gpio22", "gpio23", "gpio24", "gpio25",
   1279};
   1280
   1281static const char * const qup11_groups[] = {
   1282	"gpio18", "gpio19", "gpio20", "gpio21",
   1283};
   1284
   1285static const char * const qup12_groups[] = {
   1286	"gpio0", "gpio1", "gpio2", "gpio3",
   1287};
   1288
   1289static const char * const qup13_groups[] = {
   1290	"gpio26", "gpio27", "gpio28", "gpio29",
   1291};
   1292
   1293static const char * const qup14_groups[] = {
   1294	"gpio4", "gpio5", "gpio6", "gpio7",
   1295};
   1296
   1297static const char * const qup15_groups[] = {
   1298	"gpio36", "gpio37", "gpio38", "gpio39",
   1299};
   1300
   1301static const char * const qup16_groups[] = {
   1302	"gpio70", "gpio71", "gpio72", "gpio73",
   1303};
   1304
   1305static const char * const qup17_groups[] = {
   1306	"gpio61", "gpio62", "gpio63", "gpio64",
   1307};
   1308
   1309static const char * const qup18_groups[] = {
   1310	"gpio66", "gpio67", "gpio68", "gpio69",
   1311};
   1312
   1313static const char * const qup19_groups[] = {
   1314	"gpio55", "gpio56", "gpio57", "gpio58",
   1315};
   1316
   1317static const char * const qup1_groups[] = {
   1318	"gpio158", "gpio159", "gpio160", "gpio161",
   1319};
   1320
   1321static const char * const qup20_groups[] = {
   1322	"gpio87", "gpio88", "gpio89", "gpio90", "gpio91", "gpio92", "gpio110",
   1323};
   1324
   1325static const char * const qup21_groups[] = {
   1326	"gpio81", "gpio82", "gpio83", "gpio84",
   1327};
   1328
   1329static const char * const qup22_groups[] = {
   1330	"gpio83", "gpio84", "gpio85", "gpio86",
   1331};
   1332
   1333static const char * const qup23_groups[] = {
   1334	"gpio59", "gpio60", "gpio61", "gpio62",
   1335};
   1336
   1337static const char * const qup2_groups[] = {
   1338	"gpio121", "gpio122", "gpio123", "gpio124",
   1339};
   1340
   1341static const char * const qup3_groups[] = {
   1342	"gpio135", "gpio136", "gpio137", "gpio138",
   1343};
   1344
   1345static const char * const qup4_groups[] = {
   1346	"gpio111", "gpio112", "gpio171", "gpio172", "gpio173", "gpio174",
   1347	"gpio175",
   1348};
   1349
   1350static const char * const qup5_groups[] = {
   1351	"gpio111", "gpio112", "gpio145", "gpio146",
   1352};
   1353
   1354static const char * const qup6_groups[] = {
   1355	"gpio154", "gpio155", "gpio156", "gpio157",
   1356};
   1357
   1358static const char * const qup7_groups[] = {
   1359	"gpio125", "gpio126", "gpio128", "gpio129",
   1360};
   1361
   1362static const char * const qup8_groups[] = {
   1363	"gpio43", "gpio44", "gpio45", "gpio46",
   1364};
   1365
   1366static const char * const qup9_groups[] = {
   1367	"gpio41", "gpio42", "gpio43", "gpio44",
   1368};
   1369
   1370static 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
   1376static 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
   1382static const char * const sd_write_groups[] = {
   1383	"gpio130",
   1384};
   1385
   1386static const char * const sdc40_groups[] = {
   1387	"gpio76",
   1388};
   1389
   1390static const char * const sdc42_groups[] = {
   1391	"gpio78",
   1392};
   1393
   1394static const char * const sdc43_groups[] = {
   1395	"gpio79",
   1396};
   1397
   1398static const char * const sdc4_clk_groups[] = {
   1399	"gpio74",
   1400};
   1401
   1402static const char * const sdc4_cmd_groups[] = {
   1403	"gpio75",
   1404};
   1405
   1406static const char * const tb_trig_groups[] = {
   1407	"gpio153", "gpio157",
   1408};
   1409
   1410static const char * const tgu_groups[] = {
   1411	"gpio101", "gpio102", "gpio103", "gpio104", "gpio105", "gpio106",
   1412	"gpio107", "gpio108",
   1413};
   1414
   1415static const char * const tsense_pwm1_groups[] = {
   1416	"gpio70",
   1417};
   1418
   1419static const char * const tsense_pwm2_groups[] = {
   1420	"gpio69",
   1421};
   1422
   1423static const char * const tsense_pwm3_groups[] = {
   1424	"gpio67",
   1425};
   1426
   1427static const char * const tsense_pwm4_groups[] = {
   1428	"gpio65",
   1429};
   1430
   1431static const char * const usb0_dp_groups[] = {
   1432	"gpio21",
   1433};
   1434
   1435static const char * const usb0_phy_groups[] = {
   1436	"gpio166",
   1437};
   1438
   1439static const char * const usb0_sbrx_groups[] = {
   1440	"gpio170",
   1441};
   1442
   1443static const char * const usb0_sbtx_groups[] = {
   1444	"gpio168", "gpio169",
   1445};
   1446
   1447static const char * const usb0_usb4_groups[] = {
   1448	"gpio132",
   1449};
   1450
   1451static const char * const usb1_dp_groups[] = {
   1452	"gpio9",
   1453};
   1454
   1455static const char * const usb1_phy_groups[] = {
   1456	"gpio49",
   1457};
   1458
   1459static const char * const usb1_sbrx_groups[] = {
   1460	"gpio53",
   1461};
   1462
   1463static const char * const usb1_sbtx_groups[] = {
   1464	"gpio51", "gpio52",
   1465};
   1466
   1467static const char * const usb1_usb4_groups[] = {
   1468	"gpio32",
   1469};
   1470
   1471static const char * const usb2phy_ac_groups[] = {
   1472	"gpio24", "gpio25", "gpio133", "gpio134", "gpio148", "gpio149",
   1473};
   1474
   1475static const char * const vsense_trigger_groups[] = {
   1476	"gpio81",
   1477};
   1478
   1479static 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
   1647static 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
   1883static 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
   1907static 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
   1920static int sc8280xp_pinctrl_probe(struct platform_device *pdev)
   1921{
   1922	return msm_pinctrl_probe(pdev, &sc8280xp_pinctrl);
   1923}
   1924
   1925static const struct of_device_id sc8280xp_pinctrl_of_match[] = {
   1926	{ .compatible = "qcom,sc8280xp-tlmm", },
   1927	{ },
   1928};
   1929MODULE_DEVICE_TABLE(of, sc8280xp_pinctrl_of_match);
   1930
   1931static 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
   1940static int __init sc8280xp_pinctrl_init(void)
   1941{
   1942	return platform_driver_register(&sc8280xp_pinctrl_driver);
   1943}
   1944arch_initcall(sc8280xp_pinctrl_init);
   1945
   1946static void __exit sc8280xp_pinctrl_exit(void)
   1947{
   1948	platform_driver_unregister(&sc8280xp_pinctrl_driver);
   1949}
   1950module_exit(sc8280xp_pinctrl_exit);
   1951
   1952MODULE_DESCRIPTION("Qualcomm SC8280XP TLMM pinctrl driver");
   1953MODULE_LICENSE("GPL");