10e74abf3SVladimir Lypak // SPDX-License-Identifier: GPL-2.0
20e74abf3SVladimir Lypak // Copyright (c) 2020, The Linux Foundation. All rights reserved.
30e74abf3SVladimir Lypak 
40e74abf3SVladimir Lypak #include <linux/module.h>
50e74abf3SVladimir Lypak #include <linux/of.h>
60e74abf3SVladimir Lypak #include <linux/platform_device.h>
70e74abf3SVladimir Lypak 
80e74abf3SVladimir Lypak #include "pinctrl-msm.h"
90e74abf3SVladimir Lypak 
100e74abf3SVladimir Lypak #define PINGROUP(id, f1, f2, f3, f4, f5, f6, f7, f8, f9)	\
110e74abf3SVladimir Lypak 	{							\
126a16d1a5SRohit Agarwal 		.grp = PINCTRL_PINGROUP("gpio" #id, 	\
136a16d1a5SRohit Agarwal 			gpio##id##_pins, 		\
146a16d1a5SRohit Agarwal 			ARRAY_SIZE(gpio##id##_pins)),	\
150e74abf3SVladimir Lypak 		.funcs = (int[]){				\
160e74abf3SVladimir Lypak 			msm_mux_gpio, /* gpio mode */		\
170e74abf3SVladimir Lypak 			msm_mux_##f1,				\
180e74abf3SVladimir Lypak 			msm_mux_##f2,				\
190e74abf3SVladimir Lypak 			msm_mux_##f3,				\
200e74abf3SVladimir Lypak 			msm_mux_##f4,				\
210e74abf3SVladimir Lypak 			msm_mux_##f5,				\
220e74abf3SVladimir Lypak 			msm_mux_##f6,				\
230e74abf3SVladimir Lypak 			msm_mux_##f7,				\
240e74abf3SVladimir Lypak 			msm_mux_##f8,				\
250e74abf3SVladimir Lypak 			msm_mux_##f9				\
260e74abf3SVladimir Lypak 		},						\
270e74abf3SVladimir Lypak 		.nfuncs = 10,					\
280e74abf3SVladimir Lypak 		.ctl_reg = 0x1000 * id,				\
290e74abf3SVladimir Lypak 		.io_reg = 0x4 + 0x1000 * id,			\
300e74abf3SVladimir Lypak 		.intr_cfg_reg = 0x8 + 0x1000 * id,		\
310e74abf3SVladimir Lypak 		.intr_status_reg = 0xc + 0x1000 * id,		\
320e74abf3SVladimir Lypak 		.intr_target_reg = 0x8 + 0x1000 * id,		\
330e74abf3SVladimir Lypak 		.mux_bit = 2,					\
340e74abf3SVladimir Lypak 		.pull_bit = 0,					\
350e74abf3SVladimir Lypak 		.drv_bit = 6,					\
360e74abf3SVladimir Lypak 		.oe_bit = 9,					\
370e74abf3SVladimir Lypak 		.in_bit = 0,					\
380e74abf3SVladimir Lypak 		.out_bit = 1,					\
390e74abf3SVladimir Lypak 		.intr_enable_bit = 0,				\
400e74abf3SVladimir Lypak 		.intr_status_bit = 0,				\
410e74abf3SVladimir Lypak 		.intr_target_bit = 5,				\
420e74abf3SVladimir Lypak 		.intr_target_kpss_val = 4,			\
430e74abf3SVladimir Lypak 		.intr_raw_status_bit = 4,			\
440e74abf3SVladimir Lypak 		.intr_polarity_bit = 1,				\
450e74abf3SVladimir Lypak 		.intr_detection_bit = 2,			\
460e74abf3SVladimir Lypak 		.intr_detection_width = 2,			\
470e74abf3SVladimir Lypak 	}
480e74abf3SVladimir Lypak 
490e74abf3SVladimir Lypak #define SDC_QDSD_PINGROUP(pg_name, ctl, pull, drv)	\
500e74abf3SVladimir Lypak 	{					        \
516a16d1a5SRohit Agarwal 		.grp = PINCTRL_PINGROUP(#pg_name, 	\
526a16d1a5SRohit Agarwal 			pg_name##_pins, 		\
536a16d1a5SRohit Agarwal 			ARRAY_SIZE(pg_name##_pins)),	\
540e74abf3SVladimir Lypak 		.ctl_reg = ctl,				\
550e74abf3SVladimir Lypak 		.io_reg = 0,				\
560e74abf3SVladimir Lypak 		.intr_cfg_reg = 0,			\
570e74abf3SVladimir Lypak 		.intr_status_reg = 0,			\
580e74abf3SVladimir Lypak 		.intr_target_reg = 0,			\
590e74abf3SVladimir Lypak 		.mux_bit = -1,				\
600e74abf3SVladimir Lypak 		.pull_bit = pull,			\
610e74abf3SVladimir Lypak 		.drv_bit = drv,				\
620e74abf3SVladimir Lypak 		.oe_bit = -1,				\
630e74abf3SVladimir Lypak 		.in_bit = -1,				\
640e74abf3SVladimir Lypak 		.out_bit = -1,				\
650e74abf3SVladimir Lypak 		.intr_enable_bit = -1,			\
660e74abf3SVladimir Lypak 		.intr_status_bit = -1,			\
670e74abf3SVladimir Lypak 		.intr_target_bit = -1,			\
680e74abf3SVladimir Lypak 		.intr_raw_status_bit = -1,		\
690e74abf3SVladimir Lypak 		.intr_polarity_bit = -1,		\
700e74abf3SVladimir Lypak 		.intr_detection_bit = -1,		\
710e74abf3SVladimir Lypak 		.intr_detection_width = -1,		\
720e74abf3SVladimir Lypak 	}
730e74abf3SVladimir Lypak 
740e74abf3SVladimir Lypak static const struct pinctrl_pin_desc msm8953_pins[] = {
750e74abf3SVladimir Lypak 	PINCTRL_PIN(0, "GPIO_0"),
760e74abf3SVladimir Lypak 	PINCTRL_PIN(1, "GPIO_1"),
770e74abf3SVladimir Lypak 	PINCTRL_PIN(2, "GPIO_2"),
780e74abf3SVladimir Lypak 	PINCTRL_PIN(3, "GPIO_3"),
790e74abf3SVladimir Lypak 	PINCTRL_PIN(4, "GPIO_4"),
800e74abf3SVladimir Lypak 	PINCTRL_PIN(5, "GPIO_5"),
810e74abf3SVladimir Lypak 	PINCTRL_PIN(6, "GPIO_6"),
820e74abf3SVladimir Lypak 	PINCTRL_PIN(7, "GPIO_7"),
830e74abf3SVladimir Lypak 	PINCTRL_PIN(8, "GPIO_8"),
840e74abf3SVladimir Lypak 	PINCTRL_PIN(9, "GPIO_9"),
850e74abf3SVladimir Lypak 	PINCTRL_PIN(10, "GPIO_10"),
860e74abf3SVladimir Lypak 	PINCTRL_PIN(11, "GPIO_11"),
870e74abf3SVladimir Lypak 	PINCTRL_PIN(12, "GPIO_12"),
880e74abf3SVladimir Lypak 	PINCTRL_PIN(13, "GPIO_13"),
890e74abf3SVladimir Lypak 	PINCTRL_PIN(14, "GPIO_14"),
900e74abf3SVladimir Lypak 	PINCTRL_PIN(15, "GPIO_15"),
910e74abf3SVladimir Lypak 	PINCTRL_PIN(16, "GPIO_16"),
920e74abf3SVladimir Lypak 	PINCTRL_PIN(17, "GPIO_17"),
930e74abf3SVladimir Lypak 	PINCTRL_PIN(18, "GPIO_18"),
940e74abf3SVladimir Lypak 	PINCTRL_PIN(19, "GPIO_19"),
950e74abf3SVladimir Lypak 	PINCTRL_PIN(20, "GPIO_20"),
960e74abf3SVladimir Lypak 	PINCTRL_PIN(21, "GPIO_21"),
970e74abf3SVladimir Lypak 	PINCTRL_PIN(22, "GPIO_22"),
980e74abf3SVladimir Lypak 	PINCTRL_PIN(23, "GPIO_23"),
990e74abf3SVladimir Lypak 	PINCTRL_PIN(24, "GPIO_24"),
1000e74abf3SVladimir Lypak 	PINCTRL_PIN(25, "GPIO_25"),
1010e74abf3SVladimir Lypak 	PINCTRL_PIN(26, "GPIO_26"),
1020e74abf3SVladimir Lypak 	PINCTRL_PIN(27, "GPIO_27"),
1030e74abf3SVladimir Lypak 	PINCTRL_PIN(28, "GPIO_28"),
1040e74abf3SVladimir Lypak 	PINCTRL_PIN(29, "GPIO_29"),
1050e74abf3SVladimir Lypak 	PINCTRL_PIN(30, "GPIO_30"),
1060e74abf3SVladimir Lypak 	PINCTRL_PIN(31, "GPIO_31"),
1070e74abf3SVladimir Lypak 	PINCTRL_PIN(32, "GPIO_32"),
1080e74abf3SVladimir Lypak 	PINCTRL_PIN(33, "GPIO_33"),
1090e74abf3SVladimir Lypak 	PINCTRL_PIN(34, "GPIO_34"),
1100e74abf3SVladimir Lypak 	PINCTRL_PIN(35, "GPIO_35"),
1110e74abf3SVladimir Lypak 	PINCTRL_PIN(36, "GPIO_36"),
1120e74abf3SVladimir Lypak 	PINCTRL_PIN(37, "GPIO_37"),
1130e74abf3SVladimir Lypak 	PINCTRL_PIN(38, "GPIO_38"),
1140e74abf3SVladimir Lypak 	PINCTRL_PIN(39, "GPIO_39"),
1150e74abf3SVladimir Lypak 	PINCTRL_PIN(40, "GPIO_40"),
1160e74abf3SVladimir Lypak 	PINCTRL_PIN(41, "GPIO_41"),
1170e74abf3SVladimir Lypak 	PINCTRL_PIN(42, "GPIO_42"),
1180e74abf3SVladimir Lypak 	PINCTRL_PIN(43, "GPIO_43"),
1190e74abf3SVladimir Lypak 	PINCTRL_PIN(44, "GPIO_44"),
1200e74abf3SVladimir Lypak 	PINCTRL_PIN(45, "GPIO_45"),
1210e74abf3SVladimir Lypak 	PINCTRL_PIN(46, "GPIO_46"),
1220e74abf3SVladimir Lypak 	PINCTRL_PIN(47, "GPIO_47"),
1230e74abf3SVladimir Lypak 	PINCTRL_PIN(48, "GPIO_48"),
1240e74abf3SVladimir Lypak 	PINCTRL_PIN(49, "GPIO_49"),
1250e74abf3SVladimir Lypak 	PINCTRL_PIN(50, "GPIO_50"),
1260e74abf3SVladimir Lypak 	PINCTRL_PIN(51, "GPIO_51"),
1270e74abf3SVladimir Lypak 	PINCTRL_PIN(52, "GPIO_52"),
1280e74abf3SVladimir Lypak 	PINCTRL_PIN(53, "GPIO_53"),
1290e74abf3SVladimir Lypak 	PINCTRL_PIN(54, "GPIO_54"),
1300e74abf3SVladimir Lypak 	PINCTRL_PIN(55, "GPIO_55"),
1310e74abf3SVladimir Lypak 	PINCTRL_PIN(56, "GPIO_56"),
1320e74abf3SVladimir Lypak 	PINCTRL_PIN(57, "GPIO_57"),
1330e74abf3SVladimir Lypak 	PINCTRL_PIN(58, "GPIO_58"),
1340e74abf3SVladimir Lypak 	PINCTRL_PIN(59, "GPIO_59"),
1350e74abf3SVladimir Lypak 	PINCTRL_PIN(60, "GPIO_60"),
1360e74abf3SVladimir Lypak 	PINCTRL_PIN(61, "GPIO_61"),
1370e74abf3SVladimir Lypak 	PINCTRL_PIN(62, "GPIO_62"),
1380e74abf3SVladimir Lypak 	PINCTRL_PIN(63, "GPIO_63"),
1390e74abf3SVladimir Lypak 	PINCTRL_PIN(64, "GPIO_64"),
1400e74abf3SVladimir Lypak 	PINCTRL_PIN(65, "GPIO_65"),
1410e74abf3SVladimir Lypak 	PINCTRL_PIN(66, "GPIO_66"),
1420e74abf3SVladimir Lypak 	PINCTRL_PIN(67, "GPIO_67"),
1430e74abf3SVladimir Lypak 	PINCTRL_PIN(68, "GPIO_68"),
1440e74abf3SVladimir Lypak 	PINCTRL_PIN(69, "GPIO_69"),
1450e74abf3SVladimir Lypak 	PINCTRL_PIN(70, "GPIO_70"),
1460e74abf3SVladimir Lypak 	PINCTRL_PIN(71, "GPIO_71"),
1470e74abf3SVladimir Lypak 	PINCTRL_PIN(72, "GPIO_72"),
1480e74abf3SVladimir Lypak 	PINCTRL_PIN(73, "GPIO_73"),
1490e74abf3SVladimir Lypak 	PINCTRL_PIN(74, "GPIO_74"),
1500e74abf3SVladimir Lypak 	PINCTRL_PIN(75, "GPIO_75"),
1510e74abf3SVladimir Lypak 	PINCTRL_PIN(76, "GPIO_76"),
1520e74abf3SVladimir Lypak 	PINCTRL_PIN(77, "GPIO_77"),
1530e74abf3SVladimir Lypak 	PINCTRL_PIN(78, "GPIO_78"),
1540e74abf3SVladimir Lypak 	PINCTRL_PIN(79, "GPIO_79"),
1550e74abf3SVladimir Lypak 	PINCTRL_PIN(80, "GPIO_80"),
1560e74abf3SVladimir Lypak 	PINCTRL_PIN(81, "GPIO_81"),
1570e74abf3SVladimir Lypak 	PINCTRL_PIN(82, "GPIO_82"),
1580e74abf3SVladimir Lypak 	PINCTRL_PIN(83, "GPIO_83"),
1590e74abf3SVladimir Lypak 	PINCTRL_PIN(84, "GPIO_84"),
1600e74abf3SVladimir Lypak 	PINCTRL_PIN(85, "GPIO_85"),
1610e74abf3SVladimir Lypak 	PINCTRL_PIN(86, "GPIO_86"),
1620e74abf3SVladimir Lypak 	PINCTRL_PIN(87, "GPIO_87"),
1630e74abf3SVladimir Lypak 	PINCTRL_PIN(88, "GPIO_88"),
1640e74abf3SVladimir Lypak 	PINCTRL_PIN(89, "GPIO_89"),
1650e74abf3SVladimir Lypak 	PINCTRL_PIN(90, "GPIO_90"),
1660e74abf3SVladimir Lypak 	PINCTRL_PIN(91, "GPIO_91"),
1670e74abf3SVladimir Lypak 	PINCTRL_PIN(92, "GPIO_92"),
1680e74abf3SVladimir Lypak 	PINCTRL_PIN(93, "GPIO_93"),
1690e74abf3SVladimir Lypak 	PINCTRL_PIN(94, "GPIO_94"),
1700e74abf3SVladimir Lypak 	PINCTRL_PIN(95, "GPIO_95"),
1710e74abf3SVladimir Lypak 	PINCTRL_PIN(96, "GPIO_96"),
1720e74abf3SVladimir Lypak 	PINCTRL_PIN(97, "GPIO_97"),
1730e74abf3SVladimir Lypak 	PINCTRL_PIN(98, "GPIO_98"),
1740e74abf3SVladimir Lypak 	PINCTRL_PIN(99, "GPIO_99"),
1750e74abf3SVladimir Lypak 	PINCTRL_PIN(100, "GPIO_100"),
1760e74abf3SVladimir Lypak 	PINCTRL_PIN(101, "GPIO_101"),
1770e74abf3SVladimir Lypak 	PINCTRL_PIN(102, "GPIO_102"),
1780e74abf3SVladimir Lypak 	PINCTRL_PIN(103, "GPIO_103"),
1790e74abf3SVladimir Lypak 	PINCTRL_PIN(104, "GPIO_104"),
1800e74abf3SVladimir Lypak 	PINCTRL_PIN(105, "GPIO_105"),
1810e74abf3SVladimir Lypak 	PINCTRL_PIN(106, "GPIO_106"),
1820e74abf3SVladimir Lypak 	PINCTRL_PIN(107, "GPIO_107"),
1830e74abf3SVladimir Lypak 	PINCTRL_PIN(108, "GPIO_108"),
1840e74abf3SVladimir Lypak 	PINCTRL_PIN(109, "GPIO_109"),
1850e74abf3SVladimir Lypak 	PINCTRL_PIN(110, "GPIO_110"),
1860e74abf3SVladimir Lypak 	PINCTRL_PIN(111, "GPIO_111"),
1870e74abf3SVladimir Lypak 	PINCTRL_PIN(112, "GPIO_112"),
1880e74abf3SVladimir Lypak 	PINCTRL_PIN(113, "GPIO_113"),
1890e74abf3SVladimir Lypak 	PINCTRL_PIN(114, "GPIO_114"),
1900e74abf3SVladimir Lypak 	PINCTRL_PIN(115, "GPIO_115"),
1910e74abf3SVladimir Lypak 	PINCTRL_PIN(116, "GPIO_116"),
1920e74abf3SVladimir Lypak 	PINCTRL_PIN(117, "GPIO_117"),
1930e74abf3SVladimir Lypak 	PINCTRL_PIN(118, "GPIO_118"),
1940e74abf3SVladimir Lypak 	PINCTRL_PIN(119, "GPIO_119"),
1950e74abf3SVladimir Lypak 	PINCTRL_PIN(120, "GPIO_120"),
1960e74abf3SVladimir Lypak 	PINCTRL_PIN(121, "GPIO_121"),
1970e74abf3SVladimir Lypak 	PINCTRL_PIN(122, "GPIO_122"),
1980e74abf3SVladimir Lypak 	PINCTRL_PIN(123, "GPIO_123"),
1990e74abf3SVladimir Lypak 	PINCTRL_PIN(124, "GPIO_124"),
2000e74abf3SVladimir Lypak 	PINCTRL_PIN(125, "GPIO_125"),
2010e74abf3SVladimir Lypak 	PINCTRL_PIN(126, "GPIO_126"),
2020e74abf3SVladimir Lypak 	PINCTRL_PIN(127, "GPIO_127"),
2030e74abf3SVladimir Lypak 	PINCTRL_PIN(128, "GPIO_128"),
2040e74abf3SVladimir Lypak 	PINCTRL_PIN(129, "GPIO_129"),
2050e74abf3SVladimir Lypak 	PINCTRL_PIN(130, "GPIO_130"),
2060e74abf3SVladimir Lypak 	PINCTRL_PIN(131, "GPIO_131"),
2070e74abf3SVladimir Lypak 	PINCTRL_PIN(132, "GPIO_132"),
2080e74abf3SVladimir Lypak 	PINCTRL_PIN(133, "GPIO_133"),
2090e74abf3SVladimir Lypak 	PINCTRL_PIN(134, "GPIO_134"),
2100e74abf3SVladimir Lypak 	PINCTRL_PIN(135, "GPIO_135"),
2110e74abf3SVladimir Lypak 	PINCTRL_PIN(136, "GPIO_136"),
2120e74abf3SVladimir Lypak 	PINCTRL_PIN(137, "GPIO_137"),
2130e74abf3SVladimir Lypak 	PINCTRL_PIN(138, "GPIO_138"),
2140e74abf3SVladimir Lypak 	PINCTRL_PIN(139, "GPIO_139"),
2150e74abf3SVladimir Lypak 	PINCTRL_PIN(140, "GPIO_140"),
2160e74abf3SVladimir Lypak 	PINCTRL_PIN(141, "GPIO_141"),
2170e74abf3SVladimir Lypak 	PINCTRL_PIN(142, "SDC1_CLK"),
2180e74abf3SVladimir Lypak 	PINCTRL_PIN(143, "SDC1_CMD"),
2190e74abf3SVladimir Lypak 	PINCTRL_PIN(144, "SDC1_DATA"),
2200e74abf3SVladimir Lypak 	PINCTRL_PIN(145, "SDC1_RCLK"),
2210e74abf3SVladimir Lypak 	PINCTRL_PIN(146, "SDC2_CLK"),
2220e74abf3SVladimir Lypak 	PINCTRL_PIN(147, "SDC2_CMD"),
2230e74abf3SVladimir Lypak 	PINCTRL_PIN(148, "SDC2_DATA"),
2240e74abf3SVladimir Lypak 	PINCTRL_PIN(149, "QDSD_CLK"),
2250e74abf3SVladimir Lypak 	PINCTRL_PIN(150, "QDSD_CMD"),
2260e74abf3SVladimir Lypak 	PINCTRL_PIN(151, "QDSD_DATA0"),
2270e74abf3SVladimir Lypak 	PINCTRL_PIN(152, "QDSD_DATA1"),
2280e74abf3SVladimir Lypak 	PINCTRL_PIN(153, "QDSD_DATA2"),
2290e74abf3SVladimir Lypak 	PINCTRL_PIN(154, "QDSD_DATA3"),
2300e74abf3SVladimir Lypak };
2310e74abf3SVladimir Lypak 
2320e74abf3SVladimir Lypak #define DECLARE_MSM_GPIO_PINS(pin) \
2330e74abf3SVladimir Lypak 	static const unsigned int gpio##pin##_pins[] = { pin }
2340e74abf3SVladimir Lypak DECLARE_MSM_GPIO_PINS(0);
2350e74abf3SVladimir Lypak DECLARE_MSM_GPIO_PINS(1);
2360e74abf3SVladimir Lypak DECLARE_MSM_GPIO_PINS(2);
2370e74abf3SVladimir Lypak DECLARE_MSM_GPIO_PINS(3);
2380e74abf3SVladimir Lypak DECLARE_MSM_GPIO_PINS(4);
2390e74abf3SVladimir Lypak DECLARE_MSM_GPIO_PINS(5);
2400e74abf3SVladimir Lypak DECLARE_MSM_GPIO_PINS(6);
2410e74abf3SVladimir Lypak DECLARE_MSM_GPIO_PINS(7);
2420e74abf3SVladimir Lypak DECLARE_MSM_GPIO_PINS(8);
2430e74abf3SVladimir Lypak DECLARE_MSM_GPIO_PINS(9);
2440e74abf3SVladimir Lypak DECLARE_MSM_GPIO_PINS(10);
2450e74abf3SVladimir Lypak DECLARE_MSM_GPIO_PINS(11);
2460e74abf3SVladimir Lypak DECLARE_MSM_GPIO_PINS(12);
2470e74abf3SVladimir Lypak DECLARE_MSM_GPIO_PINS(13);
2480e74abf3SVladimir Lypak DECLARE_MSM_GPIO_PINS(14);
2490e74abf3SVladimir Lypak DECLARE_MSM_GPIO_PINS(15);
2500e74abf3SVladimir Lypak DECLARE_MSM_GPIO_PINS(16);
2510e74abf3SVladimir Lypak DECLARE_MSM_GPIO_PINS(17);
2520e74abf3SVladimir Lypak DECLARE_MSM_GPIO_PINS(18);
2530e74abf3SVladimir Lypak DECLARE_MSM_GPIO_PINS(19);
2540e74abf3SVladimir Lypak DECLARE_MSM_GPIO_PINS(20);
2550e74abf3SVladimir Lypak DECLARE_MSM_GPIO_PINS(21);
2560e74abf3SVladimir Lypak DECLARE_MSM_GPIO_PINS(22);
2570e74abf3SVladimir Lypak DECLARE_MSM_GPIO_PINS(23);
2580e74abf3SVladimir Lypak DECLARE_MSM_GPIO_PINS(24);
2590e74abf3SVladimir Lypak DECLARE_MSM_GPIO_PINS(25);
2600e74abf3SVladimir Lypak DECLARE_MSM_GPIO_PINS(26);
2610e74abf3SVladimir Lypak DECLARE_MSM_GPIO_PINS(27);
2620e74abf3SVladimir Lypak DECLARE_MSM_GPIO_PINS(28);
2630e74abf3SVladimir Lypak DECLARE_MSM_GPIO_PINS(29);
2640e74abf3SVladimir Lypak DECLARE_MSM_GPIO_PINS(30);
2650e74abf3SVladimir Lypak DECLARE_MSM_GPIO_PINS(31);
2660e74abf3SVladimir Lypak DECLARE_MSM_GPIO_PINS(32);
2670e74abf3SVladimir Lypak DECLARE_MSM_GPIO_PINS(33);
2680e74abf3SVladimir Lypak DECLARE_MSM_GPIO_PINS(34);
2690e74abf3SVladimir Lypak DECLARE_MSM_GPIO_PINS(35);
2700e74abf3SVladimir Lypak DECLARE_MSM_GPIO_PINS(36);
2710e74abf3SVladimir Lypak DECLARE_MSM_GPIO_PINS(37);
2720e74abf3SVladimir Lypak DECLARE_MSM_GPIO_PINS(38);
2730e74abf3SVladimir Lypak DECLARE_MSM_GPIO_PINS(39);
2740e74abf3SVladimir Lypak DECLARE_MSM_GPIO_PINS(40);
2750e74abf3SVladimir Lypak DECLARE_MSM_GPIO_PINS(41);
2760e74abf3SVladimir Lypak DECLARE_MSM_GPIO_PINS(42);
2770e74abf3SVladimir Lypak DECLARE_MSM_GPIO_PINS(43);
2780e74abf3SVladimir Lypak DECLARE_MSM_GPIO_PINS(44);
2790e74abf3SVladimir Lypak DECLARE_MSM_GPIO_PINS(45);
2800e74abf3SVladimir Lypak DECLARE_MSM_GPIO_PINS(46);
2810e74abf3SVladimir Lypak DECLARE_MSM_GPIO_PINS(47);
2820e74abf3SVladimir Lypak DECLARE_MSM_GPIO_PINS(48);
2830e74abf3SVladimir Lypak DECLARE_MSM_GPIO_PINS(49);
2840e74abf3SVladimir Lypak DECLARE_MSM_GPIO_PINS(50);
2850e74abf3SVladimir Lypak DECLARE_MSM_GPIO_PINS(51);
2860e74abf3SVladimir Lypak DECLARE_MSM_GPIO_PINS(52);
2870e74abf3SVladimir Lypak DECLARE_MSM_GPIO_PINS(53);
2880e74abf3SVladimir Lypak DECLARE_MSM_GPIO_PINS(54);
2890e74abf3SVladimir Lypak DECLARE_MSM_GPIO_PINS(55);
2900e74abf3SVladimir Lypak DECLARE_MSM_GPIO_PINS(56);
2910e74abf3SVladimir Lypak DECLARE_MSM_GPIO_PINS(57);
2920e74abf3SVladimir Lypak DECLARE_MSM_GPIO_PINS(58);
2930e74abf3SVladimir Lypak DECLARE_MSM_GPIO_PINS(59);
2940e74abf3SVladimir Lypak DECLARE_MSM_GPIO_PINS(60);
2950e74abf3SVladimir Lypak DECLARE_MSM_GPIO_PINS(61);
2960e74abf3SVladimir Lypak DECLARE_MSM_GPIO_PINS(62);
2970e74abf3SVladimir Lypak DECLARE_MSM_GPIO_PINS(63);
2980e74abf3SVladimir Lypak DECLARE_MSM_GPIO_PINS(64);
2990e74abf3SVladimir Lypak DECLARE_MSM_GPIO_PINS(65);
3000e74abf3SVladimir Lypak DECLARE_MSM_GPIO_PINS(66);
3010e74abf3SVladimir Lypak DECLARE_MSM_GPIO_PINS(67);
3020e74abf3SVladimir Lypak DECLARE_MSM_GPIO_PINS(68);
3030e74abf3SVladimir Lypak DECLARE_MSM_GPIO_PINS(69);
3040e74abf3SVladimir Lypak DECLARE_MSM_GPIO_PINS(70);
3050e74abf3SVladimir Lypak DECLARE_MSM_GPIO_PINS(71);
3060e74abf3SVladimir Lypak DECLARE_MSM_GPIO_PINS(72);
3070e74abf3SVladimir Lypak DECLARE_MSM_GPIO_PINS(73);
3080e74abf3SVladimir Lypak DECLARE_MSM_GPIO_PINS(74);
3090e74abf3SVladimir Lypak DECLARE_MSM_GPIO_PINS(75);
3100e74abf3SVladimir Lypak DECLARE_MSM_GPIO_PINS(76);
3110e74abf3SVladimir Lypak DECLARE_MSM_GPIO_PINS(77);
3120e74abf3SVladimir Lypak DECLARE_MSM_GPIO_PINS(78);
3130e74abf3SVladimir Lypak DECLARE_MSM_GPIO_PINS(79);
3140e74abf3SVladimir Lypak DECLARE_MSM_GPIO_PINS(80);
3150e74abf3SVladimir Lypak DECLARE_MSM_GPIO_PINS(81);
3160e74abf3SVladimir Lypak DECLARE_MSM_GPIO_PINS(82);
3170e74abf3SVladimir Lypak DECLARE_MSM_GPIO_PINS(83);
3180e74abf3SVladimir Lypak DECLARE_MSM_GPIO_PINS(84);
3190e74abf3SVladimir Lypak DECLARE_MSM_GPIO_PINS(85);
3200e74abf3SVladimir Lypak DECLARE_MSM_GPIO_PINS(86);
3210e74abf3SVladimir Lypak DECLARE_MSM_GPIO_PINS(87);
3220e74abf3SVladimir Lypak DECLARE_MSM_GPIO_PINS(88);
3230e74abf3SVladimir Lypak DECLARE_MSM_GPIO_PINS(89);
3240e74abf3SVladimir Lypak DECLARE_MSM_GPIO_PINS(90);
3250e74abf3SVladimir Lypak DECLARE_MSM_GPIO_PINS(91);
3260e74abf3SVladimir Lypak DECLARE_MSM_GPIO_PINS(92);
3270e74abf3SVladimir Lypak DECLARE_MSM_GPIO_PINS(93);
3280e74abf3SVladimir Lypak DECLARE_MSM_GPIO_PINS(94);
3290e74abf3SVladimir Lypak DECLARE_MSM_GPIO_PINS(95);
3300e74abf3SVladimir Lypak DECLARE_MSM_GPIO_PINS(96);
3310e74abf3SVladimir Lypak DECLARE_MSM_GPIO_PINS(97);
3320e74abf3SVladimir Lypak DECLARE_MSM_GPIO_PINS(98);
3330e74abf3SVladimir Lypak DECLARE_MSM_GPIO_PINS(99);
3340e74abf3SVladimir Lypak DECLARE_MSM_GPIO_PINS(100);
3350e74abf3SVladimir Lypak DECLARE_MSM_GPIO_PINS(101);
3360e74abf3SVladimir Lypak DECLARE_MSM_GPIO_PINS(102);
3370e74abf3SVladimir Lypak DECLARE_MSM_GPIO_PINS(103);
3380e74abf3SVladimir Lypak DECLARE_MSM_GPIO_PINS(104);
3390e74abf3SVladimir Lypak DECLARE_MSM_GPIO_PINS(105);
3400e74abf3SVladimir Lypak DECLARE_MSM_GPIO_PINS(106);
3410e74abf3SVladimir Lypak DECLARE_MSM_GPIO_PINS(107);
3420e74abf3SVladimir Lypak DECLARE_MSM_GPIO_PINS(108);
3430e74abf3SVladimir Lypak DECLARE_MSM_GPIO_PINS(109);
3440e74abf3SVladimir Lypak DECLARE_MSM_GPIO_PINS(110);
3450e74abf3SVladimir Lypak DECLARE_MSM_GPIO_PINS(111);
3460e74abf3SVladimir Lypak DECLARE_MSM_GPIO_PINS(112);
3470e74abf3SVladimir Lypak DECLARE_MSM_GPIO_PINS(113);
3480e74abf3SVladimir Lypak DECLARE_MSM_GPIO_PINS(114);
3490e74abf3SVladimir Lypak DECLARE_MSM_GPIO_PINS(115);
3500e74abf3SVladimir Lypak DECLARE_MSM_GPIO_PINS(116);
3510e74abf3SVladimir Lypak DECLARE_MSM_GPIO_PINS(117);
3520e74abf3SVladimir Lypak DECLARE_MSM_GPIO_PINS(118);
3530e74abf3SVladimir Lypak DECLARE_MSM_GPIO_PINS(119);
3540e74abf3SVladimir Lypak DECLARE_MSM_GPIO_PINS(120);
3550e74abf3SVladimir Lypak DECLARE_MSM_GPIO_PINS(121);
3560e74abf3SVladimir Lypak DECLARE_MSM_GPIO_PINS(122);
3570e74abf3SVladimir Lypak DECLARE_MSM_GPIO_PINS(123);
3580e74abf3SVladimir Lypak DECLARE_MSM_GPIO_PINS(124);
3590e74abf3SVladimir Lypak DECLARE_MSM_GPIO_PINS(125);
3600e74abf3SVladimir Lypak DECLARE_MSM_GPIO_PINS(126);
3610e74abf3SVladimir Lypak DECLARE_MSM_GPIO_PINS(127);
3620e74abf3SVladimir Lypak DECLARE_MSM_GPIO_PINS(128);
3630e74abf3SVladimir Lypak DECLARE_MSM_GPIO_PINS(129);
3640e74abf3SVladimir Lypak DECLARE_MSM_GPIO_PINS(130);
3650e74abf3SVladimir Lypak DECLARE_MSM_GPIO_PINS(131);
3660e74abf3SVladimir Lypak DECLARE_MSM_GPIO_PINS(132);
3670e74abf3SVladimir Lypak DECLARE_MSM_GPIO_PINS(133);
3680e74abf3SVladimir Lypak DECLARE_MSM_GPIO_PINS(134);
3690e74abf3SVladimir Lypak DECLARE_MSM_GPIO_PINS(135);
3700e74abf3SVladimir Lypak DECLARE_MSM_GPIO_PINS(136);
3710e74abf3SVladimir Lypak DECLARE_MSM_GPIO_PINS(137);
3720e74abf3SVladimir Lypak DECLARE_MSM_GPIO_PINS(138);
3730e74abf3SVladimir Lypak DECLARE_MSM_GPIO_PINS(139);
3740e74abf3SVladimir Lypak DECLARE_MSM_GPIO_PINS(140);
3750e74abf3SVladimir Lypak DECLARE_MSM_GPIO_PINS(141);
3760e74abf3SVladimir Lypak 
3770e74abf3SVladimir Lypak static const unsigned int qdsd_clk_pins[] = { 142 };
3780e74abf3SVladimir Lypak static const unsigned int qdsd_cmd_pins[] = { 143 };
3790e74abf3SVladimir Lypak static const unsigned int qdsd_data0_pins[] = { 144 };
3800e74abf3SVladimir Lypak static const unsigned int qdsd_data1_pins[] = { 145 };
3810e74abf3SVladimir Lypak static const unsigned int qdsd_data2_pins[] = { 146 };
3820e74abf3SVladimir Lypak static const unsigned int qdsd_data3_pins[] = { 147 };
3830e74abf3SVladimir Lypak static const unsigned int sdc1_clk_pins[] = { 148 };
3840e74abf3SVladimir Lypak static const unsigned int sdc1_cmd_pins[] = { 149 };
3850e74abf3SVladimir Lypak static const unsigned int sdc1_data_pins[] = { 150 };
3860e74abf3SVladimir Lypak static const unsigned int sdc1_rclk_pins[] = { 151 };
3870e74abf3SVladimir Lypak static const unsigned int sdc2_clk_pins[] = { 152 };
3880e74abf3SVladimir Lypak static const unsigned int sdc2_cmd_pins[] = { 153 };
3890e74abf3SVladimir Lypak static const unsigned int sdc2_data_pins[] = { 154 };
3900e74abf3SVladimir Lypak 
3910e74abf3SVladimir Lypak enum msm8953_functions {
3920e74abf3SVladimir Lypak 	msm_mux_accel_int,
3930e74abf3SVladimir Lypak 	msm_mux_adsp_ext,
3940e74abf3SVladimir Lypak 	msm_mux_alsp_int,
3950e74abf3SVladimir Lypak 	msm_mux_atest_bbrx0,
3960e74abf3SVladimir Lypak 	msm_mux_atest_bbrx1,
3970e74abf3SVladimir Lypak 	msm_mux_atest_char,
3980e74abf3SVladimir Lypak 	msm_mux_atest_char0,
3990e74abf3SVladimir Lypak 	msm_mux_atest_char1,
4000e74abf3SVladimir Lypak 	msm_mux_atest_char2,
4010e74abf3SVladimir Lypak 	msm_mux_atest_char3,
4020e74abf3SVladimir Lypak 	msm_mux_atest_gpsadc_dtest0_native,
4030e74abf3SVladimir Lypak 	msm_mux_atest_gpsadc_dtest1_native,
4040e74abf3SVladimir Lypak 	msm_mux_atest_tsens,
4050e74abf3SVladimir Lypak 	msm_mux_atest_wlan0,
4060e74abf3SVladimir Lypak 	msm_mux_atest_wlan1,
4070e74abf3SVladimir Lypak 	msm_mux_bimc_dte0,
4080e74abf3SVladimir Lypak 	msm_mux_bimc_dte1,
4090e74abf3SVladimir Lypak 	msm_mux_blsp1_spi,
4100e74abf3SVladimir Lypak 	msm_mux_blsp3_spi,
4110e74abf3SVladimir Lypak 	msm_mux_blsp6_spi,
4120e74abf3SVladimir Lypak 	msm_mux_blsp7_spi,
4130e74abf3SVladimir Lypak 	msm_mux_blsp_i2c1,
4140e74abf3SVladimir Lypak 	msm_mux_blsp_i2c2,
4150e74abf3SVladimir Lypak 	msm_mux_blsp_i2c3,
4160e74abf3SVladimir Lypak 	msm_mux_blsp_i2c4,
4170e74abf3SVladimir Lypak 	msm_mux_blsp_i2c5,
4180e74abf3SVladimir Lypak 	msm_mux_blsp_i2c6,
4190e74abf3SVladimir Lypak 	msm_mux_blsp_i2c7,
4200e74abf3SVladimir Lypak 	msm_mux_blsp_i2c8,
4210e74abf3SVladimir Lypak 	msm_mux_blsp_spi1,
4220e74abf3SVladimir Lypak 	msm_mux_blsp_spi2,
4230e74abf3SVladimir Lypak 	msm_mux_blsp_spi3,
4240e74abf3SVladimir Lypak 	msm_mux_blsp_spi4,
4250e74abf3SVladimir Lypak 	msm_mux_blsp_spi5,
4260e74abf3SVladimir Lypak 	msm_mux_blsp_spi6,
4270e74abf3SVladimir Lypak 	msm_mux_blsp_spi7,
4280e74abf3SVladimir Lypak 	msm_mux_blsp_spi8,
4290e74abf3SVladimir Lypak 	msm_mux_blsp_uart2,
4300e74abf3SVladimir Lypak 	msm_mux_blsp_uart4,
4310e74abf3SVladimir Lypak 	msm_mux_blsp_uart5,
4320e74abf3SVladimir Lypak 	msm_mux_blsp_uart6,
4330e74abf3SVladimir Lypak 	msm_mux_cam0_ldo,
4340e74abf3SVladimir Lypak 	msm_mux_cam1_ldo,
4350e74abf3SVladimir Lypak 	msm_mux_cam1_rst,
4360e74abf3SVladimir Lypak 	msm_mux_cam1_standby,
4370e74abf3SVladimir Lypak 	msm_mux_cam2_rst,
4380e74abf3SVladimir Lypak 	msm_mux_cam2_standby,
4390e74abf3SVladimir Lypak 	msm_mux_cam3_rst,
4400e74abf3SVladimir Lypak 	msm_mux_cam3_standby,
4410e74abf3SVladimir Lypak 	msm_mux_cam_irq,
4420e74abf3SVladimir Lypak 	msm_mux_cam_mclk,
4430e74abf3SVladimir Lypak 	msm_mux_cap_int,
4440e74abf3SVladimir Lypak 	msm_mux_cci_async,
4450e74abf3SVladimir Lypak 	msm_mux_cci_i2c,
4460e74abf3SVladimir Lypak 	msm_mux_cci_timer0,
4470e74abf3SVladimir Lypak 	msm_mux_cci_timer1,
4480e74abf3SVladimir Lypak 	msm_mux_cci_timer2,
4490e74abf3SVladimir Lypak 	msm_mux_cci_timer3,
4500e74abf3SVladimir Lypak 	msm_mux_cci_timer4,
4510e74abf3SVladimir Lypak 	msm_mux_cdc_pdm0,
4520e74abf3SVladimir Lypak 	msm_mux_codec_int1,
4530e74abf3SVladimir Lypak 	msm_mux_codec_int2,
4540e74abf3SVladimir Lypak 	msm_mux_codec_reset,
4550e74abf3SVladimir Lypak 	msm_mux_cri_trng,
4560e74abf3SVladimir Lypak 	msm_mux_cri_trng0,
4570e74abf3SVladimir Lypak 	msm_mux_cri_trng1,
4580e74abf3SVladimir Lypak 	msm_mux_dac_calib0,
4590e74abf3SVladimir Lypak 	msm_mux_dac_calib1,
4600e74abf3SVladimir Lypak 	msm_mux_dac_calib2,
4610e74abf3SVladimir Lypak 	msm_mux_dac_calib3,
4620e74abf3SVladimir Lypak 	msm_mux_dac_calib4,
4630e74abf3SVladimir Lypak 	msm_mux_dac_calib5,
4640e74abf3SVladimir Lypak 	msm_mux_dac_calib6,
4650e74abf3SVladimir Lypak 	msm_mux_dac_calib7,
4660e74abf3SVladimir Lypak 	msm_mux_dac_calib8,
4670e74abf3SVladimir Lypak 	msm_mux_dac_calib9,
4680e74abf3SVladimir Lypak 	msm_mux_dac_calib10,
4690e74abf3SVladimir Lypak 	msm_mux_dac_calib11,
4700e74abf3SVladimir Lypak 	msm_mux_dac_calib12,
4710e74abf3SVladimir Lypak 	msm_mux_dac_calib13,
4720e74abf3SVladimir Lypak 	msm_mux_dac_calib14,
4730e74abf3SVladimir Lypak 	msm_mux_dac_calib15,
4740e74abf3SVladimir Lypak 	msm_mux_dac_calib16,
4750e74abf3SVladimir Lypak 	msm_mux_dac_calib17,
4760e74abf3SVladimir Lypak 	msm_mux_dac_calib18,
4770e74abf3SVladimir Lypak 	msm_mux_dac_calib19,
4780e74abf3SVladimir Lypak 	msm_mux_dac_calib20,
4790e74abf3SVladimir Lypak 	msm_mux_dac_calib21,
4800e74abf3SVladimir Lypak 	msm_mux_dac_calib22,
4810e74abf3SVladimir Lypak 	msm_mux_dac_calib23,
4820e74abf3SVladimir Lypak 	msm_mux_dac_calib24,
4830e74abf3SVladimir Lypak 	msm_mux_dac_calib25,
4840e74abf3SVladimir Lypak 	msm_mux_dbg_out,
4850e74abf3SVladimir Lypak 	msm_mux_ddr_bist,
4860e74abf3SVladimir Lypak 	msm_mux_dmic0_clk,
4870e74abf3SVladimir Lypak 	msm_mux_dmic0_data,
4880e74abf3SVladimir Lypak 	msm_mux_ebi_cdc,
4890e74abf3SVladimir Lypak 	msm_mux_ebi_ch0,
4900e74abf3SVladimir Lypak 	msm_mux_ext_lpass,
4910e74abf3SVladimir Lypak 	msm_mux_flash_strobe,
4920e74abf3SVladimir Lypak 	msm_mux_fp_int,
4930e74abf3SVladimir Lypak 	msm_mux_gcc_gp1_clk_a,
4940e74abf3SVladimir Lypak 	msm_mux_gcc_gp1_clk_b,
4950e74abf3SVladimir Lypak 	msm_mux_gcc_gp2_clk_a,
4960e74abf3SVladimir Lypak 	msm_mux_gcc_gp2_clk_b,
4970e74abf3SVladimir Lypak 	msm_mux_gcc_gp3_clk_a,
4980e74abf3SVladimir Lypak 	msm_mux_gcc_gp3_clk_b,
4990e74abf3SVladimir Lypak 	msm_mux_gcc_plltest,
5000e74abf3SVladimir Lypak 	msm_mux_gcc_tlmm,
5010e74abf3SVladimir Lypak 	msm_mux_gpio,
5020e74abf3SVladimir Lypak 	msm_mux_gsm0_tx,
5030e74abf3SVladimir Lypak 	msm_mux_gsm1_tx,
5040e74abf3SVladimir Lypak 	msm_mux_gyro_int,
5050e74abf3SVladimir Lypak 	msm_mux_hall_int,
5060e74abf3SVladimir Lypak 	msm_mux_hdmi_int,
5070e74abf3SVladimir Lypak 	msm_mux_key_focus,
5080e74abf3SVladimir Lypak 	msm_mux_key_home,
5090e74abf3SVladimir Lypak 	msm_mux_key_snapshot,
5100e74abf3SVladimir Lypak 	msm_mux_key_volp,
5110e74abf3SVladimir Lypak 	msm_mux_ldo_en,
5120e74abf3SVladimir Lypak 	msm_mux_ldo_update,
5130e74abf3SVladimir Lypak 	msm_mux_lpass_slimbus,
5140e74abf3SVladimir Lypak 	msm_mux_lpass_slimbus0,
5150e74abf3SVladimir Lypak 	msm_mux_lpass_slimbus1,
5160e74abf3SVladimir Lypak 	msm_mux_m_voc,
5170e74abf3SVladimir Lypak 	msm_mux_mag_int,
5180e74abf3SVladimir Lypak 	msm_mux_mdp_vsync,
5190e74abf3SVladimir Lypak 	msm_mux_mipi_dsi0,
5200e74abf3SVladimir Lypak 	msm_mux_modem_tsync,
5210e74abf3SVladimir Lypak 	msm_mux_mss_lte,
5220e74abf3SVladimir Lypak 	msm_mux_nav_pps,
5230e74abf3SVladimir Lypak 	msm_mux_nav_pps_in_a,
5240e74abf3SVladimir Lypak 	msm_mux_nav_pps_in_b,
5250e74abf3SVladimir Lypak 	msm_mux_nav_tsync,
5260e74abf3SVladimir Lypak 	msm_mux_nfc_disable,
5270e74abf3SVladimir Lypak 	msm_mux_nfc_dwl,
5280e74abf3SVladimir Lypak 	msm_mux_nfc_irq,
5290e74abf3SVladimir Lypak 	msm_mux_ois_sync,
5300e74abf3SVladimir Lypak 	msm_mux_pa_indicator,
5310e74abf3SVladimir Lypak 	msm_mux_pbs0,
5320e74abf3SVladimir Lypak 	msm_mux_pbs1,
5330e74abf3SVladimir Lypak 	msm_mux_pbs2,
5340e74abf3SVladimir Lypak 	msm_mux_pressure_int,
5350e74abf3SVladimir Lypak 	msm_mux_pri_mi2s,
5360e74abf3SVladimir Lypak 	msm_mux_pri_mi2s_mclk_a,
5370e74abf3SVladimir Lypak 	msm_mux_pri_mi2s_mclk_b,
5380e74abf3SVladimir Lypak 	msm_mux_pri_mi2s_ws,
5390e74abf3SVladimir Lypak 	msm_mux_prng_rosc,
5400e74abf3SVladimir Lypak 	msm_mux_pwr_crypto_enabled_a,
5410e74abf3SVladimir Lypak 	msm_mux_pwr_crypto_enabled_b,
5420e74abf3SVladimir Lypak 	msm_mux_pwr_down,
5430e74abf3SVladimir Lypak 	msm_mux_pwr_modem_enabled_a,
5440e74abf3SVladimir Lypak 	msm_mux_pwr_modem_enabled_b,
5450e74abf3SVladimir Lypak 	msm_mux_pwr_nav_enabled_a,
5460e74abf3SVladimir Lypak 	msm_mux_pwr_nav_enabled_b,
5470e74abf3SVladimir Lypak 	msm_mux_qdss_cti_trig_in_a0,
5480e74abf3SVladimir Lypak 	msm_mux_qdss_cti_trig_in_a1,
5490e74abf3SVladimir Lypak 	msm_mux_qdss_cti_trig_in_b0,
5500e74abf3SVladimir Lypak 	msm_mux_qdss_cti_trig_in_b1,
5510e74abf3SVladimir Lypak 	msm_mux_qdss_cti_trig_out_a0,
5520e74abf3SVladimir Lypak 	msm_mux_qdss_cti_trig_out_a1,
5530e74abf3SVladimir Lypak 	msm_mux_qdss_cti_trig_out_b0,
5540e74abf3SVladimir Lypak 	msm_mux_qdss_cti_trig_out_b1,
5550e74abf3SVladimir Lypak 	msm_mux_qdss_traceclk_a,
5560e74abf3SVladimir Lypak 	msm_mux_qdss_traceclk_b,
5570e74abf3SVladimir Lypak 	msm_mux_qdss_tracectl_a,
5580e74abf3SVladimir Lypak 	msm_mux_qdss_tracectl_b,
5590e74abf3SVladimir Lypak 	msm_mux_qdss_tracedata_a,
5600e74abf3SVladimir Lypak 	msm_mux_qdss_tracedata_b,
5610e74abf3SVladimir Lypak 	msm_mux_sd_write,
5620e74abf3SVladimir Lypak 	msm_mux_sdcard_det,
5630e74abf3SVladimir Lypak 	msm_mux_sec_mi2s,
5640e74abf3SVladimir Lypak 	msm_mux_sec_mi2s_mclk_a,
5650e74abf3SVladimir Lypak 	msm_mux_sec_mi2s_mclk_b,
5660e74abf3SVladimir Lypak 	msm_mux_smb_int,
5670e74abf3SVladimir Lypak 	msm_mux_ss_switch,
5680e74abf3SVladimir Lypak 	msm_mux_ssbi_wtr1,
5690e74abf3SVladimir Lypak 	msm_mux_ts_resout,
5700e74abf3SVladimir Lypak 	msm_mux_ts_sample,
5710e74abf3SVladimir Lypak 	msm_mux_ts_xvdd,
5720e74abf3SVladimir Lypak 	msm_mux_tsens_max,
5730e74abf3SVladimir Lypak 	msm_mux_uim1_clk,
5740e74abf3SVladimir Lypak 	msm_mux_uim1_data,
5750e74abf3SVladimir Lypak 	msm_mux_uim1_present,
5760e74abf3SVladimir Lypak 	msm_mux_uim1_reset,
5770e74abf3SVladimir Lypak 	msm_mux_uim2_clk,
5780e74abf3SVladimir Lypak 	msm_mux_uim2_data,
5790e74abf3SVladimir Lypak 	msm_mux_uim2_present,
5800e74abf3SVladimir Lypak 	msm_mux_uim2_reset,
5810e74abf3SVladimir Lypak 	msm_mux_uim_batt,
5820e74abf3SVladimir Lypak 	msm_mux_us_emitter,
5830e74abf3SVladimir Lypak 	msm_mux_us_euro,
5840e74abf3SVladimir Lypak 	msm_mux_wcss_bt,
5850e74abf3SVladimir Lypak 	msm_mux_wcss_fm,
5860e74abf3SVladimir Lypak 	msm_mux_wcss_wlan,
5870e74abf3SVladimir Lypak 	msm_mux_wcss_wlan0,
5880e74abf3SVladimir Lypak 	msm_mux_wcss_wlan1,
5890e74abf3SVladimir Lypak 	msm_mux_wcss_wlan2,
5900e74abf3SVladimir Lypak 	msm_mux_wsa_en,
5910e74abf3SVladimir Lypak 	msm_mux_wsa_io,
5920e74abf3SVladimir Lypak 	msm_mux_wsa_irq,
5930e74abf3SVladimir Lypak 	msm_mux__,
5940e74abf3SVladimir Lypak };
5950e74abf3SVladimir Lypak 
5960e74abf3SVladimir Lypak static const char * const accel_int_groups[] = {
5970e74abf3SVladimir Lypak 	"gpio42",
5980e74abf3SVladimir Lypak };
5990e74abf3SVladimir Lypak 
6000e74abf3SVladimir Lypak static const char * const adsp_ext_groups[] = {
6010e74abf3SVladimir Lypak 	"gpio1",
6020e74abf3SVladimir Lypak };
6030e74abf3SVladimir Lypak 
6040e74abf3SVladimir Lypak static const char * const alsp_int_groups[] = {
6050e74abf3SVladimir Lypak 	"gpio43",
6060e74abf3SVladimir Lypak };
6070e74abf3SVladimir Lypak 
6080e74abf3SVladimir Lypak static const char * const atest_bbrx0_groups[] = {
6090e74abf3SVladimir Lypak 	"gpio17",
6100e74abf3SVladimir Lypak };
6110e74abf3SVladimir Lypak 
6120e74abf3SVladimir Lypak static const char * const atest_bbrx1_groups[] = {
6130e74abf3SVladimir Lypak 	"gpio16",
6140e74abf3SVladimir Lypak };
6150e74abf3SVladimir Lypak 
6160e74abf3SVladimir Lypak static const char * const atest_char0_groups[] = {
6170e74abf3SVladimir Lypak 	"gpio68",
6180e74abf3SVladimir Lypak };
6190e74abf3SVladimir Lypak 
6200e74abf3SVladimir Lypak static const char * const atest_char1_groups[] = {
6210e74abf3SVladimir Lypak 	"gpio67",
6220e74abf3SVladimir Lypak };
6230e74abf3SVladimir Lypak 
6240e74abf3SVladimir Lypak static const char * const atest_char2_groups[] = {
6250e74abf3SVladimir Lypak 	"gpio75",
6260e74abf3SVladimir Lypak };
6270e74abf3SVladimir Lypak 
6280e74abf3SVladimir Lypak static const char * const atest_char3_groups[] = {
6290e74abf3SVladimir Lypak 	"gpio63",
6300e74abf3SVladimir Lypak };
6310e74abf3SVladimir Lypak 
6320e74abf3SVladimir Lypak static const char * const atest_char_groups[] = {
6330e74abf3SVladimir Lypak 	"gpio120",
6340e74abf3SVladimir Lypak };
6350e74abf3SVladimir Lypak 
6360e74abf3SVladimir Lypak static const char * const atest_gpsadc_dtest0_native_groups[] = {
6370e74abf3SVladimir Lypak 	"gpio7",
6380e74abf3SVladimir Lypak };
6390e74abf3SVladimir Lypak 
6400e74abf3SVladimir Lypak static const char * const atest_gpsadc_dtest1_native_groups[] = {
6410e74abf3SVladimir Lypak 	"gpio18",
6420e74abf3SVladimir Lypak };
6430e74abf3SVladimir Lypak 
6440e74abf3SVladimir Lypak static const char * const atest_tsens_groups[] = {
6450e74abf3SVladimir Lypak 	"gpio120",
6460e74abf3SVladimir Lypak };
6470e74abf3SVladimir Lypak 
6480e74abf3SVladimir Lypak static const char * const atest_wlan0_groups[] = {
6490e74abf3SVladimir Lypak 	"gpio22",
6500e74abf3SVladimir Lypak };
6510e74abf3SVladimir Lypak 
6520e74abf3SVladimir Lypak static const char * const atest_wlan1_groups[] = {
6530e74abf3SVladimir Lypak 	"gpio23",
6540e74abf3SVladimir Lypak };
6550e74abf3SVladimir Lypak 
6560e74abf3SVladimir Lypak static const char * const bimc_dte0_groups[] = {
6570e74abf3SVladimir Lypak 	"gpio63", "gpio65",
6580e74abf3SVladimir Lypak };
6590e74abf3SVladimir Lypak 
6600e74abf3SVladimir Lypak static const char * const bimc_dte1_groups[] = {
6610e74abf3SVladimir Lypak 	"gpio121", "gpio122",
6620e74abf3SVladimir Lypak };
6630e74abf3SVladimir Lypak 
6640e74abf3SVladimir Lypak static const char * const blsp1_spi_groups[] = {
6650e74abf3SVladimir Lypak 	"gpio35", "gpio36",
6660e74abf3SVladimir Lypak };
6670e74abf3SVladimir Lypak 
6680e74abf3SVladimir Lypak static const char * const blsp3_spi_groups[] = {
6690e74abf3SVladimir Lypak 	"gpio41", "gpio50",
6700e74abf3SVladimir Lypak };
6710e74abf3SVladimir Lypak 
6720e74abf3SVladimir Lypak static const char * const blsp6_spi_groups[] = {
6730e74abf3SVladimir Lypak 	"gpio47", "gpio48",
6740e74abf3SVladimir Lypak };
6750e74abf3SVladimir Lypak 
6760e74abf3SVladimir Lypak static const char * const blsp7_spi_groups[] = {
6770e74abf3SVladimir Lypak 	"gpio89", "gpio90",
6780e74abf3SVladimir Lypak };
6790e74abf3SVladimir Lypak 
6800e74abf3SVladimir Lypak static const char * const blsp_i2c1_groups[] = {
6810e74abf3SVladimir Lypak 	"gpio2", "gpio3",
6820e74abf3SVladimir Lypak };
6830e74abf3SVladimir Lypak 
6840e74abf3SVladimir Lypak static const char * const blsp_i2c2_groups[] = {
6850e74abf3SVladimir Lypak 	"gpio6", "gpio7",
6860e74abf3SVladimir Lypak };
6870e74abf3SVladimir Lypak 
6880e74abf3SVladimir Lypak static const char * const blsp_i2c3_groups[] = {
6890e74abf3SVladimir Lypak 	"gpio10", "gpio11",
6900e74abf3SVladimir Lypak };
6910e74abf3SVladimir Lypak 
6920e74abf3SVladimir Lypak static const char * const blsp_i2c4_groups[] = {
6930e74abf3SVladimir Lypak 	"gpio14", "gpio15",
6940e74abf3SVladimir Lypak };
6950e74abf3SVladimir Lypak 
6960e74abf3SVladimir Lypak static const char * const blsp_i2c5_groups[] = {
6970e74abf3SVladimir Lypak 	"gpio18", "gpio19",
6980e74abf3SVladimir Lypak };
6990e74abf3SVladimir Lypak 
7000e74abf3SVladimir Lypak static const char * const blsp_i2c6_groups[] = {
7010e74abf3SVladimir Lypak 	"gpio22", "gpio23",
7020e74abf3SVladimir Lypak };
7030e74abf3SVladimir Lypak 
7040e74abf3SVladimir Lypak static const char * const blsp_i2c7_groups[] = {
7050e74abf3SVladimir Lypak 	"gpio135", "gpio136",
7060e74abf3SVladimir Lypak };
7070e74abf3SVladimir Lypak 
7080e74abf3SVladimir Lypak static const char * const blsp_i2c8_groups[] = {
7090e74abf3SVladimir Lypak 	"gpio98", "gpio99",
7100e74abf3SVladimir Lypak };
7110e74abf3SVladimir Lypak 
7120e74abf3SVladimir Lypak static const char * const blsp_spi1_groups[] = {
7130e74abf3SVladimir Lypak 	"gpio0", "gpio1", "gpio2", "gpio3",
7140e74abf3SVladimir Lypak };
7150e74abf3SVladimir Lypak 
7160e74abf3SVladimir Lypak static const char * const blsp_spi2_groups[] = {
7170e74abf3SVladimir Lypak 	"gpio4", "gpio5", "gpio6", "gpio7",
7180e74abf3SVladimir Lypak };
7190e74abf3SVladimir Lypak 
7200e74abf3SVladimir Lypak static const char * const blsp_spi3_groups[] = {
7210e74abf3SVladimir Lypak 	"gpio8", "gpio9", "gpio10", "gpio11",
7220e74abf3SVladimir Lypak };
7230e74abf3SVladimir Lypak 
7240e74abf3SVladimir Lypak static const char * const blsp_spi4_groups[] = {
7250e74abf3SVladimir Lypak 	"gpio12", "gpio13", "gpio14", "gpio15",
7260e74abf3SVladimir Lypak };
7270e74abf3SVladimir Lypak 
7280e74abf3SVladimir Lypak static const char * const blsp_spi5_groups[] = {
7290e74abf3SVladimir Lypak 	"gpio16", "gpio17", "gpio18", "gpio19",
7300e74abf3SVladimir Lypak };
7310e74abf3SVladimir Lypak 
7320e74abf3SVladimir Lypak static const char * const blsp_spi6_groups[] = {
7330e74abf3SVladimir Lypak 	"gpio20", "gpio21", "gpio22", "gpio23",
7340e74abf3SVladimir Lypak };
7350e74abf3SVladimir Lypak 
7360e74abf3SVladimir Lypak static const char * const blsp_spi7_groups[] = {
7370e74abf3SVladimir Lypak 	"gpio135", "gpio136", "gpio137", "gpio138",
7380e74abf3SVladimir Lypak };
7390e74abf3SVladimir Lypak 
7400e74abf3SVladimir Lypak static const char * const blsp_spi8_groups[] = {
7410e74abf3SVladimir Lypak 	"gpio96", "gpio97", "gpio98", "gpio99",
7420e74abf3SVladimir Lypak };
7430e74abf3SVladimir Lypak 
7440e74abf3SVladimir Lypak static const char * const blsp_uart2_groups[] = {
7450e74abf3SVladimir Lypak 	"gpio4", "gpio5", "gpio6", "gpio7",
7460e74abf3SVladimir Lypak };
7470e74abf3SVladimir Lypak 
7480e74abf3SVladimir Lypak static const char * const blsp_uart4_groups[] = {
7490e74abf3SVladimir Lypak 	"gpio12", "gpio13", "gpio14", "gpio15",
7500e74abf3SVladimir Lypak };
7510e74abf3SVladimir Lypak 
7520e74abf3SVladimir Lypak static const char * const blsp_uart5_groups[] = {
7530e74abf3SVladimir Lypak 	"gpio16", "gpio17", "gpio18", "gpio19",
7540e74abf3SVladimir Lypak };
7550e74abf3SVladimir Lypak 
7560e74abf3SVladimir Lypak static const char * const blsp_uart6_groups[] = {
7570e74abf3SVladimir Lypak 	"gpio20", "gpio21", "gpio22", "gpio23",
7580e74abf3SVladimir Lypak };
7590e74abf3SVladimir Lypak 
7600e74abf3SVladimir Lypak static const char * const cam0_ldo_groups[] = {
7610e74abf3SVladimir Lypak 	"gpio50",
7620e74abf3SVladimir Lypak };
7630e74abf3SVladimir Lypak 
7640e74abf3SVladimir Lypak static const char * const cam1_ldo_groups[] = {
7650e74abf3SVladimir Lypak 	"gpio134",
7660e74abf3SVladimir Lypak };
7670e74abf3SVladimir Lypak 
7680e74abf3SVladimir Lypak static const char * const cam1_rst_groups[] = {
7690e74abf3SVladimir Lypak 	"gpio40",
7700e74abf3SVladimir Lypak };
7710e74abf3SVladimir Lypak 
7720e74abf3SVladimir Lypak static const char * const cam1_standby_groups[] = {
7730e74abf3SVladimir Lypak 	"gpio39",
7740e74abf3SVladimir Lypak };
7750e74abf3SVladimir Lypak 
7760e74abf3SVladimir Lypak static const char * const cam2_rst_groups[] = {
7770e74abf3SVladimir Lypak 	"gpio129",
7780e74abf3SVladimir Lypak };
7790e74abf3SVladimir Lypak 
7800e74abf3SVladimir Lypak static const char * const cam2_standby_groups[] = {
7810e74abf3SVladimir Lypak 	"gpio130",
7820e74abf3SVladimir Lypak };
7830e74abf3SVladimir Lypak 
7840e74abf3SVladimir Lypak static const char * const cam3_rst_groups[] = {
7850e74abf3SVladimir Lypak 	"gpio131",
7860e74abf3SVladimir Lypak };
7870e74abf3SVladimir Lypak 
7880e74abf3SVladimir Lypak static const char * const cam3_standby_groups[] = {
7890e74abf3SVladimir Lypak 	"gpio132",
7900e74abf3SVladimir Lypak };
7910e74abf3SVladimir Lypak 
7920e74abf3SVladimir Lypak static const char * const cam_irq_groups[] = {
7930e74abf3SVladimir Lypak 	"gpio35",
7940e74abf3SVladimir Lypak };
7950e74abf3SVladimir Lypak 
7960e74abf3SVladimir Lypak static const char * const cam_mclk_groups[] = {
7970e74abf3SVladimir Lypak 	"gpio26", "gpio27", "gpio28", "gpio128",
7980e74abf3SVladimir Lypak };
7990e74abf3SVladimir Lypak 
8000e74abf3SVladimir Lypak static const char * const cap_int_groups[] = {
8010e74abf3SVladimir Lypak 	"gpio13",
8020e74abf3SVladimir Lypak };
8030e74abf3SVladimir Lypak 
8040e74abf3SVladimir Lypak static const char * const cci_async_groups[] = {
8050e74abf3SVladimir Lypak 	"gpio38",
8060e74abf3SVladimir Lypak };
8070e74abf3SVladimir Lypak 
8080e74abf3SVladimir Lypak static const char * const cci_i2c_groups[] = {
8090e74abf3SVladimir Lypak 	"gpio29", "gpio30", "gpio31", "gpio32",
8100e74abf3SVladimir Lypak };
8110e74abf3SVladimir Lypak 
8120e74abf3SVladimir Lypak static const char * const cci_timer0_groups[] = {
8130e74abf3SVladimir Lypak 	"gpio33",
8140e74abf3SVladimir Lypak };
8150e74abf3SVladimir Lypak 
8160e74abf3SVladimir Lypak static const char * const cci_timer1_groups[] = {
8170e74abf3SVladimir Lypak 	"gpio34",
8180e74abf3SVladimir Lypak };
8190e74abf3SVladimir Lypak 
8200e74abf3SVladimir Lypak static const char * const cci_timer2_groups[] = {
8210e74abf3SVladimir Lypak 	"gpio35",
8220e74abf3SVladimir Lypak };
8230e74abf3SVladimir Lypak 
8240e74abf3SVladimir Lypak static const char * const cci_timer3_groups[] = {
8250e74abf3SVladimir Lypak 	"gpio36",
8260e74abf3SVladimir Lypak };
8270e74abf3SVladimir Lypak 
8280e74abf3SVladimir Lypak static const char * const cci_timer4_groups[] = {
8290e74abf3SVladimir Lypak 	"gpio41",
8300e74abf3SVladimir Lypak };
8310e74abf3SVladimir Lypak 
8320e74abf3SVladimir Lypak static const char * const cdc_pdm0_groups[] = {
8330e74abf3SVladimir Lypak 	"gpio67", "gpio68", "gpio69", "gpio70", "gpio71", "gpio72", "gpio73",
8340e74abf3SVladimir Lypak 	"gpio74",
8350e74abf3SVladimir Lypak };
8360e74abf3SVladimir Lypak 
8370e74abf3SVladimir Lypak static const char * const codec_int1_groups[] = {
8380e74abf3SVladimir Lypak 	"gpio73",
8390e74abf3SVladimir Lypak };
8400e74abf3SVladimir Lypak 
8410e74abf3SVladimir Lypak static const char * const codec_int2_groups[] = {
8420e74abf3SVladimir Lypak 	"gpio74",
8430e74abf3SVladimir Lypak };
8440e74abf3SVladimir Lypak 
8450e74abf3SVladimir Lypak static const char * const codec_reset_groups[] = {
8460e74abf3SVladimir Lypak 	"gpio67",
8470e74abf3SVladimir Lypak };
8480e74abf3SVladimir Lypak 
8490e74abf3SVladimir Lypak static const char * const cri_trng0_groups[] = {
8500e74abf3SVladimir Lypak 	"gpio85",
8510e74abf3SVladimir Lypak };
8520e74abf3SVladimir Lypak 
8530e74abf3SVladimir Lypak static const char * const cri_trng1_groups[] = {
8540e74abf3SVladimir Lypak 	"gpio86",
8550e74abf3SVladimir Lypak };
8560e74abf3SVladimir Lypak 
8570e74abf3SVladimir Lypak static const char * const cri_trng_groups[] = {
8580e74abf3SVladimir Lypak 	"gpio87",
8590e74abf3SVladimir Lypak };
8600e74abf3SVladimir Lypak 
8610e74abf3SVladimir Lypak static const char * const dac_calib0_groups[] = {
8620e74abf3SVladimir Lypak 	"gpio4",
8630e74abf3SVladimir Lypak };
8640e74abf3SVladimir Lypak 
8650e74abf3SVladimir Lypak static const char * const dac_calib1_groups[] = {
8660e74abf3SVladimir Lypak 	"gpio12",
8670e74abf3SVladimir Lypak };
8680e74abf3SVladimir Lypak 
8690e74abf3SVladimir Lypak static const char * const dac_calib2_groups[] = {
8700e74abf3SVladimir Lypak 	"gpio13",
8710e74abf3SVladimir Lypak };
8720e74abf3SVladimir Lypak 
8730e74abf3SVladimir Lypak static const char * const dac_calib3_groups[] = {
8740e74abf3SVladimir Lypak 	"gpio28",
8750e74abf3SVladimir Lypak };
8760e74abf3SVladimir Lypak 
8770e74abf3SVladimir Lypak static const char * const dac_calib4_groups[] = {
8780e74abf3SVladimir Lypak 	"gpio29",
8790e74abf3SVladimir Lypak };
8800e74abf3SVladimir Lypak 
8810e74abf3SVladimir Lypak static const char * const dac_calib5_groups[] = {
8820e74abf3SVladimir Lypak 	"gpio39",
8830e74abf3SVladimir Lypak };
8840e74abf3SVladimir Lypak 
8850e74abf3SVladimir Lypak static const char * const dac_calib6_groups[] = {
8860e74abf3SVladimir Lypak 	"gpio40",
8870e74abf3SVladimir Lypak };
8880e74abf3SVladimir Lypak 
8890e74abf3SVladimir Lypak static const char * const dac_calib7_groups[] = {
8900e74abf3SVladimir Lypak 	"gpio41",
8910e74abf3SVladimir Lypak };
8920e74abf3SVladimir Lypak 
8930e74abf3SVladimir Lypak static const char * const dac_calib8_groups[] = {
8940e74abf3SVladimir Lypak 	"gpio42",
8950e74abf3SVladimir Lypak };
8960e74abf3SVladimir Lypak 
8970e74abf3SVladimir Lypak static const char * const dac_calib9_groups[] = {
8980e74abf3SVladimir Lypak 	"gpio43",
8990e74abf3SVladimir Lypak };
9000e74abf3SVladimir Lypak 
9010e74abf3SVladimir Lypak static const char * const dac_calib10_groups[] = {
9020e74abf3SVladimir Lypak 	"gpio44",
9030e74abf3SVladimir Lypak };
9040e74abf3SVladimir Lypak 
9050e74abf3SVladimir Lypak static const char * const dac_calib11_groups[] = {
9060e74abf3SVladimir Lypak 	"gpio45",
9070e74abf3SVladimir Lypak };
9080e74abf3SVladimir Lypak 
9090e74abf3SVladimir Lypak static const char * const dac_calib12_groups[] = {
9100e74abf3SVladimir Lypak 	"gpio46",
9110e74abf3SVladimir Lypak };
9120e74abf3SVladimir Lypak 
9130e74abf3SVladimir Lypak static const char * const dac_calib13_groups[] = {
9140e74abf3SVladimir Lypak 	"gpio47",
9150e74abf3SVladimir Lypak };
9160e74abf3SVladimir Lypak 
9170e74abf3SVladimir Lypak static const char * const dac_calib14_groups[] = {
9180e74abf3SVladimir Lypak 	"gpio48",
9190e74abf3SVladimir Lypak };
9200e74abf3SVladimir Lypak 
9210e74abf3SVladimir Lypak static const char * const dac_calib15_groups[] = {
9220e74abf3SVladimir Lypak 	"gpio20",
9230e74abf3SVladimir Lypak };
9240e74abf3SVladimir Lypak 
9250e74abf3SVladimir Lypak static const char * const dac_calib16_groups[] = {
9260e74abf3SVladimir Lypak 	"gpio21",
9270e74abf3SVladimir Lypak };
9280e74abf3SVladimir Lypak 
9290e74abf3SVladimir Lypak static const char * const dac_calib17_groups[] = {
9300e74abf3SVladimir Lypak 	"gpio67",
9310e74abf3SVladimir Lypak };
9320e74abf3SVladimir Lypak 
9330e74abf3SVladimir Lypak static const char * const dac_calib18_groups[] = {
9340e74abf3SVladimir Lypak 	"gpio115",
9350e74abf3SVladimir Lypak };
9360e74abf3SVladimir Lypak 
9370e74abf3SVladimir Lypak static const char * const dac_calib19_groups[] = {
9380e74abf3SVladimir Lypak 	"gpio30",
9390e74abf3SVladimir Lypak };
9400e74abf3SVladimir Lypak 
9410e74abf3SVladimir Lypak static const char * const dac_calib20_groups[] = {
9420e74abf3SVladimir Lypak 	"gpio128",
9430e74abf3SVladimir Lypak };
9440e74abf3SVladimir Lypak 
9450e74abf3SVladimir Lypak static const char * const dac_calib21_groups[] = {
9460e74abf3SVladimir Lypak 	"gpio129",
9470e74abf3SVladimir Lypak };
9480e74abf3SVladimir Lypak 
9490e74abf3SVladimir Lypak static const char * const dac_calib22_groups[] = {
9500e74abf3SVladimir Lypak 	"gpio130",
9510e74abf3SVladimir Lypak };
9520e74abf3SVladimir Lypak 
9530e74abf3SVladimir Lypak static const char * const dac_calib23_groups[] = {
9540e74abf3SVladimir Lypak 	"gpio131",
9550e74abf3SVladimir Lypak };
9560e74abf3SVladimir Lypak 
9570e74abf3SVladimir Lypak static const char * const dac_calib24_groups[] = {
9580e74abf3SVladimir Lypak 	"gpio132",
9590e74abf3SVladimir Lypak };
9600e74abf3SVladimir Lypak 
9610e74abf3SVladimir Lypak static const char * const dac_calib25_groups[] = {
9620e74abf3SVladimir Lypak 	"gpio133",
9630e74abf3SVladimir Lypak };
9640e74abf3SVladimir Lypak 
9650e74abf3SVladimir Lypak static const char * const dbg_out_groups[] = {
9660e74abf3SVladimir Lypak 	"gpio63",
9670e74abf3SVladimir Lypak };
9680e74abf3SVladimir Lypak 
9690e74abf3SVladimir Lypak static const char * const ddr_bist_groups[] = {
9700e74abf3SVladimir Lypak 	"gpio129", "gpio130", "gpio131", "gpio132",
9710e74abf3SVladimir Lypak };
9720e74abf3SVladimir Lypak 
9730e74abf3SVladimir Lypak static const char * const dmic0_clk_groups[] = {
9740e74abf3SVladimir Lypak 	"gpio89",
9750e74abf3SVladimir Lypak };
9760e74abf3SVladimir Lypak 
9770e74abf3SVladimir Lypak static const char * const dmic0_data_groups[] = {
9780e74abf3SVladimir Lypak 	"gpio90",
9790e74abf3SVladimir Lypak };
9800e74abf3SVladimir Lypak 
9810e74abf3SVladimir Lypak static const char * const ebi_cdc_groups[] = {
9820e74abf3SVladimir Lypak 	"gpio67", "gpio69", "gpio118", "gpio119", "gpio120", "gpio123",
9830e74abf3SVladimir Lypak };
9840e74abf3SVladimir Lypak 
9850e74abf3SVladimir Lypak static const char * const ebi_ch0_groups[] = {
9860e74abf3SVladimir Lypak 	"gpio75",
9870e74abf3SVladimir Lypak };
9880e74abf3SVladimir Lypak 
9890e74abf3SVladimir Lypak static const char * const ext_lpass_groups[] = {
9900e74abf3SVladimir Lypak 	"gpio81",
9910e74abf3SVladimir Lypak };
9920e74abf3SVladimir Lypak 
9930e74abf3SVladimir Lypak static const char * const flash_strobe_groups[] = {
9940e74abf3SVladimir Lypak 	"gpio33", "gpio34",
9950e74abf3SVladimir Lypak };
9960e74abf3SVladimir Lypak 
9970e74abf3SVladimir Lypak static const char * const fp_int_groups[] = {
9980e74abf3SVladimir Lypak 	"gpio48",
9990e74abf3SVladimir Lypak };
10000e74abf3SVladimir Lypak 
10010e74abf3SVladimir Lypak static const char * const gcc_gp1_clk_a_groups[] = {
10020e74abf3SVladimir Lypak 	"gpio42",
10030e74abf3SVladimir Lypak };
10040e74abf3SVladimir Lypak 
10050e74abf3SVladimir Lypak static const char * const gcc_gp1_clk_b_groups[] = {
10060e74abf3SVladimir Lypak 	"gpio6", "gpio41",
10070e74abf3SVladimir Lypak };
10080e74abf3SVladimir Lypak 
10090e74abf3SVladimir Lypak static const char * const gcc_gp2_clk_a_groups[] = {
10100e74abf3SVladimir Lypak 	"gpio43",
10110e74abf3SVladimir Lypak };
10120e74abf3SVladimir Lypak 
10130e74abf3SVladimir Lypak static const char * const gcc_gp2_clk_b_groups[] = {
10140e74abf3SVladimir Lypak 	"gpio10",
10150e74abf3SVladimir Lypak };
10160e74abf3SVladimir Lypak 
10170e74abf3SVladimir Lypak static const char * const gcc_gp3_clk_a_groups[] = {
10180e74abf3SVladimir Lypak 	"gpio44",
10190e74abf3SVladimir Lypak };
10200e74abf3SVladimir Lypak 
10210e74abf3SVladimir Lypak static const char * const gcc_gp3_clk_b_groups[] = {
10220e74abf3SVladimir Lypak 	"gpio11",
10230e74abf3SVladimir Lypak };
10240e74abf3SVladimir Lypak 
10250e74abf3SVladimir Lypak static const char * const gcc_plltest_groups[] = {
10260e74abf3SVladimir Lypak 	"gpio98", "gpio99",
10270e74abf3SVladimir Lypak };
10280e74abf3SVladimir Lypak 
10290e74abf3SVladimir Lypak static const char * const gcc_tlmm_groups[] = {
10300e74abf3SVladimir Lypak 	"gpio87",
10310e74abf3SVladimir Lypak };
10320e74abf3SVladimir Lypak 
10330e74abf3SVladimir Lypak static const char * const gpio_groups[] = {
10340e74abf3SVladimir Lypak 	"gpio0", "gpio1", "gpio2", "gpio3", "gpio4", "gpio5", "gpio6", "gpio7",
10350e74abf3SVladimir Lypak 	"gpio8", "gpio9", "gpio10", "gpio11", "gpio12", "gpio13", "gpio14",
10360e74abf3SVladimir Lypak 	"gpio15", "gpio16", "gpio17", "gpio18", "gpio19", "gpio20", "gpio21",
10370e74abf3SVladimir Lypak 	"gpio22", "gpio23", "gpio24", "gpio25", "gpio26", "gpio27", "gpio28",
10380e74abf3SVladimir Lypak 	"gpio29", "gpio30", "gpio31", "gpio32", "gpio33", "gpio34", "gpio35",
10390e74abf3SVladimir Lypak 	"gpio36", "gpio37", "gpio38", "gpio39", "gpio40", "gpio41", "gpio42",
10400e74abf3SVladimir Lypak 	"gpio43", "gpio44", "gpio45", "gpio46", "gpio47", "gpio48", "gpio49",
10410e74abf3SVladimir Lypak 	"gpio50", "gpio51", "gpio52", "gpio53", "gpio54", "gpio55", "gpio56",
10420e74abf3SVladimir Lypak 	"gpio57", "gpio58", "gpio59", "gpio60", "gpio61", "gpio62", "gpio63",
10430e74abf3SVladimir Lypak 	"gpio64", "gpio65", "gpio66", "gpio67", "gpio68", "gpio69", "gpio70",
10440e74abf3SVladimir Lypak 	"gpio71", "gpio72", "gpio73", "gpio74", "gpio75", "gpio76", "gpio77",
10450e74abf3SVladimir Lypak 	"gpio78", "gpio79", "gpio80", "gpio81", "gpio82", "gpio83", "gpio84",
10460e74abf3SVladimir Lypak 	"gpio85", "gpio86", "gpio87", "gpio88", "gpio89", "gpio90", "gpio91",
10470e74abf3SVladimir Lypak 	"gpio92", "gpio93", "gpio94", "gpio95", "gpio96", "gpio97", "gpio98",
10480e74abf3SVladimir Lypak 	"gpio99", "gpio100", "gpio101", "gpio102", "gpio103", "gpio104",
10490e74abf3SVladimir Lypak 	"gpio105", "gpio106", "gpio107", "gpio108", "gpio109", "gpio110",
10500e74abf3SVladimir Lypak 	"gpio111", "gpio112", "gpio113", "gpio114", "gpio115", "gpio116",
10510e74abf3SVladimir Lypak 	"gpio117", "gpio118", "gpio119", "gpio120", "gpio121", "gpio122",
10520e74abf3SVladimir Lypak 	"gpio123", "gpio124", "gpio125", "gpio126", "gpio127", "gpio128",
10530e74abf3SVladimir Lypak 	"gpio129", "gpio130", "gpio131", "gpio132", "gpio133", "gpio134",
10540e74abf3SVladimir Lypak 	"gpio135", "gpio136", "gpio137", "gpio138", "gpio139", "gpio140",
10550e74abf3SVladimir Lypak 	"gpio141",
10560e74abf3SVladimir Lypak };
10570e74abf3SVladimir Lypak 
10580e74abf3SVladimir Lypak static const char * const gsm0_tx_groups[] = {
10590e74abf3SVladimir Lypak 	"gpio117",
10600e74abf3SVladimir Lypak };
10610e74abf3SVladimir Lypak 
10620e74abf3SVladimir Lypak static const char * const gsm1_tx_groups[] = {
10630e74abf3SVladimir Lypak 	"gpio115",
10640e74abf3SVladimir Lypak };
10650e74abf3SVladimir Lypak 
10660e74abf3SVladimir Lypak static const char * const gyro_int_groups[] = {
10670e74abf3SVladimir Lypak 	"gpio45",
10680e74abf3SVladimir Lypak };
10690e74abf3SVladimir Lypak 
10700e74abf3SVladimir Lypak static const char * const hall_int_groups[] = {
10710e74abf3SVladimir Lypak 	"gpio12",
10720e74abf3SVladimir Lypak };
10730e74abf3SVladimir Lypak 
10740e74abf3SVladimir Lypak static const char * const hdmi_int_groups[] = {
10750e74abf3SVladimir Lypak 	"gpio90",
10760e74abf3SVladimir Lypak };
10770e74abf3SVladimir Lypak 
10780e74abf3SVladimir Lypak static const char * const key_focus_groups[] = {
10790e74abf3SVladimir Lypak 	"gpio87",
10800e74abf3SVladimir Lypak };
10810e74abf3SVladimir Lypak 
10820e74abf3SVladimir Lypak static const char * const key_home_groups[] = {
10830e74abf3SVladimir Lypak 	"gpio88",
10840e74abf3SVladimir Lypak };
10850e74abf3SVladimir Lypak 
10860e74abf3SVladimir Lypak static const char * const key_snapshot_groups[] = {
10870e74abf3SVladimir Lypak 	"gpio86",
10880e74abf3SVladimir Lypak };
10890e74abf3SVladimir Lypak 
10900e74abf3SVladimir Lypak static const char * const key_volp_groups[] = {
10910e74abf3SVladimir Lypak 	"gpio85",
10920e74abf3SVladimir Lypak };
10930e74abf3SVladimir Lypak 
10940e74abf3SVladimir Lypak static const char * const ldo_en_groups[] = {
10950e74abf3SVladimir Lypak 	"gpio5",
10960e74abf3SVladimir Lypak };
10970e74abf3SVladimir Lypak 
10980e74abf3SVladimir Lypak static const char * const ldo_update_groups[] = {
10990e74abf3SVladimir Lypak 	"gpio4",
11000e74abf3SVladimir Lypak };
11010e74abf3SVladimir Lypak 
11020e74abf3SVladimir Lypak static const char * const lpass_slimbus0_groups[] = {
11030e74abf3SVladimir Lypak 	"gpio71",
11040e74abf3SVladimir Lypak };
11050e74abf3SVladimir Lypak 
11060e74abf3SVladimir Lypak static const char * const lpass_slimbus1_groups[] = {
11070e74abf3SVladimir Lypak 	"gpio72",
11080e74abf3SVladimir Lypak };
11090e74abf3SVladimir Lypak 
11100e74abf3SVladimir Lypak static const char * const lpass_slimbus_groups[] = {
11110e74abf3SVladimir Lypak 	"gpio70",
11120e74abf3SVladimir Lypak };
11130e74abf3SVladimir Lypak 
11140e74abf3SVladimir Lypak static const char * const m_voc_groups[] = {
11150e74abf3SVladimir Lypak 	"gpio17", "gpio21",
11160e74abf3SVladimir Lypak };
11170e74abf3SVladimir Lypak 
11180e74abf3SVladimir Lypak static const char * const mag_int_groups[] = {
11190e74abf3SVladimir Lypak 	"gpio44",
11200e74abf3SVladimir Lypak };
11210e74abf3SVladimir Lypak 
11220e74abf3SVladimir Lypak static const char * const mdp_vsync_groups[] = {
11230e74abf3SVladimir Lypak 	"gpio24", "gpio25",
11240e74abf3SVladimir Lypak };
11250e74abf3SVladimir Lypak 
11260e74abf3SVladimir Lypak static const char * const mipi_dsi0_groups[] = {
11270e74abf3SVladimir Lypak 	"gpio61",
11280e74abf3SVladimir Lypak };
11290e74abf3SVladimir Lypak 
11300e74abf3SVladimir Lypak static const char * const modem_tsync_groups[] = {
11310e74abf3SVladimir Lypak 	"gpio113",
11320e74abf3SVladimir Lypak };
11330e74abf3SVladimir Lypak 
11340e74abf3SVladimir Lypak static const char * const mss_lte_groups[] = {
11350e74abf3SVladimir Lypak 	"gpio82", "gpio83",
11360e74abf3SVladimir Lypak };
11370e74abf3SVladimir Lypak 
11380e74abf3SVladimir Lypak static const char * const nav_pps_groups[] = {
11390e74abf3SVladimir Lypak 	"gpio113",
11400e74abf3SVladimir Lypak };
11410e74abf3SVladimir Lypak 
11420e74abf3SVladimir Lypak static const char * const nav_pps_in_a_groups[] = {
11430e74abf3SVladimir Lypak 	"gpio111",
11440e74abf3SVladimir Lypak };
11450e74abf3SVladimir Lypak 
11460e74abf3SVladimir Lypak static const char * const nav_pps_in_b_groups[] = {
11470e74abf3SVladimir Lypak 	"gpio113",
11480e74abf3SVladimir Lypak };
11490e74abf3SVladimir Lypak 
11500e74abf3SVladimir Lypak static const char * const nav_tsync_groups[] = {
11510e74abf3SVladimir Lypak 	"gpio113",
11520e74abf3SVladimir Lypak };
11530e74abf3SVladimir Lypak 
11540e74abf3SVladimir Lypak static const char * const nfc_disable_groups[] = {
11550e74abf3SVladimir Lypak 	"gpio16",
11560e74abf3SVladimir Lypak };
11570e74abf3SVladimir Lypak 
11580e74abf3SVladimir Lypak static const char * const nfc_dwl_groups[] = {
11590e74abf3SVladimir Lypak 	"gpio62",
11600e74abf3SVladimir Lypak };
11610e74abf3SVladimir Lypak 
11620e74abf3SVladimir Lypak static const char * const nfc_irq_groups[] = {
11630e74abf3SVladimir Lypak 	"gpio17",
11640e74abf3SVladimir Lypak };
11650e74abf3SVladimir Lypak 
11660e74abf3SVladimir Lypak static const char * const ois_sync_groups[] = {
11670e74abf3SVladimir Lypak 	"gpio36",
11680e74abf3SVladimir Lypak };
11690e74abf3SVladimir Lypak 
11700e74abf3SVladimir Lypak static const char * const pa_indicator_groups[] = {
11710e74abf3SVladimir Lypak 	"gpio112",
11720e74abf3SVladimir Lypak };
11730e74abf3SVladimir Lypak 
11740e74abf3SVladimir Lypak static const char * const pbs0_groups[] = {
11750e74abf3SVladimir Lypak 	"gpio85",
11760e74abf3SVladimir Lypak };
11770e74abf3SVladimir Lypak 
11780e74abf3SVladimir Lypak static const char * const pbs1_groups[] = {
11790e74abf3SVladimir Lypak 	"gpio86",
11800e74abf3SVladimir Lypak };
11810e74abf3SVladimir Lypak 
11820e74abf3SVladimir Lypak static const char * const pbs2_groups[] = {
11830e74abf3SVladimir Lypak 	"gpio87",
11840e74abf3SVladimir Lypak };
11850e74abf3SVladimir Lypak 
11860e74abf3SVladimir Lypak static const char * const pressure_int_groups[] = {
11870e74abf3SVladimir Lypak 	"gpio46",
11880e74abf3SVladimir Lypak };
11890e74abf3SVladimir Lypak 
11900e74abf3SVladimir Lypak static const char * const pri_mi2s_groups[] = {
11910e74abf3SVladimir Lypak 	"gpio66", "gpio88", "gpio91", "gpio93", "gpio94", "gpio95",
11920e74abf3SVladimir Lypak };
11930e74abf3SVladimir Lypak 
11940e74abf3SVladimir Lypak static const char * const pri_mi2s_mclk_a_groups[] = {
11950e74abf3SVladimir Lypak 	"gpio25",
11960e74abf3SVladimir Lypak };
11970e74abf3SVladimir Lypak 
11980e74abf3SVladimir Lypak static const char * const pri_mi2s_mclk_b_groups[] = {
11990e74abf3SVladimir Lypak 	"gpio69",
12000e74abf3SVladimir Lypak };
12010e74abf3SVladimir Lypak 
12020e74abf3SVladimir Lypak static const char * const pri_mi2s_ws_groups[] = {
12030e74abf3SVladimir Lypak 	"gpio92",
12040e74abf3SVladimir Lypak };
12050e74abf3SVladimir Lypak 
12060e74abf3SVladimir Lypak static const char * const prng_rosc_groups[] = {
12070e74abf3SVladimir Lypak 	"gpio2",
12080e74abf3SVladimir Lypak };
12090e74abf3SVladimir Lypak 
12100e74abf3SVladimir Lypak static const char * const pwr_crypto_enabled_a_groups[] = {
12110e74abf3SVladimir Lypak 	"gpio36",
12120e74abf3SVladimir Lypak };
12130e74abf3SVladimir Lypak 
12140e74abf3SVladimir Lypak static const char * const pwr_crypto_enabled_b_groups[] = {
12150e74abf3SVladimir Lypak 	"gpio13",
12160e74abf3SVladimir Lypak };
12170e74abf3SVladimir Lypak 
12180e74abf3SVladimir Lypak static const char * const pwr_down_groups[] = {
12190e74abf3SVladimir Lypak 	"gpio89",
12200e74abf3SVladimir Lypak };
12210e74abf3SVladimir Lypak 
12220e74abf3SVladimir Lypak static const char * const pwr_modem_enabled_a_groups[] = {
12230e74abf3SVladimir Lypak 	"gpio29",
12240e74abf3SVladimir Lypak };
12250e74abf3SVladimir Lypak 
12260e74abf3SVladimir Lypak static const char * const pwr_modem_enabled_b_groups[] = {
12270e74abf3SVladimir Lypak 	"gpio9",
12280e74abf3SVladimir Lypak };
12290e74abf3SVladimir Lypak 
12300e74abf3SVladimir Lypak static const char * const pwr_nav_enabled_a_groups[] = {
12310e74abf3SVladimir Lypak 	"gpio35",
12320e74abf3SVladimir Lypak };
12330e74abf3SVladimir Lypak 
12340e74abf3SVladimir Lypak static const char * const pwr_nav_enabled_b_groups[] = {
12350e74abf3SVladimir Lypak 	"gpio12",
12360e74abf3SVladimir Lypak };
12370e74abf3SVladimir Lypak 
12380e74abf3SVladimir Lypak static const char * const qdss_cti_trig_in_a0_groups[] = {
12390e74abf3SVladimir Lypak 	"gpio17",
12400e74abf3SVladimir Lypak };
12410e74abf3SVladimir Lypak 
12420e74abf3SVladimir Lypak static const char * const qdss_cti_trig_in_a1_groups[] = {
12430e74abf3SVladimir Lypak 	"gpio91",
12440e74abf3SVladimir Lypak };
12450e74abf3SVladimir Lypak 
12460e74abf3SVladimir Lypak static const char * const qdss_cti_trig_in_b0_groups[] = {
12470e74abf3SVladimir Lypak 	"gpio21",
12480e74abf3SVladimir Lypak };
12490e74abf3SVladimir Lypak 
12500e74abf3SVladimir Lypak static const char * const qdss_cti_trig_in_b1_groups[] = {
12510e74abf3SVladimir Lypak 	"gpio48",
12520e74abf3SVladimir Lypak };
12530e74abf3SVladimir Lypak 
12540e74abf3SVladimir Lypak static const char * const qdss_cti_trig_out_a0_groups[] = {
12550e74abf3SVladimir Lypak 	"gpio41",
12560e74abf3SVladimir Lypak };
12570e74abf3SVladimir Lypak 
12580e74abf3SVladimir Lypak static const char * const qdss_cti_trig_out_a1_groups[] = {
12590e74abf3SVladimir Lypak 	"gpio3",
12600e74abf3SVladimir Lypak };
12610e74abf3SVladimir Lypak 
12620e74abf3SVladimir Lypak static const char * const qdss_cti_trig_out_b0_groups[] = {
12630e74abf3SVladimir Lypak 	"gpio2",
12640e74abf3SVladimir Lypak };
12650e74abf3SVladimir Lypak 
12660e74abf3SVladimir Lypak static const char * const qdss_cti_trig_out_b1_groups[] = {
12670e74abf3SVladimir Lypak 	"gpio25",
12680e74abf3SVladimir Lypak };
12690e74abf3SVladimir Lypak 
12700e74abf3SVladimir Lypak static const char * const qdss_traceclk_a_groups[] = {
12710e74abf3SVladimir Lypak 	"gpio16",
12720e74abf3SVladimir Lypak };
12730e74abf3SVladimir Lypak 
12740e74abf3SVladimir Lypak static const char * const qdss_traceclk_b_groups[] = {
12750e74abf3SVladimir Lypak 	"gpio22",
12760e74abf3SVladimir Lypak };
12770e74abf3SVladimir Lypak 
12780e74abf3SVladimir Lypak static const char * const qdss_tracectl_a_groups[] = {
12790e74abf3SVladimir Lypak 	"gpio18",
12800e74abf3SVladimir Lypak };
12810e74abf3SVladimir Lypak 
12820e74abf3SVladimir Lypak static const char * const qdss_tracectl_b_groups[] = {
12830e74abf3SVladimir Lypak 	"gpio20",
12840e74abf3SVladimir Lypak };
12850e74abf3SVladimir Lypak 
12860e74abf3SVladimir Lypak static const char * const qdss_tracedata_a_groups[] = {
12870e74abf3SVladimir Lypak 	"gpio19", "gpio26", "gpio27", "gpio28", "gpio29", "gpio30", "gpio31",
12880e74abf3SVladimir Lypak 	"gpio32", "gpio33", "gpio34", "gpio35", "gpio36", "gpio38", "gpio39",
12890e74abf3SVladimir Lypak 	"gpio40", "gpio50",
12900e74abf3SVladimir Lypak };
12910e74abf3SVladimir Lypak 
12920e74abf3SVladimir Lypak static const char * const qdss_tracedata_b_groups[] = {
12930e74abf3SVladimir Lypak 	"gpio8", "gpio9", "gpio12", "gpio13", "gpio23", "gpio42", "gpio43",
12940e74abf3SVladimir Lypak 	"gpio44", "gpio45", "gpio46", "gpio47", "gpio66", "gpio86", "gpio87",
12950e74abf3SVladimir Lypak 	"gpio88", "gpio92",
12960e74abf3SVladimir Lypak };
12970e74abf3SVladimir Lypak 
12980e74abf3SVladimir Lypak static const char * const sd_write_groups[] = {
12990e74abf3SVladimir Lypak 	"gpio50",
13000e74abf3SVladimir Lypak };
13010e74abf3SVladimir Lypak 
13020e74abf3SVladimir Lypak static const char * const sdcard_det_groups[] = {
13030e74abf3SVladimir Lypak 	"gpio133",
13040e74abf3SVladimir Lypak };
13050e74abf3SVladimir Lypak 
13060e74abf3SVladimir Lypak static const char * const sec_mi2s_groups[] = {
13070e74abf3SVladimir Lypak 	"gpio135", "gpio136", "gpio137", "gpio138",
13080e74abf3SVladimir Lypak };
13090e74abf3SVladimir Lypak 
13100e74abf3SVladimir Lypak static const char * const sec_mi2s_mclk_a_groups[] = {
13110e74abf3SVladimir Lypak 	"gpio25",
13120e74abf3SVladimir Lypak };
13130e74abf3SVladimir Lypak 
13140e74abf3SVladimir Lypak static const char * const sec_mi2s_mclk_b_groups[] = {
13150e74abf3SVladimir Lypak 	"gpio66",
13160e74abf3SVladimir Lypak };
13170e74abf3SVladimir Lypak 
13180e74abf3SVladimir Lypak static const char * const smb_int_groups[] = {
13190e74abf3SVladimir Lypak 	"gpio1",
13200e74abf3SVladimir Lypak };
13210e74abf3SVladimir Lypak 
13220e74abf3SVladimir Lypak static const char * const ss_switch_groups[] = {
13230e74abf3SVladimir Lypak 	"gpio139",
13240e74abf3SVladimir Lypak };
13250e74abf3SVladimir Lypak 
13260e74abf3SVladimir Lypak static const char * const ssbi_wtr1_groups[] = {
13270e74abf3SVladimir Lypak 	"gpio114", "gpio123",
13280e74abf3SVladimir Lypak };
13290e74abf3SVladimir Lypak 
13300e74abf3SVladimir Lypak static const char * const ts_resout_groups[] = {
13310e74abf3SVladimir Lypak 	"gpio64",
13320e74abf3SVladimir Lypak };
13330e74abf3SVladimir Lypak 
13340e74abf3SVladimir Lypak static const char * const ts_sample_groups[] = {
13350e74abf3SVladimir Lypak 	"gpio65",
13360e74abf3SVladimir Lypak };
13370e74abf3SVladimir Lypak 
13380e74abf3SVladimir Lypak static const char * const ts_xvdd_groups[] = {
13390e74abf3SVladimir Lypak 	"gpio60",
13400e74abf3SVladimir Lypak };
13410e74abf3SVladimir Lypak 
13420e74abf3SVladimir Lypak static const char * const tsens_max_groups[] = {
13430e74abf3SVladimir Lypak 	"gpio139",
13440e74abf3SVladimir Lypak };
13450e74abf3SVladimir Lypak 
13460e74abf3SVladimir Lypak static const char * const uim1_clk_groups[] = {
13470e74abf3SVladimir Lypak 	"gpio52",
13480e74abf3SVladimir Lypak };
13490e74abf3SVladimir Lypak 
13500e74abf3SVladimir Lypak static const char * const uim1_data_groups[] = {
13510e74abf3SVladimir Lypak 	"gpio51",
13520e74abf3SVladimir Lypak };
13530e74abf3SVladimir Lypak 
13540e74abf3SVladimir Lypak static const char * const uim1_present_groups[] = {
13550e74abf3SVladimir Lypak 	"gpio54",
13560e74abf3SVladimir Lypak };
13570e74abf3SVladimir Lypak 
13580e74abf3SVladimir Lypak static const char * const uim1_reset_groups[] = {
13590e74abf3SVladimir Lypak 	"gpio53",
13600e74abf3SVladimir Lypak };
13610e74abf3SVladimir Lypak 
13620e74abf3SVladimir Lypak static const char * const uim2_clk_groups[] = {
13630e74abf3SVladimir Lypak 	"gpio56",
13640e74abf3SVladimir Lypak };
13650e74abf3SVladimir Lypak 
13660e74abf3SVladimir Lypak static const char * const uim2_data_groups[] = {
13670e74abf3SVladimir Lypak 	"gpio55",
13680e74abf3SVladimir Lypak };
13690e74abf3SVladimir Lypak 
13700e74abf3SVladimir Lypak static const char * const uim2_present_groups[] = {
13710e74abf3SVladimir Lypak 	"gpio58",
13720e74abf3SVladimir Lypak };
13730e74abf3SVladimir Lypak 
13740e74abf3SVladimir Lypak static const char * const uim2_reset_groups[] = {
13750e74abf3SVladimir Lypak 	"gpio57",
13760e74abf3SVladimir Lypak };
13770e74abf3SVladimir Lypak 
13780e74abf3SVladimir Lypak static const char * const uim_batt_groups[] = {
13790e74abf3SVladimir Lypak 	"gpio49",
13800e74abf3SVladimir Lypak };
13810e74abf3SVladimir Lypak 
13820e74abf3SVladimir Lypak static const char * const us_emitter_groups[] = {
13830e74abf3SVladimir Lypak 	"gpio68",
13840e74abf3SVladimir Lypak };
13850e74abf3SVladimir Lypak 
13860e74abf3SVladimir Lypak static const char * const us_euro_groups[] = {
13870e74abf3SVladimir Lypak 	"gpio63",
13880e74abf3SVladimir Lypak };
13890e74abf3SVladimir Lypak 
13900e74abf3SVladimir Lypak static const char * const wcss_bt_groups[] = {
13910e74abf3SVladimir Lypak 	"gpio75", "gpio83", "gpio84",
13920e74abf3SVladimir Lypak };
13930e74abf3SVladimir Lypak 
13940e74abf3SVladimir Lypak static const char * const wcss_fm_groups[] = {
13950e74abf3SVladimir Lypak 	"gpio81", "gpio82",
13960e74abf3SVladimir Lypak };
13970e74abf3SVladimir Lypak 
13980e74abf3SVladimir Lypak static const char * const wcss_wlan0_groups[] = {
13990e74abf3SVladimir Lypak 	"gpio78",
14000e74abf3SVladimir Lypak };
14010e74abf3SVladimir Lypak 
14020e74abf3SVladimir Lypak static const char * const wcss_wlan1_groups[] = {
14030e74abf3SVladimir Lypak 	"gpio77",
14040e74abf3SVladimir Lypak };
14050e74abf3SVladimir Lypak 
14060e74abf3SVladimir Lypak static const char * const wcss_wlan2_groups[] = {
14070e74abf3SVladimir Lypak 	"gpio76",
14080e74abf3SVladimir Lypak };
14090e74abf3SVladimir Lypak 
14100e74abf3SVladimir Lypak static const char * const wcss_wlan_groups[] = {
14110e74abf3SVladimir Lypak 	"gpio79", "gpio80",
14120e74abf3SVladimir Lypak };
14130e74abf3SVladimir Lypak 
14140e74abf3SVladimir Lypak static const char * const wsa_en_groups[] = {
14150e74abf3SVladimir Lypak 	"gpio96",
14160e74abf3SVladimir Lypak };
14170e74abf3SVladimir Lypak 
14180e74abf3SVladimir Lypak static const char * const wsa_io_groups[] = {
14190e74abf3SVladimir Lypak 	"gpio94", "gpio95",
14200e74abf3SVladimir Lypak };
14210e74abf3SVladimir Lypak 
14220e74abf3SVladimir Lypak static const char * const wsa_irq_groups[] = {
14230e74abf3SVladimir Lypak 	"gpio97",
14240e74abf3SVladimir Lypak };
14250e74abf3SVladimir Lypak 
1426c7a291dbSRohit Agarwal static const struct pinfunction msm8953_functions[] = {
1427c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(accel_int),
1428c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(adsp_ext),
1429c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(alsp_int),
1430c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(atest_bbrx0),
1431c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(atest_bbrx1),
1432c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(atest_char),
1433c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(atest_char0),
1434c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(atest_char1),
1435c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(atest_char2),
1436c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(atest_char3),
1437c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(atest_gpsadc_dtest0_native),
1438c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(atest_gpsadc_dtest1_native),
1439c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(atest_tsens),
1440c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(atest_wlan0),
1441c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(atest_wlan1),
1442c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(bimc_dte0),
1443c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(bimc_dte1),
1444c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(blsp1_spi),
1445c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(blsp3_spi),
1446c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(blsp6_spi),
1447c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(blsp7_spi),
1448c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(blsp_i2c1),
1449c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(blsp_i2c2),
1450c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(blsp_i2c3),
1451c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(blsp_i2c4),
1452c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(blsp_i2c5),
1453c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(blsp_i2c6),
1454c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(blsp_i2c7),
1455c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(blsp_i2c8),
1456c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(blsp_spi1),
1457c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(blsp_spi2),
1458c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(blsp_spi3),
1459c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(blsp_spi4),
1460c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(blsp_spi5),
1461c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(blsp_spi6),
1462c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(blsp_spi7),
1463c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(blsp_spi8),
1464c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(blsp_uart2),
1465c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(blsp_uart4),
1466c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(blsp_uart5),
1467c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(blsp_uart6),
1468c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(cam0_ldo),
1469c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(cam1_ldo),
1470c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(cam1_rst),
1471c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(cam1_standby),
1472c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(cam2_rst),
1473c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(cam2_standby),
1474c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(cam3_rst),
1475c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(cam3_standby),
1476c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(cam_irq),
1477c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(cam_mclk),
1478c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(cap_int),
1479c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(cci_async),
1480c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(cci_i2c),
1481c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(cci_timer0),
1482c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(cci_timer1),
1483c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(cci_timer2),
1484c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(cci_timer3),
1485c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(cci_timer4),
1486c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(cdc_pdm0),
1487c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(codec_int1),
1488c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(codec_int2),
1489c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(codec_reset),
1490c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(cri_trng),
1491c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(cri_trng0),
1492c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(cri_trng1),
1493c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(dac_calib0),
1494c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(dac_calib1),
1495c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(dac_calib10),
1496c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(dac_calib11),
1497c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(dac_calib12),
1498c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(dac_calib13),
1499c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(dac_calib14),
1500c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(dac_calib15),
1501c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(dac_calib16),
1502c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(dac_calib17),
1503c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(dac_calib18),
1504c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(dac_calib19),
1505c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(dac_calib2),
1506c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(dac_calib20),
1507c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(dac_calib21),
1508c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(dac_calib22),
1509c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(dac_calib23),
1510c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(dac_calib24),
1511c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(dac_calib25),
1512c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(dac_calib3),
1513c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(dac_calib4),
1514c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(dac_calib5),
1515c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(dac_calib6),
1516c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(dac_calib7),
1517c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(dac_calib8),
1518c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(dac_calib9),
1519c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(dbg_out),
1520c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(ddr_bist),
1521c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(dmic0_clk),
1522c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(dmic0_data),
1523c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(ebi_cdc),
1524c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(ebi_ch0),
1525c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(ext_lpass),
1526c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(flash_strobe),
1527c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(fp_int),
1528c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(gcc_gp1_clk_a),
1529c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(gcc_gp1_clk_b),
1530c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(gcc_gp2_clk_a),
1531c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(gcc_gp2_clk_b),
1532c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(gcc_gp3_clk_a),
1533c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(gcc_gp3_clk_b),
1534c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(gcc_plltest),
1535c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(gcc_tlmm),
1536c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(gpio),
1537c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(gsm0_tx),
1538c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(gsm1_tx),
1539c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(gyro_int),
1540c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(hall_int),
1541c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(hdmi_int),
1542c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(key_focus),
1543c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(key_home),
1544c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(key_snapshot),
1545c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(key_volp),
1546c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(ldo_en),
1547c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(ldo_update),
1548c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(lpass_slimbus),
1549c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(lpass_slimbus0),
1550c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(lpass_slimbus1),
1551c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(m_voc),
1552c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(mag_int),
1553c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(mdp_vsync),
1554c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(mipi_dsi0),
1555c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(modem_tsync),
1556c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(mss_lte),
1557c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(nav_pps),
1558c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(nav_pps_in_a),
1559c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(nav_pps_in_b),
1560c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(nav_tsync),
1561c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(nfc_disable),
1562c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(nfc_dwl),
1563c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(nfc_irq),
1564c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(ois_sync),
1565c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(pa_indicator),
1566c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(pbs0),
1567c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(pbs1),
1568c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(pbs2),
1569c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(pressure_int),
1570c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(pri_mi2s),
1571c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(pri_mi2s_mclk_a),
1572c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(pri_mi2s_mclk_b),
1573c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(pri_mi2s_ws),
1574c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(prng_rosc),
1575c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(pwr_crypto_enabled_a),
1576c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(pwr_crypto_enabled_b),
1577c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(pwr_down),
1578c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(pwr_modem_enabled_a),
1579c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(pwr_modem_enabled_b),
1580c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(pwr_nav_enabled_a),
1581c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(pwr_nav_enabled_b),
1582c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(qdss_cti_trig_in_a0),
1583c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(qdss_cti_trig_in_a1),
1584c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(qdss_cti_trig_in_b0),
1585c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(qdss_cti_trig_in_b1),
1586c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(qdss_cti_trig_out_a0),
1587c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(qdss_cti_trig_out_a1),
1588c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(qdss_cti_trig_out_b0),
1589c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(qdss_cti_trig_out_b1),
1590c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(qdss_traceclk_a),
1591c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(qdss_traceclk_b),
1592c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(qdss_tracectl_a),
1593c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(qdss_tracectl_b),
1594c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(qdss_tracedata_a),
1595c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(qdss_tracedata_b),
1596c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(sd_write),
1597c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(sdcard_det),
1598c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(sec_mi2s),
1599c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(sec_mi2s_mclk_a),
1600c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(sec_mi2s_mclk_b),
1601c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(smb_int),
1602c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(ss_switch),
1603c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(ssbi_wtr1),
1604c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(ts_resout),
1605c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(ts_sample),
1606c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(ts_xvdd),
1607c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(tsens_max),
1608c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(uim1_clk),
1609c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(uim1_data),
1610c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(uim1_present),
1611c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(uim1_reset),
1612c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(uim2_clk),
1613c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(uim2_data),
1614c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(uim2_present),
1615c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(uim2_reset),
1616c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(uim_batt),
1617c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(us_emitter),
1618c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(us_euro),
1619c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(wcss_bt),
1620c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(wcss_fm),
1621c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(wcss_wlan),
1622c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(wcss_wlan0),
1623c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(wcss_wlan1),
1624c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(wcss_wlan2),
1625c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(wsa_en),
1626c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(wsa_io),
1627c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(wsa_irq),
16280e74abf3SVladimir Lypak };
16290e74abf3SVladimir Lypak 
16300e74abf3SVladimir Lypak static const struct msm_pingroup msm8953_groups[] = {
16310e74abf3SVladimir Lypak 	PINGROUP(0, blsp_spi1, _, _, _, _, _, _, _, _),
16320e74abf3SVladimir Lypak 	PINGROUP(1, blsp_spi1, adsp_ext, _, _, _, _, _, _, _),
16330e74abf3SVladimir Lypak 	PINGROUP(2, blsp_spi1, blsp_i2c1, prng_rosc, _, _, _, qdss_cti_trig_out_b0, _, _),
16340e74abf3SVladimir Lypak 	PINGROUP(3, blsp_spi1, blsp_i2c1, _, _, _, qdss_cti_trig_out_a1, _, _, _),
16350e74abf3SVladimir Lypak 	PINGROUP(4, blsp_spi2, blsp_uart2, ldo_update, _, dac_calib0, _, _, _, _),
16360e74abf3SVladimir Lypak 	PINGROUP(5, blsp_spi2, blsp_uart2, ldo_en, _, _, _, _, _, _),
16370e74abf3SVladimir Lypak 	PINGROUP(6, blsp_spi2, blsp_uart2, blsp_i2c2, gcc_gp1_clk_b, _, _, _, _, _),
16380e74abf3SVladimir Lypak 	PINGROUP(7, blsp_spi2, blsp_uart2, blsp_i2c2, _, atest_gpsadc_dtest0_native, _, _, _, _),
16390e74abf3SVladimir Lypak 	PINGROUP(8, blsp_spi3, _, _, qdss_tracedata_b, _, _, _, _, _),
16400e74abf3SVladimir Lypak 	PINGROUP(9, blsp_spi3, pwr_modem_enabled_b, _, _, qdss_tracedata_b, _, _, _, _),
16410e74abf3SVladimir Lypak 	PINGROUP(10, blsp_spi3, blsp_i2c3, gcc_gp2_clk_b, _, _, _, _, _, _),
16420e74abf3SVladimir Lypak 	PINGROUP(11, blsp_spi3, blsp_i2c3, gcc_gp3_clk_b, _, _, _, _, _, _),
16430e74abf3SVladimir Lypak 	PINGROUP(12, blsp_spi4, blsp_uart4, pwr_nav_enabled_b, _, _,
16440e74abf3SVladimir Lypak 		 qdss_tracedata_b, _, dac_calib1, _),
16450e74abf3SVladimir Lypak 	PINGROUP(13, blsp_spi4, blsp_uart4, pwr_crypto_enabled_b, _, _, _,
16460e74abf3SVladimir Lypak 		 qdss_tracedata_b, _, dac_calib2),
16470e74abf3SVladimir Lypak 	PINGROUP(14, blsp_spi4, blsp_uart4, blsp_i2c4, _, _, _, _, _, _),
16480e74abf3SVladimir Lypak 	PINGROUP(15, blsp_spi4, blsp_uart4, blsp_i2c4, _, _, _, _, _, _),
16490e74abf3SVladimir Lypak 	PINGROUP(16, blsp_spi5, blsp_uart5, _, _, qdss_traceclk_a, _, atest_bbrx1, _, _),
16500e74abf3SVladimir Lypak 	PINGROUP(17, blsp_spi5, blsp_uart5, m_voc, qdss_cti_trig_in_a0, _, atest_bbrx0, _, _, _),
16510e74abf3SVladimir Lypak 	PINGROUP(18, blsp_spi5, blsp_uart5, blsp_i2c5,
16520e74abf3SVladimir Lypak 		 qdss_tracectl_a, _, atest_gpsadc_dtest1_native, _, _, _),
16530e74abf3SVladimir Lypak 	PINGROUP(19, blsp_spi5, blsp_uart5, blsp_i2c5, qdss_tracedata_a, _, _, _, _, _),
16540e74abf3SVladimir Lypak 	PINGROUP(20, blsp_spi6, blsp_uart6, _, _, _, qdss_tracectl_b, _, dac_calib15, _),
16550e74abf3SVladimir Lypak 	PINGROUP(21, blsp_spi6, blsp_uart6, m_voc, _, _, _, qdss_cti_trig_in_b0, _, dac_calib16),
16560e74abf3SVladimir Lypak 	PINGROUP(22, blsp_spi6, blsp_uart6, blsp_i2c6, qdss_traceclk_b, _, atest_wlan0, _, _, _),
16570e74abf3SVladimir Lypak 	PINGROUP(23, blsp_spi6, blsp_uart6, blsp_i2c6, qdss_tracedata_b, _, atest_wlan1, _, _, _),
16580e74abf3SVladimir Lypak 	PINGROUP(24, mdp_vsync, _, _, _, _, _, _, _, _),
16590e74abf3SVladimir Lypak 	PINGROUP(25, mdp_vsync, pri_mi2s_mclk_a, sec_mi2s_mclk_a,
16600e74abf3SVladimir Lypak 		 qdss_cti_trig_out_b1, _, _, _, _, _),
16610e74abf3SVladimir Lypak 	PINGROUP(26, cam_mclk, _, _, _, qdss_tracedata_a, _, _, _, _),
16620e74abf3SVladimir Lypak 	PINGROUP(27, cam_mclk, _, _, _, qdss_tracedata_a, _, _, _, _),
16630e74abf3SVladimir Lypak 	PINGROUP(28, cam_mclk, _, _, _, qdss_tracedata_a, _, dac_calib3, _, _),
16640e74abf3SVladimir Lypak 	PINGROUP(29, cci_i2c, pwr_modem_enabled_a, _, _, _, qdss_tracedata_a, _, dac_calib4, _),
16650e74abf3SVladimir Lypak 	PINGROUP(30, cci_i2c, _, _, _, qdss_tracedata_a, _, dac_calib19, _, _),
16660e74abf3SVladimir Lypak 	PINGROUP(31, cci_i2c, _, _, _, qdss_tracedata_a, _, _, _, _),
16670e74abf3SVladimir Lypak 	PINGROUP(32, cci_i2c, _, _, _, qdss_tracedata_a, _, _, _, _),
16680e74abf3SVladimir Lypak 	PINGROUP(33, cci_timer0, _, _, _, _, qdss_tracedata_a, _, _, _),
16690e74abf3SVladimir Lypak 	PINGROUP(34, cci_timer1, _, _, _, _, qdss_tracedata_a, _, _, _),
16700e74abf3SVladimir Lypak 	PINGROUP(35, cci_timer2, blsp1_spi, pwr_nav_enabled_a, _, _, _, qdss_tracedata_a, _, _),
16710e74abf3SVladimir Lypak 	PINGROUP(36, cci_timer3, blsp1_spi, _, pwr_crypto_enabled_a, _, _, _, qdss_tracedata_a, _),
16720e74abf3SVladimir Lypak 	PINGROUP(37, _, _, _, _, _, _, _, _, _),
16730e74abf3SVladimir Lypak 	PINGROUP(38, cci_async, _, qdss_tracedata_a, _, _, _, _, _, _),
16740e74abf3SVladimir Lypak 	PINGROUP(39, _, _, _, qdss_tracedata_a, _, dac_calib5, _, _, _),
16750e74abf3SVladimir Lypak 	PINGROUP(40, _, _, qdss_tracedata_a, _, dac_calib6, _, _, _, _),
16760e74abf3SVladimir Lypak 	PINGROUP(41, cci_timer4, blsp3_spi, gcc_gp1_clk_b, _, _,
16770e74abf3SVladimir Lypak 		 qdss_cti_trig_out_a0, _, dac_calib7, _),
16780e74abf3SVladimir Lypak 	PINGROUP(42, gcc_gp1_clk_a, qdss_tracedata_b, _, dac_calib8, _, _, _, _, _),
16790e74abf3SVladimir Lypak 	PINGROUP(43, gcc_gp2_clk_a, qdss_tracedata_b, _, dac_calib9, _, _, _, _, _),
16800e74abf3SVladimir Lypak 	PINGROUP(44, gcc_gp3_clk_a, qdss_tracedata_b, _, dac_calib10, _, _, _, _, _),
16810e74abf3SVladimir Lypak 	PINGROUP(45, _, qdss_tracedata_b, _, dac_calib11, _, _, _, _, _),
16820e74abf3SVladimir Lypak 	PINGROUP(46, qdss_tracedata_b, _, dac_calib12, _, _, _, _, _, _),
16830e74abf3SVladimir Lypak 	PINGROUP(47, blsp6_spi, qdss_tracedata_b, _, dac_calib13, _, _, _, _, _),
16840e74abf3SVladimir Lypak 	PINGROUP(48, blsp6_spi, _, qdss_cti_trig_in_b1, _, dac_calib14, _, _, _, _),
16850e74abf3SVladimir Lypak 	PINGROUP(49, uim_batt, _, _, _, _, _, _, _, _),
16860e74abf3SVladimir Lypak 	PINGROUP(50, blsp3_spi, sd_write, _, _, _, qdss_tracedata_a, _, _, _),
16870e74abf3SVladimir Lypak 	PINGROUP(51, uim1_data, _, _, _, _, _, _, _, _),
16880e74abf3SVladimir Lypak 	PINGROUP(52, uim1_clk, _, _, _, _, _, _, _, _),
16890e74abf3SVladimir Lypak 	PINGROUP(53, uim1_reset, _, _, _, _, _, _, _, _),
16900e74abf3SVladimir Lypak 	PINGROUP(54, uim1_present, _, _, _, _, _, _, _, _),
16910e74abf3SVladimir Lypak 	PINGROUP(55, uim2_data, _, _, _, _, _, _, _, _),
16920e74abf3SVladimir Lypak 	PINGROUP(56, uim2_clk, _, _, _, _, _, _, _, _),
16930e74abf3SVladimir Lypak 	PINGROUP(57, uim2_reset, _, _, _, _, _, _, _, _),
16940e74abf3SVladimir Lypak 	PINGROUP(58, uim2_present, _, _, _, _, _, _, _, _),
16950e74abf3SVladimir Lypak 	PINGROUP(59, _, _, _, _, _, _, _, _, _),
16960e74abf3SVladimir Lypak 	PINGROUP(60, _, _, _, _, _, _, _, _, _),
16970e74abf3SVladimir Lypak 	PINGROUP(61, _, _, _, _, _, _, _, _, _),
16980e74abf3SVladimir Lypak 	PINGROUP(62, _, _, _, _, _, _, _, _, _),
16990e74abf3SVladimir Lypak 	PINGROUP(63, atest_char3, dbg_out, bimc_dte0, _, _, _, _, _, _),
17000e74abf3SVladimir Lypak 	PINGROUP(64, _, _, _, _, _, _, _, _, _),
17010e74abf3SVladimir Lypak 	PINGROUP(65, bimc_dte0, _, _, _, _, _, _, _, _),
17020e74abf3SVladimir Lypak 	PINGROUP(66, sec_mi2s_mclk_b, pri_mi2s, _, qdss_tracedata_b, _, _, _, _, _),
17030e74abf3SVladimir Lypak 	PINGROUP(67, cdc_pdm0, atest_char1, ebi_cdc, _, dac_calib17, _, _, _, _),
17040e74abf3SVladimir Lypak 	PINGROUP(68, cdc_pdm0, atest_char0, _, _, _, _, _, _, _),
17050e74abf3SVladimir Lypak 	PINGROUP(69, cdc_pdm0, pri_mi2s_mclk_b, ebi_cdc, _, _, _, _, _, _),
17060e74abf3SVladimir Lypak 	PINGROUP(70, lpass_slimbus, cdc_pdm0, _, _, _, _, _, _, _),
17070e74abf3SVladimir Lypak 	PINGROUP(71, lpass_slimbus0, cdc_pdm0, _, _, _, _, _, _, _),
17080e74abf3SVladimir Lypak 	PINGROUP(72, lpass_slimbus1, cdc_pdm0, _, _, _, _, _, _, _),
17090e74abf3SVladimir Lypak 	PINGROUP(73, cdc_pdm0, _, _, _, _, _, _, _, _),
17100e74abf3SVladimir Lypak 	PINGROUP(74, cdc_pdm0, _, _, _, _, _, _, _, _),
17110e74abf3SVladimir Lypak 	PINGROUP(75, wcss_bt, atest_char2, _, ebi_ch0, _, _, _, _, _),
17120e74abf3SVladimir Lypak 	PINGROUP(76, wcss_wlan2, _, _, _, _, _, _, _, _),
17130e74abf3SVladimir Lypak 	PINGROUP(77, wcss_wlan1, _, _, _, _, _, _, _, _),
17140e74abf3SVladimir Lypak 	PINGROUP(78, wcss_wlan0, _, _, _, _, _, _, _, _),
17150e74abf3SVladimir Lypak 	PINGROUP(79, wcss_wlan, _, _, _, _, _, _, _, _),
17160e74abf3SVladimir Lypak 	PINGROUP(80, wcss_wlan, _, _, _, _, _, _, _, _),
17170e74abf3SVladimir Lypak 	PINGROUP(81, wcss_fm, ext_lpass, _, _, _, _, _, _, _),
17180e74abf3SVladimir Lypak 	PINGROUP(82, wcss_fm, mss_lte, _, _, _, _, _, _, _),
17190e74abf3SVladimir Lypak 	PINGROUP(83, wcss_bt, mss_lte, _, _, _, _, _, _, _),
17200e74abf3SVladimir Lypak 	PINGROUP(84, wcss_bt, _, _, _, _, _, _, _, _),
17210e74abf3SVladimir Lypak 	PINGROUP(85, pbs0, cri_trng0, _, _, _, _, _, _, _),
17220e74abf3SVladimir Lypak 	PINGROUP(86, pbs1, cri_trng1, qdss_tracedata_b, _, _, _, _, _, _),
17230e74abf3SVladimir Lypak 	PINGROUP(87, pbs2, cri_trng, qdss_tracedata_b, gcc_tlmm, _, _, _, _, _),
17240e74abf3SVladimir Lypak 	PINGROUP(88, pri_mi2s, _, _, _, qdss_tracedata_b, _, _, _, _),
17250e74abf3SVladimir Lypak 	PINGROUP(89, dmic0_clk, blsp7_spi, _, _, _, _, _, _, _),
17260e74abf3SVladimir Lypak 	PINGROUP(90, dmic0_data, blsp7_spi, _, _, _, _, _, _, _),
17270e74abf3SVladimir Lypak 	PINGROUP(91, pri_mi2s, _, _, _, qdss_cti_trig_in_a1, _, _, _, _),
17280e74abf3SVladimir Lypak 	PINGROUP(92, pri_mi2s_ws, _, _, _, qdss_tracedata_b, _, _, _, _),
17290e74abf3SVladimir Lypak 	PINGROUP(93, pri_mi2s, _, _, _, _, _, _, _, _),
17300e74abf3SVladimir Lypak 	PINGROUP(94, wsa_io, pri_mi2s, _, _, _, _, _, _, _),
17310e74abf3SVladimir Lypak 	PINGROUP(95, wsa_io, pri_mi2s, _, _, _, _, _, _, _),
17320e74abf3SVladimir Lypak 	PINGROUP(96, blsp_spi8, _, _, _, _, _, _, _, _),
17330e74abf3SVladimir Lypak 	PINGROUP(97, blsp_spi8, _, _, _, _, _, _, _, _),
17340e74abf3SVladimir Lypak 	PINGROUP(98, blsp_i2c8, blsp_spi8, gcc_plltest, _, _, _, _, _, _),
17350e74abf3SVladimir Lypak 	PINGROUP(99, blsp_i2c8, blsp_spi8, gcc_plltest, _, _, _, _, _, _),
17360e74abf3SVladimir Lypak 	PINGROUP(100, _, _, _, _, _, _, _, _, _),
17370e74abf3SVladimir Lypak 	PINGROUP(101, _, _, _, _, _, _, _, _, _),
17380e74abf3SVladimir Lypak 	PINGROUP(102, _, _, _, _, _, _, _, _, _),
17390e74abf3SVladimir Lypak 	PINGROUP(103, _, _, _, _, _, _, _, _, _),
17400e74abf3SVladimir Lypak 	PINGROUP(104, _, _, _, _, _, _, _, _, _),
17410e74abf3SVladimir Lypak 	PINGROUP(105, _, _, _, _, _, _, _, _, _),
17420e74abf3SVladimir Lypak 	PINGROUP(106, _, _, _, _, _, _, _, _, _),
17430e74abf3SVladimir Lypak 	PINGROUP(107, _, _, _, _, _, _, _, _, _),
17440e74abf3SVladimir Lypak 	PINGROUP(108, _, _, _, _, _, _, _, _, _),
17450e74abf3SVladimir Lypak 	PINGROUP(109, _, _, _, _, _, _, _, _, _),
17460e74abf3SVladimir Lypak 	PINGROUP(110, _, _, _, _, _, _, _, _, _),
17470e74abf3SVladimir Lypak 	PINGROUP(111, _, _, nav_pps_in_a, _, _, _, _, _, _),
17480e74abf3SVladimir Lypak 	PINGROUP(112, _, pa_indicator, _, _, _, _, _, _, _),
17490e74abf3SVladimir Lypak 	PINGROUP(113, _, nav_pps_in_b, nav_pps, modem_tsync, nav_tsync, _, _, _, _),
17500e74abf3SVladimir Lypak 	PINGROUP(114, _, ssbi_wtr1, _, _, _, _, _, _, _),
17510e74abf3SVladimir Lypak 	PINGROUP(115, _, gsm1_tx, _, dac_calib18, _, _, _, _, _),
17520e74abf3SVladimir Lypak 	PINGROUP(116, _, _, _, _, _, _, _, _, _),
17530e74abf3SVladimir Lypak 	PINGROUP(117, gsm0_tx, _, _, _, _, _, _, _, _),
17540e74abf3SVladimir Lypak 	PINGROUP(118, _, ebi_cdc, _, _, _, _, _, _, _),
17550e74abf3SVladimir Lypak 	PINGROUP(119, _, ebi_cdc, _, _, _, _, _, _, _),
17560e74abf3SVladimir Lypak 	PINGROUP(120, _, atest_char, ebi_cdc, _, atest_tsens, _, _, _, _),
17570e74abf3SVladimir Lypak 	PINGROUP(121, _, _, _, bimc_dte1, _, _, _, _, _),
17580e74abf3SVladimir Lypak 	PINGROUP(122, _, _, _, bimc_dte1, _, _, _, _, _),
17590e74abf3SVladimir Lypak 	PINGROUP(123, _, ssbi_wtr1, ebi_cdc, _, _, _, _, _, _),
17600e74abf3SVladimir Lypak 	PINGROUP(124, _, _, _, _, _, _, _, _, _),
17610e74abf3SVladimir Lypak 	PINGROUP(125, _, _, _, _, _, _, _, _, _),
17620e74abf3SVladimir Lypak 	PINGROUP(126, _, _, _, _, _, _, _, _, _),
17630e74abf3SVladimir Lypak 	PINGROUP(127, _, _, _, _, _, _, _, _, _),
17640e74abf3SVladimir Lypak 	PINGROUP(128, cam_mclk, _, dac_calib20, _, _, _, _, _, _),
17650e74abf3SVladimir Lypak 	PINGROUP(129, ddr_bist, _, dac_calib21, _, _, _, _, _, _),
17660e74abf3SVladimir Lypak 	PINGROUP(130, ddr_bist, _, dac_calib22, _, _, _, _, _, _),
17670e74abf3SVladimir Lypak 	PINGROUP(131, ddr_bist, _, dac_calib23, _, _, _, _, _, _),
17680e74abf3SVladimir Lypak 	PINGROUP(132, ddr_bist, _, dac_calib24, _, _, _, _, _, _),
17690e74abf3SVladimir Lypak 	PINGROUP(133, _, dac_calib25, _, _, _, _, _, _, _),
17700e74abf3SVladimir Lypak 	PINGROUP(134, _, _, _, _, _, _, _, _, _),
17710e74abf3SVladimir Lypak 	PINGROUP(135, sec_mi2s, blsp_spi7, blsp_i2c7, _, _, _, _, _, _),
17720e74abf3SVladimir Lypak 	PINGROUP(136, sec_mi2s, blsp_spi7, blsp_i2c7, _, _, _, _, _, _),
17730e74abf3SVladimir Lypak 	PINGROUP(137, sec_mi2s, blsp_spi7, _, _, _, _, _, _, _),
17740e74abf3SVladimir Lypak 	PINGROUP(138, sec_mi2s, blsp_spi7, _, _, _, _, _, _, _),
17750e74abf3SVladimir Lypak 	PINGROUP(139, tsens_max, _, _, _, _, _, _, _, _),
17760e74abf3SVladimir Lypak 	PINGROUP(140, _, _, _, _, _, _, _, _, _),
17770e74abf3SVladimir Lypak 	PINGROUP(141, _, _, _, _, _, _, _, _, _),
17780e74abf3SVladimir Lypak 	SDC_QDSD_PINGROUP(qdsd_clk, 0x19c000, 3, 0),
17790e74abf3SVladimir Lypak 	SDC_QDSD_PINGROUP(qdsd_cmd, 0x19c000, 8, 5),
17800e74abf3SVladimir Lypak 	SDC_QDSD_PINGROUP(qdsd_data0, 0x19c000, 13, 10),
17810e74abf3SVladimir Lypak 	SDC_QDSD_PINGROUP(qdsd_data1, 0x19c000, 18, 15),
17820e74abf3SVladimir Lypak 	SDC_QDSD_PINGROUP(qdsd_data2, 0x19c000, 23, 20),
17830e74abf3SVladimir Lypak 	SDC_QDSD_PINGROUP(qdsd_data3, 0x19c000, 28, 25),
17840e74abf3SVladimir Lypak 	SDC_QDSD_PINGROUP(sdc1_clk, 0x10a000, 13, 6),
17850e74abf3SVladimir Lypak 	SDC_QDSD_PINGROUP(sdc1_cmd, 0x10a000, 11, 3),
17860e74abf3SVladimir Lypak 	SDC_QDSD_PINGROUP(sdc1_data, 0x10a000, 9, 0),
17870e74abf3SVladimir Lypak 	SDC_QDSD_PINGROUP(sdc1_rclk, 0x10a000, 15, 0),
17880e74abf3SVladimir Lypak 	SDC_QDSD_PINGROUP(sdc2_clk, 0x109000, 14, 6),
17890e74abf3SVladimir Lypak 	SDC_QDSD_PINGROUP(sdc2_cmd, 0x109000, 11, 3),
17900e74abf3SVladimir Lypak 	SDC_QDSD_PINGROUP(sdc2_data, 0x109000, 9, 0),
17910e74abf3SVladimir Lypak };
17920e74abf3SVladimir Lypak 
17930e74abf3SVladimir Lypak static const struct msm_pinctrl_soc_data msm8953_pinctrl = {
17940e74abf3SVladimir Lypak 	.pins = msm8953_pins,
17950e74abf3SVladimir Lypak 	.npins = ARRAY_SIZE(msm8953_pins),
17960e74abf3SVladimir Lypak 	.functions = msm8953_functions,
17970e74abf3SVladimir Lypak 	.nfunctions = ARRAY_SIZE(msm8953_functions),
17980e74abf3SVladimir Lypak 	.groups = msm8953_groups,
17990e74abf3SVladimir Lypak 	.ngroups = ARRAY_SIZE(msm8953_groups),
18000e74abf3SVladimir Lypak 	.ngpios = 142,
18010e74abf3SVladimir Lypak };
18020e74abf3SVladimir Lypak 
msm8953_pinctrl_probe(struct platform_device * pdev)18030e74abf3SVladimir Lypak static int msm8953_pinctrl_probe(struct platform_device *pdev)
18040e74abf3SVladimir Lypak {
18050e74abf3SVladimir Lypak 	return msm_pinctrl_probe(pdev, &msm8953_pinctrl);
18060e74abf3SVladimir Lypak }
18070e74abf3SVladimir Lypak 
18080e74abf3SVladimir Lypak static const struct of_device_id msm8953_pinctrl_of_match[] = {
18090e74abf3SVladimir Lypak 	{ .compatible = "qcom,msm8953-pinctrl", },
18100e74abf3SVladimir Lypak 	{ },
18110e74abf3SVladimir Lypak };
18120e74abf3SVladimir Lypak 
18130e74abf3SVladimir Lypak static struct platform_driver msm8953_pinctrl_driver = {
18140e74abf3SVladimir Lypak 	.driver = {
18150e74abf3SVladimir Lypak 		.name = "msm8953-pinctrl",
18160e74abf3SVladimir Lypak 		.of_match_table = msm8953_pinctrl_of_match,
18170e74abf3SVladimir Lypak 	},
18180e74abf3SVladimir Lypak 	.probe = msm8953_pinctrl_probe,
1819*22ee670aSUwe Kleine-König 	.remove_new = msm_pinctrl_remove,
18200e74abf3SVladimir Lypak };
18210e74abf3SVladimir Lypak 
msm8953_pinctrl_init(void)18220e74abf3SVladimir Lypak static int __init msm8953_pinctrl_init(void)
18230e74abf3SVladimir Lypak {
18240e74abf3SVladimir Lypak 	return platform_driver_register(&msm8953_pinctrl_driver);
18250e74abf3SVladimir Lypak }
18260e74abf3SVladimir Lypak arch_initcall(msm8953_pinctrl_init);
18270e74abf3SVladimir Lypak 
msm8953_pinctrl_exit(void)18280e74abf3SVladimir Lypak static void __exit msm8953_pinctrl_exit(void)
18290e74abf3SVladimir Lypak {
18300e74abf3SVladimir Lypak 	platform_driver_unregister(&msm8953_pinctrl_driver);
18310e74abf3SVladimir Lypak }
18320e74abf3SVladimir Lypak module_exit(msm8953_pinctrl_exit);
18330e74abf3SVladimir Lypak 
18340e74abf3SVladimir Lypak MODULE_DESCRIPTION("QTI msm8953 pinctrl driver");
18350e74abf3SVladimir Lypak MODULE_LICENSE("GPL v2");
18360e74abf3SVladimir Lypak MODULE_DEVICE_TABLE(of, msm8953_pinctrl_of_match);
1837