Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

pinctrl: qcom: Add glymur pinctrl driver

Add TLMM pinctrl driver to support pin configuration with pinctrl
framework for Glymur SoC.

Reviewed-by: Bjorn Andersson <andersson@kernel.org>
Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Signed-off-by: Pankaj Patil <pankaj.patil@oss.qualcomm.com>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>

authored by

Pankaj Patil and committed by
Linus Walleij
87ebcd8b ebe39753

+1788
+10
drivers/pinctrl/qcom/Kconfig.msm
··· 15 15 This is the pinctrl, pinmux, pinconf and gpiolib driver for the 16 16 Qualcomm TLMM block found in the Qualcomm APQ8084 platform. 17 17 18 + config PINCTRL_GLYMUR 19 + tristate "Qualcomm Technologies Inc Glymur pin controller driver" 20 + depends on ARM64 || COMPILE_TEST 21 + help 22 + This is the pinctrl, pinmux, pinconf and gpiolib driver for the 23 + Qualcomm Technologies Inc Top Level Mode Multiplexer block (TLMM) 24 + block found on the Qualcomm Technologies Inc Glymur platform. 25 + Say Y here to compile statically, or M here to compile it as a module. 26 + If unsure, say N. 27 + 18 28 config PINCTRL_IPQ4019 19 29 tristate "Qualcomm IPQ4019 pin controller driver" 20 30 depends on ARM || COMPILE_TEST
+1
drivers/pinctrl/qcom/Makefile
··· 3 3 obj-$(CONFIG_PINCTRL_MSM) += pinctrl-msm.o 4 4 obj-$(CONFIG_PINCTRL_APQ8064) += pinctrl-apq8064.o 5 5 obj-$(CONFIG_PINCTRL_APQ8084) += pinctrl-apq8084.o 6 + obj-$(CONFIG_PINCTRL_GLYMUR) += pinctrl-glymur.o 6 7 obj-$(CONFIG_PINCTRL_IPQ4019) += pinctrl-ipq4019.o 7 8 obj-$(CONFIG_PINCTRL_IPQ5018) += pinctrl-ipq5018.o 8 9 obj-$(CONFIG_PINCTRL_IPQ8064) += pinctrl-ipq8064.o
+1777
drivers/pinctrl/qcom/pinctrl-glymur.c
··· 1 + // SPDX-License-Identifier: GPL-2.0-only 2 + /* 3 + * Copyright (c) 2025 Qualcomm Technologies, Inc. and/or its subsidiaries. 4 + */ 5 + 6 + #include <linux/module.h> 7 + #include <linux/of.h> 8 + #include <linux/of_device.h> 9 + #include <linux/platform_device.h> 10 + #include <linux/pinctrl/pinctrl.h> 11 + 12 + #include "pinctrl-msm.h" 13 + 14 + #define REG_SIZE 0x1000 15 + #define PINGROUP(id, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11) \ 16 + { \ 17 + .grp = PINCTRL_PINGROUP("gpio" #id, \ 18 + gpio##id##_pins, \ 19 + ARRAY_SIZE(gpio##id##_pins)), \ 20 + .ctl_reg = REG_SIZE * id, \ 21 + .io_reg = 0x4 + REG_SIZE * id, \ 22 + .intr_cfg_reg = 0x8 + REG_SIZE * id, \ 23 + .intr_status_reg = 0xc + REG_SIZE * id, \ 24 + .intr_target_reg = 0x8 + REG_SIZE * id, \ 25 + .mux_bit = 2, \ 26 + .pull_bit = 0, \ 27 + .drv_bit = 6, \ 28 + .egpio_enable = 12, \ 29 + .egpio_present = 11, \ 30 + .oe_bit = 9, \ 31 + .in_bit = 0, \ 32 + .out_bit = 1, \ 33 + .intr_enable_bit = 0, \ 34 + .intr_status_bit = 0, \ 35 + .intr_target_bit = 5, \ 36 + .intr_target_kpss_val = 3, \ 37 + .intr_raw_status_bit = 4, \ 38 + .intr_polarity_bit = 1, \ 39 + .intr_detection_bit = 2, \ 40 + .intr_detection_width = 2, \ 41 + .funcs = (int[]){ \ 42 + msm_mux_gpio, /* gpio mode */ \ 43 + msm_mux_##f1, \ 44 + msm_mux_##f2, \ 45 + msm_mux_##f3, \ 46 + msm_mux_##f4, \ 47 + msm_mux_##f5, \ 48 + msm_mux_##f6, \ 49 + msm_mux_##f7, \ 50 + msm_mux_##f8, \ 51 + msm_mux_##f9, \ 52 + msm_mux_##f10, \ 53 + msm_mux_##f11 /* egpio mode */ \ 54 + }, \ 55 + .nfuncs = 12, \ 56 + } 57 + 58 + #define SDC_QDSD_PINGROUP(pg_name, ctl, pull, drv) \ 59 + { \ 60 + .grp = PINCTRL_PINGROUP(#pg_name, \ 61 + pg_name##_pins, \ 62 + ARRAY_SIZE(pg_name##_pins)), \ 63 + .ctl_reg = ctl, \ 64 + .io_reg = 0, \ 65 + .intr_cfg_reg = 0, \ 66 + .intr_status_reg = 0, \ 67 + .intr_target_reg = 0, \ 68 + .mux_bit = -1, \ 69 + .pull_bit = pull, \ 70 + .drv_bit = drv, \ 71 + .oe_bit = -1, \ 72 + .in_bit = -1, \ 73 + .out_bit = -1, \ 74 + .intr_enable_bit = -1, \ 75 + .intr_status_bit = -1, \ 76 + .intr_target_bit = -1, \ 77 + .intr_raw_status_bit = -1, \ 78 + .intr_polarity_bit = -1, \ 79 + .intr_detection_bit = -1, \ 80 + .intr_detection_width = -1, \ 81 + } 82 + 83 + #define UFS_RESET(pg_name, ctl, io) \ 84 + { \ 85 + .grp = PINCTRL_PINGROUP(#pg_name, \ 86 + pg_name##_pins, \ 87 + ARRAY_SIZE(pg_name##_pins)), \ 88 + .ctl_reg = ctl, \ 89 + .io_reg = io, \ 90 + .intr_cfg_reg = 0, \ 91 + .intr_status_reg = 0, \ 92 + .intr_target_reg = 0, \ 93 + .mux_bit = -1, \ 94 + .pull_bit = 3, \ 95 + .drv_bit = 0, \ 96 + .oe_bit = -1, \ 97 + .in_bit = -1, \ 98 + .out_bit = 0, \ 99 + .intr_enable_bit = -1, \ 100 + .intr_status_bit = -1, \ 101 + .intr_target_bit = -1, \ 102 + .intr_raw_status_bit = -1, \ 103 + .intr_polarity_bit = -1, \ 104 + .intr_detection_bit = -1, \ 105 + .intr_detection_width = -1, \ 106 + } 107 + 108 + static const struct pinctrl_pin_desc glymur_pins[] = { 109 + PINCTRL_PIN(0, "GPIO_0"), 110 + PINCTRL_PIN(1, "GPIO_1"), 111 + PINCTRL_PIN(2, "GPIO_2"), 112 + PINCTRL_PIN(3, "GPIO_3"), 113 + PINCTRL_PIN(4, "GPIO_4"), 114 + PINCTRL_PIN(5, "GPIO_5"), 115 + PINCTRL_PIN(6, "GPIO_6"), 116 + PINCTRL_PIN(7, "GPIO_7"), 117 + PINCTRL_PIN(8, "GPIO_8"), 118 + PINCTRL_PIN(9, "GPIO_9"), 119 + PINCTRL_PIN(10, "GPIO_10"), 120 + PINCTRL_PIN(11, "GPIO_11"), 121 + PINCTRL_PIN(12, "GPIO_12"), 122 + PINCTRL_PIN(13, "GPIO_13"), 123 + PINCTRL_PIN(14, "GPIO_14"), 124 + PINCTRL_PIN(15, "GPIO_15"), 125 + PINCTRL_PIN(16, "GPIO_16"), 126 + PINCTRL_PIN(17, "GPIO_17"), 127 + PINCTRL_PIN(18, "GPIO_18"), 128 + PINCTRL_PIN(19, "GPIO_19"), 129 + PINCTRL_PIN(20, "GPIO_20"), 130 + PINCTRL_PIN(21, "GPIO_21"), 131 + PINCTRL_PIN(22, "GPIO_22"), 132 + PINCTRL_PIN(23, "GPIO_23"), 133 + PINCTRL_PIN(24, "GPIO_24"), 134 + PINCTRL_PIN(25, "GPIO_25"), 135 + PINCTRL_PIN(26, "GPIO_26"), 136 + PINCTRL_PIN(27, "GPIO_27"), 137 + PINCTRL_PIN(28, "GPIO_28"), 138 + PINCTRL_PIN(29, "GPIO_29"), 139 + PINCTRL_PIN(30, "GPIO_30"), 140 + PINCTRL_PIN(31, "GPIO_31"), 141 + PINCTRL_PIN(32, "GPIO_32"), 142 + PINCTRL_PIN(33, "GPIO_33"), 143 + PINCTRL_PIN(34, "GPIO_34"), 144 + PINCTRL_PIN(35, "GPIO_35"), 145 + PINCTRL_PIN(36, "GPIO_36"), 146 + PINCTRL_PIN(37, "GPIO_37"), 147 + PINCTRL_PIN(38, "GPIO_38"), 148 + PINCTRL_PIN(39, "GPIO_39"), 149 + PINCTRL_PIN(40, "GPIO_40"), 150 + PINCTRL_PIN(41, "GPIO_41"), 151 + PINCTRL_PIN(42, "GPIO_42"), 152 + PINCTRL_PIN(43, "GPIO_43"), 153 + PINCTRL_PIN(44, "GPIO_44"), 154 + PINCTRL_PIN(45, "GPIO_45"), 155 + PINCTRL_PIN(46, "GPIO_46"), 156 + PINCTRL_PIN(47, "GPIO_47"), 157 + PINCTRL_PIN(48, "GPIO_48"), 158 + PINCTRL_PIN(49, "GPIO_49"), 159 + PINCTRL_PIN(50, "GPIO_50"), 160 + PINCTRL_PIN(51, "GPIO_51"), 161 + PINCTRL_PIN(52, "GPIO_52"), 162 + PINCTRL_PIN(53, "GPIO_53"), 163 + PINCTRL_PIN(54, "GPIO_54"), 164 + PINCTRL_PIN(55, "GPIO_55"), 165 + PINCTRL_PIN(56, "GPIO_56"), 166 + PINCTRL_PIN(57, "GPIO_57"), 167 + PINCTRL_PIN(58, "GPIO_58"), 168 + PINCTRL_PIN(59, "GPIO_59"), 169 + PINCTRL_PIN(60, "GPIO_60"), 170 + PINCTRL_PIN(61, "GPIO_61"), 171 + PINCTRL_PIN(62, "GPIO_62"), 172 + PINCTRL_PIN(63, "GPIO_63"), 173 + PINCTRL_PIN(64, "GPIO_64"), 174 + PINCTRL_PIN(65, "GPIO_65"), 175 + PINCTRL_PIN(66, "GPIO_66"), 176 + PINCTRL_PIN(67, "GPIO_67"), 177 + PINCTRL_PIN(68, "GPIO_68"), 178 + PINCTRL_PIN(69, "GPIO_69"), 179 + PINCTRL_PIN(70, "GPIO_70"), 180 + PINCTRL_PIN(71, "GPIO_71"), 181 + PINCTRL_PIN(72, "GPIO_72"), 182 + PINCTRL_PIN(73, "GPIO_73"), 183 + PINCTRL_PIN(74, "GPIO_74"), 184 + PINCTRL_PIN(75, "GPIO_75"), 185 + PINCTRL_PIN(76, "GPIO_76"), 186 + PINCTRL_PIN(77, "GPIO_77"), 187 + PINCTRL_PIN(78, "GPIO_78"), 188 + PINCTRL_PIN(79, "GPIO_79"), 189 + PINCTRL_PIN(80, "GPIO_80"), 190 + PINCTRL_PIN(81, "GPIO_81"), 191 + PINCTRL_PIN(82, "GPIO_82"), 192 + PINCTRL_PIN(83, "GPIO_83"), 193 + PINCTRL_PIN(84, "GPIO_84"), 194 + PINCTRL_PIN(85, "GPIO_85"), 195 + PINCTRL_PIN(86, "GPIO_86"), 196 + PINCTRL_PIN(87, "GPIO_87"), 197 + PINCTRL_PIN(88, "GPIO_88"), 198 + PINCTRL_PIN(89, "GPIO_89"), 199 + PINCTRL_PIN(90, "GPIO_90"), 200 + PINCTRL_PIN(91, "GPIO_91"), 201 + PINCTRL_PIN(92, "GPIO_92"), 202 + PINCTRL_PIN(93, "GPIO_93"), 203 + PINCTRL_PIN(94, "GPIO_94"), 204 + PINCTRL_PIN(95, "GPIO_95"), 205 + PINCTRL_PIN(96, "GPIO_96"), 206 + PINCTRL_PIN(97, "GPIO_97"), 207 + PINCTRL_PIN(98, "GPIO_98"), 208 + PINCTRL_PIN(99, "GPIO_99"), 209 + PINCTRL_PIN(100, "GPIO_100"), 210 + PINCTRL_PIN(101, "GPIO_101"), 211 + PINCTRL_PIN(102, "GPIO_102"), 212 + PINCTRL_PIN(103, "GPIO_103"), 213 + PINCTRL_PIN(104, "GPIO_104"), 214 + PINCTRL_PIN(105, "GPIO_105"), 215 + PINCTRL_PIN(106, "GPIO_106"), 216 + PINCTRL_PIN(107, "GPIO_107"), 217 + PINCTRL_PIN(108, "GPIO_108"), 218 + PINCTRL_PIN(109, "GPIO_109"), 219 + PINCTRL_PIN(110, "GPIO_110"), 220 + PINCTRL_PIN(111, "GPIO_111"), 221 + PINCTRL_PIN(112, "GPIO_112"), 222 + PINCTRL_PIN(113, "GPIO_113"), 223 + PINCTRL_PIN(114, "GPIO_114"), 224 + PINCTRL_PIN(115, "GPIO_115"), 225 + PINCTRL_PIN(116, "GPIO_116"), 226 + PINCTRL_PIN(117, "GPIO_117"), 227 + PINCTRL_PIN(118, "GPIO_118"), 228 + PINCTRL_PIN(119, "GPIO_119"), 229 + PINCTRL_PIN(120, "GPIO_120"), 230 + PINCTRL_PIN(121, "GPIO_121"), 231 + PINCTRL_PIN(122, "GPIO_122"), 232 + PINCTRL_PIN(123, "GPIO_123"), 233 + PINCTRL_PIN(124, "GPIO_124"), 234 + PINCTRL_PIN(125, "GPIO_125"), 235 + PINCTRL_PIN(126, "GPIO_126"), 236 + PINCTRL_PIN(127, "GPIO_127"), 237 + PINCTRL_PIN(128, "GPIO_128"), 238 + PINCTRL_PIN(129, "GPIO_129"), 239 + PINCTRL_PIN(130, "GPIO_130"), 240 + PINCTRL_PIN(131, "GPIO_131"), 241 + PINCTRL_PIN(132, "GPIO_132"), 242 + PINCTRL_PIN(133, "GPIO_133"), 243 + PINCTRL_PIN(134, "GPIO_134"), 244 + PINCTRL_PIN(135, "GPIO_135"), 245 + PINCTRL_PIN(136, "GPIO_136"), 246 + PINCTRL_PIN(137, "GPIO_137"), 247 + PINCTRL_PIN(138, "GPIO_138"), 248 + PINCTRL_PIN(139, "GPIO_139"), 249 + PINCTRL_PIN(140, "GPIO_140"), 250 + PINCTRL_PIN(141, "GPIO_141"), 251 + PINCTRL_PIN(142, "GPIO_142"), 252 + PINCTRL_PIN(143, "GPIO_143"), 253 + PINCTRL_PIN(144, "GPIO_144"), 254 + PINCTRL_PIN(145, "GPIO_145"), 255 + PINCTRL_PIN(146, "GPIO_146"), 256 + PINCTRL_PIN(147, "GPIO_147"), 257 + PINCTRL_PIN(148, "GPIO_148"), 258 + PINCTRL_PIN(149, "GPIO_149"), 259 + PINCTRL_PIN(150, "GPIO_150"), 260 + PINCTRL_PIN(151, "GPIO_151"), 261 + PINCTRL_PIN(152, "GPIO_152"), 262 + PINCTRL_PIN(153, "GPIO_153"), 263 + PINCTRL_PIN(154, "GPIO_154"), 264 + PINCTRL_PIN(155, "GPIO_155"), 265 + PINCTRL_PIN(156, "GPIO_156"), 266 + PINCTRL_PIN(157, "GPIO_157"), 267 + PINCTRL_PIN(158, "GPIO_158"), 268 + PINCTRL_PIN(159, "GPIO_159"), 269 + PINCTRL_PIN(160, "GPIO_160"), 270 + PINCTRL_PIN(161, "GPIO_161"), 271 + PINCTRL_PIN(162, "GPIO_162"), 272 + PINCTRL_PIN(163, "GPIO_163"), 273 + PINCTRL_PIN(164, "GPIO_164"), 274 + PINCTRL_PIN(165, "GPIO_165"), 275 + PINCTRL_PIN(166, "GPIO_166"), 276 + PINCTRL_PIN(167, "GPIO_167"), 277 + PINCTRL_PIN(168, "GPIO_168"), 278 + PINCTRL_PIN(169, "GPIO_169"), 279 + PINCTRL_PIN(170, "GPIO_170"), 280 + PINCTRL_PIN(171, "GPIO_171"), 281 + PINCTRL_PIN(172, "GPIO_172"), 282 + PINCTRL_PIN(173, "GPIO_173"), 283 + PINCTRL_PIN(174, "GPIO_174"), 284 + PINCTRL_PIN(175, "GPIO_175"), 285 + PINCTRL_PIN(176, "GPIO_176"), 286 + PINCTRL_PIN(177, "GPIO_177"), 287 + PINCTRL_PIN(178, "GPIO_178"), 288 + PINCTRL_PIN(179, "GPIO_179"), 289 + PINCTRL_PIN(180, "GPIO_180"), 290 + PINCTRL_PIN(181, "GPIO_181"), 291 + PINCTRL_PIN(182, "GPIO_182"), 292 + PINCTRL_PIN(183, "GPIO_183"), 293 + PINCTRL_PIN(184, "GPIO_184"), 294 + PINCTRL_PIN(185, "GPIO_185"), 295 + PINCTRL_PIN(186, "GPIO_186"), 296 + PINCTRL_PIN(187, "GPIO_187"), 297 + PINCTRL_PIN(188, "GPIO_188"), 298 + PINCTRL_PIN(189, "GPIO_189"), 299 + PINCTRL_PIN(190, "GPIO_190"), 300 + PINCTRL_PIN(191, "GPIO_191"), 301 + PINCTRL_PIN(192, "GPIO_192"), 302 + PINCTRL_PIN(193, "GPIO_193"), 303 + PINCTRL_PIN(194, "GPIO_194"), 304 + PINCTRL_PIN(195, "GPIO_195"), 305 + PINCTRL_PIN(196, "GPIO_196"), 306 + PINCTRL_PIN(197, "GPIO_197"), 307 + PINCTRL_PIN(198, "GPIO_198"), 308 + PINCTRL_PIN(199, "GPIO_199"), 309 + PINCTRL_PIN(200, "GPIO_200"), 310 + PINCTRL_PIN(201, "GPIO_201"), 311 + PINCTRL_PIN(202, "GPIO_202"), 312 + PINCTRL_PIN(203, "GPIO_203"), 313 + PINCTRL_PIN(204, "GPIO_204"), 314 + PINCTRL_PIN(205, "GPIO_205"), 315 + PINCTRL_PIN(206, "GPIO_206"), 316 + PINCTRL_PIN(207, "GPIO_207"), 317 + PINCTRL_PIN(208, "GPIO_208"), 318 + PINCTRL_PIN(209, "GPIO_209"), 319 + PINCTRL_PIN(210, "GPIO_210"), 320 + PINCTRL_PIN(211, "GPIO_211"), 321 + PINCTRL_PIN(212, "GPIO_212"), 322 + PINCTRL_PIN(213, "GPIO_213"), 323 + PINCTRL_PIN(214, "GPIO_214"), 324 + PINCTRL_PIN(215, "GPIO_215"), 325 + PINCTRL_PIN(216, "GPIO_216"), 326 + PINCTRL_PIN(217, "GPIO_217"), 327 + PINCTRL_PIN(218, "GPIO_218"), 328 + PINCTRL_PIN(219, "GPIO_219"), 329 + PINCTRL_PIN(220, "GPIO_220"), 330 + PINCTRL_PIN(221, "GPIO_221"), 331 + PINCTRL_PIN(222, "GPIO_222"), 332 + PINCTRL_PIN(223, "GPIO_223"), 333 + PINCTRL_PIN(224, "GPIO_224"), 334 + PINCTRL_PIN(225, "GPIO_225"), 335 + PINCTRL_PIN(226, "GPIO_226"), 336 + PINCTRL_PIN(227, "GPIO_227"), 337 + PINCTRL_PIN(228, "GPIO_228"), 338 + PINCTRL_PIN(229, "GPIO_229"), 339 + PINCTRL_PIN(230, "GPIO_230"), 340 + PINCTRL_PIN(231, "GPIO_231"), 341 + PINCTRL_PIN(232, "GPIO_232"), 342 + PINCTRL_PIN(233, "GPIO_233"), 343 + PINCTRL_PIN(234, "GPIO_234"), 344 + PINCTRL_PIN(235, "GPIO_235"), 345 + PINCTRL_PIN(236, "GPIO_236"), 346 + PINCTRL_PIN(237, "GPIO_237"), 347 + PINCTRL_PIN(238, "GPIO_238"), 348 + PINCTRL_PIN(239, "GPIO_239"), 349 + PINCTRL_PIN(240, "GPIO_240"), 350 + PINCTRL_PIN(241, "GPIO_241"), 351 + PINCTRL_PIN(242, "GPIO_242"), 352 + PINCTRL_PIN(243, "GPIO_243"), 353 + PINCTRL_PIN(244, "GPIO_244"), 354 + PINCTRL_PIN(245, "GPIO_245"), 355 + PINCTRL_PIN(246, "GPIO_246"), 356 + PINCTRL_PIN(247, "GPIO_247"), 357 + PINCTRL_PIN(248, "GPIO_248"), 358 + PINCTRL_PIN(249, "GPIO_249"), 359 + }; 360 + 361 + #define DECLARE_MSM_GPIO_PINS(pin) \ 362 + static const unsigned int gpio##pin##_pins[] = { pin } 363 + DECLARE_MSM_GPIO_PINS(0); 364 + DECLARE_MSM_GPIO_PINS(1); 365 + DECLARE_MSM_GPIO_PINS(2); 366 + DECLARE_MSM_GPIO_PINS(3); 367 + DECLARE_MSM_GPIO_PINS(4); 368 + DECLARE_MSM_GPIO_PINS(5); 369 + DECLARE_MSM_GPIO_PINS(6); 370 + DECLARE_MSM_GPIO_PINS(7); 371 + DECLARE_MSM_GPIO_PINS(8); 372 + DECLARE_MSM_GPIO_PINS(9); 373 + DECLARE_MSM_GPIO_PINS(10); 374 + DECLARE_MSM_GPIO_PINS(11); 375 + DECLARE_MSM_GPIO_PINS(12); 376 + DECLARE_MSM_GPIO_PINS(13); 377 + DECLARE_MSM_GPIO_PINS(14); 378 + DECLARE_MSM_GPIO_PINS(15); 379 + DECLARE_MSM_GPIO_PINS(16); 380 + DECLARE_MSM_GPIO_PINS(17); 381 + DECLARE_MSM_GPIO_PINS(18); 382 + DECLARE_MSM_GPIO_PINS(19); 383 + DECLARE_MSM_GPIO_PINS(20); 384 + DECLARE_MSM_GPIO_PINS(21); 385 + DECLARE_MSM_GPIO_PINS(22); 386 + DECLARE_MSM_GPIO_PINS(23); 387 + DECLARE_MSM_GPIO_PINS(24); 388 + DECLARE_MSM_GPIO_PINS(25); 389 + DECLARE_MSM_GPIO_PINS(26); 390 + DECLARE_MSM_GPIO_PINS(27); 391 + DECLARE_MSM_GPIO_PINS(28); 392 + DECLARE_MSM_GPIO_PINS(29); 393 + DECLARE_MSM_GPIO_PINS(30); 394 + DECLARE_MSM_GPIO_PINS(31); 395 + DECLARE_MSM_GPIO_PINS(32); 396 + DECLARE_MSM_GPIO_PINS(33); 397 + DECLARE_MSM_GPIO_PINS(34); 398 + DECLARE_MSM_GPIO_PINS(35); 399 + DECLARE_MSM_GPIO_PINS(36); 400 + DECLARE_MSM_GPIO_PINS(37); 401 + DECLARE_MSM_GPIO_PINS(38); 402 + DECLARE_MSM_GPIO_PINS(39); 403 + DECLARE_MSM_GPIO_PINS(40); 404 + DECLARE_MSM_GPIO_PINS(41); 405 + DECLARE_MSM_GPIO_PINS(42); 406 + DECLARE_MSM_GPIO_PINS(43); 407 + DECLARE_MSM_GPIO_PINS(44); 408 + DECLARE_MSM_GPIO_PINS(45); 409 + DECLARE_MSM_GPIO_PINS(46); 410 + DECLARE_MSM_GPIO_PINS(47); 411 + DECLARE_MSM_GPIO_PINS(48); 412 + DECLARE_MSM_GPIO_PINS(49); 413 + DECLARE_MSM_GPIO_PINS(50); 414 + DECLARE_MSM_GPIO_PINS(51); 415 + DECLARE_MSM_GPIO_PINS(52); 416 + DECLARE_MSM_GPIO_PINS(53); 417 + DECLARE_MSM_GPIO_PINS(54); 418 + DECLARE_MSM_GPIO_PINS(55); 419 + DECLARE_MSM_GPIO_PINS(56); 420 + DECLARE_MSM_GPIO_PINS(57); 421 + DECLARE_MSM_GPIO_PINS(58); 422 + DECLARE_MSM_GPIO_PINS(59); 423 + DECLARE_MSM_GPIO_PINS(60); 424 + DECLARE_MSM_GPIO_PINS(61); 425 + DECLARE_MSM_GPIO_PINS(62); 426 + DECLARE_MSM_GPIO_PINS(63); 427 + DECLARE_MSM_GPIO_PINS(64); 428 + DECLARE_MSM_GPIO_PINS(65); 429 + DECLARE_MSM_GPIO_PINS(66); 430 + DECLARE_MSM_GPIO_PINS(67); 431 + DECLARE_MSM_GPIO_PINS(68); 432 + DECLARE_MSM_GPIO_PINS(69); 433 + DECLARE_MSM_GPIO_PINS(70); 434 + DECLARE_MSM_GPIO_PINS(71); 435 + DECLARE_MSM_GPIO_PINS(72); 436 + DECLARE_MSM_GPIO_PINS(73); 437 + DECLARE_MSM_GPIO_PINS(74); 438 + DECLARE_MSM_GPIO_PINS(75); 439 + DECLARE_MSM_GPIO_PINS(76); 440 + DECLARE_MSM_GPIO_PINS(77); 441 + DECLARE_MSM_GPIO_PINS(78); 442 + DECLARE_MSM_GPIO_PINS(79); 443 + DECLARE_MSM_GPIO_PINS(80); 444 + DECLARE_MSM_GPIO_PINS(81); 445 + DECLARE_MSM_GPIO_PINS(82); 446 + DECLARE_MSM_GPIO_PINS(83); 447 + DECLARE_MSM_GPIO_PINS(84); 448 + DECLARE_MSM_GPIO_PINS(85); 449 + DECLARE_MSM_GPIO_PINS(86); 450 + DECLARE_MSM_GPIO_PINS(87); 451 + DECLARE_MSM_GPIO_PINS(88); 452 + DECLARE_MSM_GPIO_PINS(89); 453 + DECLARE_MSM_GPIO_PINS(90); 454 + DECLARE_MSM_GPIO_PINS(91); 455 + DECLARE_MSM_GPIO_PINS(92); 456 + DECLARE_MSM_GPIO_PINS(93); 457 + DECLARE_MSM_GPIO_PINS(94); 458 + DECLARE_MSM_GPIO_PINS(95); 459 + DECLARE_MSM_GPIO_PINS(96); 460 + DECLARE_MSM_GPIO_PINS(97); 461 + DECLARE_MSM_GPIO_PINS(98); 462 + DECLARE_MSM_GPIO_PINS(99); 463 + DECLARE_MSM_GPIO_PINS(100); 464 + DECLARE_MSM_GPIO_PINS(101); 465 + DECLARE_MSM_GPIO_PINS(102); 466 + DECLARE_MSM_GPIO_PINS(103); 467 + DECLARE_MSM_GPIO_PINS(104); 468 + DECLARE_MSM_GPIO_PINS(105); 469 + DECLARE_MSM_GPIO_PINS(106); 470 + DECLARE_MSM_GPIO_PINS(107); 471 + DECLARE_MSM_GPIO_PINS(108); 472 + DECLARE_MSM_GPIO_PINS(109); 473 + DECLARE_MSM_GPIO_PINS(110); 474 + DECLARE_MSM_GPIO_PINS(111); 475 + DECLARE_MSM_GPIO_PINS(112); 476 + DECLARE_MSM_GPIO_PINS(113); 477 + DECLARE_MSM_GPIO_PINS(114); 478 + DECLARE_MSM_GPIO_PINS(115); 479 + DECLARE_MSM_GPIO_PINS(116); 480 + DECLARE_MSM_GPIO_PINS(117); 481 + DECLARE_MSM_GPIO_PINS(118); 482 + DECLARE_MSM_GPIO_PINS(119); 483 + DECLARE_MSM_GPIO_PINS(120); 484 + DECLARE_MSM_GPIO_PINS(121); 485 + DECLARE_MSM_GPIO_PINS(122); 486 + DECLARE_MSM_GPIO_PINS(123); 487 + DECLARE_MSM_GPIO_PINS(124); 488 + DECLARE_MSM_GPIO_PINS(125); 489 + DECLARE_MSM_GPIO_PINS(126); 490 + DECLARE_MSM_GPIO_PINS(127); 491 + DECLARE_MSM_GPIO_PINS(128); 492 + DECLARE_MSM_GPIO_PINS(129); 493 + DECLARE_MSM_GPIO_PINS(130); 494 + DECLARE_MSM_GPIO_PINS(131); 495 + DECLARE_MSM_GPIO_PINS(132); 496 + DECLARE_MSM_GPIO_PINS(133); 497 + DECLARE_MSM_GPIO_PINS(134); 498 + DECLARE_MSM_GPIO_PINS(135); 499 + DECLARE_MSM_GPIO_PINS(136); 500 + DECLARE_MSM_GPIO_PINS(137); 501 + DECLARE_MSM_GPIO_PINS(138); 502 + DECLARE_MSM_GPIO_PINS(139); 503 + DECLARE_MSM_GPIO_PINS(140); 504 + DECLARE_MSM_GPIO_PINS(141); 505 + DECLARE_MSM_GPIO_PINS(142); 506 + DECLARE_MSM_GPIO_PINS(143); 507 + DECLARE_MSM_GPIO_PINS(144); 508 + DECLARE_MSM_GPIO_PINS(145); 509 + DECLARE_MSM_GPIO_PINS(146); 510 + DECLARE_MSM_GPIO_PINS(147); 511 + DECLARE_MSM_GPIO_PINS(148); 512 + DECLARE_MSM_GPIO_PINS(149); 513 + DECLARE_MSM_GPIO_PINS(150); 514 + DECLARE_MSM_GPIO_PINS(151); 515 + DECLARE_MSM_GPIO_PINS(152); 516 + DECLARE_MSM_GPIO_PINS(153); 517 + DECLARE_MSM_GPIO_PINS(154); 518 + DECLARE_MSM_GPIO_PINS(155); 519 + DECLARE_MSM_GPIO_PINS(156); 520 + DECLARE_MSM_GPIO_PINS(157); 521 + DECLARE_MSM_GPIO_PINS(158); 522 + DECLARE_MSM_GPIO_PINS(159); 523 + DECLARE_MSM_GPIO_PINS(160); 524 + DECLARE_MSM_GPIO_PINS(161); 525 + DECLARE_MSM_GPIO_PINS(162); 526 + DECLARE_MSM_GPIO_PINS(163); 527 + DECLARE_MSM_GPIO_PINS(164); 528 + DECLARE_MSM_GPIO_PINS(165); 529 + DECLARE_MSM_GPIO_PINS(166); 530 + DECLARE_MSM_GPIO_PINS(167); 531 + DECLARE_MSM_GPIO_PINS(168); 532 + DECLARE_MSM_GPIO_PINS(169); 533 + DECLARE_MSM_GPIO_PINS(170); 534 + DECLARE_MSM_GPIO_PINS(171); 535 + DECLARE_MSM_GPIO_PINS(172); 536 + DECLARE_MSM_GPIO_PINS(173); 537 + DECLARE_MSM_GPIO_PINS(174); 538 + DECLARE_MSM_GPIO_PINS(175); 539 + DECLARE_MSM_GPIO_PINS(176); 540 + DECLARE_MSM_GPIO_PINS(177); 541 + DECLARE_MSM_GPIO_PINS(178); 542 + DECLARE_MSM_GPIO_PINS(179); 543 + DECLARE_MSM_GPIO_PINS(180); 544 + DECLARE_MSM_GPIO_PINS(181); 545 + DECLARE_MSM_GPIO_PINS(182); 546 + DECLARE_MSM_GPIO_PINS(183); 547 + DECLARE_MSM_GPIO_PINS(184); 548 + DECLARE_MSM_GPIO_PINS(185); 549 + DECLARE_MSM_GPIO_PINS(186); 550 + DECLARE_MSM_GPIO_PINS(187); 551 + DECLARE_MSM_GPIO_PINS(188); 552 + DECLARE_MSM_GPIO_PINS(189); 553 + DECLARE_MSM_GPIO_PINS(190); 554 + DECLARE_MSM_GPIO_PINS(191); 555 + DECLARE_MSM_GPIO_PINS(192); 556 + DECLARE_MSM_GPIO_PINS(193); 557 + DECLARE_MSM_GPIO_PINS(194); 558 + DECLARE_MSM_GPIO_PINS(195); 559 + DECLARE_MSM_GPIO_PINS(196); 560 + DECLARE_MSM_GPIO_PINS(197); 561 + DECLARE_MSM_GPIO_PINS(198); 562 + DECLARE_MSM_GPIO_PINS(199); 563 + DECLARE_MSM_GPIO_PINS(200); 564 + DECLARE_MSM_GPIO_PINS(201); 565 + DECLARE_MSM_GPIO_PINS(202); 566 + DECLARE_MSM_GPIO_PINS(203); 567 + DECLARE_MSM_GPIO_PINS(204); 568 + DECLARE_MSM_GPIO_PINS(205); 569 + DECLARE_MSM_GPIO_PINS(206); 570 + DECLARE_MSM_GPIO_PINS(207); 571 + DECLARE_MSM_GPIO_PINS(208); 572 + DECLARE_MSM_GPIO_PINS(209); 573 + DECLARE_MSM_GPIO_PINS(210); 574 + DECLARE_MSM_GPIO_PINS(211); 575 + DECLARE_MSM_GPIO_PINS(212); 576 + DECLARE_MSM_GPIO_PINS(213); 577 + DECLARE_MSM_GPIO_PINS(214); 578 + DECLARE_MSM_GPIO_PINS(215); 579 + DECLARE_MSM_GPIO_PINS(216); 580 + DECLARE_MSM_GPIO_PINS(217); 581 + DECLARE_MSM_GPIO_PINS(218); 582 + DECLARE_MSM_GPIO_PINS(219); 583 + DECLARE_MSM_GPIO_PINS(220); 584 + DECLARE_MSM_GPIO_PINS(221); 585 + DECLARE_MSM_GPIO_PINS(222); 586 + DECLARE_MSM_GPIO_PINS(223); 587 + DECLARE_MSM_GPIO_PINS(224); 588 + DECLARE_MSM_GPIO_PINS(225); 589 + DECLARE_MSM_GPIO_PINS(226); 590 + DECLARE_MSM_GPIO_PINS(227); 591 + DECLARE_MSM_GPIO_PINS(228); 592 + DECLARE_MSM_GPIO_PINS(229); 593 + DECLARE_MSM_GPIO_PINS(230); 594 + DECLARE_MSM_GPIO_PINS(231); 595 + DECLARE_MSM_GPIO_PINS(232); 596 + DECLARE_MSM_GPIO_PINS(233); 597 + DECLARE_MSM_GPIO_PINS(234); 598 + DECLARE_MSM_GPIO_PINS(235); 599 + DECLARE_MSM_GPIO_PINS(236); 600 + DECLARE_MSM_GPIO_PINS(237); 601 + DECLARE_MSM_GPIO_PINS(238); 602 + DECLARE_MSM_GPIO_PINS(239); 603 + DECLARE_MSM_GPIO_PINS(240); 604 + DECLARE_MSM_GPIO_PINS(241); 605 + DECLARE_MSM_GPIO_PINS(242); 606 + DECLARE_MSM_GPIO_PINS(243); 607 + DECLARE_MSM_GPIO_PINS(244); 608 + DECLARE_MSM_GPIO_PINS(245); 609 + DECLARE_MSM_GPIO_PINS(246); 610 + DECLARE_MSM_GPIO_PINS(247); 611 + DECLARE_MSM_GPIO_PINS(248); 612 + DECLARE_MSM_GPIO_PINS(249); 613 + 614 + static const unsigned int ufs_reset_pins[] = { 250 }; 615 + static const unsigned int sdc2_clk_pins[] = { 251 }; 616 + static const unsigned int sdc2_cmd_pins[] = { 252 }; 617 + static const unsigned int sdc2_data_pins[] = { 253 }; 618 + 619 + enum glymur_functions { 620 + msm_mux_gpio, 621 + msm_mux_resout_gpio_n, 622 + msm_mux_aoss_cti, 623 + msm_mux_asc_cci, 624 + msm_mux_atest_char, 625 + msm_mux_atest_usb, 626 + msm_mux_audio_ext_mclk0, 627 + msm_mux_audio_ext_mclk1, 628 + msm_mux_audio_ref_clk, 629 + msm_mux_cam_asc_mclk4, 630 + msm_mux_cam_mclk, 631 + msm_mux_cci_async_in, 632 + msm_mux_cci_i2c_scl, 633 + msm_mux_cci_i2c_sda, 634 + msm_mux_cci_timer, 635 + msm_mux_cmu_rng, 636 + msm_mux_cri_trng, 637 + msm_mux_dbg_out_clk, 638 + msm_mux_ddr_bist_complete, 639 + msm_mux_ddr_bist_fail, 640 + msm_mux_ddr_bist_start, 641 + msm_mux_ddr_bist_stop, 642 + msm_mux_ddr_pxi, 643 + msm_mux_edp0_hot, 644 + msm_mux_edp0_lcd, 645 + msm_mux_edp1_lcd, 646 + msm_mux_egpio, 647 + msm_mux_eusb_ac_en, 648 + msm_mux_gcc_gp1, 649 + msm_mux_gcc_gp2, 650 + msm_mux_gcc_gp3, 651 + msm_mux_host2wlan_sol, 652 + msm_mux_i2c0_s_scl, 653 + msm_mux_i2c0_s_sda, 654 + msm_mux_i2s0_data, 655 + msm_mux_i2s0_sck, 656 + msm_mux_i2s0_ws, 657 + msm_mux_i2s1_data, 658 + msm_mux_i2s1_sck, 659 + msm_mux_i2s1_ws, 660 + msm_mux_ibi_i3c, 661 + msm_mux_jitter_bist, 662 + msm_mux_mdp_vsync_out, 663 + msm_mux_mdp_vsync_e, 664 + msm_mux_mdp_vsync_p, 665 + msm_mux_mdp_vsync_s, 666 + msm_mux_pcie3a_clk, 667 + msm_mux_pcie3a_rst_n, 668 + msm_mux_pcie3b_clk, 669 + msm_mux_pcie4_clk_req_n, 670 + msm_mux_pcie5_clk_req_n, 671 + msm_mux_pcie6_clk_req_n, 672 + msm_mux_phase_flag, 673 + msm_mux_pll_bist_sync, 674 + msm_mux_pll_clk_aux, 675 + msm_mux_pmc_oca_n, 676 + msm_mux_pmc_uva_n, 677 + msm_mux_prng_rosc, 678 + msm_mux_qdss_cti, 679 + msm_mux_qdss_gpio, 680 + msm_mux_qspi0, 681 + msm_mux_qup0_se0, 682 + msm_mux_qup0_se1, 683 + msm_mux_qup0_se2, 684 + msm_mux_qup0_se3, 685 + msm_mux_qup0_se4, 686 + msm_mux_qup0_se5, 687 + msm_mux_qup0_se6, 688 + msm_mux_qup0_se7, 689 + msm_mux_qup1_se0, 690 + msm_mux_qup1_se1, 691 + msm_mux_qup1_se2, 692 + msm_mux_qup1_se3, 693 + msm_mux_qup1_se4, 694 + msm_mux_qup1_se5, 695 + msm_mux_qup1_se6, 696 + msm_mux_qup1_se7, 697 + msm_mux_qup2_se0, 698 + msm_mux_qup2_se1, 699 + msm_mux_qup2_se2, 700 + msm_mux_qup2_se3, 701 + msm_mux_qup2_se4, 702 + msm_mux_qup2_se5, 703 + msm_mux_qup2_se6, 704 + msm_mux_qup2_se7, 705 + msm_mux_qup3_se0, 706 + msm_mux_qup3_se1, 707 + msm_mux_sd_write_protect, 708 + msm_mux_sdc4_clk, 709 + msm_mux_sdc4_cmd, 710 + msm_mux_sdc4_data, 711 + msm_mux_smb_acok_n, 712 + msm_mux_sys_throttle, 713 + msm_mux_tb_trig_sdc2, 714 + msm_mux_tb_trig_sdc4, 715 + msm_mux_tmess_prng, 716 + msm_mux_tsense_pwm, 717 + msm_mux_tsense_therm, 718 + msm_mux_usb0_dp, 719 + msm_mux_usb0_phy_ps, 720 + msm_mux_usb0_sbrx, 721 + msm_mux_usb0_sbtx, 722 + msm_mux_usb0_tmu, 723 + msm_mux_usb1_dbg, 724 + msm_mux_usb1_dp, 725 + msm_mux_usb1_phy_ps, 726 + msm_mux_usb1_sbrx, 727 + msm_mux_usb1_sbtx, 728 + msm_mux_usb1_tmu, 729 + msm_mux_usb2_dp, 730 + msm_mux_usb2_phy_ps, 731 + msm_mux_usb2_sbrx, 732 + msm_mux_usb2_sbtx, 733 + msm_mux_usb2_tmu, 734 + msm_mux_vsense_trigger_mirnat, 735 + msm_mux_wcn_sw, 736 + msm_mux_wcn_sw_ctrl, 737 + msm_mux__, 738 + }; 739 + 740 + static const char *const gpio_groups[] = { 741 + "gpio0", "gpio1", "gpio2", "gpio3", "gpio4", "gpio5", 742 + "gpio6", "gpio7", "gpio8", "gpio9", "gpio10", "gpio11", 743 + "gpio12", "gpio13", "gpio14", "gpio15", "gpio16", "gpio17", 744 + "gpio18", "gpio19", "gpio20", "gpio21", "gpio22", "gpio23", 745 + "gpio24", "gpio25", "gpio26", "gpio27", "gpio28", "gpio29", 746 + "gpio30", "gpio31", "gpio32", "gpio33", "gpio34", "gpio35", 747 + "gpio36", "gpio37", "gpio38", "gpio39", "gpio40", "gpio41", 748 + "gpio42", "gpio43", "gpio44", "gpio45", "gpio46", "gpio47", 749 + "gpio48", "gpio49", "gpio50", "gpio51", "gpio52", "gpio53", 750 + "gpio54", "gpio55", "gpio56", "gpio57", "gpio58", "gpio59", 751 + "gpio60", "gpio61", "gpio62", "gpio63", "gpio64", "gpio65", 752 + "gpio66", "gpio67", "gpio68", "gpio69", "gpio70", "gpio71", 753 + "gpio72", "gpio73", "gpio74", "gpio75", "gpio76", "gpio77", 754 + "gpio78", "gpio79", "gpio80", "gpio81", "gpio82", "gpio83", 755 + "gpio84", "gpio85", "gpio86", "gpio87", "gpio88", "gpio89", 756 + "gpio90", "gpio91", "gpio92", "gpio93", "gpio94", "gpio95", 757 + "gpio96", "gpio97", "gpio98", "gpio99", "gpio100", "gpio101", 758 + "gpio102", "gpio103", "gpio104", "gpio105", "gpio106", "gpio107", 759 + "gpio108", "gpio109", "gpio110", "gpio111", "gpio112", "gpio113", 760 + "gpio114", "gpio115", "gpio116", "gpio117", "gpio118", "gpio119", 761 + "gpio120", "gpio121", "gpio122", "gpio123", "gpio124", "gpio125", 762 + "gpio126", "gpio127", "gpio128", "gpio129", "gpio130", "gpio131", 763 + "gpio132", "gpio133", "gpio134", "gpio135", "gpio136", "gpio137", 764 + "gpio138", "gpio139", "gpio140", "gpio141", "gpio142", "gpio143", 765 + "gpio144", "gpio145", "gpio146", "gpio147", "gpio148", "gpio149", 766 + "gpio150", "gpio151", "gpio152", "gpio153", "gpio154", "gpio155", 767 + "gpio156", "gpio157", "gpio158", "gpio159", "gpio160", "gpio161", 768 + "gpio162", "gpio163", "gpio164", "gpio165", "gpio166", "gpio167", 769 + "gpio168", "gpio169", "gpio170", "gpio171", "gpio172", "gpio173", 770 + "gpio174", "gpio175", "gpio176", "gpio177", "gpio178", "gpio179", 771 + "gpio180", "gpio181", "gpio182", "gpio183", "gpio184", "gpio185", 772 + "gpio186", "gpio187", "gpio188", "gpio189", "gpio190", "gpio191", 773 + "gpio192", "gpio193", "gpio194", "gpio195", "gpio196", "gpio197", 774 + "gpio198", "gpio199", "gpio200", "gpio201", "gpio202", "gpio203", 775 + "gpio204", "gpio205", "gpio206", "gpio207", "gpio208", "gpio209", 776 + "gpio210", "gpio211", "gpio212", "gpio213", "gpio214", "gpio215", 777 + "gpio216", "gpio217", "gpio218", "gpio219", "gpio220", "gpio221", 778 + "gpio222", "gpio223", "gpio224", "gpio225", "gpio226", "gpio227", 779 + "gpio228", "gpio229", "gpio230", "gpio231", "gpio232", "gpio233", 780 + "gpio234", "gpio235", "gpio236", "gpio237", "gpio238", "gpio239", 781 + "gpio240", "gpio241", "gpio242", "gpio243", "gpio244", "gpio245", 782 + "gpio246", "gpio247", "gpio248", "gpio249", 783 + }; 784 + 785 + static const char *const resout_gpio_n_groups[] = { 786 + "gpio160", 787 + }; 788 + 789 + static const char *const aoss_cti_groups[] = { 790 + "gpio60", 791 + "gpio61", 792 + "gpio62", 793 + "gpio63", 794 + }; 795 + 796 + static const char *const asc_cci_groups[] = { 797 + "gpio235", 798 + "gpio236", 799 + }; 800 + 801 + static const char *const atest_char_groups[] = { 802 + "gpio172", "gpio184", "gpio188", "gpio164", 803 + "gpio163", 804 + }; 805 + 806 + static const char *const atest_usb_groups[] = { 807 + "gpio39", "gpio40", "gpio41", "gpio38", 808 + "gpio44", "gpio45", "gpio42", "gpio43", 809 + "gpio49", "gpio50", "gpio51", "gpio48", 810 + "gpio54", "gpio55", "gpio52", "gpio53", 811 + "gpio65", "gpio66", "gpio46", "gpio47", 812 + "gpio72", "gpio73", "gpio80", "gpio81", 813 + }; 814 + 815 + static const char *const audio_ext_mclk0_groups[] = { 816 + "gpio134", 817 + }; 818 + 819 + static const char *const audio_ext_mclk1_groups[] = { 820 + "gpio142", 821 + }; 822 + 823 + static const char *const audio_ref_clk_groups[] = { 824 + "gpio142", 825 + }; 826 + 827 + static const char *const cam_asc_mclk4_groups[] = { 828 + "gpio100", 829 + }; 830 + 831 + static const char *const cam_mclk_groups[] = { 832 + "gpio96", 833 + "gpio97", 834 + "gpio98", 835 + "gpio99", 836 + }; 837 + 838 + static const char *const cci_async_in_groups[] = { 839 + "gpio113", "gpio112", "gpio111", 840 + }; 841 + 842 + static const char *const cci_i2c_scl_groups[] = { 843 + "gpio102", "gpio104", "gpio106", 844 + }; 845 + 846 + static const char *const cci_i2c_sda_groups[] = { 847 + "gpio101", "gpio103", "gpio105", 848 + }; 849 + 850 + static const char *const cci_timer_groups[] = { 851 + "gpio109", "gpio110", "gpio111", "gpio112", 852 + "gpio113", 853 + }; 854 + 855 + static const char *const cmu_rng_groups[] = { 856 + "gpio48", "gpio47", "gpio46", "gpio45", 857 + }; 858 + 859 + static const char *const cri_trng_groups[] = { 860 + "gpio173", 861 + }; 862 + 863 + static const char *const dbg_out_clk_groups[] = { 864 + "gpio51", 865 + }; 866 + 867 + static const char *const ddr_bist_complete_groups[] = { 868 + "gpio57", 869 + }; 870 + 871 + static const char *const ddr_bist_fail_groups[] = { 872 + "gpio56", 873 + }; 874 + 875 + static const char *const ddr_bist_start_groups[] = { 876 + "gpio54", 877 + }; 878 + 879 + static const char *const ddr_bist_stop_groups[] = { 880 + "gpio55", 881 + }; 882 + 883 + static const char *const ddr_pxi_groups[] = { 884 + "gpio38", "gpio39", "gpio40", "gpio41", 885 + "gpio72", "gpio73", "gpio80", "gpio81", 886 + "gpio42", "gpio43", "gpio44", "gpio45", 887 + "gpio46", "gpio47", "gpio48", "gpio49", 888 + "gpio50", "gpio51", "gpio52", "gpio53", 889 + "gpio54", "gpio55", "gpio65", "gpio66", 890 + }; 891 + 892 + static const char *const edp0_hot_groups[] = { 893 + "gpio119", 894 + }; 895 + 896 + static const char *const edp0_lcd_groups[] = { 897 + "gpio120", 898 + }; 899 + 900 + static const char *const edp1_lcd_groups[] = { 901 + "gpio115", 902 + "gpio119", 903 + }; 904 + 905 + static const char *const egpio_groups[] = { 906 + "gpio192", "gpio193", "gpio194", "gpio195", "gpio196", "gpio197", 907 + "gpio198", "gpio199", "gpio200", "gpio201", "gpio202", "gpio203", 908 + "gpio204", "gpio205", "gpio206", "gpio207", "gpio208", "gpio209", 909 + "gpio210", "gpio211", "gpio212", "gpio213", "gpio214", "gpio215", 910 + "gpio216", "gpio217", "gpio218", "gpio219", "gpio220", "gpio221", 911 + "gpio222", "gpio223", "gpio224", "gpio225", "gpio226", "gpio227", 912 + "gpio228", "gpio229", "gpio230", "gpio231", "gpio232", "gpio233", 913 + "gpio234", "gpio235", "gpio236", "gpio237", "gpio238", "gpio239", 914 + "gpio240", "gpio241", "gpio242", "gpio243", "gpio244", 915 + }; 916 + 917 + static const char *const eusb_ac_en_groups[] = { 918 + "gpio168", "gpio177", "gpio186", "gpio69", 919 + "gpio187", "gpio178", 920 + }; 921 + 922 + static const char *const gcc_gp1_groups[] = { 923 + "gpio71", 924 + "gpio72", 925 + }; 926 + 927 + static const char *const gcc_gp2_groups[] = { 928 + "gpio64", 929 + "gpio73", 930 + }; 931 + 932 + static const char *const gcc_gp3_groups[] = { 933 + "gpio74", 934 + "gpio82", 935 + }; 936 + 937 + static const char *const host2wlan_sol_groups[] = { 938 + "gpio118", 939 + }; 940 + 941 + static const char *const i2c0_s_scl_groups[] = { 942 + "gpio7", 943 + }; 944 + 945 + static const char *const i2c0_s_sda_groups[] = { 946 + "gpio6", 947 + }; 948 + 949 + static const char *const i2s0_data_groups[] = { 950 + "gpio136", "gpio137", 951 + }; 952 + 953 + static const char *const i2s0_sck_groups[] = { 954 + "gpio135", 955 + }; 956 + 957 + static const char *const i2s0_ws_groups[] = { 958 + "gpio138", 959 + }; 960 + 961 + static const char *const i2s1_data_groups[] = { 962 + "gpio140", "gpio142", 963 + }; 964 + 965 + static const char *const i2s1_sck_groups[] = { 966 + "gpio139", 967 + }; 968 + 969 + static const char *const i2s1_ws_groups[] = { 970 + "gpio141", 971 + }; 972 + 973 + static const char *const ibi_i3c_groups[] = { 974 + "gpio0", "gpio1", "gpio4", "gpio5", "gpio32", "gpio33", 975 + "gpio36", "gpio37", "gpio64", "gpio65", "gpio68", "gpio69", 976 + }; 977 + 978 + static const char *const jitter_bist_groups[] = { 979 + "gpio52", 980 + }; 981 + 982 + static const char *const mdp_vsync_out_groups[] = { 983 + "gpio114", "gpio114", "gpio115", "gpio115", 984 + "gpio109", "gpio110", "gpio111", "gpio112", 985 + "gpio113", 986 + }; 987 + 988 + static const char *const mdp_vsync_e_groups[] = { 989 + "gpio106", 990 + }; 991 + 992 + static const char *const mdp_vsync_p_groups[] = { 993 + "gpio98", 994 + }; 995 + 996 + static const char *const mdp_vsync_s_groups[] = { 997 + "gpio105", 998 + }; 999 + 1000 + static const char *const pcie3a_clk_groups[] = { 1001 + "gpio144", 1002 + }; 1003 + 1004 + static const char *const pcie3a_rst_n_groups[] = { 1005 + "gpio143", 1006 + }; 1007 + 1008 + static const char *const pcie3b_clk_groups[] = { 1009 + "gpio156", 1010 + }; 1011 + 1012 + static const char *const pcie4_clk_req_n_groups[] = { 1013 + "gpio147", 1014 + }; 1015 + 1016 + static const char *const pcie5_clk_req_n_groups[] = { 1017 + "gpio153", 1018 + }; 1019 + 1020 + static const char *const pcie6_clk_req_n_groups[] = { 1021 + "gpio150", 1022 + }; 1023 + 1024 + static const char *const phase_flag_groups[] = { 1025 + "gpio6", "gpio7", "gpio16", "gpio17", 1026 + "gpio18", "gpio19", "gpio20", "gpio21", 1027 + "gpio22", "gpio23", "gpio24", "gpio25", 1028 + "gpio8", "gpio26", "gpio27", "gpio163", 1029 + "gpio164", "gpio188", "gpio184", "gpio172", 1030 + "gpio186", "gpio173", "gpio76", "gpio9", 1031 + "gpio77", "gpio78", "gpio10", "gpio11", 1032 + "gpio12", "gpio13", "gpio14", "gpio15", 1033 + }; 1034 + 1035 + static const char *const pll_bist_sync_groups[] = { 1036 + "gpio28", 1037 + }; 1038 + 1039 + static const char *const pll_clk_aux_groups[] = { 1040 + "gpio35", 1041 + }; 1042 + 1043 + static const char *const pmc_oca_n_groups[] = { 1044 + "gpio249", 1045 + }; 1046 + 1047 + static const char *const pmc_uva_n_groups[] = { 1048 + "gpio248", 1049 + }; 1050 + 1051 + static const char *const prng_rosc_groups[] = { 1052 + "gpio186", "gpio188", "gpio164", "gpio163", 1053 + }; 1054 + 1055 + static const char *const qdss_cti_groups[] = { 1056 + "gpio18", "gpio19", "gpio23", "gpio27", 1057 + "gpio161", "gpio162", "gpio215", "gpio217", 1058 + }; 1059 + 1060 + static const char *const qdss_gpio_groups[] = { 1061 + "gpio104", "gpio151", "gpio227", "gpio228", 1062 + "gpio96", "gpio219", "gpio97", "gpio220", 1063 + "gpio108", "gpio231", "gpio109", "gpio232", 1064 + "gpio110", "gpio233", "gpio111", "gpio234", 1065 + "gpio112", "gpio235", "gpio113", "gpio236", 1066 + "gpio149", "gpio221", "gpio99", "gpio222", 1067 + "gpio100", "gpio223", "gpio101", "gpio224", 1068 + "gpio102", "gpio225", "gpio103", "gpio226", 1069 + "gpio152", "gpio237", "gpio107", "gpio238", 1070 + }; 1071 + 1072 + static const char *const qspi0_groups[] = { 1073 + "gpio127", "gpio132", "gpio133", "gpio128", 1074 + "gpio129", "gpio130", "gpio131", 1075 + }; 1076 + 1077 + static const char *const qup0_se0_groups[] = { 1078 + "gpio0", "gpio1", "gpio2", "gpio3", 1079 + }; 1080 + 1081 + static const char *const qup0_se1_groups[] = { 1082 + "gpio4", "gpio5", "gpio6", "gpio7", 1083 + }; 1084 + 1085 + static const char *const qup0_se2_groups[] = { 1086 + "gpio8", "gpio9", "gpio10", "gpio11", 1087 + "gpio17", "gpio18", "gpio19", 1088 + }; 1089 + 1090 + static const char *const qup0_se3_groups[] = { 1091 + "gpio12", "gpio13", "gpio14", "gpio15", 1092 + "gpio21", "gpio22", "gpio23", 1093 + }; 1094 + 1095 + static const char *const qup0_se4_groups[] = { 1096 + "gpio16", "gpio17", "gpio18", "gpio19", 1097 + }; 1098 + 1099 + static const char *const qup0_se5_groups[] = { 1100 + "gpio20", "gpio21", "gpio22", "gpio23", 1101 + }; 1102 + 1103 + static const char *const qup0_se6_groups[] = { 1104 + "gpio6", "gpio7", "gpio4", "gpio5", 1105 + }; 1106 + 1107 + static const char *const qup0_se7_groups[] = { 1108 + "gpio14", "gpio15", "gpio12", "gpio13", 1109 + }; 1110 + 1111 + static const char *const qup1_se0_groups[] = { 1112 + "gpio32", "gpio33", "gpio34", "gpio35", 1113 + }; 1114 + 1115 + static const char *const qup1_se1_groups[] = { 1116 + "gpio36", "gpio37", "gpio38", "gpio39", 1117 + }; 1118 + 1119 + static const char *const qup1_se2_groups[] = { 1120 + "gpio40", "gpio41", "gpio42", "gpio43", 1121 + "gpio49", "gpio50", "gpio51", 1122 + }; 1123 + 1124 + static const char *const qup1_se3_groups[] = { 1125 + "gpio44", "gpio45", "gpio46", "gpio47", 1126 + "gpio33", "gpio34", "gpio35", 1127 + }; 1128 + 1129 + static const char *const qup1_se4_groups[] = { 1130 + "gpio48", "gpio49", "gpio50", "gpio51", 1131 + }; 1132 + 1133 + static const char *const qup1_se5_groups[] = { 1134 + "gpio52", "gpio53", "gpio54", "gpio55", 1135 + }; 1136 + 1137 + static const char *const qup1_se6_groups[] = { 1138 + "gpio56", "gpio57", "gpio58", "gpio59", 1139 + }; 1140 + 1141 + static const char *const qup1_se7_groups[] = { 1142 + "gpio54", "gpio55", "gpio52", "gpio53", 1143 + }; 1144 + 1145 + static const char *const qup2_se0_groups[] = { 1146 + "gpio64", "gpio65", "gpio66", "gpio67", 1147 + }; 1148 + 1149 + static const char *const qup2_se1_groups[] = { 1150 + "gpio68", "gpio69", "gpio70", "gpio71", 1151 + }; 1152 + 1153 + static const char *const qup2_se2_groups[] = { 1154 + "gpio72", "gpio73", "gpio74", "gpio75", 1155 + "gpio81", "gpio82", "gpio83", 1156 + }; 1157 + 1158 + static const char *const qup2_se3_groups[] = { 1159 + "gpio76", "gpio77", "gpio78", "gpio79", 1160 + "gpio65", "gpio66", "gpio67", 1161 + }; 1162 + 1163 + static const char *const qup2_se4_groups[] = { 1164 + "gpio80", "gpio81", "gpio82", "gpio83", 1165 + }; 1166 + 1167 + static const char *const qup2_se5_groups[] = { 1168 + "gpio84", "gpio85", "gpio86", "gpio87", 1169 + }; 1170 + 1171 + static const char *const qup2_se6_groups[] = { 1172 + "gpio88", "gpio89", "gpio90", "gpio91", 1173 + }; 1174 + 1175 + static const char *const qup2_se7_groups[] = { 1176 + "gpio80", "gpio81", "gpio82", "gpio83", 1177 + }; 1178 + 1179 + static const char *const qup3_se0_groups[] = { 1180 + "gpio128", "gpio129", "gpio127", "gpio132", 1181 + "gpio130", "gpio131", "gpio133", "gpio247", 1182 + }; 1183 + 1184 + static const char *const qup3_se1_groups[] = { 1185 + "gpio40", "gpio41", "gpio42", "gpio43", 1186 + "gpio49", "gpio50", "gpio51", "gpio48", 1187 + }; 1188 + 1189 + static const char *const sd_write_protect_groups[] = { 1190 + "gpio162", 1191 + }; 1192 + 1193 + static const char *const sdc4_clk_groups[] = { 1194 + "gpio127", 1195 + }; 1196 + 1197 + static const char *const sdc4_cmd_groups[] = { 1198 + "gpio132", 1199 + }; 1200 + 1201 + static const char *const sdc4_data_groups[] = { 1202 + "gpio128", 1203 + "gpio129", 1204 + "gpio130", 1205 + "gpio131", 1206 + }; 1207 + 1208 + static const char *const smb_acok_n_groups[] = { 1209 + "gpio245", 1210 + }; 1211 + 1212 + static const char *const sys_throttle_groups[] = { 1213 + "gpio39", 1214 + "gpio94", 1215 + }; 1216 + 1217 + static const char *const tb_trig_sdc2_groups[] = { 1218 + "gpio137", 1219 + }; 1220 + 1221 + static const char *const tb_trig_sdc4_groups[] = { 1222 + "gpio133", 1223 + }; 1224 + 1225 + static const char *const tmess_prng_groups[] = { 1226 + "gpio92", "gpio93", "gpio94", "gpio95", 1227 + }; 1228 + 1229 + static const char *const tsense_pwm_groups[] = { 1230 + "gpio28", "gpio29", "gpio30", "gpio31", 1231 + "gpio34", "gpio138", "gpio139", "gpio140", 1232 + }; 1233 + 1234 + static const char *const tsense_therm_groups[] = { 1235 + "gpio141", 1236 + }; 1237 + 1238 + static const char *const usb0_dp_groups[] = { 1239 + "gpio122", 1240 + }; 1241 + 1242 + static const char *const usb0_phy_ps_groups[] = { 1243 + "gpio121", 1244 + }; 1245 + 1246 + static const char *const usb0_sbrx_groups[] = { 1247 + "gpio163", 1248 + }; 1249 + 1250 + static const char *const usb0_sbtx_groups[] = { 1251 + "gpio164", 1252 + "gpio165", 1253 + }; 1254 + 1255 + static const char *const usb0_tmu_groups[] = { 1256 + "gpio98", 1257 + }; 1258 + 1259 + static const char *const usb1_dbg_groups[] = { 1260 + "gpio105", 1261 + "gpio106", 1262 + }; 1263 + 1264 + static const char *const usb1_dp_groups[] = { 1265 + "gpio124", 1266 + }; 1267 + 1268 + static const char *const usb1_phy_ps_groups[] = { 1269 + "gpio123", 1270 + }; 1271 + 1272 + static const char *const usb1_sbrx_groups[] = { 1273 + "gpio172", 1274 + }; 1275 + 1276 + static const char *const usb1_sbtx_groups[] = { 1277 + "gpio173", 1278 + "gpio174", 1279 + }; 1280 + 1281 + static const char *const usb1_tmu_groups[] = { 1282 + "gpio98", 1283 + }; 1284 + 1285 + static const char *const usb2_dp_groups[] = { 1286 + "gpio126", 1287 + }; 1288 + 1289 + static const char *const usb2_phy_ps_groups[] = { 1290 + "gpio125", 1291 + }; 1292 + 1293 + static const char *const usb2_sbrx_groups[] = { 1294 + "gpio181", 1295 + }; 1296 + 1297 + static const char *const usb2_sbtx_groups[] = { 1298 + "gpio182", 1299 + "gpio183", 1300 + }; 1301 + 1302 + static const char *const usb2_tmu_groups[] = { 1303 + "gpio98", 1304 + }; 1305 + 1306 + static const char *const vsense_trigger_mirnat_groups[] = { 1307 + "gpio38", 1308 + }; 1309 + 1310 + static const char *const wcn_sw_groups[] = { 1311 + "gpio221", 1312 + }; 1313 + 1314 + static const char *const wcn_sw_ctrl_groups[] = { 1315 + "gpio214", 1316 + }; 1317 + 1318 + static const struct pinfunction glymur_functions[] = { 1319 + MSM_PIN_FUNCTION(gpio), 1320 + MSM_PIN_FUNCTION(resout_gpio_n), 1321 + MSM_PIN_FUNCTION(aoss_cti), 1322 + MSM_PIN_FUNCTION(asc_cci), 1323 + MSM_PIN_FUNCTION(atest_char), 1324 + MSM_PIN_FUNCTION(atest_usb), 1325 + MSM_PIN_FUNCTION(audio_ext_mclk0), 1326 + MSM_PIN_FUNCTION(audio_ext_mclk1), 1327 + MSM_PIN_FUNCTION(audio_ref_clk), 1328 + MSM_PIN_FUNCTION(cam_asc_mclk4), 1329 + MSM_PIN_FUNCTION(cam_mclk), 1330 + MSM_PIN_FUNCTION(cci_async_in), 1331 + MSM_PIN_FUNCTION(cci_i2c_scl), 1332 + MSM_PIN_FUNCTION(cci_i2c_sda), 1333 + MSM_PIN_FUNCTION(cci_timer), 1334 + MSM_PIN_FUNCTION(cmu_rng), 1335 + MSM_PIN_FUNCTION(cri_trng), 1336 + MSM_PIN_FUNCTION(dbg_out_clk), 1337 + MSM_PIN_FUNCTION(ddr_bist_complete), 1338 + MSM_PIN_FUNCTION(ddr_bist_fail), 1339 + MSM_PIN_FUNCTION(ddr_bist_start), 1340 + MSM_PIN_FUNCTION(ddr_bist_stop), 1341 + MSM_PIN_FUNCTION(ddr_pxi), 1342 + MSM_PIN_FUNCTION(edp0_hot), 1343 + MSM_PIN_FUNCTION(edp0_lcd), 1344 + MSM_PIN_FUNCTION(edp1_lcd), 1345 + MSM_PIN_FUNCTION(egpio), 1346 + MSM_PIN_FUNCTION(eusb_ac_en), 1347 + MSM_PIN_FUNCTION(gcc_gp1), 1348 + MSM_PIN_FUNCTION(gcc_gp2), 1349 + MSM_PIN_FUNCTION(gcc_gp3), 1350 + MSM_PIN_FUNCTION(host2wlan_sol), 1351 + MSM_PIN_FUNCTION(i2c0_s_scl), 1352 + MSM_PIN_FUNCTION(i2c0_s_sda), 1353 + MSM_PIN_FUNCTION(i2s0_data), 1354 + MSM_PIN_FUNCTION(i2s0_sck), 1355 + MSM_PIN_FUNCTION(i2s0_ws), 1356 + MSM_PIN_FUNCTION(i2s1_data), 1357 + MSM_PIN_FUNCTION(i2s1_sck), 1358 + MSM_PIN_FUNCTION(i2s1_ws), 1359 + MSM_PIN_FUNCTION(ibi_i3c), 1360 + MSM_PIN_FUNCTION(jitter_bist), 1361 + MSM_PIN_FUNCTION(mdp_vsync_out), 1362 + MSM_PIN_FUNCTION(mdp_vsync_e), 1363 + MSM_PIN_FUNCTION(mdp_vsync_p), 1364 + MSM_PIN_FUNCTION(mdp_vsync_s), 1365 + MSM_PIN_FUNCTION(pcie3a_clk), 1366 + MSM_PIN_FUNCTION(pcie3a_rst_n), 1367 + MSM_PIN_FUNCTION(pcie3b_clk), 1368 + MSM_PIN_FUNCTION(pcie4_clk_req_n), 1369 + MSM_PIN_FUNCTION(pcie5_clk_req_n), 1370 + MSM_PIN_FUNCTION(pcie6_clk_req_n), 1371 + MSM_PIN_FUNCTION(phase_flag), 1372 + MSM_PIN_FUNCTION(pll_bist_sync), 1373 + MSM_PIN_FUNCTION(pll_clk_aux), 1374 + MSM_PIN_FUNCTION(pmc_oca_n), 1375 + MSM_PIN_FUNCTION(pmc_uva_n), 1376 + MSM_PIN_FUNCTION(prng_rosc), 1377 + MSM_PIN_FUNCTION(qdss_cti), 1378 + MSM_PIN_FUNCTION(qdss_gpio), 1379 + MSM_PIN_FUNCTION(qspi0), 1380 + MSM_PIN_FUNCTION(qup0_se0), 1381 + MSM_PIN_FUNCTION(qup0_se1), 1382 + MSM_PIN_FUNCTION(qup0_se2), 1383 + MSM_PIN_FUNCTION(qup0_se3), 1384 + MSM_PIN_FUNCTION(qup0_se4), 1385 + MSM_PIN_FUNCTION(qup0_se5), 1386 + MSM_PIN_FUNCTION(qup0_se6), 1387 + MSM_PIN_FUNCTION(qup0_se7), 1388 + MSM_PIN_FUNCTION(qup1_se0), 1389 + MSM_PIN_FUNCTION(qup1_se1), 1390 + MSM_PIN_FUNCTION(qup1_se2), 1391 + MSM_PIN_FUNCTION(qup1_se3), 1392 + MSM_PIN_FUNCTION(qup1_se4), 1393 + MSM_PIN_FUNCTION(qup1_se5), 1394 + MSM_PIN_FUNCTION(qup1_se6), 1395 + MSM_PIN_FUNCTION(qup1_se7), 1396 + MSM_PIN_FUNCTION(qup2_se0), 1397 + MSM_PIN_FUNCTION(qup2_se1), 1398 + MSM_PIN_FUNCTION(qup2_se2), 1399 + MSM_PIN_FUNCTION(qup2_se3), 1400 + MSM_PIN_FUNCTION(qup2_se4), 1401 + MSM_PIN_FUNCTION(qup2_se5), 1402 + MSM_PIN_FUNCTION(qup2_se6), 1403 + MSM_PIN_FUNCTION(qup2_se7), 1404 + MSM_PIN_FUNCTION(qup3_se0), 1405 + MSM_PIN_FUNCTION(qup3_se1), 1406 + MSM_PIN_FUNCTION(sd_write_protect), 1407 + MSM_PIN_FUNCTION(sdc4_clk), 1408 + MSM_PIN_FUNCTION(sdc4_cmd), 1409 + MSM_PIN_FUNCTION(sdc4_data), 1410 + MSM_PIN_FUNCTION(smb_acok_n), 1411 + MSM_PIN_FUNCTION(sys_throttle), 1412 + MSM_PIN_FUNCTION(tb_trig_sdc2), 1413 + MSM_PIN_FUNCTION(tb_trig_sdc4), 1414 + MSM_PIN_FUNCTION(tmess_prng), 1415 + MSM_PIN_FUNCTION(tsense_pwm), 1416 + MSM_PIN_FUNCTION(tsense_therm), 1417 + MSM_PIN_FUNCTION(usb0_dp), 1418 + MSM_PIN_FUNCTION(usb0_phy_ps), 1419 + MSM_PIN_FUNCTION(usb0_sbrx), 1420 + MSM_PIN_FUNCTION(usb0_sbtx), 1421 + MSM_PIN_FUNCTION(usb0_tmu), 1422 + MSM_PIN_FUNCTION(usb1_dbg), 1423 + MSM_PIN_FUNCTION(usb1_dp), 1424 + MSM_PIN_FUNCTION(usb1_phy_ps), 1425 + MSM_PIN_FUNCTION(usb1_sbrx), 1426 + MSM_PIN_FUNCTION(usb1_sbtx), 1427 + MSM_PIN_FUNCTION(usb1_tmu), 1428 + MSM_PIN_FUNCTION(usb2_dp), 1429 + MSM_PIN_FUNCTION(usb2_phy_ps), 1430 + MSM_PIN_FUNCTION(usb2_sbrx), 1431 + MSM_PIN_FUNCTION(usb2_sbtx), 1432 + MSM_PIN_FUNCTION(usb2_tmu), 1433 + MSM_PIN_FUNCTION(vsense_trigger_mirnat), 1434 + MSM_PIN_FUNCTION(wcn_sw), 1435 + MSM_PIN_FUNCTION(wcn_sw_ctrl), 1436 + }; 1437 + 1438 + static const struct msm_pingroup glymur_groups[] = { 1439 + [0] = PINGROUP(0, qup0_se0, ibi_i3c, _, _, _, _, _, _, _, _, _), 1440 + [1] = PINGROUP(1, qup0_se0, ibi_i3c, _, _, _, _, _, _, _, _, _), 1441 + [2] = PINGROUP(2, qup0_se0, _, _, _, _, _, _, _, _, _, _), 1442 + [3] = PINGROUP(3, qup0_se0, _, _, _, _, _, _, _, _, _, _), 1443 + [4] = PINGROUP(4, qup0_se1, qup0_se6, ibi_i3c, _, _, _, _, _, _, _, _), 1444 + [5] = PINGROUP(5, qup0_se1, qup0_se6, ibi_i3c, _, _, _, _, _, _, _, _), 1445 + [6] = PINGROUP(6, qup0_se1, qup0_se6, i2c0_s_sda, phase_flag, _, _, _, _, _, _, _), 1446 + [7] = PINGROUP(7, qup0_se1, qup0_se6, i2c0_s_scl, phase_flag, _, _, _, _, _, _, _), 1447 + [8] = PINGROUP(8, qup0_se2, phase_flag, _, _, _, _, _, _, _, _, _), 1448 + [9] = PINGROUP(9, qup0_se2, phase_flag, _, _, _, _, _, _, _, _, _), 1449 + [10] = PINGROUP(10, qup0_se2, phase_flag, _, _, _, _, _, _, _, _, _), 1450 + [11] = PINGROUP(11, qup0_se2, phase_flag, _, _, _, _, _, _, _, _, _), 1451 + [12] = PINGROUP(12, qup0_se3, qup0_se7, phase_flag, _, _, _, _, _, _, _, _), 1452 + [13] = PINGROUP(13, qup0_se3, qup0_se7, phase_flag, _, _, _, _, _, _, _, _), 1453 + [14] = PINGROUP(14, qup0_se3, qup0_se7, phase_flag, _, _, _, _, _, _, _, _), 1454 + [15] = PINGROUP(15, qup0_se3, qup0_se7, phase_flag, _, _, _, _, _, _, _, _), 1455 + [16] = PINGROUP(16, qup0_se4, phase_flag, _, _, _, _, _, _, _, _, _), 1456 + [17] = PINGROUP(17, qup0_se4, qup0_se2, phase_flag, _, _, _, _, _, _, _, _), 1457 + [18] = PINGROUP(18, qup0_se4, qup0_se2, phase_flag, _, qdss_cti, _, _, _, _, _, _), 1458 + [19] = PINGROUP(19, qup0_se4, qup0_se2, phase_flag, _, qdss_cti, _, _, _, _, _, _), 1459 + [20] = PINGROUP(20, qup0_se5, _, phase_flag, _, _, _, _, _, _, _, _), 1460 + [21] = PINGROUP(21, qup0_se5, qup0_se3, _, phase_flag, _, _, _, _, _, _, _), 1461 + [22] = PINGROUP(22, qup0_se5, qup0_se3, _, phase_flag, _, _, _, _, _, _, _), 1462 + [23] = PINGROUP(23, qup0_se5, qup0_se3, phase_flag, _, qdss_cti, _, _, _, _, _, _), 1463 + [24] = PINGROUP(24, phase_flag, _, _, _, _, _, _, _, _, _, _), 1464 + [25] = PINGROUP(25, phase_flag, _, _, _, _, _, _, _, _, _, _), 1465 + [26] = PINGROUP(26, phase_flag, _, _, _, _, _, _, _, _, _, _), 1466 + [27] = PINGROUP(27, phase_flag, _, qdss_cti, _, _, _, _, _, _, _, _), 1467 + [28] = PINGROUP(28, pll_bist_sync, tsense_pwm, _, _, _, _, _, _, _, _, _), 1468 + [29] = PINGROUP(29, tsense_pwm, _, _, _, _, _, _, _, _, _, _), 1469 + [30] = PINGROUP(30, tsense_pwm, _, _, _, _, _, _, _, _, _, _), 1470 + [31] = PINGROUP(31, tsense_pwm, _, _, _, _, _, _, _, _, _, _), 1471 + [32] = PINGROUP(32, qup1_se0, ibi_i3c, _, _, _, _, _, _, _, _, _), 1472 + [33] = PINGROUP(33, qup1_se0, ibi_i3c, qup1_se3, _, _, _, _, _, _, _, _), 1473 + [34] = PINGROUP(34, qup1_se0, qup1_se3, tsense_pwm, _, _, _, _, _, _, _, _), 1474 + [35] = PINGROUP(35, qup1_se0, qup1_se3, pll_clk_aux, _, _, _, _, _, _, _, _), 1475 + [36] = PINGROUP(36, qup1_se1, ibi_i3c, _, _, _, _, _, _, _, _, _), 1476 + [37] = PINGROUP(37, qup1_se1, ibi_i3c, _, _, _, _, _, _, _, _, _), 1477 + [38] = PINGROUP(38, qup1_se1, atest_usb, ddr_pxi, vsense_trigger_mirnat, _, _, _, _, 1478 + _, _, _), 1479 + [39] = PINGROUP(39, qup1_se1, sys_throttle, _, atest_usb, ddr_pxi, _, _, _, _, _, _), 1480 + [40] = PINGROUP(40, qup1_se2, qup3_se1, _, atest_usb, ddr_pxi, _, _, _, _, _, _), 1481 + [41] = PINGROUP(41, qup1_se2, qup3_se1, qup3_se0, atest_usb, ddr_pxi, _, _, _, _, 1482 + _, _), 1483 + [42] = PINGROUP(42, qup1_se2, qup3_se1, qup0_se1, atest_usb, ddr_pxi, _, _, _, _, 1484 + _, _), 1485 + [43] = PINGROUP(43, qup1_se2, qup3_se1, _, atest_usb, ddr_pxi, _, _, _, _, _, _), 1486 + [44] = PINGROUP(44, qup1_se3, _, atest_usb, ddr_pxi, _, _, _, _, _, _, _), 1487 + [45] = PINGROUP(45, qup1_se3, cmu_rng, _, atest_usb, ddr_pxi, _, _, _, _, _, _), 1488 + [46] = PINGROUP(46, qup1_se3, cmu_rng, _, atest_usb, ddr_pxi, _, _, _, _, _, _), 1489 + [47] = PINGROUP(47, qup1_se3, cmu_rng, _, atest_usb, ddr_pxi, _, _, _, _, _, _), 1490 + [48] = PINGROUP(48, qup1_se4, qup3_se1, cmu_rng, _, atest_usb, ddr_pxi, _, _, _, 1491 + _, _), 1492 + [49] = PINGROUP(49, qup1_se4, qup1_se2, qup3_se1, _, atest_usb, ddr_pxi, _, _, 1493 + _, _, _), 1494 + [50] = PINGROUP(50, qup1_se4, qup1_se2, qup3_se1, _, atest_usb, ddr_pxi, _, _, 1495 + _, _, _), 1496 + [51] = PINGROUP(51, qup1_se4, qup1_se2, qup3_se1, dbg_out_clk, atest_usb, 1497 + ddr_pxi, _, _, _, _, _), 1498 + [52] = PINGROUP(52, qup1_se5, qup1_se7, jitter_bist, atest_usb, ddr_pxi, _, _, _, 1499 + _, _, _), 1500 + [53] = PINGROUP(53, qup1_se5, qup1_se7, _, atest_usb, ddr_pxi, _, _, _, _, _, _), 1501 + [54] = PINGROUP(54, qup1_se5, qup1_se7, ddr_bist_start, atest_usb, ddr_pxi, _, _, 1502 + _, _, _, _), 1503 + [55] = PINGROUP(55, qup1_se5, qup1_se7, ddr_bist_stop, atest_usb, ddr_pxi, _, _, 1504 + _, _, _, _), 1505 + [56] = PINGROUP(56, qup1_se6, ddr_bist_fail, _, _, _, _, _, _, _, _, _), 1506 + [57] = PINGROUP(57, qup1_se6, ddr_bist_complete, _, _, _, _, _, _, _, _, _), 1507 + [58] = PINGROUP(58, qup1_se6, _, _, _, _, _, _, _, _, _, _), 1508 + [59] = PINGROUP(59, qup1_se6, _, _, _, _, _, _, _, _, _, _), 1509 + [60] = PINGROUP(60, aoss_cti, _, _, _, _, _, _, _, _, _, _), 1510 + [61] = PINGROUP(61, aoss_cti, _, _, _, _, _, _, _, _, _, _), 1511 + [62] = PINGROUP(62, aoss_cti, _, _, _, _, _, _, _, _, _, _), 1512 + [63] = PINGROUP(63, aoss_cti, _, _, _, _, _, _, _, _, _, _), 1513 + [64] = PINGROUP(64, qup2_se0, ibi_i3c, gcc_gp2, _, _, _, _, _, _, _, _), 1514 + [65] = PINGROUP(65, qup2_se0, qup2_se3, ibi_i3c, atest_usb, ddr_pxi, _, _, _, _, 1515 + _, _), 1516 + [66] = PINGROUP(66, qup2_se0, qup2_se3, atest_usb, ddr_pxi, _, _, _, _, _, _, _), 1517 + [67] = PINGROUP(67, qup2_se0, qup2_se3, _, _, _, _, _, _, _, _, _), 1518 + [68] = PINGROUP(68, qup2_se1, ibi_i3c, _, _, _, _, _, _, _, _, _), 1519 + [69] = PINGROUP(69, qup2_se1, ibi_i3c, _, _, _, _, _, _, _, _, _), 1520 + [70] = PINGROUP(70, qup2_se1, _, _, _, _, _, _, _, _, _, _), 1521 + [71] = PINGROUP(71, qup2_se1, gcc_gp1, _, _, _, _, _, _, _, _, _), 1522 + [72] = PINGROUP(72, qup2_se2, gcc_gp1, atest_usb, ddr_pxi, _, _, _, _, _, _, _), 1523 + [73] = PINGROUP(73, qup2_se2, gcc_gp2, atest_usb, ddr_pxi, _, _, _, _, _, _, _), 1524 + [74] = PINGROUP(74, qup2_se2, gcc_gp3, _, _, _, _, _, _, _, _, _), 1525 + [75] = PINGROUP(75, qup2_se2, _, _, _, _, _, _, _, _, _, _), 1526 + [76] = PINGROUP(76, qup2_se3, phase_flag, _, _, _, _, _, _, _, _, _), 1527 + [77] = PINGROUP(77, qup2_se3, phase_flag, _, _, _, _, _, _, _, _, _), 1528 + [78] = PINGROUP(78, qup2_se3, phase_flag, _, _, _, _, _, _, _, _, _), 1529 + [79] = PINGROUP(79, qup2_se3, _, _, _, _, _, _, _, _, _, _), 1530 + [80] = PINGROUP(80, qup2_se4, qup2_se7, atest_usb, ddr_pxi, _, _, _, _, _, _, _), 1531 + [81] = PINGROUP(81, qup2_se4, qup2_se2, qup2_se7, atest_usb, ddr_pxi, _, _, _, 1532 + _, _, _), 1533 + [82] = PINGROUP(82, qup2_se4, qup2_se2, qup2_se7, gcc_gp3, _, _, _, _, _, _, _), 1534 + [83] = PINGROUP(83, qup2_se4, qup2_se2, qup2_se7, _, _, _, _, _, _, _, _), 1535 + [84] = PINGROUP(84, qup2_se5, _, _, _, _, _, _, _, _, _, _), 1536 + [85] = PINGROUP(85, qup2_se5, _, _, _, _, _, _, _, _, _, _), 1537 + [86] = PINGROUP(86, qup2_se5, _, _, _, _, _, _, _, _, _, _), 1538 + [87] = PINGROUP(87, qup2_se5, _, _, _, _, _, _, _, _, _, _), 1539 + [88] = PINGROUP(88, qup2_se6, _, _, _, _, _, _, _, _, _, _), 1540 + [89] = PINGROUP(89, qup2_se6, _, _, _, _, _, _, _, _, _, _), 1541 + [90] = PINGROUP(90, qup2_se6, _, _, _, _, _, _, _, _, _, _), 1542 + [91] = PINGROUP(91, qup2_se6, _, _, _, _, _, _, _, _, _, _), 1543 + [92] = PINGROUP(92, tmess_prng, _, _, _, _, _, _, _, _, _, _), 1544 + [93] = PINGROUP(93, tmess_prng, _, _, _, _, _, _, _, _, _, _), 1545 + [94] = PINGROUP(94, sys_throttle, tmess_prng, _, _, _, _, _, _, _, _, _), 1546 + [95] = PINGROUP(95, tmess_prng, _, _, _, _, _, _, _, _, _, _), 1547 + [96] = PINGROUP(96, cam_mclk, qdss_gpio, _, _, _, _, _, _, _, _, _), 1548 + [97] = PINGROUP(97, cam_mclk, qdss_gpio, _, _, _, _, _, _, _, _, _), 1549 + [98] = PINGROUP(98, cam_mclk, mdp_vsync_p, usb0_tmu, usb1_tmu, usb2_tmu, _, _, _, _, _, _), 1550 + [99] = PINGROUP(99, cam_mclk, qdss_gpio, _, _, _, _, _, _, _, _, _), 1551 + [100] = PINGROUP(100, cam_asc_mclk4, qdss_gpio, _, _, _, _, _, _, _, _, _), 1552 + [101] = PINGROUP(101, cci_i2c_sda, qdss_gpio, _, _, _, _, _, _, _, _, _), 1553 + [102] = PINGROUP(102, cci_i2c_scl, qdss_gpio, _, _, _, _, _, _, _, _, _), 1554 + [103] = PINGROUP(103, cci_i2c_sda, qdss_gpio, _, _, _, _, _, _, _, _, _), 1555 + [104] = PINGROUP(104, cci_i2c_scl, qdss_gpio, _, _, _, _, _, _, _, _, _), 1556 + [105] = PINGROUP(105, cci_i2c_sda, mdp_vsync_s, usb1_dbg, _, _, _, _, _, _, _, _), 1557 + [106] = PINGROUP(106, cci_i2c_scl, mdp_vsync_e, usb1_dbg, _, _, _, _, _, _, _, _), 1558 + [107] = PINGROUP(107, qdss_gpio, _, _, _, _, _, _, _, _, _, _), 1559 + [108] = PINGROUP(108, qdss_gpio, _, _, _, _, _, _, _, _, _, _), 1560 + [109] = PINGROUP(109, cci_timer, mdp_vsync_out, qdss_gpio, _, _, _, _, _, _, _, _), 1561 + [110] = PINGROUP(110, cci_timer, mdp_vsync_out, qdss_gpio, _, _, _, _, _, _, _, _), 1562 + [111] = PINGROUP(111, cci_timer, cci_async_in, mdp_vsync_out, qdss_gpio, _, _, _, _, 1563 + _, _, _), 1564 + [112] = PINGROUP(112, cci_timer, cci_async_in, mdp_vsync_out, qdss_gpio, _, _, _, _, 1565 + _, _, _), 1566 + [113] = PINGROUP(113, cci_timer, cci_async_in, mdp_vsync_out, qdss_gpio, _, _, _, _, 1567 + _, _, _), 1568 + [114] = PINGROUP(114, mdp_vsync_out, mdp_vsync_out, _, _, _, _, _, _, _, _, _), 1569 + [115] = PINGROUP(115, mdp_vsync_out, mdp_vsync_out, edp1_lcd, _, _, _, _, _, _, _, _), 1570 + [116] = PINGROUP(116, _, _, _, _, _, _, _, _, _, _, _), 1571 + [117] = PINGROUP(117, _, _, _, _, _, _, _, _, _, _, _), 1572 + [118] = PINGROUP(118, host2wlan_sol, _, _, _, _, _, _, _, _, _, _), 1573 + [119] = PINGROUP(119, edp0_hot, edp1_lcd, _, _, _, _, _, _, _, _, _), 1574 + [120] = PINGROUP(120, edp0_lcd, _, _, _, _, _, _, _, _, _, _), 1575 + [121] = PINGROUP(121, usb0_phy_ps, _, _, _, _, _, _, _, _, _, _), 1576 + [122] = PINGROUP(122, usb0_dp, _, _, _, _, _, _, _, _, _, _), 1577 + [123] = PINGROUP(123, usb1_phy_ps, _, _, _, _, _, _, _, _, _, _), 1578 + [124] = PINGROUP(124, usb1_dp, _, _, _, _, _, _, _, _, _, _), 1579 + [125] = PINGROUP(125, usb2_phy_ps, _, _, _, _, _, _, _, _, _, _), 1580 + [126] = PINGROUP(126, usb2_dp, _, _, _, _, _, _, _, _, _, _), 1581 + [127] = PINGROUP(127, qspi0, sdc4_clk, qup3_se0, _, _, _, _, _, _, _, _), 1582 + [128] = PINGROUP(128, qspi0, sdc4_data, qup3_se0, _, _, _, _, _, _, _, _), 1583 + [129] = PINGROUP(129, qspi0, sdc4_data, qup3_se0, _, _, _, _, _, _, _, _), 1584 + [130] = PINGROUP(130, qspi0, sdc4_data, qup3_se0, _, _, _, _, _, _, _, _), 1585 + [131] = PINGROUP(131, qspi0, sdc4_data, qup3_se0, _, _, _, _, _, _, _, _), 1586 + [132] = PINGROUP(132, qspi0, sdc4_cmd, qup3_se0, _, _, _, _, _, _, _, _), 1587 + [133] = PINGROUP(133, qspi0, tb_trig_sdc4, qup3_se0, _, _, _, _, _, _, _, _), 1588 + [134] = PINGROUP(134, audio_ext_mclk0, _, _, _, _, _, _, _, _, _, _), 1589 + [135] = PINGROUP(135, i2s0_sck, _, _, _, _, _, _, _, _, _, _), 1590 + [136] = PINGROUP(136, i2s0_data, _, _, _, _, _, _, _, _, _, _), 1591 + [137] = PINGROUP(137, i2s0_data, tb_trig_sdc2, _, _, _, _, _, _, _, _, _), 1592 + [138] = PINGROUP(138, i2s0_ws, tsense_pwm, _, _, _, _, _, _, _, _, _), 1593 + [139] = PINGROUP(139, i2s1_sck, tsense_pwm, _, _, _, _, _, _, _, _, _), 1594 + [140] = PINGROUP(140, i2s1_data, tsense_pwm, _, _, _, _, _, _, _, _, _), 1595 + [141] = PINGROUP(141, i2s1_ws, tsense_therm, _, _, _, _, _, _, _, _, _), 1596 + [142] = PINGROUP(142, i2s1_data, audio_ext_mclk1, audio_ref_clk, _, _, _, _, _, _, _, _), 1597 + [143] = PINGROUP(143, pcie3a_rst_n, _, _, _, _, _, _, _, _, _, _), 1598 + [144] = PINGROUP(144, pcie3a_clk, _, _, _, _, _, _, _, _, _, _), 1599 + [145] = PINGROUP(145, _, _, _, _, _, _, _, _, _, _, _), 1600 + [146] = PINGROUP(146, _, _, _, _, _, _, _, _, _, _, _), 1601 + [147] = PINGROUP(147, pcie4_clk_req_n, _, _, _, _, _, _, _, _, _, _), 1602 + [148] = PINGROUP(148, _, _, _, _, _, _, _, _, _, _, _), 1603 + [149] = PINGROUP(149, qdss_gpio, _, _, _, _, _, _, _, _, _, _), 1604 + [150] = PINGROUP(150, pcie6_clk_req_n, _, _, _, _, _, _, _, _, _, _), 1605 + [151] = PINGROUP(151, qdss_gpio, _, _, _, _, _, _, _, _, _, _), 1606 + [152] = PINGROUP(152, qdss_gpio, _, _, _, _, _, _, _, _, _, _), 1607 + [153] = PINGROUP(153, pcie5_clk_req_n, _, _, _, _, _, _, _, _, _, _), 1608 + [154] = PINGROUP(154, _, _, _, _, _, _, _, _, _, _, _), 1609 + [155] = PINGROUP(155, _, _, _, _, _, _, _, _, _, _, _), 1610 + [156] = PINGROUP(156, pcie3b_clk, _, _, _, _, _, _, _, _, _, _), 1611 + [157] = PINGROUP(157, _, _, _, _, _, _, _, _, _, _, _), 1612 + [158] = PINGROUP(158, _, _, _, _, _, _, _, _, _, _, _), 1613 + [159] = PINGROUP(159, _, _, _, _, _, _, _, _, _, _, _), 1614 + [160] = PINGROUP(160, resout_gpio_n, _, _, _, _, _, _, _, _, _, _), 1615 + [161] = PINGROUP(161, qdss_cti, _, _, _, _, _, _, _, _, _, _), 1616 + [162] = PINGROUP(162, sd_write_protect, qdss_cti, _, _, _, _, _, _, _, _, _), 1617 + [163] = PINGROUP(163, usb0_sbrx, prng_rosc, phase_flag, _, atest_char, _, _, _, 1618 + _, _, _), 1619 + [164] = PINGROUP(164, usb0_sbtx, prng_rosc, phase_flag, _, atest_char, _, _, _, _, _, 1620 + _), 1621 + [165] = PINGROUP(165, usb0_sbtx, _, _, _, _, _, _, _, _, _, _), 1622 + [166] = PINGROUP(166, _, _, _, _, _, _, _, _, _, _, _), 1623 + [167] = PINGROUP(167, _, _, _, _, _, _, _, _, _, _, _), 1624 + [168] = PINGROUP(168, eusb_ac_en, _, _, _, _, _, _, _, _, _, _), 1625 + [169] = PINGROUP(169, eusb_ac_en, _, _, _, _, _, _, _, _, _, _), 1626 + [170] = PINGROUP(170, _, _, _, _, _, _, _, _, _, _, _), 1627 + [171] = PINGROUP(171, _, _, _, _, _, _, _, _, _, _, _), 1628 + [172] = PINGROUP(172, usb1_sbrx, phase_flag, _, atest_char, _, _, _, _, _, _, _), 1629 + [173] = PINGROUP(173, usb1_sbtx, cri_trng, phase_flag, _, _, _, _, _, _, _, _), 1630 + [174] = PINGROUP(174, usb1_sbtx, _, _, _, _, _, _, _, _, _, _), 1631 + [175] = PINGROUP(175, _, _, _, _, _, _, _, _, _, _, _), 1632 + [176] = PINGROUP(176, _, _, _, _, _, _, _, _, _, _, _), 1633 + [177] = PINGROUP(177, eusb_ac_en, _, _, _, _, _, _, _, _, _, _), 1634 + [178] = PINGROUP(178, eusb_ac_en, _, _, _, _, _, _, _, _, _, _), 1635 + [179] = PINGROUP(179, _, _, _, _, _, _, _, _, _, _, _), 1636 + [180] = PINGROUP(180, _, _, _, _, _, _, _, _, _, _, _), 1637 + [181] = PINGROUP(181, usb2_sbrx, _, _, _, _, _, _, _, _, _, _), 1638 + [182] = PINGROUP(182, usb2_sbtx, _, _, _, _, _, _, _, _, _, _), 1639 + [183] = PINGROUP(183, usb2_sbtx, _, _, _, _, _, _, _, _, _, _), 1640 + [184] = PINGROUP(184, phase_flag, _, atest_char, _, _, _, _, _, _, _, _), 1641 + [185] = PINGROUP(185, _, _, _, _, _, _, _, _, _, _, _), 1642 + [186] = PINGROUP(186, eusb_ac_en, prng_rosc, phase_flag, _, _, _, _, _, _, _, _), 1643 + [187] = PINGROUP(187, eusb_ac_en, _, _, _, _, _, _, _, _, _, _), 1644 + [188] = PINGROUP(188, prng_rosc, phase_flag, _, atest_char, _, _, _, _, _, _, _), 1645 + [189] = PINGROUP(189, _, _, _, _, _, _, _, _, _, _, _), 1646 + [190] = PINGROUP(190, _, _, _, _, _, _, _, _, _, _, _), 1647 + [191] = PINGROUP(191, _, _, _, _, _, _, _, _, _, _, _), 1648 + [192] = PINGROUP(192, _, _, _, _, _, _, _, _, _, _, egpio), 1649 + [193] = PINGROUP(193, _, _, _, _, _, _, _, _, _, _, egpio), 1650 + [194] = PINGROUP(194, _, _, _, _, _, _, _, _, _, _, egpio), 1651 + [195] = PINGROUP(195, _, _, _, _, _, _, _, _, _, _, egpio), 1652 + [196] = PINGROUP(196, _, _, _, _, _, _, _, _, _, _, egpio), 1653 + [197] = PINGROUP(197, _, _, _, _, _, _, _, _, _, _, egpio), 1654 + [198] = PINGROUP(198, _, _, _, _, _, _, _, _, _, _, egpio), 1655 + [199] = PINGROUP(199, _, _, _, _, _, _, _, _, _, _, egpio), 1656 + [200] = PINGROUP(200, _, _, _, _, _, _, _, _, _, _, egpio), 1657 + [201] = PINGROUP(201, _, _, _, _, _, _, _, _, _, _, egpio), 1658 + [202] = PINGROUP(202, _, _, _, _, _, _, _, _, _, _, egpio), 1659 + [203] = PINGROUP(203, _, _, _, _, _, _, _, _, _, _, egpio), 1660 + [204] = PINGROUP(204, _, _, _, _, _, _, _, _, _, _, egpio), 1661 + [205] = PINGROUP(205, _, _, _, _, _, _, _, _, _, _, egpio), 1662 + [206] = PINGROUP(206, _, _, _, _, _, _, _, _, _, _, egpio), 1663 + [207] = PINGROUP(207, _, _, _, _, _, _, _, _, _, _, egpio), 1664 + [208] = PINGROUP(208, _, _, _, _, _, _, _, _, _, _, egpio), 1665 + [209] = PINGROUP(209, _, _, _, _, _, _, _, _, _, _, egpio), 1666 + [210] = PINGROUP(210, _, _, _, _, _, _, _, _, _, _, egpio), 1667 + [211] = PINGROUP(211, _, _, _, _, _, _, _, _, _, _, egpio), 1668 + [212] = PINGROUP(212, _, _, _, _, _, _, _, _, _, _, egpio), 1669 + [213] = PINGROUP(213, _, _, _, _, _, _, _, _, _, _, egpio), 1670 + [214] = PINGROUP(214, wcn_sw_ctrl, _, _, _, _, _, _, _, _, _, egpio), 1671 + [215] = PINGROUP(215, _, qdss_cti, _, _, _, _, _, _, _, _, egpio), 1672 + [216] = PINGROUP(216, _, _, _, _, _, _, _, _, _, _, egpio), 1673 + [217] = PINGROUP(217, _, qdss_cti, _, _, _, _, _, _, _, _, egpio), 1674 + [218] = PINGROUP(218, _, _, _, _, _, _, _, _, _, _, egpio), 1675 + [219] = PINGROUP(219, _, qdss_gpio, _, _, _, _, _, _, _, _, egpio), 1676 + [220] = PINGROUP(220, _, qdss_gpio, _, _, _, _, _, _, _, _, egpio), 1677 + [221] = PINGROUP(221, wcn_sw, _, qdss_gpio, _, _, _, _, _, _, _, egpio), 1678 + [222] = PINGROUP(222, _, qdss_gpio, _, _, _, _, _, _, _, _, egpio), 1679 + [223] = PINGROUP(223, _, qdss_gpio, _, _, _, _, _, _, _, _, egpio), 1680 + [224] = PINGROUP(224, _, qdss_gpio, _, _, _, _, _, _, _, _, egpio), 1681 + [225] = PINGROUP(225, _, qdss_gpio, _, _, _, _, _, _, _, _, egpio), 1682 + [226] = PINGROUP(226, _, qdss_gpio, _, _, _, _, _, _, _, _, egpio), 1683 + [227] = PINGROUP(227, _, qdss_gpio, _, _, _, _, _, _, _, _, egpio), 1684 + [228] = PINGROUP(228, _, qdss_gpio, _, _, _, _, _, _, _, _, egpio), 1685 + [229] = PINGROUP(229, _, _, _, _, _, _, _, _, _, _, egpio), 1686 + [230] = PINGROUP(230, _, _, _, _, _, _, _, _, _, _, egpio), 1687 + [231] = PINGROUP(231, qdss_gpio, _, _, _, _, _, _, _, _, _, egpio), 1688 + [232] = PINGROUP(232, qdss_gpio, _, _, _, _, _, _, _, _, _, egpio), 1689 + [233] = PINGROUP(233, qdss_gpio, _, _, _, _, _, _, _, _, _, egpio), 1690 + [234] = PINGROUP(234, qdss_gpio, _, _, _, _, _, _, _, _, _, egpio), 1691 + [235] = PINGROUP(235, asc_cci, qdss_gpio, _, _, _, _, _, _, _, _, egpio), 1692 + [236] = PINGROUP(236, asc_cci, qdss_gpio, _, _, _, _, _, _, _, _, egpio), 1693 + [237] = PINGROUP(237, qdss_gpio, _, _, _, _, _, _, _, _, _, egpio), 1694 + [238] = PINGROUP(238, qdss_gpio, _, _, _, _, _, _, _, _, _, egpio), 1695 + [239] = PINGROUP(239, _, _, _, _, _, _, _, _, _, _, egpio), 1696 + [240] = PINGROUP(240, _, _, _, _, _, _, _, _, _, _, egpio), 1697 + [241] = PINGROUP(241, _, _, _, _, _, _, _, _, _, _, egpio), 1698 + [242] = PINGROUP(242, _, _, _, _, _, _, _, _, _, _, egpio), 1699 + [243] = PINGROUP(243, _, _, _, _, _, _, _, _, _, _, egpio), 1700 + [244] = PINGROUP(244, _, _, _, _, _, _, _, _, _, _, egpio), 1701 + [245] = PINGROUP(245, smb_acok_n, _, _, _, _, _, _, _, _, _, _), 1702 + [246] = PINGROUP(246, _, _, _, _, _, _, _, _, _, _, _), 1703 + [247] = PINGROUP(247, qup3_se0, _, _, _, _, _, _, _, _, _, _), 1704 + [248] = PINGROUP(248, pmc_uva_n, _, _, _, _, _, _, _, _, _, _), 1705 + [249] = PINGROUP(249, pmc_oca_n, _, _, _, _, _, _, _, _, _, _), 1706 + [250] = UFS_RESET(ufs_reset, 0x104004, 0x105000), 1707 + [251] = SDC_QDSD_PINGROUP(sdc2_clk, 0xff000, 14, 6), 1708 + [252] = SDC_QDSD_PINGROUP(sdc2_cmd, 0xff000, 11, 3), 1709 + [253] = SDC_QDSD_PINGROUP(sdc2_data, 0xff000, 9, 0), 1710 + }; 1711 + 1712 + static const struct msm_gpio_wakeirq_map glymur_pdc_map[] = { 1713 + { 0, 116 }, { 2, 114 }, { 3, 115 }, { 4, 175 }, { 5, 176 }, 1714 + { 7, 111 }, { 11, 129 }, { 13, 130 }, { 15, 112 }, { 19, 113 }, 1715 + { 23, 187 }, { 27, 188 }, { 28, 121 }, { 29, 122 }, { 30, 136 }, 1716 + { 31, 203 }, { 32, 189 }, { 34, 174 }, { 35, 190 }, { 36, 191 }, 1717 + { 39, 124 }, { 43, 192 }, { 47, 193 }, { 51, 123 }, { 53, 133 }, 1718 + { 55, 125 }, { 59, 131 }, { 64, 134 }, { 65, 150 }, { 66, 186 }, 1719 + { 67, 132 }, { 68, 195 }, { 71, 135 }, { 75, 196 }, { 79, 197 }, 1720 + { 83, 198 }, { 84, 181 }, { 85, 199 }, { 87, 200 }, { 91, 201 }, 1721 + { 92, 182 }, { 93, 183 }, { 94, 184 }, { 95, 185 }, { 98, 202 }, 1722 + { 105, 157 }, { 113, 128 }, { 121, 117 }, { 123, 118 }, { 125, 119 }, 1723 + { 129, 120 }, { 131, 126 }, { 132, 160 }, { 133, 194 }, { 134, 127 }, 1724 + { 141, 137 }, { 143, 159 }, { 144, 138 }, { 145, 139 }, { 147, 140 }, 1725 + { 148, 141 }, { 150, 146 }, { 151, 147 }, { 153, 148 }, { 154, 144 }, 1726 + { 156, 149 }, { 157, 151 }, { 163, 142 }, { 172, 143 }, { 181, 145 }, 1727 + { 193, 161 }, { 196, 152 }, { 203, 177 }, { 208, 178 }, { 215, 162 }, 1728 + { 217, 153 }, { 220, 154 }, { 221, 155 }, { 228, 179 }, { 230, 180 }, 1729 + { 232, 206 }, { 234, 172 }, { 235, 173 }, { 242, 158 }, { 244, 156 }, 1730 + }; 1731 + 1732 + static const struct msm_pinctrl_soc_data glymur_tlmm = { 1733 + .pins = glymur_pins, 1734 + .npins = ARRAY_SIZE(glymur_pins), 1735 + .functions = glymur_functions, 1736 + .nfunctions = ARRAY_SIZE(glymur_functions), 1737 + .groups = glymur_groups, 1738 + .ngroups = ARRAY_SIZE(glymur_groups), 1739 + .ngpios = 251, 1740 + .wakeirq_map = glymur_pdc_map, 1741 + .nwakeirq_map = ARRAY_SIZE(glymur_pdc_map), 1742 + .egpio_func = 11, 1743 + }; 1744 + 1745 + static const struct of_device_id glymur_tlmm_of_match[] = { 1746 + { .compatible = "qcom,glymur-tlmm", .data = &glymur_tlmm }, 1747 + { } 1748 + }; 1749 + 1750 + static int glymur_tlmm_probe(struct platform_device *pdev) 1751 + { 1752 + return msm_pinctrl_probe(pdev, &glymur_tlmm); 1753 + } 1754 + 1755 + static struct platform_driver glymur_tlmm_driver = { 1756 + .driver = { 1757 + .name = "glymur-tlmm", 1758 + .of_match_table = glymur_tlmm_of_match, 1759 + }, 1760 + .probe = glymur_tlmm_probe, 1761 + }; 1762 + 1763 + static int __init glymur_tlmm_init(void) 1764 + { 1765 + return platform_driver_register(&glymur_tlmm_driver); 1766 + } 1767 + arch_initcall(glymur_tlmm_init); 1768 + 1769 + static void __exit glymur_tlmm_exit(void) 1770 + { 1771 + platform_driver_unregister(&glymur_tlmm_driver); 1772 + } 1773 + module_exit(glymur_tlmm_exit); 1774 + 1775 + MODULE_DESCRIPTION("QTI GLYMUR TLMM driver"); 1776 + MODULE_LICENSE("GPL"); 1777 + MODULE_DEVICE_TABLE(of, glymur_tlmm_of_match);