1*9cf0c526SNeeraj Upadhyay // SPDX-License-Identifier: GPL-2.0 2*9cf0c526SNeeraj Upadhyay /* 3*9cf0c526SNeeraj Upadhyay * Copyright (c) 2016, The Linux Foundation. All rights reserved. 4*9cf0c526SNeeraj Upadhyay * Copyright (c) 2018, Craig Tatlor. 5*9cf0c526SNeeraj Upadhyay */ 6*9cf0c526SNeeraj Upadhyay 7*9cf0c526SNeeraj Upadhyay #include <linux/module.h> 8*9cf0c526SNeeraj Upadhyay #include <linux/of.h> 9*9cf0c526SNeeraj Upadhyay #include <linux/platform_device.h> 10*9cf0c526SNeeraj Upadhyay #include <linux/pinctrl/pinctrl.h> 11*9cf0c526SNeeraj Upadhyay 12*9cf0c526SNeeraj Upadhyay #include "pinctrl-msm.h" 13*9cf0c526SNeeraj Upadhyay 14*9cf0c526SNeeraj Upadhyay static const char * const sdm660_tiles[] = { 15*9cf0c526SNeeraj Upadhyay "north", 16*9cf0c526SNeeraj Upadhyay "center", 17*9cf0c526SNeeraj Upadhyay "south" 18*9cf0c526SNeeraj Upadhyay }; 19*9cf0c526SNeeraj Upadhyay 20*9cf0c526SNeeraj Upadhyay enum { 21*9cf0c526SNeeraj Upadhyay NORTH, 22*9cf0c526SNeeraj Upadhyay CENTER, 23*9cf0c526SNeeraj Upadhyay SOUTH 24*9cf0c526SNeeraj Upadhyay }; 25*9cf0c526SNeeraj Upadhyay 26*9cf0c526SNeeraj Upadhyay #define REG_SIZE 0x1000 27*9cf0c526SNeeraj Upadhyay 28*9cf0c526SNeeraj Upadhyay #define FUNCTION(fname) \ 29*9cf0c526SNeeraj Upadhyay [msm_mux_##fname] = { \ 30*9cf0c526SNeeraj Upadhyay .name = #fname, \ 31*9cf0c526SNeeraj Upadhyay .groups = fname##_groups, \ 32*9cf0c526SNeeraj Upadhyay .ngroups = ARRAY_SIZE(fname##_groups), \ 33*9cf0c526SNeeraj Upadhyay } 34*9cf0c526SNeeraj Upadhyay 35*9cf0c526SNeeraj Upadhyay 36*9cf0c526SNeeraj Upadhyay #define PINGROUP(id, base, f1, f2, f3, f4, f5, f6, f7, f8, f9) \ 37*9cf0c526SNeeraj Upadhyay { \ 38*9cf0c526SNeeraj Upadhyay .name = "gpio" #id, \ 39*9cf0c526SNeeraj Upadhyay .pins = gpio##id##_pins, \ 40*9cf0c526SNeeraj Upadhyay .npins = (unsigned)ARRAY_SIZE(gpio##id##_pins), \ 41*9cf0c526SNeeraj Upadhyay .funcs = (int[]){ \ 42*9cf0c526SNeeraj Upadhyay msm_mux_gpio, /* gpio mode */ \ 43*9cf0c526SNeeraj Upadhyay msm_mux_##f1, \ 44*9cf0c526SNeeraj Upadhyay msm_mux_##f2, \ 45*9cf0c526SNeeraj Upadhyay msm_mux_##f3, \ 46*9cf0c526SNeeraj Upadhyay msm_mux_##f4, \ 47*9cf0c526SNeeraj Upadhyay msm_mux_##f5, \ 48*9cf0c526SNeeraj Upadhyay msm_mux_##f6, \ 49*9cf0c526SNeeraj Upadhyay msm_mux_##f7, \ 50*9cf0c526SNeeraj Upadhyay msm_mux_##f8, \ 51*9cf0c526SNeeraj Upadhyay msm_mux_##f9 \ 52*9cf0c526SNeeraj Upadhyay }, \ 53*9cf0c526SNeeraj Upadhyay .nfuncs = 10, \ 54*9cf0c526SNeeraj Upadhyay .ctl_reg = base + REG_SIZE * id, \ 55*9cf0c526SNeeraj Upadhyay .io_reg = base + 0x4 + REG_SIZE * id, \ 56*9cf0c526SNeeraj Upadhyay .intr_cfg_reg = base + 0x8 + REG_SIZE * id, \ 57*9cf0c526SNeeraj Upadhyay .intr_status_reg = base + 0xc + REG_SIZE * id, \ 58*9cf0c526SNeeraj Upadhyay .intr_target_reg = base + 0x8 + REG_SIZE * id, \ 59*9cf0c526SNeeraj Upadhyay .mux_bit = 2, \ 60*9cf0c526SNeeraj Upadhyay .pull_bit = 0, \ 61*9cf0c526SNeeraj Upadhyay .drv_bit = 6, \ 62*9cf0c526SNeeraj Upadhyay .oe_bit = 9, \ 63*9cf0c526SNeeraj Upadhyay .in_bit = 0, \ 64*9cf0c526SNeeraj Upadhyay .out_bit = 1, \ 65*9cf0c526SNeeraj Upadhyay .intr_enable_bit = 0, \ 66*9cf0c526SNeeraj Upadhyay .intr_status_bit = 0, \ 67*9cf0c526SNeeraj Upadhyay .intr_target_bit = 5, \ 68*9cf0c526SNeeraj Upadhyay .intr_target_kpss_val = 3, \ 69*9cf0c526SNeeraj Upadhyay .intr_raw_status_bit = 4, \ 70*9cf0c526SNeeraj Upadhyay .intr_polarity_bit = 1, \ 71*9cf0c526SNeeraj Upadhyay .intr_detection_bit = 2, \ 72*9cf0c526SNeeraj Upadhyay .intr_detection_width = 2, \ 73*9cf0c526SNeeraj Upadhyay } 74*9cf0c526SNeeraj Upadhyay 75*9cf0c526SNeeraj Upadhyay #define SDC_QDSD_PINGROUP(pg_name, ctl, pull, drv) \ 76*9cf0c526SNeeraj Upadhyay { \ 77*9cf0c526SNeeraj Upadhyay .name = #pg_name, \ 78*9cf0c526SNeeraj Upadhyay .pins = pg_name##_pins, \ 79*9cf0c526SNeeraj Upadhyay .npins = (unsigned)ARRAY_SIZE(pg_name##_pins), \ 80*9cf0c526SNeeraj Upadhyay .ctl_reg = ctl, \ 81*9cf0c526SNeeraj Upadhyay .io_reg = 0, \ 82*9cf0c526SNeeraj Upadhyay .intr_cfg_reg = 0, \ 83*9cf0c526SNeeraj Upadhyay .intr_status_reg = 0, \ 84*9cf0c526SNeeraj Upadhyay .intr_target_reg = 0, \ 85*9cf0c526SNeeraj Upadhyay .mux_bit = -1, \ 86*9cf0c526SNeeraj Upadhyay .pull_bit = pull, \ 87*9cf0c526SNeeraj Upadhyay .drv_bit = drv, \ 88*9cf0c526SNeeraj Upadhyay .oe_bit = -1, \ 89*9cf0c526SNeeraj Upadhyay .in_bit = -1, \ 90*9cf0c526SNeeraj Upadhyay .out_bit = -1, \ 91*9cf0c526SNeeraj Upadhyay .intr_enable_bit = -1, \ 92*9cf0c526SNeeraj Upadhyay .intr_status_bit = -1, \ 93*9cf0c526SNeeraj Upadhyay .intr_target_bit = -1, \ 94*9cf0c526SNeeraj Upadhyay .intr_raw_status_bit = -1, \ 95*9cf0c526SNeeraj Upadhyay .intr_polarity_bit = -1, \ 96*9cf0c526SNeeraj Upadhyay .intr_detection_bit = -1, \ 97*9cf0c526SNeeraj Upadhyay .intr_detection_width = -1, \ 98*9cf0c526SNeeraj Upadhyay } 99*9cf0c526SNeeraj Upadhyay 100*9cf0c526SNeeraj Upadhyay static const struct pinctrl_pin_desc sdm660_pins[] = { 101*9cf0c526SNeeraj Upadhyay PINCTRL_PIN(0, "GPIO_0"), 102*9cf0c526SNeeraj Upadhyay PINCTRL_PIN(1, "GPIO_1"), 103*9cf0c526SNeeraj Upadhyay PINCTRL_PIN(2, "GPIO_2"), 104*9cf0c526SNeeraj Upadhyay PINCTRL_PIN(3, "GPIO_3"), 105*9cf0c526SNeeraj Upadhyay PINCTRL_PIN(4, "GPIO_4"), 106*9cf0c526SNeeraj Upadhyay PINCTRL_PIN(5, "GPIO_5"), 107*9cf0c526SNeeraj Upadhyay PINCTRL_PIN(6, "GPIO_6"), 108*9cf0c526SNeeraj Upadhyay PINCTRL_PIN(7, "GPIO_7"), 109*9cf0c526SNeeraj Upadhyay PINCTRL_PIN(8, "GPIO_8"), 110*9cf0c526SNeeraj Upadhyay PINCTRL_PIN(9, "GPIO_9"), 111*9cf0c526SNeeraj Upadhyay PINCTRL_PIN(10, "GPIO_10"), 112*9cf0c526SNeeraj Upadhyay PINCTRL_PIN(11, "GPIO_11"), 113*9cf0c526SNeeraj Upadhyay PINCTRL_PIN(12, "GPIO_12"), 114*9cf0c526SNeeraj Upadhyay PINCTRL_PIN(13, "GPIO_13"), 115*9cf0c526SNeeraj Upadhyay PINCTRL_PIN(14, "GPIO_14"), 116*9cf0c526SNeeraj Upadhyay PINCTRL_PIN(15, "GPIO_15"), 117*9cf0c526SNeeraj Upadhyay PINCTRL_PIN(16, "GPIO_16"), 118*9cf0c526SNeeraj Upadhyay PINCTRL_PIN(17, "GPIO_17"), 119*9cf0c526SNeeraj Upadhyay PINCTRL_PIN(18, "GPIO_18"), 120*9cf0c526SNeeraj Upadhyay PINCTRL_PIN(19, "GPIO_19"), 121*9cf0c526SNeeraj Upadhyay PINCTRL_PIN(20, "GPIO_20"), 122*9cf0c526SNeeraj Upadhyay PINCTRL_PIN(21, "GPIO_21"), 123*9cf0c526SNeeraj Upadhyay PINCTRL_PIN(22, "GPIO_22"), 124*9cf0c526SNeeraj Upadhyay PINCTRL_PIN(23, "GPIO_23"), 125*9cf0c526SNeeraj Upadhyay PINCTRL_PIN(24, "GPIO_24"), 126*9cf0c526SNeeraj Upadhyay PINCTRL_PIN(25, "GPIO_25"), 127*9cf0c526SNeeraj Upadhyay PINCTRL_PIN(26, "GPIO_26"), 128*9cf0c526SNeeraj Upadhyay PINCTRL_PIN(27, "GPIO_27"), 129*9cf0c526SNeeraj Upadhyay PINCTRL_PIN(28, "GPIO_28"), 130*9cf0c526SNeeraj Upadhyay PINCTRL_PIN(29, "GPIO_29"), 131*9cf0c526SNeeraj Upadhyay PINCTRL_PIN(30, "GPIO_30"), 132*9cf0c526SNeeraj Upadhyay PINCTRL_PIN(31, "GPIO_31"), 133*9cf0c526SNeeraj Upadhyay PINCTRL_PIN(32, "GPIO_32"), 134*9cf0c526SNeeraj Upadhyay PINCTRL_PIN(33, "GPIO_33"), 135*9cf0c526SNeeraj Upadhyay PINCTRL_PIN(34, "GPIO_34"), 136*9cf0c526SNeeraj Upadhyay PINCTRL_PIN(35, "GPIO_35"), 137*9cf0c526SNeeraj Upadhyay PINCTRL_PIN(36, "GPIO_36"), 138*9cf0c526SNeeraj Upadhyay PINCTRL_PIN(37, "GPIO_37"), 139*9cf0c526SNeeraj Upadhyay PINCTRL_PIN(38, "GPIO_38"), 140*9cf0c526SNeeraj Upadhyay PINCTRL_PIN(39, "GPIO_39"), 141*9cf0c526SNeeraj Upadhyay PINCTRL_PIN(40, "GPIO_40"), 142*9cf0c526SNeeraj Upadhyay PINCTRL_PIN(41, "GPIO_41"), 143*9cf0c526SNeeraj Upadhyay PINCTRL_PIN(42, "GPIO_42"), 144*9cf0c526SNeeraj Upadhyay PINCTRL_PIN(43, "GPIO_43"), 145*9cf0c526SNeeraj Upadhyay PINCTRL_PIN(44, "GPIO_44"), 146*9cf0c526SNeeraj Upadhyay PINCTRL_PIN(45, "GPIO_45"), 147*9cf0c526SNeeraj Upadhyay PINCTRL_PIN(46, "GPIO_46"), 148*9cf0c526SNeeraj Upadhyay PINCTRL_PIN(47, "GPIO_47"), 149*9cf0c526SNeeraj Upadhyay PINCTRL_PIN(48, "GPIO_48"), 150*9cf0c526SNeeraj Upadhyay PINCTRL_PIN(49, "GPIO_49"), 151*9cf0c526SNeeraj Upadhyay PINCTRL_PIN(50, "GPIO_50"), 152*9cf0c526SNeeraj Upadhyay PINCTRL_PIN(51, "GPIO_51"), 153*9cf0c526SNeeraj Upadhyay PINCTRL_PIN(52, "GPIO_52"), 154*9cf0c526SNeeraj Upadhyay PINCTRL_PIN(53, "GPIO_53"), 155*9cf0c526SNeeraj Upadhyay PINCTRL_PIN(54, "GPIO_54"), 156*9cf0c526SNeeraj Upadhyay PINCTRL_PIN(55, "GPIO_55"), 157*9cf0c526SNeeraj Upadhyay PINCTRL_PIN(56, "GPIO_56"), 158*9cf0c526SNeeraj Upadhyay PINCTRL_PIN(57, "GPIO_57"), 159*9cf0c526SNeeraj Upadhyay PINCTRL_PIN(58, "GPIO_58"), 160*9cf0c526SNeeraj Upadhyay PINCTRL_PIN(59, "GPIO_59"), 161*9cf0c526SNeeraj Upadhyay PINCTRL_PIN(60, "GPIO_60"), 162*9cf0c526SNeeraj Upadhyay PINCTRL_PIN(61, "GPIO_61"), 163*9cf0c526SNeeraj Upadhyay PINCTRL_PIN(62, "GPIO_62"), 164*9cf0c526SNeeraj Upadhyay PINCTRL_PIN(63, "GPIO_63"), 165*9cf0c526SNeeraj Upadhyay PINCTRL_PIN(64, "GPIO_64"), 166*9cf0c526SNeeraj Upadhyay PINCTRL_PIN(65, "GPIO_65"), 167*9cf0c526SNeeraj Upadhyay PINCTRL_PIN(66, "GPIO_66"), 168*9cf0c526SNeeraj Upadhyay PINCTRL_PIN(67, "GPIO_67"), 169*9cf0c526SNeeraj Upadhyay PINCTRL_PIN(68, "GPIO_68"), 170*9cf0c526SNeeraj Upadhyay PINCTRL_PIN(69, "GPIO_69"), 171*9cf0c526SNeeraj Upadhyay PINCTRL_PIN(70, "GPIO_70"), 172*9cf0c526SNeeraj Upadhyay PINCTRL_PIN(71, "GPIO_71"), 173*9cf0c526SNeeraj Upadhyay PINCTRL_PIN(72, "GPIO_72"), 174*9cf0c526SNeeraj Upadhyay PINCTRL_PIN(73, "GPIO_73"), 175*9cf0c526SNeeraj Upadhyay PINCTRL_PIN(74, "GPIO_74"), 176*9cf0c526SNeeraj Upadhyay PINCTRL_PIN(75, "GPIO_75"), 177*9cf0c526SNeeraj Upadhyay PINCTRL_PIN(76, "GPIO_76"), 178*9cf0c526SNeeraj Upadhyay PINCTRL_PIN(77, "GPIO_77"), 179*9cf0c526SNeeraj Upadhyay PINCTRL_PIN(78, "GPIO_78"), 180*9cf0c526SNeeraj Upadhyay PINCTRL_PIN(79, "GPIO_79"), 181*9cf0c526SNeeraj Upadhyay PINCTRL_PIN(80, "GPIO_80"), 182*9cf0c526SNeeraj Upadhyay PINCTRL_PIN(81, "GPIO_81"), 183*9cf0c526SNeeraj Upadhyay PINCTRL_PIN(82, "GPIO_82"), 184*9cf0c526SNeeraj Upadhyay PINCTRL_PIN(83, "GPIO_83"), 185*9cf0c526SNeeraj Upadhyay PINCTRL_PIN(84, "GPIO_84"), 186*9cf0c526SNeeraj Upadhyay PINCTRL_PIN(85, "GPIO_85"), 187*9cf0c526SNeeraj Upadhyay PINCTRL_PIN(86, "GPIO_86"), 188*9cf0c526SNeeraj Upadhyay PINCTRL_PIN(87, "GPIO_87"), 189*9cf0c526SNeeraj Upadhyay PINCTRL_PIN(88, "GPIO_88"), 190*9cf0c526SNeeraj Upadhyay PINCTRL_PIN(89, "GPIO_89"), 191*9cf0c526SNeeraj Upadhyay PINCTRL_PIN(90, "GPIO_90"), 192*9cf0c526SNeeraj Upadhyay PINCTRL_PIN(91, "GPIO_91"), 193*9cf0c526SNeeraj Upadhyay PINCTRL_PIN(92, "GPIO_92"), 194*9cf0c526SNeeraj Upadhyay PINCTRL_PIN(93, "GPIO_93"), 195*9cf0c526SNeeraj Upadhyay PINCTRL_PIN(94, "GPIO_94"), 196*9cf0c526SNeeraj Upadhyay PINCTRL_PIN(95, "GPIO_95"), 197*9cf0c526SNeeraj Upadhyay PINCTRL_PIN(96, "GPIO_96"), 198*9cf0c526SNeeraj Upadhyay PINCTRL_PIN(97, "GPIO_97"), 199*9cf0c526SNeeraj Upadhyay PINCTRL_PIN(98, "GPIO_98"), 200*9cf0c526SNeeraj Upadhyay PINCTRL_PIN(99, "GPIO_99"), 201*9cf0c526SNeeraj Upadhyay PINCTRL_PIN(100, "GPIO_100"), 202*9cf0c526SNeeraj Upadhyay PINCTRL_PIN(101, "GPIO_101"), 203*9cf0c526SNeeraj Upadhyay PINCTRL_PIN(102, "GPIO_102"), 204*9cf0c526SNeeraj Upadhyay PINCTRL_PIN(103, "GPIO_103"), 205*9cf0c526SNeeraj Upadhyay PINCTRL_PIN(104, "GPIO_104"), 206*9cf0c526SNeeraj Upadhyay PINCTRL_PIN(105, "GPIO_105"), 207*9cf0c526SNeeraj Upadhyay PINCTRL_PIN(106, "GPIO_106"), 208*9cf0c526SNeeraj Upadhyay PINCTRL_PIN(107, "GPIO_107"), 209*9cf0c526SNeeraj Upadhyay PINCTRL_PIN(108, "GPIO_108"), 210*9cf0c526SNeeraj Upadhyay PINCTRL_PIN(109, "GPIO_109"), 211*9cf0c526SNeeraj Upadhyay PINCTRL_PIN(110, "GPIO_110"), 212*9cf0c526SNeeraj Upadhyay PINCTRL_PIN(111, "GPIO_111"), 213*9cf0c526SNeeraj Upadhyay PINCTRL_PIN(112, "GPIO_112"), 214*9cf0c526SNeeraj Upadhyay PINCTRL_PIN(113, "GPIO_113"), 215*9cf0c526SNeeraj Upadhyay PINCTRL_PIN(114, "SDC1_CLK"), 216*9cf0c526SNeeraj Upadhyay PINCTRL_PIN(115, "SDC1_CMD"), 217*9cf0c526SNeeraj Upadhyay PINCTRL_PIN(116, "SDC1_DATA"), 218*9cf0c526SNeeraj Upadhyay PINCTRL_PIN(117, "SDC2_CLK"), 219*9cf0c526SNeeraj Upadhyay PINCTRL_PIN(118, "SDC2_CMD"), 220*9cf0c526SNeeraj Upadhyay PINCTRL_PIN(119, "SDC2_DATA"), 221*9cf0c526SNeeraj Upadhyay PINCTRL_PIN(120, "SDC1_RCLK"), 222*9cf0c526SNeeraj Upadhyay }; 223*9cf0c526SNeeraj Upadhyay 224*9cf0c526SNeeraj Upadhyay #define DECLARE_MSM_GPIO_PINS(pin) \ 225*9cf0c526SNeeraj Upadhyay static const unsigned int gpio##pin##_pins[] = { pin } 226*9cf0c526SNeeraj Upadhyay DECLARE_MSM_GPIO_PINS(0); 227*9cf0c526SNeeraj Upadhyay DECLARE_MSM_GPIO_PINS(1); 228*9cf0c526SNeeraj Upadhyay DECLARE_MSM_GPIO_PINS(2); 229*9cf0c526SNeeraj Upadhyay DECLARE_MSM_GPIO_PINS(3); 230*9cf0c526SNeeraj Upadhyay DECLARE_MSM_GPIO_PINS(4); 231*9cf0c526SNeeraj Upadhyay DECLARE_MSM_GPIO_PINS(5); 232*9cf0c526SNeeraj Upadhyay DECLARE_MSM_GPIO_PINS(6); 233*9cf0c526SNeeraj Upadhyay DECLARE_MSM_GPIO_PINS(7); 234*9cf0c526SNeeraj Upadhyay DECLARE_MSM_GPIO_PINS(8); 235*9cf0c526SNeeraj Upadhyay DECLARE_MSM_GPIO_PINS(9); 236*9cf0c526SNeeraj Upadhyay DECLARE_MSM_GPIO_PINS(10); 237*9cf0c526SNeeraj Upadhyay DECLARE_MSM_GPIO_PINS(11); 238*9cf0c526SNeeraj Upadhyay DECLARE_MSM_GPIO_PINS(12); 239*9cf0c526SNeeraj Upadhyay DECLARE_MSM_GPIO_PINS(13); 240*9cf0c526SNeeraj Upadhyay DECLARE_MSM_GPIO_PINS(14); 241*9cf0c526SNeeraj Upadhyay DECLARE_MSM_GPIO_PINS(15); 242*9cf0c526SNeeraj Upadhyay DECLARE_MSM_GPIO_PINS(16); 243*9cf0c526SNeeraj Upadhyay DECLARE_MSM_GPIO_PINS(17); 244*9cf0c526SNeeraj Upadhyay DECLARE_MSM_GPIO_PINS(18); 245*9cf0c526SNeeraj Upadhyay DECLARE_MSM_GPIO_PINS(19); 246*9cf0c526SNeeraj Upadhyay DECLARE_MSM_GPIO_PINS(20); 247*9cf0c526SNeeraj Upadhyay DECLARE_MSM_GPIO_PINS(21); 248*9cf0c526SNeeraj Upadhyay DECLARE_MSM_GPIO_PINS(22); 249*9cf0c526SNeeraj Upadhyay DECLARE_MSM_GPIO_PINS(23); 250*9cf0c526SNeeraj Upadhyay DECLARE_MSM_GPIO_PINS(24); 251*9cf0c526SNeeraj Upadhyay DECLARE_MSM_GPIO_PINS(25); 252*9cf0c526SNeeraj Upadhyay DECLARE_MSM_GPIO_PINS(26); 253*9cf0c526SNeeraj Upadhyay DECLARE_MSM_GPIO_PINS(27); 254*9cf0c526SNeeraj Upadhyay DECLARE_MSM_GPIO_PINS(28); 255*9cf0c526SNeeraj Upadhyay DECLARE_MSM_GPIO_PINS(29); 256*9cf0c526SNeeraj Upadhyay DECLARE_MSM_GPIO_PINS(30); 257*9cf0c526SNeeraj Upadhyay DECLARE_MSM_GPIO_PINS(31); 258*9cf0c526SNeeraj Upadhyay DECLARE_MSM_GPIO_PINS(32); 259*9cf0c526SNeeraj Upadhyay DECLARE_MSM_GPIO_PINS(33); 260*9cf0c526SNeeraj Upadhyay DECLARE_MSM_GPIO_PINS(34); 261*9cf0c526SNeeraj Upadhyay DECLARE_MSM_GPIO_PINS(35); 262*9cf0c526SNeeraj Upadhyay DECLARE_MSM_GPIO_PINS(36); 263*9cf0c526SNeeraj Upadhyay DECLARE_MSM_GPIO_PINS(37); 264*9cf0c526SNeeraj Upadhyay DECLARE_MSM_GPIO_PINS(38); 265*9cf0c526SNeeraj Upadhyay DECLARE_MSM_GPIO_PINS(39); 266*9cf0c526SNeeraj Upadhyay DECLARE_MSM_GPIO_PINS(40); 267*9cf0c526SNeeraj Upadhyay DECLARE_MSM_GPIO_PINS(41); 268*9cf0c526SNeeraj Upadhyay DECLARE_MSM_GPIO_PINS(42); 269*9cf0c526SNeeraj Upadhyay DECLARE_MSM_GPIO_PINS(43); 270*9cf0c526SNeeraj Upadhyay DECLARE_MSM_GPIO_PINS(44); 271*9cf0c526SNeeraj Upadhyay DECLARE_MSM_GPIO_PINS(45); 272*9cf0c526SNeeraj Upadhyay DECLARE_MSM_GPIO_PINS(46); 273*9cf0c526SNeeraj Upadhyay DECLARE_MSM_GPIO_PINS(47); 274*9cf0c526SNeeraj Upadhyay DECLARE_MSM_GPIO_PINS(48); 275*9cf0c526SNeeraj Upadhyay DECLARE_MSM_GPIO_PINS(49); 276*9cf0c526SNeeraj Upadhyay DECLARE_MSM_GPIO_PINS(50); 277*9cf0c526SNeeraj Upadhyay DECLARE_MSM_GPIO_PINS(51); 278*9cf0c526SNeeraj Upadhyay DECLARE_MSM_GPIO_PINS(52); 279*9cf0c526SNeeraj Upadhyay DECLARE_MSM_GPIO_PINS(53); 280*9cf0c526SNeeraj Upadhyay DECLARE_MSM_GPIO_PINS(54); 281*9cf0c526SNeeraj Upadhyay DECLARE_MSM_GPIO_PINS(55); 282*9cf0c526SNeeraj Upadhyay DECLARE_MSM_GPIO_PINS(56); 283*9cf0c526SNeeraj Upadhyay DECLARE_MSM_GPIO_PINS(57); 284*9cf0c526SNeeraj Upadhyay DECLARE_MSM_GPIO_PINS(58); 285*9cf0c526SNeeraj Upadhyay DECLARE_MSM_GPIO_PINS(59); 286*9cf0c526SNeeraj Upadhyay DECLARE_MSM_GPIO_PINS(60); 287*9cf0c526SNeeraj Upadhyay DECLARE_MSM_GPIO_PINS(61); 288*9cf0c526SNeeraj Upadhyay DECLARE_MSM_GPIO_PINS(62); 289*9cf0c526SNeeraj Upadhyay DECLARE_MSM_GPIO_PINS(63); 290*9cf0c526SNeeraj Upadhyay DECLARE_MSM_GPIO_PINS(64); 291*9cf0c526SNeeraj Upadhyay DECLARE_MSM_GPIO_PINS(65); 292*9cf0c526SNeeraj Upadhyay DECLARE_MSM_GPIO_PINS(66); 293*9cf0c526SNeeraj Upadhyay DECLARE_MSM_GPIO_PINS(67); 294*9cf0c526SNeeraj Upadhyay DECLARE_MSM_GPIO_PINS(68); 295*9cf0c526SNeeraj Upadhyay DECLARE_MSM_GPIO_PINS(69); 296*9cf0c526SNeeraj Upadhyay DECLARE_MSM_GPIO_PINS(70); 297*9cf0c526SNeeraj Upadhyay DECLARE_MSM_GPIO_PINS(71); 298*9cf0c526SNeeraj Upadhyay DECLARE_MSM_GPIO_PINS(72); 299*9cf0c526SNeeraj Upadhyay DECLARE_MSM_GPIO_PINS(73); 300*9cf0c526SNeeraj Upadhyay DECLARE_MSM_GPIO_PINS(74); 301*9cf0c526SNeeraj Upadhyay DECLARE_MSM_GPIO_PINS(75); 302*9cf0c526SNeeraj Upadhyay DECLARE_MSM_GPIO_PINS(76); 303*9cf0c526SNeeraj Upadhyay DECLARE_MSM_GPIO_PINS(77); 304*9cf0c526SNeeraj Upadhyay DECLARE_MSM_GPIO_PINS(78); 305*9cf0c526SNeeraj Upadhyay DECLARE_MSM_GPIO_PINS(79); 306*9cf0c526SNeeraj Upadhyay DECLARE_MSM_GPIO_PINS(80); 307*9cf0c526SNeeraj Upadhyay DECLARE_MSM_GPIO_PINS(81); 308*9cf0c526SNeeraj Upadhyay DECLARE_MSM_GPIO_PINS(82); 309*9cf0c526SNeeraj Upadhyay DECLARE_MSM_GPIO_PINS(83); 310*9cf0c526SNeeraj Upadhyay DECLARE_MSM_GPIO_PINS(84); 311*9cf0c526SNeeraj Upadhyay DECLARE_MSM_GPIO_PINS(85); 312*9cf0c526SNeeraj Upadhyay DECLARE_MSM_GPIO_PINS(86); 313*9cf0c526SNeeraj Upadhyay DECLARE_MSM_GPIO_PINS(87); 314*9cf0c526SNeeraj Upadhyay DECLARE_MSM_GPIO_PINS(88); 315*9cf0c526SNeeraj Upadhyay DECLARE_MSM_GPIO_PINS(89); 316*9cf0c526SNeeraj Upadhyay DECLARE_MSM_GPIO_PINS(90); 317*9cf0c526SNeeraj Upadhyay DECLARE_MSM_GPIO_PINS(91); 318*9cf0c526SNeeraj Upadhyay DECLARE_MSM_GPIO_PINS(92); 319*9cf0c526SNeeraj Upadhyay DECLARE_MSM_GPIO_PINS(93); 320*9cf0c526SNeeraj Upadhyay DECLARE_MSM_GPIO_PINS(94); 321*9cf0c526SNeeraj Upadhyay DECLARE_MSM_GPIO_PINS(95); 322*9cf0c526SNeeraj Upadhyay DECLARE_MSM_GPIO_PINS(96); 323*9cf0c526SNeeraj Upadhyay DECLARE_MSM_GPIO_PINS(97); 324*9cf0c526SNeeraj Upadhyay DECLARE_MSM_GPIO_PINS(98); 325*9cf0c526SNeeraj Upadhyay DECLARE_MSM_GPIO_PINS(99); 326*9cf0c526SNeeraj Upadhyay DECLARE_MSM_GPIO_PINS(100); 327*9cf0c526SNeeraj Upadhyay DECLARE_MSM_GPIO_PINS(101); 328*9cf0c526SNeeraj Upadhyay DECLARE_MSM_GPIO_PINS(102); 329*9cf0c526SNeeraj Upadhyay DECLARE_MSM_GPIO_PINS(103); 330*9cf0c526SNeeraj Upadhyay DECLARE_MSM_GPIO_PINS(104); 331*9cf0c526SNeeraj Upadhyay DECLARE_MSM_GPIO_PINS(105); 332*9cf0c526SNeeraj Upadhyay DECLARE_MSM_GPIO_PINS(106); 333*9cf0c526SNeeraj Upadhyay DECLARE_MSM_GPIO_PINS(107); 334*9cf0c526SNeeraj Upadhyay DECLARE_MSM_GPIO_PINS(108); 335*9cf0c526SNeeraj Upadhyay DECLARE_MSM_GPIO_PINS(109); 336*9cf0c526SNeeraj Upadhyay DECLARE_MSM_GPIO_PINS(110); 337*9cf0c526SNeeraj Upadhyay DECLARE_MSM_GPIO_PINS(111); 338*9cf0c526SNeeraj Upadhyay DECLARE_MSM_GPIO_PINS(112); 339*9cf0c526SNeeraj Upadhyay DECLARE_MSM_GPIO_PINS(113); 340*9cf0c526SNeeraj Upadhyay 341*9cf0c526SNeeraj Upadhyay static const unsigned int sdc1_clk_pins[] = { 114 }; 342*9cf0c526SNeeraj Upadhyay static const unsigned int sdc1_cmd_pins[] = { 115 }; 343*9cf0c526SNeeraj Upadhyay static const unsigned int sdc1_data_pins[] = { 116 }; 344*9cf0c526SNeeraj Upadhyay static const unsigned int sdc1_rclk_pins[] = { 120 }; 345*9cf0c526SNeeraj Upadhyay static const unsigned int sdc2_clk_pins[] = { 117 }; 346*9cf0c526SNeeraj Upadhyay static const unsigned int sdc2_cmd_pins[] = { 118 }; 347*9cf0c526SNeeraj Upadhyay static const unsigned int sdc2_data_pins[] = { 119 }; 348*9cf0c526SNeeraj Upadhyay 349*9cf0c526SNeeraj Upadhyay enum sdm660_functions { 350*9cf0c526SNeeraj Upadhyay msm_mux_adsp_ext, 351*9cf0c526SNeeraj Upadhyay msm_mux_agera_pll, 352*9cf0c526SNeeraj Upadhyay msm_mux_atest_char, 353*9cf0c526SNeeraj Upadhyay msm_mux_atest_char0, 354*9cf0c526SNeeraj Upadhyay msm_mux_atest_char1, 355*9cf0c526SNeeraj Upadhyay msm_mux_atest_char2, 356*9cf0c526SNeeraj Upadhyay msm_mux_atest_char3, 357*9cf0c526SNeeraj Upadhyay msm_mux_atest_gpsadc0, 358*9cf0c526SNeeraj Upadhyay msm_mux_atest_gpsadc1, 359*9cf0c526SNeeraj Upadhyay msm_mux_atest_tsens, 360*9cf0c526SNeeraj Upadhyay msm_mux_atest_tsens2, 361*9cf0c526SNeeraj Upadhyay msm_mux_atest_usb1, 362*9cf0c526SNeeraj Upadhyay msm_mux_atest_usb10, 363*9cf0c526SNeeraj Upadhyay msm_mux_atest_usb11, 364*9cf0c526SNeeraj Upadhyay msm_mux_atest_usb12, 365*9cf0c526SNeeraj Upadhyay msm_mux_atest_usb13, 366*9cf0c526SNeeraj Upadhyay msm_mux_atest_usb2, 367*9cf0c526SNeeraj Upadhyay msm_mux_atest_usb20, 368*9cf0c526SNeeraj Upadhyay msm_mux_atest_usb21, 369*9cf0c526SNeeraj Upadhyay msm_mux_atest_usb22, 370*9cf0c526SNeeraj Upadhyay msm_mux_atest_usb23, 371*9cf0c526SNeeraj Upadhyay msm_mux_audio_ref, 372*9cf0c526SNeeraj Upadhyay msm_mux_bimc_dte0, 373*9cf0c526SNeeraj Upadhyay msm_mux_bimc_dte1, 374*9cf0c526SNeeraj Upadhyay msm_mux_blsp_i2c1, 375*9cf0c526SNeeraj Upadhyay msm_mux_blsp_i2c2, 376*9cf0c526SNeeraj Upadhyay msm_mux_blsp_i2c3, 377*9cf0c526SNeeraj Upadhyay msm_mux_blsp_i2c4, 378*9cf0c526SNeeraj Upadhyay msm_mux_blsp_i2c5, 379*9cf0c526SNeeraj Upadhyay msm_mux_blsp_i2c6, 380*9cf0c526SNeeraj Upadhyay msm_mux_blsp_i2c7, 381*9cf0c526SNeeraj Upadhyay msm_mux_blsp_i2c8_a, 382*9cf0c526SNeeraj Upadhyay msm_mux_blsp_i2c8_b, 383*9cf0c526SNeeraj Upadhyay msm_mux_blsp_spi1, 384*9cf0c526SNeeraj Upadhyay msm_mux_blsp_spi2, 385*9cf0c526SNeeraj Upadhyay msm_mux_blsp_spi3, 386*9cf0c526SNeeraj Upadhyay msm_mux_blsp_spi3_cs1, 387*9cf0c526SNeeraj Upadhyay msm_mux_blsp_spi3_cs2, 388*9cf0c526SNeeraj Upadhyay msm_mux_blsp_spi4, 389*9cf0c526SNeeraj Upadhyay msm_mux_blsp_spi5, 390*9cf0c526SNeeraj Upadhyay msm_mux_blsp_spi6, 391*9cf0c526SNeeraj Upadhyay msm_mux_blsp_spi7, 392*9cf0c526SNeeraj Upadhyay msm_mux_blsp_spi8_a, 393*9cf0c526SNeeraj Upadhyay msm_mux_blsp_spi8_b, 394*9cf0c526SNeeraj Upadhyay msm_mux_blsp_spi8_cs1, 395*9cf0c526SNeeraj Upadhyay msm_mux_blsp_spi8_cs2, 396*9cf0c526SNeeraj Upadhyay msm_mux_blsp_uart1, 397*9cf0c526SNeeraj Upadhyay msm_mux_blsp_uart2, 398*9cf0c526SNeeraj Upadhyay msm_mux_blsp_uart5, 399*9cf0c526SNeeraj Upadhyay msm_mux_blsp_uart6_a, 400*9cf0c526SNeeraj Upadhyay msm_mux_blsp_uart6_b, 401*9cf0c526SNeeraj Upadhyay msm_mux_blsp_uim1, 402*9cf0c526SNeeraj Upadhyay msm_mux_blsp_uim2, 403*9cf0c526SNeeraj Upadhyay msm_mux_blsp_uim5, 404*9cf0c526SNeeraj Upadhyay msm_mux_blsp_uim6, 405*9cf0c526SNeeraj Upadhyay msm_mux_cam_mclk, 406*9cf0c526SNeeraj Upadhyay msm_mux_cci_async, 407*9cf0c526SNeeraj Upadhyay msm_mux_cci_i2c, 408*9cf0c526SNeeraj Upadhyay msm_mux_cri_trng, 409*9cf0c526SNeeraj Upadhyay msm_mux_cri_trng0, 410*9cf0c526SNeeraj Upadhyay msm_mux_cri_trng1, 411*9cf0c526SNeeraj Upadhyay msm_mux_dbg_out, 412*9cf0c526SNeeraj Upadhyay msm_mux_ddr_bist, 413*9cf0c526SNeeraj Upadhyay msm_mux_gcc_gp1, 414*9cf0c526SNeeraj Upadhyay msm_mux_gcc_gp2, 415*9cf0c526SNeeraj Upadhyay msm_mux_gcc_gp3, 416*9cf0c526SNeeraj Upadhyay msm_mux_gpio, 417*9cf0c526SNeeraj Upadhyay msm_mux_gps_tx_a, 418*9cf0c526SNeeraj Upadhyay msm_mux_gps_tx_b, 419*9cf0c526SNeeraj Upadhyay msm_mux_gps_tx_c, 420*9cf0c526SNeeraj Upadhyay msm_mux_isense_dbg, 421*9cf0c526SNeeraj Upadhyay msm_mux_jitter_bist, 422*9cf0c526SNeeraj Upadhyay msm_mux_ldo_en, 423*9cf0c526SNeeraj Upadhyay msm_mux_ldo_update, 424*9cf0c526SNeeraj Upadhyay msm_mux_m_voc, 425*9cf0c526SNeeraj Upadhyay msm_mux_mdp_vsync, 426*9cf0c526SNeeraj Upadhyay msm_mux_mdss_vsync0, 427*9cf0c526SNeeraj Upadhyay msm_mux_mdss_vsync1, 428*9cf0c526SNeeraj Upadhyay msm_mux_mdss_vsync2, 429*9cf0c526SNeeraj Upadhyay msm_mux_mdss_vsync3, 430*9cf0c526SNeeraj Upadhyay msm_mux_mss_lte, 431*9cf0c526SNeeraj Upadhyay msm_mux_nav_pps_a, 432*9cf0c526SNeeraj Upadhyay msm_mux_nav_pps_b, 433*9cf0c526SNeeraj Upadhyay msm_mux_nav_pps_c, 434*9cf0c526SNeeraj Upadhyay msm_mux_pa_indicator, 435*9cf0c526SNeeraj Upadhyay msm_mux_phase_flag0, 436*9cf0c526SNeeraj Upadhyay msm_mux_phase_flag1, 437*9cf0c526SNeeraj Upadhyay msm_mux_phase_flag2, 438*9cf0c526SNeeraj Upadhyay msm_mux_phase_flag3, 439*9cf0c526SNeeraj Upadhyay msm_mux_phase_flag4, 440*9cf0c526SNeeraj Upadhyay msm_mux_phase_flag5, 441*9cf0c526SNeeraj Upadhyay msm_mux_phase_flag6, 442*9cf0c526SNeeraj Upadhyay msm_mux_phase_flag7, 443*9cf0c526SNeeraj Upadhyay msm_mux_phase_flag8, 444*9cf0c526SNeeraj Upadhyay msm_mux_phase_flag9, 445*9cf0c526SNeeraj Upadhyay msm_mux_phase_flag10, 446*9cf0c526SNeeraj Upadhyay msm_mux_phase_flag11, 447*9cf0c526SNeeraj Upadhyay msm_mux_phase_flag12, 448*9cf0c526SNeeraj Upadhyay msm_mux_phase_flag13, 449*9cf0c526SNeeraj Upadhyay msm_mux_phase_flag14, 450*9cf0c526SNeeraj Upadhyay msm_mux_phase_flag15, 451*9cf0c526SNeeraj Upadhyay msm_mux_phase_flag16, 452*9cf0c526SNeeraj Upadhyay msm_mux_phase_flag17, 453*9cf0c526SNeeraj Upadhyay msm_mux_phase_flag18, 454*9cf0c526SNeeraj Upadhyay msm_mux_phase_flag19, 455*9cf0c526SNeeraj Upadhyay msm_mux_phase_flag20, 456*9cf0c526SNeeraj Upadhyay msm_mux_phase_flag21, 457*9cf0c526SNeeraj Upadhyay msm_mux_phase_flag22, 458*9cf0c526SNeeraj Upadhyay msm_mux_phase_flag23, 459*9cf0c526SNeeraj Upadhyay msm_mux_phase_flag24, 460*9cf0c526SNeeraj Upadhyay msm_mux_phase_flag25, 461*9cf0c526SNeeraj Upadhyay msm_mux_phase_flag26, 462*9cf0c526SNeeraj Upadhyay msm_mux_phase_flag27, 463*9cf0c526SNeeraj Upadhyay msm_mux_phase_flag28, 464*9cf0c526SNeeraj Upadhyay msm_mux_phase_flag29, 465*9cf0c526SNeeraj Upadhyay msm_mux_phase_flag30, 466*9cf0c526SNeeraj Upadhyay msm_mux_phase_flag31, 467*9cf0c526SNeeraj Upadhyay msm_mux_pll_bypassnl, 468*9cf0c526SNeeraj Upadhyay msm_mux_pll_reset, 469*9cf0c526SNeeraj Upadhyay msm_mux_pri_mi2s, 470*9cf0c526SNeeraj Upadhyay msm_mux_pri_mi2s_ws, 471*9cf0c526SNeeraj Upadhyay msm_mux_prng_rosc, 472*9cf0c526SNeeraj Upadhyay msm_mux_pwr_crypto, 473*9cf0c526SNeeraj Upadhyay msm_mux_pwr_modem, 474*9cf0c526SNeeraj Upadhyay msm_mux_pwr_nav, 475*9cf0c526SNeeraj Upadhyay msm_mux_qdss_cti0_a, 476*9cf0c526SNeeraj Upadhyay msm_mux_qdss_cti0_b, 477*9cf0c526SNeeraj Upadhyay msm_mux_qdss_cti1_a, 478*9cf0c526SNeeraj Upadhyay msm_mux_qdss_cti1_b, 479*9cf0c526SNeeraj Upadhyay msm_mux_qdss_gpio, 480*9cf0c526SNeeraj Upadhyay msm_mux_qdss_gpio0, 481*9cf0c526SNeeraj Upadhyay msm_mux_qdss_gpio1, 482*9cf0c526SNeeraj Upadhyay msm_mux_qdss_gpio10, 483*9cf0c526SNeeraj Upadhyay msm_mux_qdss_gpio11, 484*9cf0c526SNeeraj Upadhyay msm_mux_qdss_gpio12, 485*9cf0c526SNeeraj Upadhyay msm_mux_qdss_gpio13, 486*9cf0c526SNeeraj Upadhyay msm_mux_qdss_gpio14, 487*9cf0c526SNeeraj Upadhyay msm_mux_qdss_gpio15, 488*9cf0c526SNeeraj Upadhyay msm_mux_qdss_gpio2, 489*9cf0c526SNeeraj Upadhyay msm_mux_qdss_gpio3, 490*9cf0c526SNeeraj Upadhyay msm_mux_qdss_gpio4, 491*9cf0c526SNeeraj Upadhyay msm_mux_qdss_gpio5, 492*9cf0c526SNeeraj Upadhyay msm_mux_qdss_gpio6, 493*9cf0c526SNeeraj Upadhyay msm_mux_qdss_gpio7, 494*9cf0c526SNeeraj Upadhyay msm_mux_qdss_gpio8, 495*9cf0c526SNeeraj Upadhyay msm_mux_qdss_gpio9, 496*9cf0c526SNeeraj Upadhyay msm_mux_qlink_enable, 497*9cf0c526SNeeraj Upadhyay msm_mux_qlink_request, 498*9cf0c526SNeeraj Upadhyay msm_mux_qspi_clk, 499*9cf0c526SNeeraj Upadhyay msm_mux_qspi_cs, 500*9cf0c526SNeeraj Upadhyay msm_mux_qspi_data0, 501*9cf0c526SNeeraj Upadhyay msm_mux_qspi_data1, 502*9cf0c526SNeeraj Upadhyay msm_mux_qspi_data2, 503*9cf0c526SNeeraj Upadhyay msm_mux_qspi_data3, 504*9cf0c526SNeeraj Upadhyay msm_mux_qspi_resetn, 505*9cf0c526SNeeraj Upadhyay msm_mux_sec_mi2s, 506*9cf0c526SNeeraj Upadhyay msm_mux_sndwire_clk, 507*9cf0c526SNeeraj Upadhyay msm_mux_sndwire_data, 508*9cf0c526SNeeraj Upadhyay msm_mux_sp_cmu, 509*9cf0c526SNeeraj Upadhyay msm_mux_ssc_irq, 510*9cf0c526SNeeraj Upadhyay msm_mux_tgu_ch0, 511*9cf0c526SNeeraj Upadhyay msm_mux_tgu_ch1, 512*9cf0c526SNeeraj Upadhyay msm_mux_tsense_pwm1, 513*9cf0c526SNeeraj Upadhyay msm_mux_tsense_pwm2, 514*9cf0c526SNeeraj Upadhyay msm_mux_uim1_clk, 515*9cf0c526SNeeraj Upadhyay msm_mux_uim1_data, 516*9cf0c526SNeeraj Upadhyay msm_mux_uim1_present, 517*9cf0c526SNeeraj Upadhyay msm_mux_uim1_reset, 518*9cf0c526SNeeraj Upadhyay msm_mux_uim2_clk, 519*9cf0c526SNeeraj Upadhyay msm_mux_uim2_data, 520*9cf0c526SNeeraj Upadhyay msm_mux_uim2_present, 521*9cf0c526SNeeraj Upadhyay msm_mux_uim2_reset, 522*9cf0c526SNeeraj Upadhyay msm_mux_uim_batt, 523*9cf0c526SNeeraj Upadhyay msm_mux_vfr_1, 524*9cf0c526SNeeraj Upadhyay msm_mux_vsense_clkout, 525*9cf0c526SNeeraj Upadhyay msm_mux_vsense_data0, 526*9cf0c526SNeeraj Upadhyay msm_mux_vsense_data1, 527*9cf0c526SNeeraj Upadhyay msm_mux_vsense_mode, 528*9cf0c526SNeeraj Upadhyay msm_mux_wlan1_adc0, 529*9cf0c526SNeeraj Upadhyay msm_mux_wlan1_adc1, 530*9cf0c526SNeeraj Upadhyay msm_mux_wlan2_adc0, 531*9cf0c526SNeeraj Upadhyay msm_mux_wlan2_adc1, 532*9cf0c526SNeeraj Upadhyay msm_mux__, 533*9cf0c526SNeeraj Upadhyay }; 534*9cf0c526SNeeraj Upadhyay 535*9cf0c526SNeeraj Upadhyay static const char * const gpio_groups[] = { 536*9cf0c526SNeeraj Upadhyay "gpio0", "gpio1", "gpio2", "gpio3", "gpio4", "gpio5", "gpio6", "gpio7", 537*9cf0c526SNeeraj Upadhyay "gpio8", "gpio9", "gpio10", "gpio11", "gpio12", "gpio13", "gpio14", 538*9cf0c526SNeeraj Upadhyay "gpio15", "gpio16", "gpio17", "gpio18", "gpio19", "gpio20", "gpio21", 539*9cf0c526SNeeraj Upadhyay "gpio22", "gpio23", "gpio24", "gpio25", "gpio26", "gpio27", "gpio28", 540*9cf0c526SNeeraj Upadhyay "gpio29", "gpio30", "gpio31", "gpio32", "gpio33", "gpio34", "gpio35", 541*9cf0c526SNeeraj Upadhyay "gpio36", "gpio37", "gpio38", "gpio39", "gpio40", "gpio41", "gpio42", 542*9cf0c526SNeeraj Upadhyay "gpio43", "gpio44", "gpio45", "gpio46", "gpio47", "gpio48", "gpio49", 543*9cf0c526SNeeraj Upadhyay "gpio50", "gpio51", "gpio52", "gpio53", "gpio54", "gpio55", "gpio56", 544*9cf0c526SNeeraj Upadhyay "gpio57", "gpio58", "gpio59", "gpio60", "gpio61", "gpio62", "gpio63", 545*9cf0c526SNeeraj Upadhyay "gpio64", "gpio65", "gpio66", "gpio67", "gpio68", "gpio69", "gpio70", 546*9cf0c526SNeeraj Upadhyay "gpio71", "gpio72", "gpio73", "gpio74", "gpio75", "gpio76", "gpio77", 547*9cf0c526SNeeraj Upadhyay "gpio78", "gpio79", "gpio80", "gpio81", "gpio82", "gpio83", "gpio84", 548*9cf0c526SNeeraj Upadhyay "gpio85", "gpio86", "gpio87", "gpio88", "gpio89", "gpio90", "gpio91", 549*9cf0c526SNeeraj Upadhyay "gpio92", "gpio93", "gpio94", "gpio95", "gpio96", "gpio97", "gpio98", 550*9cf0c526SNeeraj Upadhyay "gpio99", "gpio100", "gpio101", "gpio102", "gpio103", "gpio104", 551*9cf0c526SNeeraj Upadhyay "gpio105", "gpio106", "gpio107", "gpio108", "gpio109", "gpio110", 552*9cf0c526SNeeraj Upadhyay "gpio111", "gpio112", "gpio113", 553*9cf0c526SNeeraj Upadhyay }; 554*9cf0c526SNeeraj Upadhyay 555*9cf0c526SNeeraj Upadhyay static const char * const adsp_ext_groups[] = { 556*9cf0c526SNeeraj Upadhyay "gpio65", 557*9cf0c526SNeeraj Upadhyay }; 558*9cf0c526SNeeraj Upadhyay static const char * const agera_pll_groups[] = { 559*9cf0c526SNeeraj Upadhyay "gpio34", "gpio36", 560*9cf0c526SNeeraj Upadhyay }; 561*9cf0c526SNeeraj Upadhyay static const char * const atest_char0_groups[] = { 562*9cf0c526SNeeraj Upadhyay "gpio62", 563*9cf0c526SNeeraj Upadhyay }; 564*9cf0c526SNeeraj Upadhyay static const char * const atest_char1_groups[] = { 565*9cf0c526SNeeraj Upadhyay "gpio61", 566*9cf0c526SNeeraj Upadhyay }; 567*9cf0c526SNeeraj Upadhyay static const char * const atest_char2_groups[] = { 568*9cf0c526SNeeraj Upadhyay "gpio60", 569*9cf0c526SNeeraj Upadhyay }; 570*9cf0c526SNeeraj Upadhyay static const char * const atest_char3_groups[] = { 571*9cf0c526SNeeraj Upadhyay "gpio59", 572*9cf0c526SNeeraj Upadhyay }; 573*9cf0c526SNeeraj Upadhyay static const char * const atest_char_groups[] = { 574*9cf0c526SNeeraj Upadhyay "gpio58", 575*9cf0c526SNeeraj Upadhyay }; 576*9cf0c526SNeeraj Upadhyay static const char * const atest_gpsadc0_groups[] = { 577*9cf0c526SNeeraj Upadhyay "gpio1", 578*9cf0c526SNeeraj Upadhyay }; 579*9cf0c526SNeeraj Upadhyay static const char * const atest_gpsadc1_groups[] = { 580*9cf0c526SNeeraj Upadhyay "gpio0", 581*9cf0c526SNeeraj Upadhyay }; 582*9cf0c526SNeeraj Upadhyay static const char * const atest_tsens2_groups[] = { 583*9cf0c526SNeeraj Upadhyay "gpio3", 584*9cf0c526SNeeraj Upadhyay }; 585*9cf0c526SNeeraj Upadhyay static const char * const atest_tsens_groups[] = { 586*9cf0c526SNeeraj Upadhyay "gpio36", 587*9cf0c526SNeeraj Upadhyay }; 588*9cf0c526SNeeraj Upadhyay static const char * const atest_usb10_groups[] = { 589*9cf0c526SNeeraj Upadhyay "gpio11", 590*9cf0c526SNeeraj Upadhyay }; 591*9cf0c526SNeeraj Upadhyay static const char * const atest_usb11_groups[] = { 592*9cf0c526SNeeraj Upadhyay "gpio10", 593*9cf0c526SNeeraj Upadhyay }; 594*9cf0c526SNeeraj Upadhyay static const char * const atest_usb12_groups[] = { 595*9cf0c526SNeeraj Upadhyay "gpio9", 596*9cf0c526SNeeraj Upadhyay }; 597*9cf0c526SNeeraj Upadhyay static const char * const atest_usb13_groups[] = { 598*9cf0c526SNeeraj Upadhyay "gpio8", 599*9cf0c526SNeeraj Upadhyay }; 600*9cf0c526SNeeraj Upadhyay static const char * const atest_usb1_groups[] = { 601*9cf0c526SNeeraj Upadhyay "gpio3", 602*9cf0c526SNeeraj Upadhyay }; 603*9cf0c526SNeeraj Upadhyay static const char * const atest_usb20_groups[] = { 604*9cf0c526SNeeraj Upadhyay "gpio56", 605*9cf0c526SNeeraj Upadhyay }; 606*9cf0c526SNeeraj Upadhyay static const char * const atest_usb21_groups[] = { 607*9cf0c526SNeeraj Upadhyay "gpio36", 608*9cf0c526SNeeraj Upadhyay }; 609*9cf0c526SNeeraj Upadhyay static const char * const atest_usb22_groups[] = { 610*9cf0c526SNeeraj Upadhyay "gpio57", 611*9cf0c526SNeeraj Upadhyay }; 612*9cf0c526SNeeraj Upadhyay static const char * const atest_usb23_groups[] = { 613*9cf0c526SNeeraj Upadhyay "gpio37", 614*9cf0c526SNeeraj Upadhyay }; 615*9cf0c526SNeeraj Upadhyay static const char * const atest_usb2_groups[] = { 616*9cf0c526SNeeraj Upadhyay "gpio35", 617*9cf0c526SNeeraj Upadhyay }; 618*9cf0c526SNeeraj Upadhyay static const char * const audio_ref_groups[] = { 619*9cf0c526SNeeraj Upadhyay "gpio62", 620*9cf0c526SNeeraj Upadhyay }; 621*9cf0c526SNeeraj Upadhyay static const char * const bimc_dte0_groups[] = { 622*9cf0c526SNeeraj Upadhyay "gpio9", "gpio11", 623*9cf0c526SNeeraj Upadhyay }; 624*9cf0c526SNeeraj Upadhyay static const char * const bimc_dte1_groups[] = { 625*9cf0c526SNeeraj Upadhyay "gpio8", "gpio10", 626*9cf0c526SNeeraj Upadhyay }; 627*9cf0c526SNeeraj Upadhyay static const char * const blsp_i2c1_groups[] = { 628*9cf0c526SNeeraj Upadhyay "gpio2", "gpio3", 629*9cf0c526SNeeraj Upadhyay }; 630*9cf0c526SNeeraj Upadhyay static const char * const blsp_i2c2_groups[] = { 631*9cf0c526SNeeraj Upadhyay "gpio6", "gpio7", 632*9cf0c526SNeeraj Upadhyay }; 633*9cf0c526SNeeraj Upadhyay static const char * const blsp_i2c3_groups[] = { 634*9cf0c526SNeeraj Upadhyay "gpio10", "gpio11", 635*9cf0c526SNeeraj Upadhyay }; 636*9cf0c526SNeeraj Upadhyay static const char * const blsp_i2c4_groups[] = { 637*9cf0c526SNeeraj Upadhyay "gpio14", "gpio15", 638*9cf0c526SNeeraj Upadhyay }; 639*9cf0c526SNeeraj Upadhyay static const char * const blsp_i2c5_groups[] = { 640*9cf0c526SNeeraj Upadhyay "gpio18", "gpio19", 641*9cf0c526SNeeraj Upadhyay }; 642*9cf0c526SNeeraj Upadhyay static const char * const blsp_i2c6_groups[] = { 643*9cf0c526SNeeraj Upadhyay "gpio22", "gpio23", 644*9cf0c526SNeeraj Upadhyay }; 645*9cf0c526SNeeraj Upadhyay static const char * const blsp_i2c7_groups[] = { 646*9cf0c526SNeeraj Upadhyay "gpio26", "gpio27", 647*9cf0c526SNeeraj Upadhyay }; 648*9cf0c526SNeeraj Upadhyay static const char * const blsp_i2c8_a_groups[] = { 649*9cf0c526SNeeraj Upadhyay "gpio30", "gpio31", 650*9cf0c526SNeeraj Upadhyay }; 651*9cf0c526SNeeraj Upadhyay static const char * const blsp_i2c8_b_groups[] = { 652*9cf0c526SNeeraj Upadhyay "gpio44", "gpio52", 653*9cf0c526SNeeraj Upadhyay }; 654*9cf0c526SNeeraj Upadhyay static const char * const blsp_spi1_groups[] = { 655*9cf0c526SNeeraj Upadhyay "gpio0", "gpio1", "gpio2", "gpio3", "gpio46", 656*9cf0c526SNeeraj Upadhyay }; 657*9cf0c526SNeeraj Upadhyay static const char * const blsp_spi2_groups[] = { 658*9cf0c526SNeeraj Upadhyay "gpio4", "gpio5", "gpio6", "gpio7", 659*9cf0c526SNeeraj Upadhyay }; 660*9cf0c526SNeeraj Upadhyay static const char * const blsp_spi3_cs1_groups[] = { 661*9cf0c526SNeeraj Upadhyay "gpio30", 662*9cf0c526SNeeraj Upadhyay }; 663*9cf0c526SNeeraj Upadhyay static const char * const blsp_spi3_cs2_groups[] = { 664*9cf0c526SNeeraj Upadhyay "gpio65", 665*9cf0c526SNeeraj Upadhyay }; 666*9cf0c526SNeeraj Upadhyay static const char * const blsp_spi3_groups[] = { 667*9cf0c526SNeeraj Upadhyay "gpio8", "gpio9", "gpio10", "gpio11", 668*9cf0c526SNeeraj Upadhyay }; 669*9cf0c526SNeeraj Upadhyay static const char * const blsp_spi4_groups[] = { 670*9cf0c526SNeeraj Upadhyay "gpio12", "gpio13", "gpio14", "gpio15", 671*9cf0c526SNeeraj Upadhyay }; 672*9cf0c526SNeeraj Upadhyay static const char * const blsp_spi5_groups[] = { 673*9cf0c526SNeeraj Upadhyay "gpio16", "gpio17", "gpio18", "gpio19", 674*9cf0c526SNeeraj Upadhyay }; 675*9cf0c526SNeeraj Upadhyay static const char * const blsp_spi6_groups[] = { 676*9cf0c526SNeeraj Upadhyay "gpio49", "gpio52", "gpio22", "gpio23", 677*9cf0c526SNeeraj Upadhyay }; 678*9cf0c526SNeeraj Upadhyay static const char * const blsp_spi7_groups[] = { 679*9cf0c526SNeeraj Upadhyay "gpio24", "gpio25", "gpio26", "gpio27", 680*9cf0c526SNeeraj Upadhyay }; 681*9cf0c526SNeeraj Upadhyay static const char * const blsp_spi8_a_groups[] = { 682*9cf0c526SNeeraj Upadhyay "gpio28", "gpio29", "gpio30", "gpio31", 683*9cf0c526SNeeraj Upadhyay }; 684*9cf0c526SNeeraj Upadhyay static const char * const blsp_spi8_b_groups[] = { 685*9cf0c526SNeeraj Upadhyay "gpio40", "gpio41", "gpio44", "gpio52", 686*9cf0c526SNeeraj Upadhyay }; 687*9cf0c526SNeeraj Upadhyay static const char * const blsp_spi8_cs1_groups[] = { 688*9cf0c526SNeeraj Upadhyay "gpio64", 689*9cf0c526SNeeraj Upadhyay }; 690*9cf0c526SNeeraj Upadhyay static const char * const blsp_spi8_cs2_groups[] = { 691*9cf0c526SNeeraj Upadhyay "gpio76", 692*9cf0c526SNeeraj Upadhyay }; 693*9cf0c526SNeeraj Upadhyay static const char * const blsp_uart1_groups[] = { 694*9cf0c526SNeeraj Upadhyay "gpio0", "gpio1", "gpio2", "gpio3", 695*9cf0c526SNeeraj Upadhyay }; 696*9cf0c526SNeeraj Upadhyay static const char * const blsp_uart2_groups[] = { 697*9cf0c526SNeeraj Upadhyay "gpio4", "gpio5", "gpio6", "gpio7", 698*9cf0c526SNeeraj Upadhyay }; 699*9cf0c526SNeeraj Upadhyay static const char * const blsp_uart5_groups[] = { 700*9cf0c526SNeeraj Upadhyay "gpio16", "gpio17", "gpio18", "gpio19", 701*9cf0c526SNeeraj Upadhyay }; 702*9cf0c526SNeeraj Upadhyay static const char * const blsp_uart6_a_groups[] = { 703*9cf0c526SNeeraj Upadhyay "gpio24", "gpio25", "gpio26", "gpio27", 704*9cf0c526SNeeraj Upadhyay }; 705*9cf0c526SNeeraj Upadhyay static const char * const blsp_uart6_b_groups[] = { 706*9cf0c526SNeeraj Upadhyay "gpio28", "gpio29", "gpio30", "gpio31", 707*9cf0c526SNeeraj Upadhyay }; 708*9cf0c526SNeeraj Upadhyay static const char * const blsp_uim1_groups[] = { 709*9cf0c526SNeeraj Upadhyay "gpio0", "gpio1", 710*9cf0c526SNeeraj Upadhyay }; 711*9cf0c526SNeeraj Upadhyay static const char * const blsp_uim2_groups[] = { 712*9cf0c526SNeeraj Upadhyay "gpio4", "gpio5", 713*9cf0c526SNeeraj Upadhyay }; 714*9cf0c526SNeeraj Upadhyay static const char * const blsp_uim5_groups[] = { 715*9cf0c526SNeeraj Upadhyay "gpio16", "gpio17", 716*9cf0c526SNeeraj Upadhyay }; 717*9cf0c526SNeeraj Upadhyay static const char * const blsp_uim6_groups[] = { 718*9cf0c526SNeeraj Upadhyay "gpio20", "gpio21", 719*9cf0c526SNeeraj Upadhyay }; 720*9cf0c526SNeeraj Upadhyay static const char * const cam_mclk_groups[] = { 721*9cf0c526SNeeraj Upadhyay "gpio32", "gpio33", "gpio34", "gpio35", 722*9cf0c526SNeeraj Upadhyay }; 723*9cf0c526SNeeraj Upadhyay static const char * const cci_async_groups[] = { 724*9cf0c526SNeeraj Upadhyay "gpio45", 725*9cf0c526SNeeraj Upadhyay }; 726*9cf0c526SNeeraj Upadhyay static const char * const cci_i2c_groups[] = { 727*9cf0c526SNeeraj Upadhyay "gpio36", "gpio37", "gpio38", "gpio39", 728*9cf0c526SNeeraj Upadhyay }; 729*9cf0c526SNeeraj Upadhyay static const char * const cri_trng0_groups[] = { 730*9cf0c526SNeeraj Upadhyay "gpio60", 731*9cf0c526SNeeraj Upadhyay }; 732*9cf0c526SNeeraj Upadhyay static const char * const cri_trng1_groups[] = { 733*9cf0c526SNeeraj Upadhyay "gpio61", 734*9cf0c526SNeeraj Upadhyay }; 735*9cf0c526SNeeraj Upadhyay static const char * const cri_trng_groups[] = { 736*9cf0c526SNeeraj Upadhyay "gpio62", 737*9cf0c526SNeeraj Upadhyay }; 738*9cf0c526SNeeraj Upadhyay static const char * const dbg_out_groups[] = { 739*9cf0c526SNeeraj Upadhyay "gpio11", 740*9cf0c526SNeeraj Upadhyay }; 741*9cf0c526SNeeraj Upadhyay static const char * const ddr_bist_groups[] = { 742*9cf0c526SNeeraj Upadhyay "gpio3", "gpio8", "gpio9", "gpio10", 743*9cf0c526SNeeraj Upadhyay }; 744*9cf0c526SNeeraj Upadhyay static const char * const gcc_gp1_groups[] = { 745*9cf0c526SNeeraj Upadhyay "gpio57", "gpio78", 746*9cf0c526SNeeraj Upadhyay }; 747*9cf0c526SNeeraj Upadhyay static const char * const gcc_gp2_groups[] = { 748*9cf0c526SNeeraj Upadhyay "gpio58", "gpio81", 749*9cf0c526SNeeraj Upadhyay }; 750*9cf0c526SNeeraj Upadhyay static const char * const gcc_gp3_groups[] = { 751*9cf0c526SNeeraj Upadhyay "gpio59", "gpio82", 752*9cf0c526SNeeraj Upadhyay }; 753*9cf0c526SNeeraj Upadhyay static const char * const gps_tx_a_groups[] = { 754*9cf0c526SNeeraj Upadhyay "gpio65", 755*9cf0c526SNeeraj Upadhyay }; 756*9cf0c526SNeeraj Upadhyay static const char * const gps_tx_b_groups[] = { 757*9cf0c526SNeeraj Upadhyay "gpio98", 758*9cf0c526SNeeraj Upadhyay }; 759*9cf0c526SNeeraj Upadhyay static const char * const gps_tx_c_groups[] = { 760*9cf0c526SNeeraj Upadhyay "gpio80", 761*9cf0c526SNeeraj Upadhyay }; 762*9cf0c526SNeeraj Upadhyay static const char * const isense_dbg_groups[] = { 763*9cf0c526SNeeraj Upadhyay "gpio68", 764*9cf0c526SNeeraj Upadhyay }; 765*9cf0c526SNeeraj Upadhyay static const char * const jitter_bist_groups[] = { 766*9cf0c526SNeeraj Upadhyay "gpio35", 767*9cf0c526SNeeraj Upadhyay }; 768*9cf0c526SNeeraj Upadhyay static const char * const ldo_en_groups[] = { 769*9cf0c526SNeeraj Upadhyay "gpio97", 770*9cf0c526SNeeraj Upadhyay }; 771*9cf0c526SNeeraj Upadhyay static const char * const ldo_update_groups[] = { 772*9cf0c526SNeeraj Upadhyay "gpio98", 773*9cf0c526SNeeraj Upadhyay }; 774*9cf0c526SNeeraj Upadhyay static const char * const m_voc_groups[] = { 775*9cf0c526SNeeraj Upadhyay "gpio28", 776*9cf0c526SNeeraj Upadhyay }; 777*9cf0c526SNeeraj Upadhyay static const char * const mdp_vsync_groups[] = { 778*9cf0c526SNeeraj Upadhyay "gpio59", "gpio74", 779*9cf0c526SNeeraj Upadhyay }; 780*9cf0c526SNeeraj Upadhyay static const char * const mdss_vsync0_groups[] = { 781*9cf0c526SNeeraj Upadhyay "gpio42", 782*9cf0c526SNeeraj Upadhyay }; 783*9cf0c526SNeeraj Upadhyay static const char * const mdss_vsync1_groups[] = { 784*9cf0c526SNeeraj Upadhyay "gpio42", 785*9cf0c526SNeeraj Upadhyay }; 786*9cf0c526SNeeraj Upadhyay static const char * const mdss_vsync2_groups[] = { 787*9cf0c526SNeeraj Upadhyay "gpio42", 788*9cf0c526SNeeraj Upadhyay }; 789*9cf0c526SNeeraj Upadhyay static const char * const mdss_vsync3_groups[] = { 790*9cf0c526SNeeraj Upadhyay "gpio42", 791*9cf0c526SNeeraj Upadhyay }; 792*9cf0c526SNeeraj Upadhyay static const char * const mss_lte_groups[] = { 793*9cf0c526SNeeraj Upadhyay "gpio81", "gpio82", 794*9cf0c526SNeeraj Upadhyay }; 795*9cf0c526SNeeraj Upadhyay static const char * const nav_pps_a_groups[] = { 796*9cf0c526SNeeraj Upadhyay "gpio65", 797*9cf0c526SNeeraj Upadhyay }; 798*9cf0c526SNeeraj Upadhyay static const char * const nav_pps_b_groups[] = { 799*9cf0c526SNeeraj Upadhyay "gpio98", 800*9cf0c526SNeeraj Upadhyay }; 801*9cf0c526SNeeraj Upadhyay static const char * const nav_pps_c_groups[] = { 802*9cf0c526SNeeraj Upadhyay "gpio80", 803*9cf0c526SNeeraj Upadhyay }; 804*9cf0c526SNeeraj Upadhyay static const char * const pa_indicator_groups[] = { 805*9cf0c526SNeeraj Upadhyay "gpio92", 806*9cf0c526SNeeraj Upadhyay }; 807*9cf0c526SNeeraj Upadhyay static const char * const phase_flag0_groups[] = { 808*9cf0c526SNeeraj Upadhyay "gpio68", 809*9cf0c526SNeeraj Upadhyay }; 810*9cf0c526SNeeraj Upadhyay static const char * const phase_flag1_groups[] = { 811*9cf0c526SNeeraj Upadhyay "gpio48", 812*9cf0c526SNeeraj Upadhyay }; 813*9cf0c526SNeeraj Upadhyay static const char * const phase_flag2_groups[] = { 814*9cf0c526SNeeraj Upadhyay "gpio49", 815*9cf0c526SNeeraj Upadhyay }; 816*9cf0c526SNeeraj Upadhyay static const char * const phase_flag3_groups[] = { 817*9cf0c526SNeeraj Upadhyay "gpio4", 818*9cf0c526SNeeraj Upadhyay }; 819*9cf0c526SNeeraj Upadhyay static const char * const phase_flag4_groups[] = { 820*9cf0c526SNeeraj Upadhyay "gpio57", 821*9cf0c526SNeeraj Upadhyay }; 822*9cf0c526SNeeraj Upadhyay static const char * const phase_flag5_groups[] = { 823*9cf0c526SNeeraj Upadhyay "gpio17", 824*9cf0c526SNeeraj Upadhyay }; 825*9cf0c526SNeeraj Upadhyay static const char * const phase_flag6_groups[] = { 826*9cf0c526SNeeraj Upadhyay "gpio53", 827*9cf0c526SNeeraj Upadhyay }; 828*9cf0c526SNeeraj Upadhyay static const char * const phase_flag7_groups[] = { 829*9cf0c526SNeeraj Upadhyay "gpio69", 830*9cf0c526SNeeraj Upadhyay }; 831*9cf0c526SNeeraj Upadhyay static const char * const phase_flag8_groups[] = { 832*9cf0c526SNeeraj Upadhyay "gpio70", 833*9cf0c526SNeeraj Upadhyay }; 834*9cf0c526SNeeraj Upadhyay static const char * const phase_flag9_groups[] = { 835*9cf0c526SNeeraj Upadhyay "gpio50", 836*9cf0c526SNeeraj Upadhyay }; 837*9cf0c526SNeeraj Upadhyay static const char * const phase_flag10_groups[] = { 838*9cf0c526SNeeraj Upadhyay "gpio56", 839*9cf0c526SNeeraj Upadhyay }; 840*9cf0c526SNeeraj Upadhyay static const char * const phase_flag11_groups[] = { 841*9cf0c526SNeeraj Upadhyay "gpio21", 842*9cf0c526SNeeraj Upadhyay }; 843*9cf0c526SNeeraj Upadhyay static const char * const phase_flag12_groups[] = { 844*9cf0c526SNeeraj Upadhyay "gpio22", 845*9cf0c526SNeeraj Upadhyay }; 846*9cf0c526SNeeraj Upadhyay static const char * const phase_flag13_groups[] = { 847*9cf0c526SNeeraj Upadhyay "gpio23", 848*9cf0c526SNeeraj Upadhyay }; 849*9cf0c526SNeeraj Upadhyay static const char * const phase_flag14_groups[] = { 850*9cf0c526SNeeraj Upadhyay "gpio5", 851*9cf0c526SNeeraj Upadhyay }; 852*9cf0c526SNeeraj Upadhyay static const char * const phase_flag15_groups[] = { 853*9cf0c526SNeeraj Upadhyay "gpio51", 854*9cf0c526SNeeraj Upadhyay }; 855*9cf0c526SNeeraj Upadhyay static const char * const phase_flag16_groups[] = { 856*9cf0c526SNeeraj Upadhyay "gpio52", 857*9cf0c526SNeeraj Upadhyay }; 858*9cf0c526SNeeraj Upadhyay static const char * const phase_flag17_groups[] = { 859*9cf0c526SNeeraj Upadhyay "gpio24", 860*9cf0c526SNeeraj Upadhyay }; 861*9cf0c526SNeeraj Upadhyay static const char * const phase_flag18_groups[] = { 862*9cf0c526SNeeraj Upadhyay "gpio25", 863*9cf0c526SNeeraj Upadhyay }; 864*9cf0c526SNeeraj Upadhyay static const char * const phase_flag19_groups[] = { 865*9cf0c526SNeeraj Upadhyay "gpio26", 866*9cf0c526SNeeraj Upadhyay }; 867*9cf0c526SNeeraj Upadhyay static const char * const phase_flag20_groups[] = { 868*9cf0c526SNeeraj Upadhyay "gpio27", 869*9cf0c526SNeeraj Upadhyay }; 870*9cf0c526SNeeraj Upadhyay static const char * const phase_flag21_groups[] = { 871*9cf0c526SNeeraj Upadhyay "gpio28", 872*9cf0c526SNeeraj Upadhyay }; 873*9cf0c526SNeeraj Upadhyay static const char * const phase_flag22_groups[] = { 874*9cf0c526SNeeraj Upadhyay "gpio29", 875*9cf0c526SNeeraj Upadhyay }; 876*9cf0c526SNeeraj Upadhyay static const char * const phase_flag23_groups[] = { 877*9cf0c526SNeeraj Upadhyay "gpio30", 878*9cf0c526SNeeraj Upadhyay }; 879*9cf0c526SNeeraj Upadhyay static const char * const phase_flag24_groups[] = { 880*9cf0c526SNeeraj Upadhyay "gpio31", 881*9cf0c526SNeeraj Upadhyay }; 882*9cf0c526SNeeraj Upadhyay static const char * const phase_flag25_groups[] = { 883*9cf0c526SNeeraj Upadhyay "gpio55", 884*9cf0c526SNeeraj Upadhyay }; 885*9cf0c526SNeeraj Upadhyay static const char * const phase_flag26_groups[] = { 886*9cf0c526SNeeraj Upadhyay "gpio12", 887*9cf0c526SNeeraj Upadhyay }; 888*9cf0c526SNeeraj Upadhyay static const char * const phase_flag27_groups[] = { 889*9cf0c526SNeeraj Upadhyay "gpio13", 890*9cf0c526SNeeraj Upadhyay }; 891*9cf0c526SNeeraj Upadhyay static const char * const phase_flag28_groups[] = { 892*9cf0c526SNeeraj Upadhyay "gpio14", 893*9cf0c526SNeeraj Upadhyay }; 894*9cf0c526SNeeraj Upadhyay static const char * const phase_flag29_groups[] = { 895*9cf0c526SNeeraj Upadhyay "gpio54", 896*9cf0c526SNeeraj Upadhyay }; 897*9cf0c526SNeeraj Upadhyay static const char * const phase_flag30_groups[] = { 898*9cf0c526SNeeraj Upadhyay "gpio47", 899*9cf0c526SNeeraj Upadhyay }; 900*9cf0c526SNeeraj Upadhyay static const char * const phase_flag31_groups[] = { 901*9cf0c526SNeeraj Upadhyay "gpio6", 902*9cf0c526SNeeraj Upadhyay }; 903*9cf0c526SNeeraj Upadhyay static const char * const pll_bypassnl_groups[] = { 904*9cf0c526SNeeraj Upadhyay "gpio36", 905*9cf0c526SNeeraj Upadhyay }; 906*9cf0c526SNeeraj Upadhyay static const char * const pll_reset_groups[] = { 907*9cf0c526SNeeraj Upadhyay "gpio37", 908*9cf0c526SNeeraj Upadhyay }; 909*9cf0c526SNeeraj Upadhyay static const char * const pri_mi2s_groups[] = { 910*9cf0c526SNeeraj Upadhyay "gpio12", "gpio14", "gpio15", "gpio61", 911*9cf0c526SNeeraj Upadhyay }; 912*9cf0c526SNeeraj Upadhyay static const char * const pri_mi2s_ws_groups[] = { 913*9cf0c526SNeeraj Upadhyay "gpio13", 914*9cf0c526SNeeraj Upadhyay }; 915*9cf0c526SNeeraj Upadhyay static const char * const prng_rosc_groups[] = { 916*9cf0c526SNeeraj Upadhyay "gpio102", 917*9cf0c526SNeeraj Upadhyay }; 918*9cf0c526SNeeraj Upadhyay static const char * const pwr_crypto_groups[] = { 919*9cf0c526SNeeraj Upadhyay "gpio33", 920*9cf0c526SNeeraj Upadhyay }; 921*9cf0c526SNeeraj Upadhyay static const char * const pwr_modem_groups[] = { 922*9cf0c526SNeeraj Upadhyay "gpio31", 923*9cf0c526SNeeraj Upadhyay }; 924*9cf0c526SNeeraj Upadhyay static const char * const pwr_nav_groups[] = { 925*9cf0c526SNeeraj Upadhyay "gpio32", 926*9cf0c526SNeeraj Upadhyay }; 927*9cf0c526SNeeraj Upadhyay static const char * const qdss_cti0_a_groups[] = { 928*9cf0c526SNeeraj Upadhyay "gpio49", "gpio50", 929*9cf0c526SNeeraj Upadhyay }; 930*9cf0c526SNeeraj Upadhyay static const char * const qdss_cti0_b_groups[] = { 931*9cf0c526SNeeraj Upadhyay "gpio13", "gpio21", 932*9cf0c526SNeeraj Upadhyay }; 933*9cf0c526SNeeraj Upadhyay static const char * const qdss_cti1_a_groups[] = { 934*9cf0c526SNeeraj Upadhyay "gpio53", "gpio55", 935*9cf0c526SNeeraj Upadhyay }; 936*9cf0c526SNeeraj Upadhyay static const char * const qdss_cti1_b_groups[] = { 937*9cf0c526SNeeraj Upadhyay "gpio12", "gpio66", 938*9cf0c526SNeeraj Upadhyay }; 939*9cf0c526SNeeraj Upadhyay static const char * const qdss_gpio0_groups[] = { 940*9cf0c526SNeeraj Upadhyay "gpio32", "gpio67", 941*9cf0c526SNeeraj Upadhyay }; 942*9cf0c526SNeeraj Upadhyay static const char * const qdss_gpio10_groups[] = { 943*9cf0c526SNeeraj Upadhyay "gpio43", "gpio77", 944*9cf0c526SNeeraj Upadhyay }; 945*9cf0c526SNeeraj Upadhyay static const char * const qdss_gpio11_groups[] = { 946*9cf0c526SNeeraj Upadhyay "gpio44", "gpio79", 947*9cf0c526SNeeraj Upadhyay }; 948*9cf0c526SNeeraj Upadhyay static const char * const qdss_gpio12_groups[] = { 949*9cf0c526SNeeraj Upadhyay "gpio45", "gpio80", 950*9cf0c526SNeeraj Upadhyay }; 951*9cf0c526SNeeraj Upadhyay static const char * const qdss_gpio13_groups[] = { 952*9cf0c526SNeeraj Upadhyay "gpio46", "gpio78", 953*9cf0c526SNeeraj Upadhyay }; 954*9cf0c526SNeeraj Upadhyay static const char * const qdss_gpio14_groups[] = { 955*9cf0c526SNeeraj Upadhyay "gpio47", "gpio72", 956*9cf0c526SNeeraj Upadhyay }; 957*9cf0c526SNeeraj Upadhyay static const char * const qdss_gpio15_groups[] = { 958*9cf0c526SNeeraj Upadhyay "gpio48", "gpio73", 959*9cf0c526SNeeraj Upadhyay }; 960*9cf0c526SNeeraj Upadhyay static const char * const qdss_gpio1_groups[] = { 961*9cf0c526SNeeraj Upadhyay "gpio33", "gpio63", 962*9cf0c526SNeeraj Upadhyay }; 963*9cf0c526SNeeraj Upadhyay static const char * const qdss_gpio2_groups[] = { 964*9cf0c526SNeeraj Upadhyay "gpio34", "gpio64", 965*9cf0c526SNeeraj Upadhyay }; 966*9cf0c526SNeeraj Upadhyay static const char * const qdss_gpio3_groups[] = { 967*9cf0c526SNeeraj Upadhyay "gpio35", "gpio56", 968*9cf0c526SNeeraj Upadhyay }; 969*9cf0c526SNeeraj Upadhyay static const char * const qdss_gpio4_groups[] = { 970*9cf0c526SNeeraj Upadhyay "gpio0", "gpio36", 971*9cf0c526SNeeraj Upadhyay }; 972*9cf0c526SNeeraj Upadhyay static const char * const qdss_gpio5_groups[] = { 973*9cf0c526SNeeraj Upadhyay "gpio1", "gpio37", 974*9cf0c526SNeeraj Upadhyay }; 975*9cf0c526SNeeraj Upadhyay static const char * const qdss_gpio6_groups[] = { 976*9cf0c526SNeeraj Upadhyay "gpio38", "gpio70", 977*9cf0c526SNeeraj Upadhyay }; 978*9cf0c526SNeeraj Upadhyay static const char * const qdss_gpio7_groups[] = { 979*9cf0c526SNeeraj Upadhyay "gpio39", "gpio71", 980*9cf0c526SNeeraj Upadhyay }; 981*9cf0c526SNeeraj Upadhyay static const char * const qdss_gpio8_groups[] = { 982*9cf0c526SNeeraj Upadhyay "gpio51", "gpio75", 983*9cf0c526SNeeraj Upadhyay }; 984*9cf0c526SNeeraj Upadhyay static const char * const qdss_gpio9_groups[] = { 985*9cf0c526SNeeraj Upadhyay "gpio42", "gpio76", 986*9cf0c526SNeeraj Upadhyay }; 987*9cf0c526SNeeraj Upadhyay static const char * const qdss_gpio_groups[] = { 988*9cf0c526SNeeraj Upadhyay "gpio31", "gpio52", "gpio68", "gpio69", 989*9cf0c526SNeeraj Upadhyay }; 990*9cf0c526SNeeraj Upadhyay static const char * const qlink_enable_groups[] = { 991*9cf0c526SNeeraj Upadhyay "gpio100", 992*9cf0c526SNeeraj Upadhyay }; 993*9cf0c526SNeeraj Upadhyay static const char * const qlink_request_groups[] = { 994*9cf0c526SNeeraj Upadhyay "gpio99", 995*9cf0c526SNeeraj Upadhyay }; 996*9cf0c526SNeeraj Upadhyay static const char * const qspi_clk_groups[] = { 997*9cf0c526SNeeraj Upadhyay "gpio47", 998*9cf0c526SNeeraj Upadhyay }; 999*9cf0c526SNeeraj Upadhyay static const char * const qspi_cs_groups[] = { 1000*9cf0c526SNeeraj Upadhyay "gpio43", "gpio50", 1001*9cf0c526SNeeraj Upadhyay }; 1002*9cf0c526SNeeraj Upadhyay static const char * const qspi_data0_groups[] = { 1003*9cf0c526SNeeraj Upadhyay "gpio33", 1004*9cf0c526SNeeraj Upadhyay }; 1005*9cf0c526SNeeraj Upadhyay static const char * const qspi_data1_groups[] = { 1006*9cf0c526SNeeraj Upadhyay "gpio34", 1007*9cf0c526SNeeraj Upadhyay }; 1008*9cf0c526SNeeraj Upadhyay static const char * const qspi_data2_groups[] = { 1009*9cf0c526SNeeraj Upadhyay "gpio35", 1010*9cf0c526SNeeraj Upadhyay }; 1011*9cf0c526SNeeraj Upadhyay static const char * const qspi_data3_groups[] = { 1012*9cf0c526SNeeraj Upadhyay "gpio51", 1013*9cf0c526SNeeraj Upadhyay }; 1014*9cf0c526SNeeraj Upadhyay static const char * const qspi_resetn_groups[] = { 1015*9cf0c526SNeeraj Upadhyay "gpio48", 1016*9cf0c526SNeeraj Upadhyay }; 1017*9cf0c526SNeeraj Upadhyay static const char * const sec_mi2s_groups[] = { 1018*9cf0c526SNeeraj Upadhyay "gpio24", "gpio25", "gpio26", "gpio27", "gpio62", 1019*9cf0c526SNeeraj Upadhyay }; 1020*9cf0c526SNeeraj Upadhyay static const char * const sndwire_clk_groups[] = { 1021*9cf0c526SNeeraj Upadhyay "gpio24", 1022*9cf0c526SNeeraj Upadhyay }; 1023*9cf0c526SNeeraj Upadhyay static const char * const sndwire_data_groups[] = { 1024*9cf0c526SNeeraj Upadhyay "gpio25", 1025*9cf0c526SNeeraj Upadhyay }; 1026*9cf0c526SNeeraj Upadhyay static const char * const sp_cmu_groups[] = { 1027*9cf0c526SNeeraj Upadhyay "gpio64", 1028*9cf0c526SNeeraj Upadhyay }; 1029*9cf0c526SNeeraj Upadhyay static const char * const ssc_irq_groups[] = { 1030*9cf0c526SNeeraj Upadhyay "gpio67", "gpio68", "gpio69", "gpio70", "gpio71", "gpio72", "gpio74", 1031*9cf0c526SNeeraj Upadhyay "gpio75", "gpio76", 1032*9cf0c526SNeeraj Upadhyay }; 1033*9cf0c526SNeeraj Upadhyay static const char * const tgu_ch0_groups[] = { 1034*9cf0c526SNeeraj Upadhyay "gpio0", 1035*9cf0c526SNeeraj Upadhyay }; 1036*9cf0c526SNeeraj Upadhyay static const char * const tgu_ch1_groups[] = { 1037*9cf0c526SNeeraj Upadhyay "gpio1", 1038*9cf0c526SNeeraj Upadhyay }; 1039*9cf0c526SNeeraj Upadhyay static const char * const tsense_pwm1_groups[] = { 1040*9cf0c526SNeeraj Upadhyay "gpio71", 1041*9cf0c526SNeeraj Upadhyay }; 1042*9cf0c526SNeeraj Upadhyay static const char * const tsense_pwm2_groups[] = { 1043*9cf0c526SNeeraj Upadhyay "gpio71", 1044*9cf0c526SNeeraj Upadhyay }; 1045*9cf0c526SNeeraj Upadhyay static const char * const uim1_clk_groups[] = { 1046*9cf0c526SNeeraj Upadhyay "gpio88", 1047*9cf0c526SNeeraj Upadhyay }; 1048*9cf0c526SNeeraj Upadhyay static const char * const uim1_data_groups[] = { 1049*9cf0c526SNeeraj Upadhyay "gpio87", 1050*9cf0c526SNeeraj Upadhyay }; 1051*9cf0c526SNeeraj Upadhyay static const char * const uim1_present_groups[] = { 1052*9cf0c526SNeeraj Upadhyay "gpio90", 1053*9cf0c526SNeeraj Upadhyay }; 1054*9cf0c526SNeeraj Upadhyay static const char * const uim1_reset_groups[] = { 1055*9cf0c526SNeeraj Upadhyay "gpio89", 1056*9cf0c526SNeeraj Upadhyay }; 1057*9cf0c526SNeeraj Upadhyay static const char * const uim2_clk_groups[] = { 1058*9cf0c526SNeeraj Upadhyay "gpio84", 1059*9cf0c526SNeeraj Upadhyay }; 1060*9cf0c526SNeeraj Upadhyay static const char * const uim2_data_groups[] = { 1061*9cf0c526SNeeraj Upadhyay "gpio83", 1062*9cf0c526SNeeraj Upadhyay }; 1063*9cf0c526SNeeraj Upadhyay static const char * const uim2_present_groups[] = { 1064*9cf0c526SNeeraj Upadhyay "gpio86", 1065*9cf0c526SNeeraj Upadhyay }; 1066*9cf0c526SNeeraj Upadhyay static const char * const uim2_reset_groups[] = { 1067*9cf0c526SNeeraj Upadhyay "gpio85", 1068*9cf0c526SNeeraj Upadhyay }; 1069*9cf0c526SNeeraj Upadhyay static const char * const uim_batt_groups[] = { 1070*9cf0c526SNeeraj Upadhyay "gpio91", 1071*9cf0c526SNeeraj Upadhyay }; 1072*9cf0c526SNeeraj Upadhyay static const char * const vfr_1_groups[] = { 1073*9cf0c526SNeeraj Upadhyay "gpio27", 1074*9cf0c526SNeeraj Upadhyay }; 1075*9cf0c526SNeeraj Upadhyay static const char * const vsense_clkout_groups[] = { 1076*9cf0c526SNeeraj Upadhyay "gpio24", 1077*9cf0c526SNeeraj Upadhyay }; 1078*9cf0c526SNeeraj Upadhyay static const char * const vsense_data0_groups[] = { 1079*9cf0c526SNeeraj Upadhyay "gpio21", 1080*9cf0c526SNeeraj Upadhyay }; 1081*9cf0c526SNeeraj Upadhyay static const char * const vsense_data1_groups[] = { 1082*9cf0c526SNeeraj Upadhyay "gpio22", 1083*9cf0c526SNeeraj Upadhyay }; 1084*9cf0c526SNeeraj Upadhyay static const char * const vsense_mode_groups[] = { 1085*9cf0c526SNeeraj Upadhyay "gpio23", 1086*9cf0c526SNeeraj Upadhyay }; 1087*9cf0c526SNeeraj Upadhyay static const char * const wlan1_adc0_groups[] = { 1088*9cf0c526SNeeraj Upadhyay "gpio9", 1089*9cf0c526SNeeraj Upadhyay }; 1090*9cf0c526SNeeraj Upadhyay static const char * const wlan1_adc1_groups[] = { 1091*9cf0c526SNeeraj Upadhyay "gpio8", 1092*9cf0c526SNeeraj Upadhyay }; 1093*9cf0c526SNeeraj Upadhyay static const char * const wlan2_adc0_groups[] = { 1094*9cf0c526SNeeraj Upadhyay "gpio11", 1095*9cf0c526SNeeraj Upadhyay }; 1096*9cf0c526SNeeraj Upadhyay static const char * const wlan2_adc1_groups[] = { 1097*9cf0c526SNeeraj Upadhyay "gpio10", 1098*9cf0c526SNeeraj Upadhyay }; 1099*9cf0c526SNeeraj Upadhyay 1100*9cf0c526SNeeraj Upadhyay static const struct msm_function sdm660_functions[] = { 1101*9cf0c526SNeeraj Upadhyay FUNCTION(adsp_ext), 1102*9cf0c526SNeeraj Upadhyay FUNCTION(agera_pll), 1103*9cf0c526SNeeraj Upadhyay FUNCTION(atest_char), 1104*9cf0c526SNeeraj Upadhyay FUNCTION(atest_char0), 1105*9cf0c526SNeeraj Upadhyay FUNCTION(atest_char1), 1106*9cf0c526SNeeraj Upadhyay FUNCTION(atest_char2), 1107*9cf0c526SNeeraj Upadhyay FUNCTION(atest_char3), 1108*9cf0c526SNeeraj Upadhyay FUNCTION(atest_gpsadc0), 1109*9cf0c526SNeeraj Upadhyay FUNCTION(atest_gpsadc1), 1110*9cf0c526SNeeraj Upadhyay FUNCTION(atest_tsens), 1111*9cf0c526SNeeraj Upadhyay FUNCTION(atest_tsens2), 1112*9cf0c526SNeeraj Upadhyay FUNCTION(atest_usb1), 1113*9cf0c526SNeeraj Upadhyay FUNCTION(atest_usb10), 1114*9cf0c526SNeeraj Upadhyay FUNCTION(atest_usb11), 1115*9cf0c526SNeeraj Upadhyay FUNCTION(atest_usb12), 1116*9cf0c526SNeeraj Upadhyay FUNCTION(atest_usb13), 1117*9cf0c526SNeeraj Upadhyay FUNCTION(atest_usb2), 1118*9cf0c526SNeeraj Upadhyay FUNCTION(atest_usb20), 1119*9cf0c526SNeeraj Upadhyay FUNCTION(atest_usb21), 1120*9cf0c526SNeeraj Upadhyay FUNCTION(atest_usb22), 1121*9cf0c526SNeeraj Upadhyay FUNCTION(atest_usb23), 1122*9cf0c526SNeeraj Upadhyay FUNCTION(audio_ref), 1123*9cf0c526SNeeraj Upadhyay FUNCTION(bimc_dte0), 1124*9cf0c526SNeeraj Upadhyay FUNCTION(bimc_dte1), 1125*9cf0c526SNeeraj Upadhyay FUNCTION(blsp_i2c1), 1126*9cf0c526SNeeraj Upadhyay FUNCTION(blsp_i2c2), 1127*9cf0c526SNeeraj Upadhyay FUNCTION(blsp_i2c3), 1128*9cf0c526SNeeraj Upadhyay FUNCTION(blsp_i2c4), 1129*9cf0c526SNeeraj Upadhyay FUNCTION(blsp_i2c5), 1130*9cf0c526SNeeraj Upadhyay FUNCTION(blsp_i2c6), 1131*9cf0c526SNeeraj Upadhyay FUNCTION(blsp_i2c7), 1132*9cf0c526SNeeraj Upadhyay FUNCTION(blsp_i2c8_a), 1133*9cf0c526SNeeraj Upadhyay FUNCTION(blsp_i2c8_b), 1134*9cf0c526SNeeraj Upadhyay FUNCTION(blsp_spi1), 1135*9cf0c526SNeeraj Upadhyay FUNCTION(blsp_spi2), 1136*9cf0c526SNeeraj Upadhyay FUNCTION(blsp_spi3), 1137*9cf0c526SNeeraj Upadhyay FUNCTION(blsp_spi3_cs1), 1138*9cf0c526SNeeraj Upadhyay FUNCTION(blsp_spi3_cs2), 1139*9cf0c526SNeeraj Upadhyay FUNCTION(blsp_spi4), 1140*9cf0c526SNeeraj Upadhyay FUNCTION(blsp_spi5), 1141*9cf0c526SNeeraj Upadhyay FUNCTION(blsp_spi6), 1142*9cf0c526SNeeraj Upadhyay FUNCTION(blsp_spi7), 1143*9cf0c526SNeeraj Upadhyay FUNCTION(blsp_spi8_a), 1144*9cf0c526SNeeraj Upadhyay FUNCTION(blsp_spi8_b), 1145*9cf0c526SNeeraj Upadhyay FUNCTION(blsp_spi8_cs1), 1146*9cf0c526SNeeraj Upadhyay FUNCTION(blsp_spi8_cs2), 1147*9cf0c526SNeeraj Upadhyay FUNCTION(blsp_uart1), 1148*9cf0c526SNeeraj Upadhyay FUNCTION(blsp_uart2), 1149*9cf0c526SNeeraj Upadhyay FUNCTION(blsp_uart5), 1150*9cf0c526SNeeraj Upadhyay FUNCTION(blsp_uart6_a), 1151*9cf0c526SNeeraj Upadhyay FUNCTION(blsp_uart6_b), 1152*9cf0c526SNeeraj Upadhyay FUNCTION(blsp_uim1), 1153*9cf0c526SNeeraj Upadhyay FUNCTION(blsp_uim2), 1154*9cf0c526SNeeraj Upadhyay FUNCTION(blsp_uim5), 1155*9cf0c526SNeeraj Upadhyay FUNCTION(blsp_uim6), 1156*9cf0c526SNeeraj Upadhyay FUNCTION(cam_mclk), 1157*9cf0c526SNeeraj Upadhyay FUNCTION(cci_async), 1158*9cf0c526SNeeraj Upadhyay FUNCTION(cci_i2c), 1159*9cf0c526SNeeraj Upadhyay FUNCTION(cri_trng), 1160*9cf0c526SNeeraj Upadhyay FUNCTION(cri_trng0), 1161*9cf0c526SNeeraj Upadhyay FUNCTION(cri_trng1), 1162*9cf0c526SNeeraj Upadhyay FUNCTION(dbg_out), 1163*9cf0c526SNeeraj Upadhyay FUNCTION(ddr_bist), 1164*9cf0c526SNeeraj Upadhyay FUNCTION(gcc_gp1), 1165*9cf0c526SNeeraj Upadhyay FUNCTION(gcc_gp2), 1166*9cf0c526SNeeraj Upadhyay FUNCTION(gcc_gp3), 1167*9cf0c526SNeeraj Upadhyay FUNCTION(gpio), 1168*9cf0c526SNeeraj Upadhyay FUNCTION(gps_tx_a), 1169*9cf0c526SNeeraj Upadhyay FUNCTION(gps_tx_b), 1170*9cf0c526SNeeraj Upadhyay FUNCTION(gps_tx_c), 1171*9cf0c526SNeeraj Upadhyay FUNCTION(isense_dbg), 1172*9cf0c526SNeeraj Upadhyay FUNCTION(jitter_bist), 1173*9cf0c526SNeeraj Upadhyay FUNCTION(ldo_en), 1174*9cf0c526SNeeraj Upadhyay FUNCTION(ldo_update), 1175*9cf0c526SNeeraj Upadhyay FUNCTION(m_voc), 1176*9cf0c526SNeeraj Upadhyay FUNCTION(mdp_vsync), 1177*9cf0c526SNeeraj Upadhyay FUNCTION(mdss_vsync0), 1178*9cf0c526SNeeraj Upadhyay FUNCTION(mdss_vsync1), 1179*9cf0c526SNeeraj Upadhyay FUNCTION(mdss_vsync2), 1180*9cf0c526SNeeraj Upadhyay FUNCTION(mdss_vsync3), 1181*9cf0c526SNeeraj Upadhyay FUNCTION(mss_lte), 1182*9cf0c526SNeeraj Upadhyay FUNCTION(nav_pps_a), 1183*9cf0c526SNeeraj Upadhyay FUNCTION(nav_pps_b), 1184*9cf0c526SNeeraj Upadhyay FUNCTION(nav_pps_c), 1185*9cf0c526SNeeraj Upadhyay FUNCTION(pa_indicator), 1186*9cf0c526SNeeraj Upadhyay FUNCTION(phase_flag0), 1187*9cf0c526SNeeraj Upadhyay FUNCTION(phase_flag1), 1188*9cf0c526SNeeraj Upadhyay FUNCTION(phase_flag2), 1189*9cf0c526SNeeraj Upadhyay FUNCTION(phase_flag3), 1190*9cf0c526SNeeraj Upadhyay FUNCTION(phase_flag4), 1191*9cf0c526SNeeraj Upadhyay FUNCTION(phase_flag5), 1192*9cf0c526SNeeraj Upadhyay FUNCTION(phase_flag6), 1193*9cf0c526SNeeraj Upadhyay FUNCTION(phase_flag7), 1194*9cf0c526SNeeraj Upadhyay FUNCTION(phase_flag8), 1195*9cf0c526SNeeraj Upadhyay FUNCTION(phase_flag9), 1196*9cf0c526SNeeraj Upadhyay FUNCTION(phase_flag10), 1197*9cf0c526SNeeraj Upadhyay FUNCTION(phase_flag11), 1198*9cf0c526SNeeraj Upadhyay FUNCTION(phase_flag12), 1199*9cf0c526SNeeraj Upadhyay FUNCTION(phase_flag13), 1200*9cf0c526SNeeraj Upadhyay FUNCTION(phase_flag14), 1201*9cf0c526SNeeraj Upadhyay FUNCTION(phase_flag15), 1202*9cf0c526SNeeraj Upadhyay FUNCTION(phase_flag16), 1203*9cf0c526SNeeraj Upadhyay FUNCTION(phase_flag17), 1204*9cf0c526SNeeraj Upadhyay FUNCTION(phase_flag18), 1205*9cf0c526SNeeraj Upadhyay FUNCTION(phase_flag19), 1206*9cf0c526SNeeraj Upadhyay FUNCTION(phase_flag20), 1207*9cf0c526SNeeraj Upadhyay FUNCTION(phase_flag21), 1208*9cf0c526SNeeraj Upadhyay FUNCTION(phase_flag22), 1209*9cf0c526SNeeraj Upadhyay FUNCTION(phase_flag23), 1210*9cf0c526SNeeraj Upadhyay FUNCTION(phase_flag24), 1211*9cf0c526SNeeraj Upadhyay FUNCTION(phase_flag25), 1212*9cf0c526SNeeraj Upadhyay FUNCTION(phase_flag26), 1213*9cf0c526SNeeraj Upadhyay FUNCTION(phase_flag27), 1214*9cf0c526SNeeraj Upadhyay FUNCTION(phase_flag28), 1215*9cf0c526SNeeraj Upadhyay FUNCTION(phase_flag29), 1216*9cf0c526SNeeraj Upadhyay FUNCTION(phase_flag30), 1217*9cf0c526SNeeraj Upadhyay FUNCTION(phase_flag31), 1218*9cf0c526SNeeraj Upadhyay FUNCTION(pll_bypassnl), 1219*9cf0c526SNeeraj Upadhyay FUNCTION(pll_reset), 1220*9cf0c526SNeeraj Upadhyay FUNCTION(pri_mi2s), 1221*9cf0c526SNeeraj Upadhyay FUNCTION(pri_mi2s_ws), 1222*9cf0c526SNeeraj Upadhyay FUNCTION(prng_rosc), 1223*9cf0c526SNeeraj Upadhyay FUNCTION(pwr_crypto), 1224*9cf0c526SNeeraj Upadhyay FUNCTION(pwr_modem), 1225*9cf0c526SNeeraj Upadhyay FUNCTION(pwr_nav), 1226*9cf0c526SNeeraj Upadhyay FUNCTION(qdss_cti0_a), 1227*9cf0c526SNeeraj Upadhyay FUNCTION(qdss_cti0_b), 1228*9cf0c526SNeeraj Upadhyay FUNCTION(qdss_cti1_a), 1229*9cf0c526SNeeraj Upadhyay FUNCTION(qdss_cti1_b), 1230*9cf0c526SNeeraj Upadhyay FUNCTION(qdss_gpio), 1231*9cf0c526SNeeraj Upadhyay FUNCTION(qdss_gpio0), 1232*9cf0c526SNeeraj Upadhyay FUNCTION(qdss_gpio1), 1233*9cf0c526SNeeraj Upadhyay FUNCTION(qdss_gpio10), 1234*9cf0c526SNeeraj Upadhyay FUNCTION(qdss_gpio11), 1235*9cf0c526SNeeraj Upadhyay FUNCTION(qdss_gpio12), 1236*9cf0c526SNeeraj Upadhyay FUNCTION(qdss_gpio13), 1237*9cf0c526SNeeraj Upadhyay FUNCTION(qdss_gpio14), 1238*9cf0c526SNeeraj Upadhyay FUNCTION(qdss_gpio15), 1239*9cf0c526SNeeraj Upadhyay FUNCTION(qdss_gpio2), 1240*9cf0c526SNeeraj Upadhyay FUNCTION(qdss_gpio3), 1241*9cf0c526SNeeraj Upadhyay FUNCTION(qdss_gpio4), 1242*9cf0c526SNeeraj Upadhyay FUNCTION(qdss_gpio5), 1243*9cf0c526SNeeraj Upadhyay FUNCTION(qdss_gpio6), 1244*9cf0c526SNeeraj Upadhyay FUNCTION(qdss_gpio7), 1245*9cf0c526SNeeraj Upadhyay FUNCTION(qdss_gpio8), 1246*9cf0c526SNeeraj Upadhyay FUNCTION(qdss_gpio9), 1247*9cf0c526SNeeraj Upadhyay FUNCTION(qlink_enable), 1248*9cf0c526SNeeraj Upadhyay FUNCTION(qlink_request), 1249*9cf0c526SNeeraj Upadhyay FUNCTION(qspi_clk), 1250*9cf0c526SNeeraj Upadhyay FUNCTION(qspi_cs), 1251*9cf0c526SNeeraj Upadhyay FUNCTION(qspi_data0), 1252*9cf0c526SNeeraj Upadhyay FUNCTION(qspi_data1), 1253*9cf0c526SNeeraj Upadhyay FUNCTION(qspi_data2), 1254*9cf0c526SNeeraj Upadhyay FUNCTION(qspi_data3), 1255*9cf0c526SNeeraj Upadhyay FUNCTION(qspi_resetn), 1256*9cf0c526SNeeraj Upadhyay FUNCTION(sec_mi2s), 1257*9cf0c526SNeeraj Upadhyay FUNCTION(sndwire_clk), 1258*9cf0c526SNeeraj Upadhyay FUNCTION(sndwire_data), 1259*9cf0c526SNeeraj Upadhyay FUNCTION(sp_cmu), 1260*9cf0c526SNeeraj Upadhyay FUNCTION(ssc_irq), 1261*9cf0c526SNeeraj Upadhyay FUNCTION(tgu_ch0), 1262*9cf0c526SNeeraj Upadhyay FUNCTION(tgu_ch1), 1263*9cf0c526SNeeraj Upadhyay FUNCTION(tsense_pwm1), 1264*9cf0c526SNeeraj Upadhyay FUNCTION(tsense_pwm2), 1265*9cf0c526SNeeraj Upadhyay FUNCTION(uim1_clk), 1266*9cf0c526SNeeraj Upadhyay FUNCTION(uim1_data), 1267*9cf0c526SNeeraj Upadhyay FUNCTION(uim1_present), 1268*9cf0c526SNeeraj Upadhyay FUNCTION(uim1_reset), 1269*9cf0c526SNeeraj Upadhyay FUNCTION(uim2_clk), 1270*9cf0c526SNeeraj Upadhyay FUNCTION(uim2_data), 1271*9cf0c526SNeeraj Upadhyay FUNCTION(uim2_present), 1272*9cf0c526SNeeraj Upadhyay FUNCTION(uim2_reset), 1273*9cf0c526SNeeraj Upadhyay FUNCTION(uim_batt), 1274*9cf0c526SNeeraj Upadhyay FUNCTION(vfr_1), 1275*9cf0c526SNeeraj Upadhyay FUNCTION(vsense_clkout), 1276*9cf0c526SNeeraj Upadhyay FUNCTION(vsense_data0), 1277*9cf0c526SNeeraj Upadhyay FUNCTION(vsense_data1), 1278*9cf0c526SNeeraj Upadhyay FUNCTION(vsense_mode), 1279*9cf0c526SNeeraj Upadhyay FUNCTION(wlan1_adc0), 1280*9cf0c526SNeeraj Upadhyay FUNCTION(wlan1_adc1), 1281*9cf0c526SNeeraj Upadhyay FUNCTION(wlan2_adc0), 1282*9cf0c526SNeeraj Upadhyay FUNCTION(wlan2_adc1), 1283*9cf0c526SNeeraj Upadhyay }; 1284*9cf0c526SNeeraj Upadhyay 1285*9cf0c526SNeeraj Upadhyay static const struct msm_pingroup sdm660_groups[] = { 1286*9cf0c526SNeeraj Upadhyay PINGROUP(0, SOUTH, blsp_spi1, blsp_uart1, blsp_uim1, tgu_ch0, _, _, qdss_gpio4, atest_gpsadc1, _), 1287*9cf0c526SNeeraj Upadhyay PINGROUP(1, SOUTH, blsp_spi1, blsp_uart1, blsp_uim1, tgu_ch1, _, _, qdss_gpio5, atest_gpsadc0, _), 1288*9cf0c526SNeeraj Upadhyay PINGROUP(2, SOUTH, blsp_spi1, blsp_uart1, blsp_i2c1, _, _, _, _, _, _), 1289*9cf0c526SNeeraj Upadhyay PINGROUP(3, SOUTH, blsp_spi1, blsp_uart1, blsp_i2c1, ddr_bist, _, _, atest_tsens2, atest_usb1, _), 1290*9cf0c526SNeeraj Upadhyay PINGROUP(4, NORTH, blsp_spi2, blsp_uim2, blsp_uart2, phase_flag3, _, _, _, _, _), 1291*9cf0c526SNeeraj Upadhyay PINGROUP(5, SOUTH, blsp_spi2, blsp_uim2, blsp_uart2, phase_flag14, _, _, _, _, _), 1292*9cf0c526SNeeraj Upadhyay PINGROUP(6, SOUTH, blsp_spi2, blsp_i2c2, blsp_uart2, phase_flag31, _, _, _, _, _), 1293*9cf0c526SNeeraj Upadhyay PINGROUP(7, SOUTH, blsp_spi2, blsp_i2c2, blsp_uart2, _, _, _, _, _, _), 1294*9cf0c526SNeeraj Upadhyay PINGROUP(8, NORTH, blsp_spi3, ddr_bist, _, _, _, wlan1_adc1, atest_usb13, bimc_dte1, _), 1295*9cf0c526SNeeraj Upadhyay PINGROUP(9, NORTH, blsp_spi3, ddr_bist, _, _, _, wlan1_adc0, atest_usb12, bimc_dte0, _), 1296*9cf0c526SNeeraj Upadhyay PINGROUP(10, NORTH, blsp_spi3, blsp_i2c3, ddr_bist, _, _, wlan2_adc1, atest_usb11, bimc_dte1, _), 1297*9cf0c526SNeeraj Upadhyay PINGROUP(11, NORTH, blsp_spi3, blsp_i2c3, _, dbg_out, wlan2_adc0, atest_usb10, bimc_dte0, _, _), 1298*9cf0c526SNeeraj Upadhyay PINGROUP(12, NORTH, blsp_spi4, pri_mi2s, _, phase_flag26, qdss_cti1_b, _, _, _, _), 1299*9cf0c526SNeeraj Upadhyay PINGROUP(13, NORTH, blsp_spi4, _, pri_mi2s_ws, _, _, phase_flag27, qdss_cti0_b, _, _), 1300*9cf0c526SNeeraj Upadhyay PINGROUP(14, NORTH, blsp_spi4, blsp_i2c4, pri_mi2s, _, phase_flag28, _, _, _, _), 1301*9cf0c526SNeeraj Upadhyay PINGROUP(15, NORTH, blsp_spi4, blsp_i2c4, pri_mi2s, _, _, _, _, _, _), 1302*9cf0c526SNeeraj Upadhyay PINGROUP(16, CENTER, blsp_uart5, blsp_spi5, blsp_uim5, _, _, _, _, _, _), 1303*9cf0c526SNeeraj Upadhyay PINGROUP(17, CENTER, blsp_uart5, blsp_spi5, blsp_uim5, _, phase_flag5, _, _, _, _), 1304*9cf0c526SNeeraj Upadhyay PINGROUP(18, CENTER, blsp_uart5, blsp_spi5, blsp_i2c5, _, _, _, _, _, _), 1305*9cf0c526SNeeraj Upadhyay PINGROUP(19, CENTER, blsp_uart5, blsp_spi5, blsp_i2c5, _, _, _, _, _, _), 1306*9cf0c526SNeeraj Upadhyay PINGROUP(20, SOUTH, _, _, blsp_uim6, _, _, _, _, _, _), 1307*9cf0c526SNeeraj Upadhyay PINGROUP(21, SOUTH, _, _, blsp_uim6, _, phase_flag11, qdss_cti0_b, vsense_data0, _, _), 1308*9cf0c526SNeeraj Upadhyay PINGROUP(22, CENTER, blsp_spi6, _, blsp_i2c6, _, phase_flag12, vsense_data1, _, _, _), 1309*9cf0c526SNeeraj Upadhyay PINGROUP(23, CENTER, blsp_spi6, _, blsp_i2c6, _, phase_flag13, vsense_mode, _, _, _), 1310*9cf0c526SNeeraj Upadhyay PINGROUP(24, NORTH, blsp_spi7, blsp_uart6_a, sec_mi2s, sndwire_clk, _, _, phase_flag17, vsense_clkout, _), 1311*9cf0c526SNeeraj Upadhyay PINGROUP(25, NORTH, blsp_spi7, blsp_uart6_a, sec_mi2s, sndwire_data, _, _, phase_flag18, _, _), 1312*9cf0c526SNeeraj Upadhyay PINGROUP(26, NORTH, blsp_spi7, blsp_uart6_a, blsp_i2c7, sec_mi2s, _, phase_flag19, _, _, _), 1313*9cf0c526SNeeraj Upadhyay PINGROUP(27, NORTH, blsp_spi7, blsp_uart6_a, blsp_i2c7, vfr_1, sec_mi2s, _, phase_flag20, _, _), 1314*9cf0c526SNeeraj Upadhyay PINGROUP(28, CENTER, blsp_spi8_a, blsp_uart6_b, m_voc, _, phase_flag21, _, _, _, _), 1315*9cf0c526SNeeraj Upadhyay PINGROUP(29, CENTER, blsp_spi8_a, blsp_uart6_b, _, _, phase_flag22, _, _, _, _), 1316*9cf0c526SNeeraj Upadhyay PINGROUP(30, CENTER, blsp_spi8_a, blsp_uart6_b, blsp_i2c8_a, blsp_spi3_cs1, _, phase_flag23, _, _, _), 1317*9cf0c526SNeeraj Upadhyay PINGROUP(31, CENTER, blsp_spi8_a, blsp_uart6_b, blsp_i2c8_a, pwr_modem, _, phase_flag24, qdss_gpio, _, _), 1318*9cf0c526SNeeraj Upadhyay PINGROUP(32, SOUTH, cam_mclk, pwr_nav, _, _, qdss_gpio0, _, _, _, _), 1319*9cf0c526SNeeraj Upadhyay PINGROUP(33, SOUTH, cam_mclk, qspi_data0, pwr_crypto, _, _, qdss_gpio1, _, _, _), 1320*9cf0c526SNeeraj Upadhyay PINGROUP(34, SOUTH, cam_mclk, qspi_data1, agera_pll, _, _, qdss_gpio2, _, _, _), 1321*9cf0c526SNeeraj Upadhyay PINGROUP(35, SOUTH, cam_mclk, qspi_data2, jitter_bist, _, _, qdss_gpio3, _, atest_usb2, _), 1322*9cf0c526SNeeraj Upadhyay PINGROUP(36, SOUTH, cci_i2c, pll_bypassnl, agera_pll, _, _, qdss_gpio4, atest_tsens, atest_usb21, _), 1323*9cf0c526SNeeraj Upadhyay PINGROUP(37, SOUTH, cci_i2c, pll_reset, _, _, qdss_gpio5, atest_usb23, _, _, _), 1324*9cf0c526SNeeraj Upadhyay PINGROUP(38, SOUTH, cci_i2c, _, _, qdss_gpio6, _, _, _, _, _), 1325*9cf0c526SNeeraj Upadhyay PINGROUP(39, SOUTH, cci_i2c, _, _, qdss_gpio7, _, _, _, _, _), 1326*9cf0c526SNeeraj Upadhyay PINGROUP(40, SOUTH, _, _, blsp_spi8_b, _, _, _, _, _, _), 1327*9cf0c526SNeeraj Upadhyay PINGROUP(41, SOUTH, _, _, blsp_spi8_b, _, _, _, _, _, _), 1328*9cf0c526SNeeraj Upadhyay PINGROUP(42, SOUTH, mdss_vsync0, mdss_vsync1, mdss_vsync2, mdss_vsync3, _, _, qdss_gpio9, _, _), 1329*9cf0c526SNeeraj Upadhyay PINGROUP(43, SOUTH, _, _, qspi_cs, _, _, qdss_gpio10, _, _, _), 1330*9cf0c526SNeeraj Upadhyay PINGROUP(44, SOUTH, _, _, blsp_spi8_b, blsp_i2c8_b, _, _, qdss_gpio11, _, _), 1331*9cf0c526SNeeraj Upadhyay PINGROUP(45, SOUTH, cci_async, _, _, qdss_gpio12, _, _, _, _, _), 1332*9cf0c526SNeeraj Upadhyay PINGROUP(46, SOUTH, blsp_spi1, _, _, qdss_gpio13, _, _, _, _, _), 1333*9cf0c526SNeeraj Upadhyay PINGROUP(47, SOUTH, qspi_clk, _, phase_flag30, qdss_gpio14, _, _, _, _, _), 1334*9cf0c526SNeeraj Upadhyay PINGROUP(48, SOUTH, _, phase_flag1, qdss_gpio15, _, _, _, _, _, _), 1335*9cf0c526SNeeraj Upadhyay PINGROUP(49, SOUTH, blsp_spi6, phase_flag2, qdss_cti0_a, _, _, _, _, _, _), 1336*9cf0c526SNeeraj Upadhyay PINGROUP(50, SOUTH, qspi_cs, _, phase_flag9, qdss_cti0_a, _, _, _, _, _), 1337*9cf0c526SNeeraj Upadhyay PINGROUP(51, SOUTH, qspi_data3, _, phase_flag15, qdss_gpio8, _, _, _, _, _), 1338*9cf0c526SNeeraj Upadhyay PINGROUP(52, SOUTH, _, blsp_spi8_b, blsp_i2c8_b, blsp_spi6, phase_flag16, qdss_gpio, _, _, _), 1339*9cf0c526SNeeraj Upadhyay PINGROUP(53, NORTH, _, phase_flag6, qdss_cti1_a, _, _, _, _, _, _), 1340*9cf0c526SNeeraj Upadhyay PINGROUP(54, NORTH, _, _, phase_flag29, _, _, _, _, _, _), 1341*9cf0c526SNeeraj Upadhyay PINGROUP(55, SOUTH, _, phase_flag25, qdss_cti1_a, _, _, _, _, _, _), 1342*9cf0c526SNeeraj Upadhyay PINGROUP(56, SOUTH, _, phase_flag10, qdss_gpio3, _, atest_usb20, _, _, _, _), 1343*9cf0c526SNeeraj Upadhyay PINGROUP(57, SOUTH, gcc_gp1, _, phase_flag4, atest_usb22, _, _, _, _, _), 1344*9cf0c526SNeeraj Upadhyay PINGROUP(58, SOUTH, _, gcc_gp2, _, _, atest_char, _, _, _, _), 1345*9cf0c526SNeeraj Upadhyay PINGROUP(59, NORTH, mdp_vsync, gcc_gp3, _, _, atest_char3, _, _, _, _), 1346*9cf0c526SNeeraj Upadhyay PINGROUP(60, NORTH, cri_trng0, _, _, atest_char2, _, _, _, _, _), 1347*9cf0c526SNeeraj Upadhyay PINGROUP(61, NORTH, pri_mi2s, cri_trng1, _, _, atest_char1, _, _, _, _), 1348*9cf0c526SNeeraj Upadhyay PINGROUP(62, NORTH, sec_mi2s, audio_ref, _, cri_trng, _, _, atest_char0, _, _), 1349*9cf0c526SNeeraj Upadhyay PINGROUP(63, NORTH, _, _, _, qdss_gpio1, _, _, _, _, _), 1350*9cf0c526SNeeraj Upadhyay PINGROUP(64, SOUTH, blsp_spi8_cs1, sp_cmu, _, _, qdss_gpio2, _, _, _, _), 1351*9cf0c526SNeeraj Upadhyay PINGROUP(65, SOUTH, _, nav_pps_a, nav_pps_a, gps_tx_a, blsp_spi3_cs2, adsp_ext, _, _, _), 1352*9cf0c526SNeeraj Upadhyay PINGROUP(66, NORTH, _, _, qdss_cti1_b, _, _, _, _, _, _), 1353*9cf0c526SNeeraj Upadhyay PINGROUP(67, NORTH, _, _, qdss_gpio0, _, _, _, _, _, _), 1354*9cf0c526SNeeraj Upadhyay PINGROUP(68, NORTH, isense_dbg, _, phase_flag0, qdss_gpio, _, _, _, _, _), 1355*9cf0c526SNeeraj Upadhyay PINGROUP(69, NORTH, _, phase_flag7, qdss_gpio, _, _, _, _, _, _), 1356*9cf0c526SNeeraj Upadhyay PINGROUP(70, NORTH, _, phase_flag8, qdss_gpio6, _, _, _, _, _, _), 1357*9cf0c526SNeeraj Upadhyay PINGROUP(71, NORTH, _, _, qdss_gpio7, tsense_pwm1, tsense_pwm2, _, _, _, _), 1358*9cf0c526SNeeraj Upadhyay PINGROUP(72, NORTH, _, qdss_gpio14, _, _, _, _, _, _, _), 1359*9cf0c526SNeeraj Upadhyay PINGROUP(73, NORTH, _, _, qdss_gpio15, _, _, _, _, _, _), 1360*9cf0c526SNeeraj Upadhyay PINGROUP(74, NORTH, mdp_vsync, _, _, _, _, _, _, _, _), 1361*9cf0c526SNeeraj Upadhyay PINGROUP(75, NORTH, _, _, qdss_gpio8, _, _, _, _, _, _), 1362*9cf0c526SNeeraj Upadhyay PINGROUP(76, NORTH, blsp_spi8_cs2, _, _, _, qdss_gpio9, _, _, _, _), 1363*9cf0c526SNeeraj Upadhyay PINGROUP(77, NORTH, _, _, qdss_gpio10, _, _, _, _, _, _), 1364*9cf0c526SNeeraj Upadhyay PINGROUP(78, NORTH, gcc_gp1, _, qdss_gpio13, _, _, _, _, _, _), 1365*9cf0c526SNeeraj Upadhyay PINGROUP(79, SOUTH, _, _, qdss_gpio11, _, _, _, _, _, _), 1366*9cf0c526SNeeraj Upadhyay PINGROUP(80, SOUTH, nav_pps_b, nav_pps_b, gps_tx_c, _, _, qdss_gpio12, _, _, _), 1367*9cf0c526SNeeraj Upadhyay PINGROUP(81, CENTER, mss_lte, gcc_gp2, _, _, _, _, _, _, _), 1368*9cf0c526SNeeraj Upadhyay PINGROUP(82, CENTER, mss_lte, gcc_gp3, _, _, _, _, _, _, _), 1369*9cf0c526SNeeraj Upadhyay PINGROUP(83, SOUTH, uim2_data, _, _, _, _, _, _, _, _), 1370*9cf0c526SNeeraj Upadhyay PINGROUP(84, SOUTH, uim2_clk, _, _, _, _, _, _, _, _), 1371*9cf0c526SNeeraj Upadhyay PINGROUP(85, SOUTH, uim2_reset, _, _, _, _, _, _, _, _), 1372*9cf0c526SNeeraj Upadhyay PINGROUP(86, SOUTH, uim2_present, _, _, _, _, _, _, _, _), 1373*9cf0c526SNeeraj Upadhyay PINGROUP(87, SOUTH, uim1_data, _, _, _, _, _, _, _, _), 1374*9cf0c526SNeeraj Upadhyay PINGROUP(88, SOUTH, uim1_clk, _, _, _, _, _, _, _, _), 1375*9cf0c526SNeeraj Upadhyay PINGROUP(89, SOUTH, uim1_reset, _, _, _, _, _, _, _, _), 1376*9cf0c526SNeeraj Upadhyay PINGROUP(90, SOUTH, uim1_present, _, _, _, _, _, _, _, _), 1377*9cf0c526SNeeraj Upadhyay PINGROUP(91, SOUTH, uim_batt, _, _, _, _, _, _, _, _), 1378*9cf0c526SNeeraj Upadhyay PINGROUP(92, SOUTH, _, _, pa_indicator, _, _, _, _, _, _), 1379*9cf0c526SNeeraj Upadhyay PINGROUP(93, SOUTH, _, _, _, _, _, _, _, _, _), 1380*9cf0c526SNeeraj Upadhyay PINGROUP(94, SOUTH, _, _, _, _, _, _, _, _, _), 1381*9cf0c526SNeeraj Upadhyay PINGROUP(95, SOUTH, _, _, _, _, _, _, _, _, _), 1382*9cf0c526SNeeraj Upadhyay PINGROUP(96, SOUTH, _, _, _, _, _, _, _, _, _), 1383*9cf0c526SNeeraj Upadhyay PINGROUP(97, SOUTH, _, ldo_en, _, _, _, _, _, _, _), 1384*9cf0c526SNeeraj Upadhyay PINGROUP(98, SOUTH, _, nav_pps_c, nav_pps_c, gps_tx_b, ldo_update, _, _, _, _), 1385*9cf0c526SNeeraj Upadhyay PINGROUP(99, SOUTH, qlink_request, _, _, _, _, _, _, _, _), 1386*9cf0c526SNeeraj Upadhyay PINGROUP(100, SOUTH, qlink_enable, _, _, _, _, _, _, _, _), 1387*9cf0c526SNeeraj Upadhyay PINGROUP(101, SOUTH, _, _, _, _, _, _, _, _, _), 1388*9cf0c526SNeeraj Upadhyay PINGROUP(102, SOUTH, _, prng_rosc, _, _, _, _, _, _, _), 1389*9cf0c526SNeeraj Upadhyay PINGROUP(103, SOUTH, _, _, _, _, _, _, _, _, _), 1390*9cf0c526SNeeraj Upadhyay PINGROUP(104, SOUTH, _, _, _, _, _, _, _, _, _), 1391*9cf0c526SNeeraj Upadhyay PINGROUP(105, SOUTH, _, _, _, _, _, _, _, _, _), 1392*9cf0c526SNeeraj Upadhyay PINGROUP(106, SOUTH, _, _, _, _, _, _, _, _, _), 1393*9cf0c526SNeeraj Upadhyay PINGROUP(107, SOUTH, _, _, _, _, _, _, _, _, _), 1394*9cf0c526SNeeraj Upadhyay PINGROUP(108, SOUTH, _, _, _, _, _, _, _, _, _), 1395*9cf0c526SNeeraj Upadhyay PINGROUP(109, SOUTH, _, _, _, _, _, _, _, _, _), 1396*9cf0c526SNeeraj Upadhyay PINGROUP(110, SOUTH, _, _, _, _, _, _, _, _, _), 1397*9cf0c526SNeeraj Upadhyay PINGROUP(111, SOUTH, _, _, _, _, _, _, _, _, _), 1398*9cf0c526SNeeraj Upadhyay PINGROUP(112, SOUTH, _, _, _, _, _, _, _, _, _), 1399*9cf0c526SNeeraj Upadhyay PINGROUP(113, SOUTH, _, _, _, _, _, _, _, _, _), 1400*9cf0c526SNeeraj Upadhyay SDC_QDSD_PINGROUP(sdc1_clk, 0x99a000, 13, 6), 1401*9cf0c526SNeeraj Upadhyay SDC_QDSD_PINGROUP(sdc1_cmd, 0x99a000, 11, 3), 1402*9cf0c526SNeeraj Upadhyay SDC_QDSD_PINGROUP(sdc1_data, 0x99a000, 9, 0), 1403*9cf0c526SNeeraj Upadhyay SDC_QDSD_PINGROUP(sdc2_clk, 0x99b000, 14, 6), 1404*9cf0c526SNeeraj Upadhyay SDC_QDSD_PINGROUP(sdc2_cmd, 0x99b000, 11, 3), 1405*9cf0c526SNeeraj Upadhyay SDC_QDSD_PINGROUP(sdc2_data, 0x99b000, 9, 0), 1406*9cf0c526SNeeraj Upadhyay SDC_QDSD_PINGROUP(sdc1_rclk, 0x99a000, 15, 0), 1407*9cf0c526SNeeraj Upadhyay }; 1408*9cf0c526SNeeraj Upadhyay 1409*9cf0c526SNeeraj Upadhyay static const struct msm_pinctrl_soc_data sdm660_pinctrl = { 1410*9cf0c526SNeeraj Upadhyay .pins = sdm660_pins, 1411*9cf0c526SNeeraj Upadhyay .npins = ARRAY_SIZE(sdm660_pins), 1412*9cf0c526SNeeraj Upadhyay .functions = sdm660_functions, 1413*9cf0c526SNeeraj Upadhyay .nfunctions = ARRAY_SIZE(sdm660_functions), 1414*9cf0c526SNeeraj Upadhyay .groups = sdm660_groups, 1415*9cf0c526SNeeraj Upadhyay .ngroups = ARRAY_SIZE(sdm660_groups), 1416*9cf0c526SNeeraj Upadhyay .ngpios = 114, 1417*9cf0c526SNeeraj Upadhyay .tiles = sdm660_tiles, 1418*9cf0c526SNeeraj Upadhyay .ntiles = ARRAY_SIZE(sdm660_tiles), 1419*9cf0c526SNeeraj Upadhyay }; 1420*9cf0c526SNeeraj Upadhyay 1421*9cf0c526SNeeraj Upadhyay static int sdm660_pinctrl_probe(struct platform_device *pdev) 1422*9cf0c526SNeeraj Upadhyay { 1423*9cf0c526SNeeraj Upadhyay return msm_pinctrl_probe(pdev, &sdm660_pinctrl); 1424*9cf0c526SNeeraj Upadhyay } 1425*9cf0c526SNeeraj Upadhyay 1426*9cf0c526SNeeraj Upadhyay static const struct of_device_id sdm660_pinctrl_of_match[] = { 1427*9cf0c526SNeeraj Upadhyay { .compatible = "qcom,sdm660-pinctrl", }, 1428*9cf0c526SNeeraj Upadhyay { .compatible = "qcom,sdm630-pinctrl", }, 1429*9cf0c526SNeeraj Upadhyay { }, 1430*9cf0c526SNeeraj Upadhyay }; 1431*9cf0c526SNeeraj Upadhyay 1432*9cf0c526SNeeraj Upadhyay static struct platform_driver sdm660_pinctrl_driver = { 1433*9cf0c526SNeeraj Upadhyay .driver = { 1434*9cf0c526SNeeraj Upadhyay .name = "sdm660-pinctrl", 1435*9cf0c526SNeeraj Upadhyay .of_match_table = sdm660_pinctrl_of_match, 1436*9cf0c526SNeeraj Upadhyay }, 1437*9cf0c526SNeeraj Upadhyay .probe = sdm660_pinctrl_probe, 1438*9cf0c526SNeeraj Upadhyay .remove = msm_pinctrl_remove, 1439*9cf0c526SNeeraj Upadhyay }; 1440*9cf0c526SNeeraj Upadhyay 1441*9cf0c526SNeeraj Upadhyay static int __init sdm660_pinctrl_init(void) 1442*9cf0c526SNeeraj Upadhyay { 1443*9cf0c526SNeeraj Upadhyay return platform_driver_register(&sdm660_pinctrl_driver); 1444*9cf0c526SNeeraj Upadhyay } 1445*9cf0c526SNeeraj Upadhyay arch_initcall(sdm660_pinctrl_init); 1446*9cf0c526SNeeraj Upadhyay 1447*9cf0c526SNeeraj Upadhyay static void __exit sdm660_pinctrl_exit(void) 1448*9cf0c526SNeeraj Upadhyay { 1449*9cf0c526SNeeraj Upadhyay platform_driver_unregister(&sdm660_pinctrl_driver); 1450*9cf0c526SNeeraj Upadhyay } 1451*9cf0c526SNeeraj Upadhyay module_exit(sdm660_pinctrl_exit); 1452*9cf0c526SNeeraj Upadhyay 1453*9cf0c526SNeeraj Upadhyay MODULE_DESCRIPTION("QTI sdm660 pinctrl driver"); 1454*9cf0c526SNeeraj Upadhyay MODULE_LICENSE("GPL v2"); 1455*9cf0c526SNeeraj Upadhyay MODULE_DEVICE_TABLE(of, sdm660_pinctrl_of_match); 1456