18c2ecf20Sopenharmony_ci// SPDX-License-Identifier: GPL-2.0 28c2ecf20Sopenharmony_ci// Copyright (c) 2019, The Linux Foundation. All rights reserved. 38c2ecf20Sopenharmony_ci 48c2ecf20Sopenharmony_ci#include <linux/module.h> 58c2ecf20Sopenharmony_ci#include <linux/of.h> 68c2ecf20Sopenharmony_ci#include <linux/platform_device.h> 78c2ecf20Sopenharmony_ci#include <linux/pinctrl/pinctrl.h> 88c2ecf20Sopenharmony_ci 98c2ecf20Sopenharmony_ci#include "pinctrl-msm.h" 108c2ecf20Sopenharmony_ci 118c2ecf20Sopenharmony_cistatic const char * const sc7180_tiles[] = { 128c2ecf20Sopenharmony_ci "north", 138c2ecf20Sopenharmony_ci "south", 148c2ecf20Sopenharmony_ci "west", 158c2ecf20Sopenharmony_ci}; 168c2ecf20Sopenharmony_ci 178c2ecf20Sopenharmony_cienum { 188c2ecf20Sopenharmony_ci NORTH, 198c2ecf20Sopenharmony_ci SOUTH, 208c2ecf20Sopenharmony_ci WEST 218c2ecf20Sopenharmony_ci}; 228c2ecf20Sopenharmony_ci 238c2ecf20Sopenharmony_ci#define FUNCTION(fname) \ 248c2ecf20Sopenharmony_ci [msm_mux_##fname] = { \ 258c2ecf20Sopenharmony_ci .name = #fname, \ 268c2ecf20Sopenharmony_ci .groups = fname##_groups, \ 278c2ecf20Sopenharmony_ci .ngroups = ARRAY_SIZE(fname##_groups), \ 288c2ecf20Sopenharmony_ci } 298c2ecf20Sopenharmony_ci 308c2ecf20Sopenharmony_ci#define PINGROUP(id, _tile, f1, f2, f3, f4, f5, f6, f7, f8, f9) \ 318c2ecf20Sopenharmony_ci { \ 328c2ecf20Sopenharmony_ci .name = "gpio" #id, \ 338c2ecf20Sopenharmony_ci .pins = gpio##id##_pins, \ 348c2ecf20Sopenharmony_ci .npins = ARRAY_SIZE(gpio##id##_pins), \ 358c2ecf20Sopenharmony_ci .funcs = (int[]){ \ 368c2ecf20Sopenharmony_ci msm_mux_gpio, /* gpio mode */ \ 378c2ecf20Sopenharmony_ci msm_mux_##f1, \ 388c2ecf20Sopenharmony_ci msm_mux_##f2, \ 398c2ecf20Sopenharmony_ci msm_mux_##f3, \ 408c2ecf20Sopenharmony_ci msm_mux_##f4, \ 418c2ecf20Sopenharmony_ci msm_mux_##f5, \ 428c2ecf20Sopenharmony_ci msm_mux_##f6, \ 438c2ecf20Sopenharmony_ci msm_mux_##f7, \ 448c2ecf20Sopenharmony_ci msm_mux_##f8, \ 458c2ecf20Sopenharmony_ci msm_mux_##f9 \ 468c2ecf20Sopenharmony_ci }, \ 478c2ecf20Sopenharmony_ci .nfuncs = 10, \ 488c2ecf20Sopenharmony_ci .ctl_reg = 0x1000 * id, \ 498c2ecf20Sopenharmony_ci .io_reg = 0x1000 * id + 0x4, \ 508c2ecf20Sopenharmony_ci .intr_cfg_reg = 0x1000 * id + 0x8, \ 518c2ecf20Sopenharmony_ci .intr_status_reg = 0x1000 * id + 0xc, \ 528c2ecf20Sopenharmony_ci .intr_target_reg = 0x1000 * id + 0x8, \ 538c2ecf20Sopenharmony_ci .tile = _tile, \ 548c2ecf20Sopenharmony_ci .mux_bit = 2, \ 558c2ecf20Sopenharmony_ci .pull_bit = 0, \ 568c2ecf20Sopenharmony_ci .drv_bit = 6, \ 578c2ecf20Sopenharmony_ci .oe_bit = 9, \ 588c2ecf20Sopenharmony_ci .in_bit = 0, \ 598c2ecf20Sopenharmony_ci .out_bit = 1, \ 608c2ecf20Sopenharmony_ci .intr_enable_bit = 0, \ 618c2ecf20Sopenharmony_ci .intr_status_bit = 0, \ 628c2ecf20Sopenharmony_ci .intr_target_bit = 5, \ 638c2ecf20Sopenharmony_ci .intr_target_kpss_val = 3, \ 648c2ecf20Sopenharmony_ci .intr_raw_status_bit = 4, \ 658c2ecf20Sopenharmony_ci .intr_polarity_bit = 1, \ 668c2ecf20Sopenharmony_ci .intr_detection_bit = 2, \ 678c2ecf20Sopenharmony_ci .intr_detection_width = 2, \ 688c2ecf20Sopenharmony_ci } 698c2ecf20Sopenharmony_ci 708c2ecf20Sopenharmony_ci#define SDC_QDSD_PINGROUP(pg_name, ctl, pull, drv) \ 718c2ecf20Sopenharmony_ci { \ 728c2ecf20Sopenharmony_ci .name = #pg_name, \ 738c2ecf20Sopenharmony_ci .pins = pg_name##_pins, \ 748c2ecf20Sopenharmony_ci .npins = ARRAY_SIZE(pg_name##_pins), \ 758c2ecf20Sopenharmony_ci .ctl_reg = ctl, \ 768c2ecf20Sopenharmony_ci .io_reg = 0, \ 778c2ecf20Sopenharmony_ci .intr_cfg_reg = 0, \ 788c2ecf20Sopenharmony_ci .intr_status_reg = 0, \ 798c2ecf20Sopenharmony_ci .intr_target_reg = 0, \ 808c2ecf20Sopenharmony_ci .tile = SOUTH, \ 818c2ecf20Sopenharmony_ci .mux_bit = -1, \ 828c2ecf20Sopenharmony_ci .pull_bit = pull, \ 838c2ecf20Sopenharmony_ci .drv_bit = drv, \ 848c2ecf20Sopenharmony_ci .oe_bit = -1, \ 858c2ecf20Sopenharmony_ci .in_bit = -1, \ 868c2ecf20Sopenharmony_ci .out_bit = -1, \ 878c2ecf20Sopenharmony_ci .intr_enable_bit = -1, \ 888c2ecf20Sopenharmony_ci .intr_status_bit = -1, \ 898c2ecf20Sopenharmony_ci .intr_target_bit = -1, \ 908c2ecf20Sopenharmony_ci .intr_raw_status_bit = -1, \ 918c2ecf20Sopenharmony_ci .intr_polarity_bit = -1, \ 928c2ecf20Sopenharmony_ci .intr_detection_bit = -1, \ 938c2ecf20Sopenharmony_ci .intr_detection_width = -1, \ 948c2ecf20Sopenharmony_ci } 958c2ecf20Sopenharmony_ci 968c2ecf20Sopenharmony_ci#define UFS_RESET(pg_name, offset) \ 978c2ecf20Sopenharmony_ci { \ 988c2ecf20Sopenharmony_ci .name = #pg_name, \ 998c2ecf20Sopenharmony_ci .pins = pg_name##_pins, \ 1008c2ecf20Sopenharmony_ci .npins = ARRAY_SIZE(pg_name##_pins), \ 1018c2ecf20Sopenharmony_ci .ctl_reg = offset, \ 1028c2ecf20Sopenharmony_ci .io_reg = offset + 0x4, \ 1038c2ecf20Sopenharmony_ci .intr_cfg_reg = 0, \ 1048c2ecf20Sopenharmony_ci .intr_status_reg = 0, \ 1058c2ecf20Sopenharmony_ci .intr_target_reg = 0, \ 1068c2ecf20Sopenharmony_ci .tile = SOUTH, \ 1078c2ecf20Sopenharmony_ci .mux_bit = -1, \ 1088c2ecf20Sopenharmony_ci .pull_bit = 3, \ 1098c2ecf20Sopenharmony_ci .drv_bit = 0, \ 1108c2ecf20Sopenharmony_ci .oe_bit = -1, \ 1118c2ecf20Sopenharmony_ci .in_bit = -1, \ 1128c2ecf20Sopenharmony_ci .out_bit = 0, \ 1138c2ecf20Sopenharmony_ci .intr_enable_bit = -1, \ 1148c2ecf20Sopenharmony_ci .intr_status_bit = -1, \ 1158c2ecf20Sopenharmony_ci .intr_target_bit = -1, \ 1168c2ecf20Sopenharmony_ci .intr_raw_status_bit = -1, \ 1178c2ecf20Sopenharmony_ci .intr_polarity_bit = -1, \ 1188c2ecf20Sopenharmony_ci .intr_detection_bit = -1, \ 1198c2ecf20Sopenharmony_ci .intr_detection_width = -1, \ 1208c2ecf20Sopenharmony_ci } 1218c2ecf20Sopenharmony_cistatic const struct pinctrl_pin_desc sc7180_pins[] = { 1228c2ecf20Sopenharmony_ci PINCTRL_PIN(0, "GPIO_0"), 1238c2ecf20Sopenharmony_ci PINCTRL_PIN(1, "GPIO_1"), 1248c2ecf20Sopenharmony_ci PINCTRL_PIN(2, "GPIO_2"), 1258c2ecf20Sopenharmony_ci PINCTRL_PIN(3, "GPIO_3"), 1268c2ecf20Sopenharmony_ci PINCTRL_PIN(4, "GPIO_4"), 1278c2ecf20Sopenharmony_ci PINCTRL_PIN(5, "GPIO_5"), 1288c2ecf20Sopenharmony_ci PINCTRL_PIN(6, "GPIO_6"), 1298c2ecf20Sopenharmony_ci PINCTRL_PIN(7, "GPIO_7"), 1308c2ecf20Sopenharmony_ci PINCTRL_PIN(8, "GPIO_8"), 1318c2ecf20Sopenharmony_ci PINCTRL_PIN(9, "GPIO_9"), 1328c2ecf20Sopenharmony_ci PINCTRL_PIN(10, "GPIO_10"), 1338c2ecf20Sopenharmony_ci PINCTRL_PIN(11, "GPIO_11"), 1348c2ecf20Sopenharmony_ci PINCTRL_PIN(12, "GPIO_12"), 1358c2ecf20Sopenharmony_ci PINCTRL_PIN(13, "GPIO_13"), 1368c2ecf20Sopenharmony_ci PINCTRL_PIN(14, "GPIO_14"), 1378c2ecf20Sopenharmony_ci PINCTRL_PIN(15, "GPIO_15"), 1388c2ecf20Sopenharmony_ci PINCTRL_PIN(16, "GPIO_16"), 1398c2ecf20Sopenharmony_ci PINCTRL_PIN(17, "GPIO_17"), 1408c2ecf20Sopenharmony_ci PINCTRL_PIN(18, "GPIO_18"), 1418c2ecf20Sopenharmony_ci PINCTRL_PIN(19, "GPIO_19"), 1428c2ecf20Sopenharmony_ci PINCTRL_PIN(20, "GPIO_20"), 1438c2ecf20Sopenharmony_ci PINCTRL_PIN(21, "GPIO_21"), 1448c2ecf20Sopenharmony_ci PINCTRL_PIN(22, "GPIO_22"), 1458c2ecf20Sopenharmony_ci PINCTRL_PIN(23, "GPIO_23"), 1468c2ecf20Sopenharmony_ci PINCTRL_PIN(24, "GPIO_24"), 1478c2ecf20Sopenharmony_ci PINCTRL_PIN(25, "GPIO_25"), 1488c2ecf20Sopenharmony_ci PINCTRL_PIN(26, "GPIO_26"), 1498c2ecf20Sopenharmony_ci PINCTRL_PIN(27, "GPIO_27"), 1508c2ecf20Sopenharmony_ci PINCTRL_PIN(28, "GPIO_28"), 1518c2ecf20Sopenharmony_ci PINCTRL_PIN(29, "GPIO_29"), 1528c2ecf20Sopenharmony_ci PINCTRL_PIN(30, "GPIO_30"), 1538c2ecf20Sopenharmony_ci PINCTRL_PIN(31, "GPIO_31"), 1548c2ecf20Sopenharmony_ci PINCTRL_PIN(32, "GPIO_32"), 1558c2ecf20Sopenharmony_ci PINCTRL_PIN(33, "GPIO_33"), 1568c2ecf20Sopenharmony_ci PINCTRL_PIN(34, "GPIO_34"), 1578c2ecf20Sopenharmony_ci PINCTRL_PIN(35, "GPIO_35"), 1588c2ecf20Sopenharmony_ci PINCTRL_PIN(36, "GPIO_36"), 1598c2ecf20Sopenharmony_ci PINCTRL_PIN(37, "GPIO_37"), 1608c2ecf20Sopenharmony_ci PINCTRL_PIN(38, "GPIO_38"), 1618c2ecf20Sopenharmony_ci PINCTRL_PIN(39, "GPIO_39"), 1628c2ecf20Sopenharmony_ci PINCTRL_PIN(40, "GPIO_40"), 1638c2ecf20Sopenharmony_ci PINCTRL_PIN(41, "GPIO_41"), 1648c2ecf20Sopenharmony_ci PINCTRL_PIN(42, "GPIO_42"), 1658c2ecf20Sopenharmony_ci PINCTRL_PIN(43, "GPIO_43"), 1668c2ecf20Sopenharmony_ci PINCTRL_PIN(44, "GPIO_44"), 1678c2ecf20Sopenharmony_ci PINCTRL_PIN(45, "GPIO_45"), 1688c2ecf20Sopenharmony_ci PINCTRL_PIN(46, "GPIO_46"), 1698c2ecf20Sopenharmony_ci PINCTRL_PIN(47, "GPIO_47"), 1708c2ecf20Sopenharmony_ci PINCTRL_PIN(48, "GPIO_48"), 1718c2ecf20Sopenharmony_ci PINCTRL_PIN(49, "GPIO_49"), 1728c2ecf20Sopenharmony_ci PINCTRL_PIN(50, "GPIO_50"), 1738c2ecf20Sopenharmony_ci PINCTRL_PIN(51, "GPIO_51"), 1748c2ecf20Sopenharmony_ci PINCTRL_PIN(52, "GPIO_52"), 1758c2ecf20Sopenharmony_ci PINCTRL_PIN(53, "GPIO_53"), 1768c2ecf20Sopenharmony_ci PINCTRL_PIN(54, "GPIO_54"), 1778c2ecf20Sopenharmony_ci PINCTRL_PIN(55, "GPIO_55"), 1788c2ecf20Sopenharmony_ci PINCTRL_PIN(56, "GPIO_56"), 1798c2ecf20Sopenharmony_ci PINCTRL_PIN(57, "GPIO_57"), 1808c2ecf20Sopenharmony_ci PINCTRL_PIN(58, "GPIO_58"), 1818c2ecf20Sopenharmony_ci PINCTRL_PIN(59, "GPIO_59"), 1828c2ecf20Sopenharmony_ci PINCTRL_PIN(60, "GPIO_60"), 1838c2ecf20Sopenharmony_ci PINCTRL_PIN(61, "GPIO_61"), 1848c2ecf20Sopenharmony_ci PINCTRL_PIN(62, "GPIO_62"), 1858c2ecf20Sopenharmony_ci PINCTRL_PIN(63, "GPIO_63"), 1868c2ecf20Sopenharmony_ci PINCTRL_PIN(64, "GPIO_64"), 1878c2ecf20Sopenharmony_ci PINCTRL_PIN(65, "GPIO_65"), 1888c2ecf20Sopenharmony_ci PINCTRL_PIN(66, "GPIO_66"), 1898c2ecf20Sopenharmony_ci PINCTRL_PIN(67, "GPIO_67"), 1908c2ecf20Sopenharmony_ci PINCTRL_PIN(68, "GPIO_68"), 1918c2ecf20Sopenharmony_ci PINCTRL_PIN(69, "GPIO_69"), 1928c2ecf20Sopenharmony_ci PINCTRL_PIN(70, "GPIO_70"), 1938c2ecf20Sopenharmony_ci PINCTRL_PIN(71, "GPIO_71"), 1948c2ecf20Sopenharmony_ci PINCTRL_PIN(72, "GPIO_72"), 1958c2ecf20Sopenharmony_ci PINCTRL_PIN(73, "GPIO_73"), 1968c2ecf20Sopenharmony_ci PINCTRL_PIN(74, "GPIO_74"), 1978c2ecf20Sopenharmony_ci PINCTRL_PIN(75, "GPIO_75"), 1988c2ecf20Sopenharmony_ci PINCTRL_PIN(76, "GPIO_76"), 1998c2ecf20Sopenharmony_ci PINCTRL_PIN(77, "GPIO_77"), 2008c2ecf20Sopenharmony_ci PINCTRL_PIN(78, "GPIO_78"), 2018c2ecf20Sopenharmony_ci PINCTRL_PIN(79, "GPIO_79"), 2028c2ecf20Sopenharmony_ci PINCTRL_PIN(80, "GPIO_80"), 2038c2ecf20Sopenharmony_ci PINCTRL_PIN(81, "GPIO_81"), 2048c2ecf20Sopenharmony_ci PINCTRL_PIN(82, "GPIO_82"), 2058c2ecf20Sopenharmony_ci PINCTRL_PIN(83, "GPIO_83"), 2068c2ecf20Sopenharmony_ci PINCTRL_PIN(84, "GPIO_84"), 2078c2ecf20Sopenharmony_ci PINCTRL_PIN(85, "GPIO_85"), 2088c2ecf20Sopenharmony_ci PINCTRL_PIN(86, "GPIO_86"), 2098c2ecf20Sopenharmony_ci PINCTRL_PIN(87, "GPIO_87"), 2108c2ecf20Sopenharmony_ci PINCTRL_PIN(88, "GPIO_88"), 2118c2ecf20Sopenharmony_ci PINCTRL_PIN(89, "GPIO_89"), 2128c2ecf20Sopenharmony_ci PINCTRL_PIN(90, "GPIO_90"), 2138c2ecf20Sopenharmony_ci PINCTRL_PIN(91, "GPIO_91"), 2148c2ecf20Sopenharmony_ci PINCTRL_PIN(92, "GPIO_92"), 2158c2ecf20Sopenharmony_ci PINCTRL_PIN(93, "GPIO_93"), 2168c2ecf20Sopenharmony_ci PINCTRL_PIN(94, "GPIO_94"), 2178c2ecf20Sopenharmony_ci PINCTRL_PIN(95, "GPIO_95"), 2188c2ecf20Sopenharmony_ci PINCTRL_PIN(96, "GPIO_96"), 2198c2ecf20Sopenharmony_ci PINCTRL_PIN(97, "GPIO_97"), 2208c2ecf20Sopenharmony_ci PINCTRL_PIN(98, "GPIO_98"), 2218c2ecf20Sopenharmony_ci PINCTRL_PIN(99, "GPIO_99"), 2228c2ecf20Sopenharmony_ci PINCTRL_PIN(100, "GPIO_100"), 2238c2ecf20Sopenharmony_ci PINCTRL_PIN(101, "GPIO_101"), 2248c2ecf20Sopenharmony_ci PINCTRL_PIN(102, "GPIO_102"), 2258c2ecf20Sopenharmony_ci PINCTRL_PIN(103, "GPIO_103"), 2268c2ecf20Sopenharmony_ci PINCTRL_PIN(104, "GPIO_104"), 2278c2ecf20Sopenharmony_ci PINCTRL_PIN(105, "GPIO_105"), 2288c2ecf20Sopenharmony_ci PINCTRL_PIN(106, "GPIO_106"), 2298c2ecf20Sopenharmony_ci PINCTRL_PIN(107, "GPIO_107"), 2308c2ecf20Sopenharmony_ci PINCTRL_PIN(108, "GPIO_108"), 2318c2ecf20Sopenharmony_ci PINCTRL_PIN(109, "GPIO_109"), 2328c2ecf20Sopenharmony_ci PINCTRL_PIN(110, "GPIO_110"), 2338c2ecf20Sopenharmony_ci PINCTRL_PIN(111, "GPIO_111"), 2348c2ecf20Sopenharmony_ci PINCTRL_PIN(112, "GPIO_112"), 2358c2ecf20Sopenharmony_ci PINCTRL_PIN(113, "GPIO_113"), 2368c2ecf20Sopenharmony_ci PINCTRL_PIN(114, "GPIO_114"), 2378c2ecf20Sopenharmony_ci PINCTRL_PIN(115, "GPIO_115"), 2388c2ecf20Sopenharmony_ci PINCTRL_PIN(116, "GPIO_116"), 2398c2ecf20Sopenharmony_ci PINCTRL_PIN(117, "GPIO_117"), 2408c2ecf20Sopenharmony_ci PINCTRL_PIN(118, "GPIO_118"), 2418c2ecf20Sopenharmony_ci PINCTRL_PIN(119, "UFS_RESET"), 2428c2ecf20Sopenharmony_ci PINCTRL_PIN(120, "SDC1_RCLK"), 2438c2ecf20Sopenharmony_ci PINCTRL_PIN(121, "SDC1_CLK"), 2448c2ecf20Sopenharmony_ci PINCTRL_PIN(122, "SDC1_CMD"), 2458c2ecf20Sopenharmony_ci PINCTRL_PIN(123, "SDC1_DATA"), 2468c2ecf20Sopenharmony_ci PINCTRL_PIN(124, "SDC2_CLK"), 2478c2ecf20Sopenharmony_ci PINCTRL_PIN(125, "SDC2_CMD"), 2488c2ecf20Sopenharmony_ci PINCTRL_PIN(126, "SDC2_DATA"), 2498c2ecf20Sopenharmony_ci}; 2508c2ecf20Sopenharmony_ci 2518c2ecf20Sopenharmony_ci#define DECLARE_MSM_GPIO_PINS(pin) \ 2528c2ecf20Sopenharmony_ci static const unsigned int gpio##pin##_pins[] = { pin } 2538c2ecf20Sopenharmony_ciDECLARE_MSM_GPIO_PINS(0); 2548c2ecf20Sopenharmony_ciDECLARE_MSM_GPIO_PINS(1); 2558c2ecf20Sopenharmony_ciDECLARE_MSM_GPIO_PINS(2); 2568c2ecf20Sopenharmony_ciDECLARE_MSM_GPIO_PINS(3); 2578c2ecf20Sopenharmony_ciDECLARE_MSM_GPIO_PINS(4); 2588c2ecf20Sopenharmony_ciDECLARE_MSM_GPIO_PINS(5); 2598c2ecf20Sopenharmony_ciDECLARE_MSM_GPIO_PINS(6); 2608c2ecf20Sopenharmony_ciDECLARE_MSM_GPIO_PINS(7); 2618c2ecf20Sopenharmony_ciDECLARE_MSM_GPIO_PINS(8); 2628c2ecf20Sopenharmony_ciDECLARE_MSM_GPIO_PINS(9); 2638c2ecf20Sopenharmony_ciDECLARE_MSM_GPIO_PINS(10); 2648c2ecf20Sopenharmony_ciDECLARE_MSM_GPIO_PINS(11); 2658c2ecf20Sopenharmony_ciDECLARE_MSM_GPIO_PINS(12); 2668c2ecf20Sopenharmony_ciDECLARE_MSM_GPIO_PINS(13); 2678c2ecf20Sopenharmony_ciDECLARE_MSM_GPIO_PINS(14); 2688c2ecf20Sopenharmony_ciDECLARE_MSM_GPIO_PINS(15); 2698c2ecf20Sopenharmony_ciDECLARE_MSM_GPIO_PINS(16); 2708c2ecf20Sopenharmony_ciDECLARE_MSM_GPIO_PINS(17); 2718c2ecf20Sopenharmony_ciDECLARE_MSM_GPIO_PINS(18); 2728c2ecf20Sopenharmony_ciDECLARE_MSM_GPIO_PINS(19); 2738c2ecf20Sopenharmony_ciDECLARE_MSM_GPIO_PINS(20); 2748c2ecf20Sopenharmony_ciDECLARE_MSM_GPIO_PINS(21); 2758c2ecf20Sopenharmony_ciDECLARE_MSM_GPIO_PINS(22); 2768c2ecf20Sopenharmony_ciDECLARE_MSM_GPIO_PINS(23); 2778c2ecf20Sopenharmony_ciDECLARE_MSM_GPIO_PINS(24); 2788c2ecf20Sopenharmony_ciDECLARE_MSM_GPIO_PINS(25); 2798c2ecf20Sopenharmony_ciDECLARE_MSM_GPIO_PINS(26); 2808c2ecf20Sopenharmony_ciDECLARE_MSM_GPIO_PINS(27); 2818c2ecf20Sopenharmony_ciDECLARE_MSM_GPIO_PINS(28); 2828c2ecf20Sopenharmony_ciDECLARE_MSM_GPIO_PINS(29); 2838c2ecf20Sopenharmony_ciDECLARE_MSM_GPIO_PINS(30); 2848c2ecf20Sopenharmony_ciDECLARE_MSM_GPIO_PINS(31); 2858c2ecf20Sopenharmony_ciDECLARE_MSM_GPIO_PINS(32); 2868c2ecf20Sopenharmony_ciDECLARE_MSM_GPIO_PINS(33); 2878c2ecf20Sopenharmony_ciDECLARE_MSM_GPIO_PINS(34); 2888c2ecf20Sopenharmony_ciDECLARE_MSM_GPIO_PINS(35); 2898c2ecf20Sopenharmony_ciDECLARE_MSM_GPIO_PINS(36); 2908c2ecf20Sopenharmony_ciDECLARE_MSM_GPIO_PINS(37); 2918c2ecf20Sopenharmony_ciDECLARE_MSM_GPIO_PINS(38); 2928c2ecf20Sopenharmony_ciDECLARE_MSM_GPIO_PINS(39); 2938c2ecf20Sopenharmony_ciDECLARE_MSM_GPIO_PINS(40); 2948c2ecf20Sopenharmony_ciDECLARE_MSM_GPIO_PINS(41); 2958c2ecf20Sopenharmony_ciDECLARE_MSM_GPIO_PINS(42); 2968c2ecf20Sopenharmony_ciDECLARE_MSM_GPIO_PINS(43); 2978c2ecf20Sopenharmony_ciDECLARE_MSM_GPIO_PINS(44); 2988c2ecf20Sopenharmony_ciDECLARE_MSM_GPIO_PINS(45); 2998c2ecf20Sopenharmony_ciDECLARE_MSM_GPIO_PINS(46); 3008c2ecf20Sopenharmony_ciDECLARE_MSM_GPIO_PINS(47); 3018c2ecf20Sopenharmony_ciDECLARE_MSM_GPIO_PINS(48); 3028c2ecf20Sopenharmony_ciDECLARE_MSM_GPIO_PINS(49); 3038c2ecf20Sopenharmony_ciDECLARE_MSM_GPIO_PINS(50); 3048c2ecf20Sopenharmony_ciDECLARE_MSM_GPIO_PINS(51); 3058c2ecf20Sopenharmony_ciDECLARE_MSM_GPIO_PINS(52); 3068c2ecf20Sopenharmony_ciDECLARE_MSM_GPIO_PINS(53); 3078c2ecf20Sopenharmony_ciDECLARE_MSM_GPIO_PINS(54); 3088c2ecf20Sopenharmony_ciDECLARE_MSM_GPIO_PINS(55); 3098c2ecf20Sopenharmony_ciDECLARE_MSM_GPIO_PINS(56); 3108c2ecf20Sopenharmony_ciDECLARE_MSM_GPIO_PINS(57); 3118c2ecf20Sopenharmony_ciDECLARE_MSM_GPIO_PINS(58); 3128c2ecf20Sopenharmony_ciDECLARE_MSM_GPIO_PINS(59); 3138c2ecf20Sopenharmony_ciDECLARE_MSM_GPIO_PINS(60); 3148c2ecf20Sopenharmony_ciDECLARE_MSM_GPIO_PINS(61); 3158c2ecf20Sopenharmony_ciDECLARE_MSM_GPIO_PINS(62); 3168c2ecf20Sopenharmony_ciDECLARE_MSM_GPIO_PINS(63); 3178c2ecf20Sopenharmony_ciDECLARE_MSM_GPIO_PINS(64); 3188c2ecf20Sopenharmony_ciDECLARE_MSM_GPIO_PINS(65); 3198c2ecf20Sopenharmony_ciDECLARE_MSM_GPIO_PINS(66); 3208c2ecf20Sopenharmony_ciDECLARE_MSM_GPIO_PINS(67); 3218c2ecf20Sopenharmony_ciDECLARE_MSM_GPIO_PINS(68); 3228c2ecf20Sopenharmony_ciDECLARE_MSM_GPIO_PINS(69); 3238c2ecf20Sopenharmony_ciDECLARE_MSM_GPIO_PINS(70); 3248c2ecf20Sopenharmony_ciDECLARE_MSM_GPIO_PINS(71); 3258c2ecf20Sopenharmony_ciDECLARE_MSM_GPIO_PINS(72); 3268c2ecf20Sopenharmony_ciDECLARE_MSM_GPIO_PINS(73); 3278c2ecf20Sopenharmony_ciDECLARE_MSM_GPIO_PINS(74); 3288c2ecf20Sopenharmony_ciDECLARE_MSM_GPIO_PINS(75); 3298c2ecf20Sopenharmony_ciDECLARE_MSM_GPIO_PINS(76); 3308c2ecf20Sopenharmony_ciDECLARE_MSM_GPIO_PINS(77); 3318c2ecf20Sopenharmony_ciDECLARE_MSM_GPIO_PINS(78); 3328c2ecf20Sopenharmony_ciDECLARE_MSM_GPIO_PINS(79); 3338c2ecf20Sopenharmony_ciDECLARE_MSM_GPIO_PINS(80); 3348c2ecf20Sopenharmony_ciDECLARE_MSM_GPIO_PINS(81); 3358c2ecf20Sopenharmony_ciDECLARE_MSM_GPIO_PINS(82); 3368c2ecf20Sopenharmony_ciDECLARE_MSM_GPIO_PINS(83); 3378c2ecf20Sopenharmony_ciDECLARE_MSM_GPIO_PINS(84); 3388c2ecf20Sopenharmony_ciDECLARE_MSM_GPIO_PINS(85); 3398c2ecf20Sopenharmony_ciDECLARE_MSM_GPIO_PINS(86); 3408c2ecf20Sopenharmony_ciDECLARE_MSM_GPIO_PINS(87); 3418c2ecf20Sopenharmony_ciDECLARE_MSM_GPIO_PINS(88); 3428c2ecf20Sopenharmony_ciDECLARE_MSM_GPIO_PINS(89); 3438c2ecf20Sopenharmony_ciDECLARE_MSM_GPIO_PINS(90); 3448c2ecf20Sopenharmony_ciDECLARE_MSM_GPIO_PINS(91); 3458c2ecf20Sopenharmony_ciDECLARE_MSM_GPIO_PINS(92); 3468c2ecf20Sopenharmony_ciDECLARE_MSM_GPIO_PINS(93); 3478c2ecf20Sopenharmony_ciDECLARE_MSM_GPIO_PINS(94); 3488c2ecf20Sopenharmony_ciDECLARE_MSM_GPIO_PINS(95); 3498c2ecf20Sopenharmony_ciDECLARE_MSM_GPIO_PINS(96); 3508c2ecf20Sopenharmony_ciDECLARE_MSM_GPIO_PINS(97); 3518c2ecf20Sopenharmony_ciDECLARE_MSM_GPIO_PINS(98); 3528c2ecf20Sopenharmony_ciDECLARE_MSM_GPIO_PINS(99); 3538c2ecf20Sopenharmony_ciDECLARE_MSM_GPIO_PINS(100); 3548c2ecf20Sopenharmony_ciDECLARE_MSM_GPIO_PINS(101); 3558c2ecf20Sopenharmony_ciDECLARE_MSM_GPIO_PINS(102); 3568c2ecf20Sopenharmony_ciDECLARE_MSM_GPIO_PINS(103); 3578c2ecf20Sopenharmony_ciDECLARE_MSM_GPIO_PINS(104); 3588c2ecf20Sopenharmony_ciDECLARE_MSM_GPIO_PINS(105); 3598c2ecf20Sopenharmony_ciDECLARE_MSM_GPIO_PINS(106); 3608c2ecf20Sopenharmony_ciDECLARE_MSM_GPIO_PINS(107); 3618c2ecf20Sopenharmony_ciDECLARE_MSM_GPIO_PINS(108); 3628c2ecf20Sopenharmony_ciDECLARE_MSM_GPIO_PINS(109); 3638c2ecf20Sopenharmony_ciDECLARE_MSM_GPIO_PINS(110); 3648c2ecf20Sopenharmony_ciDECLARE_MSM_GPIO_PINS(111); 3658c2ecf20Sopenharmony_ciDECLARE_MSM_GPIO_PINS(112); 3668c2ecf20Sopenharmony_ciDECLARE_MSM_GPIO_PINS(113); 3678c2ecf20Sopenharmony_ciDECLARE_MSM_GPIO_PINS(114); 3688c2ecf20Sopenharmony_ciDECLARE_MSM_GPIO_PINS(115); 3698c2ecf20Sopenharmony_ciDECLARE_MSM_GPIO_PINS(116); 3708c2ecf20Sopenharmony_ciDECLARE_MSM_GPIO_PINS(117); 3718c2ecf20Sopenharmony_ciDECLARE_MSM_GPIO_PINS(118); 3728c2ecf20Sopenharmony_ci 3738c2ecf20Sopenharmony_cistatic const unsigned int ufs_reset_pins[] = { 119 }; 3748c2ecf20Sopenharmony_cistatic const unsigned int sdc1_rclk_pins[] = { 120 }; 3758c2ecf20Sopenharmony_cistatic const unsigned int sdc1_clk_pins[] = { 121 }; 3768c2ecf20Sopenharmony_cistatic const unsigned int sdc1_cmd_pins[] = { 122 }; 3778c2ecf20Sopenharmony_cistatic const unsigned int sdc1_data_pins[] = { 123 }; 3788c2ecf20Sopenharmony_cistatic const unsigned int sdc2_clk_pins[] = { 124 }; 3798c2ecf20Sopenharmony_cistatic const unsigned int sdc2_cmd_pins[] = { 125 }; 3808c2ecf20Sopenharmony_cistatic const unsigned int sdc2_data_pins[] = { 126 }; 3818c2ecf20Sopenharmony_ci 3828c2ecf20Sopenharmony_cienum sc7180_functions { 3838c2ecf20Sopenharmony_ci msm_mux_adsp_ext, 3848c2ecf20Sopenharmony_ci msm_mux_agera_pll, 3858c2ecf20Sopenharmony_ci msm_mux_aoss_cti, 3868c2ecf20Sopenharmony_ci msm_mux_atest_char, 3878c2ecf20Sopenharmony_ci msm_mux_atest_char0, 3888c2ecf20Sopenharmony_ci msm_mux_atest_char1, 3898c2ecf20Sopenharmony_ci msm_mux_atest_char2, 3908c2ecf20Sopenharmony_ci msm_mux_atest_char3, 3918c2ecf20Sopenharmony_ci msm_mux_atest_tsens, 3928c2ecf20Sopenharmony_ci msm_mux_atest_tsens2, 3938c2ecf20Sopenharmony_ci msm_mux_atest_usb1, 3948c2ecf20Sopenharmony_ci msm_mux_atest_usb2, 3958c2ecf20Sopenharmony_ci msm_mux_atest_usb10, 3968c2ecf20Sopenharmony_ci msm_mux_atest_usb11, 3978c2ecf20Sopenharmony_ci msm_mux_atest_usb12, 3988c2ecf20Sopenharmony_ci msm_mux_atest_usb13, 3998c2ecf20Sopenharmony_ci msm_mux_atest_usb20, 4008c2ecf20Sopenharmony_ci msm_mux_atest_usb21, 4018c2ecf20Sopenharmony_ci msm_mux_atest_usb22, 4028c2ecf20Sopenharmony_ci msm_mux_atest_usb23, 4038c2ecf20Sopenharmony_ci msm_mux_audio_ref, 4048c2ecf20Sopenharmony_ci msm_mux_btfm_slimbus, 4058c2ecf20Sopenharmony_ci msm_mux_cam_mclk, 4068c2ecf20Sopenharmony_ci msm_mux_cci_async, 4078c2ecf20Sopenharmony_ci msm_mux_cci_i2c, 4088c2ecf20Sopenharmony_ci msm_mux_cci_timer0, 4098c2ecf20Sopenharmony_ci msm_mux_cci_timer1, 4108c2ecf20Sopenharmony_ci msm_mux_cci_timer2, 4118c2ecf20Sopenharmony_ci msm_mux_cci_timer3, 4128c2ecf20Sopenharmony_ci msm_mux_cci_timer4, 4138c2ecf20Sopenharmony_ci msm_mux_cri_trng, 4148c2ecf20Sopenharmony_ci msm_mux_dbg_out, 4158c2ecf20Sopenharmony_ci msm_mux_ddr_bist, 4168c2ecf20Sopenharmony_ci msm_mux_ddr_pxi0, 4178c2ecf20Sopenharmony_ci msm_mux_ddr_pxi1, 4188c2ecf20Sopenharmony_ci msm_mux_ddr_pxi2, 4198c2ecf20Sopenharmony_ci msm_mux_ddr_pxi3, 4208c2ecf20Sopenharmony_ci msm_mux_dp_hot, 4218c2ecf20Sopenharmony_ci msm_mux_edp_lcd, 4228c2ecf20Sopenharmony_ci msm_mux_gcc_gp1, 4238c2ecf20Sopenharmony_ci msm_mux_gcc_gp2, 4248c2ecf20Sopenharmony_ci msm_mux_gcc_gp3, 4258c2ecf20Sopenharmony_ci msm_mux_gpio, 4268c2ecf20Sopenharmony_ci msm_mux_gp_pdm0, 4278c2ecf20Sopenharmony_ci msm_mux_gp_pdm1, 4288c2ecf20Sopenharmony_ci msm_mux_gp_pdm2, 4298c2ecf20Sopenharmony_ci msm_mux_gps_tx, 4308c2ecf20Sopenharmony_ci msm_mux_jitter_bist, 4318c2ecf20Sopenharmony_ci msm_mux_ldo_en, 4328c2ecf20Sopenharmony_ci msm_mux_ldo_update, 4338c2ecf20Sopenharmony_ci msm_mux_lpass_ext, 4348c2ecf20Sopenharmony_ci msm_mux_mdp_vsync, 4358c2ecf20Sopenharmony_ci msm_mux_mdp_vsync0, 4368c2ecf20Sopenharmony_ci msm_mux_mdp_vsync1, 4378c2ecf20Sopenharmony_ci msm_mux_mdp_vsync2, 4388c2ecf20Sopenharmony_ci msm_mux_mdp_vsync3, 4398c2ecf20Sopenharmony_ci msm_mux_mi2s_1, 4408c2ecf20Sopenharmony_ci msm_mux_mi2s_0, 4418c2ecf20Sopenharmony_ci msm_mux_mi2s_2, 4428c2ecf20Sopenharmony_ci msm_mux_mss_lte, 4438c2ecf20Sopenharmony_ci msm_mux_m_voc, 4448c2ecf20Sopenharmony_ci msm_mux_pa_indicator, 4458c2ecf20Sopenharmony_ci msm_mux_phase_flag, 4468c2ecf20Sopenharmony_ci msm_mux_PLL_BIST, 4478c2ecf20Sopenharmony_ci msm_mux_pll_bypassnl, 4488c2ecf20Sopenharmony_ci msm_mux_pll_reset, 4498c2ecf20Sopenharmony_ci msm_mux_prng_rosc, 4508c2ecf20Sopenharmony_ci msm_mux_qdss, 4518c2ecf20Sopenharmony_ci msm_mux_qdss_cti, 4528c2ecf20Sopenharmony_ci msm_mux_qlink_enable, 4538c2ecf20Sopenharmony_ci msm_mux_qlink_request, 4548c2ecf20Sopenharmony_ci msm_mux_qspi_clk, 4558c2ecf20Sopenharmony_ci msm_mux_qspi_cs, 4568c2ecf20Sopenharmony_ci msm_mux_qspi_data, 4578c2ecf20Sopenharmony_ci msm_mux_qup00, 4588c2ecf20Sopenharmony_ci msm_mux_qup01, 4598c2ecf20Sopenharmony_ci msm_mux_qup02_i2c, 4608c2ecf20Sopenharmony_ci msm_mux_qup02_uart, 4618c2ecf20Sopenharmony_ci msm_mux_qup03, 4628c2ecf20Sopenharmony_ci msm_mux_qup04_i2c, 4638c2ecf20Sopenharmony_ci msm_mux_qup04_uart, 4648c2ecf20Sopenharmony_ci msm_mux_qup05, 4658c2ecf20Sopenharmony_ci msm_mux_qup10, 4668c2ecf20Sopenharmony_ci msm_mux_qup11_i2c, 4678c2ecf20Sopenharmony_ci msm_mux_qup11_uart, 4688c2ecf20Sopenharmony_ci msm_mux_qup12, 4698c2ecf20Sopenharmony_ci msm_mux_qup13_i2c, 4708c2ecf20Sopenharmony_ci msm_mux_qup13_uart, 4718c2ecf20Sopenharmony_ci msm_mux_qup14, 4728c2ecf20Sopenharmony_ci msm_mux_qup15, 4738c2ecf20Sopenharmony_ci msm_mux_sdc1_tb, 4748c2ecf20Sopenharmony_ci msm_mux_sdc2_tb, 4758c2ecf20Sopenharmony_ci msm_mux_sd_write, 4768c2ecf20Sopenharmony_ci msm_mux_sp_cmu, 4778c2ecf20Sopenharmony_ci msm_mux_tgu_ch0, 4788c2ecf20Sopenharmony_ci msm_mux_tgu_ch1, 4798c2ecf20Sopenharmony_ci msm_mux_tgu_ch2, 4808c2ecf20Sopenharmony_ci msm_mux_tgu_ch3, 4818c2ecf20Sopenharmony_ci msm_mux_tsense_pwm1, 4828c2ecf20Sopenharmony_ci msm_mux_tsense_pwm2, 4838c2ecf20Sopenharmony_ci msm_mux_uim1, 4848c2ecf20Sopenharmony_ci msm_mux_uim2, 4858c2ecf20Sopenharmony_ci msm_mux_uim_batt, 4868c2ecf20Sopenharmony_ci msm_mux_usb_phy, 4878c2ecf20Sopenharmony_ci msm_mux_vfr_1, 4888c2ecf20Sopenharmony_ci msm_mux__V_GPIO, 4898c2ecf20Sopenharmony_ci msm_mux__V_PPS_IN, 4908c2ecf20Sopenharmony_ci msm_mux__V_PPS_OUT, 4918c2ecf20Sopenharmony_ci msm_mux_vsense_trigger, 4928c2ecf20Sopenharmony_ci msm_mux_wlan1_adc0, 4938c2ecf20Sopenharmony_ci msm_mux_wlan1_adc1, 4948c2ecf20Sopenharmony_ci msm_mux_wlan2_adc0, 4958c2ecf20Sopenharmony_ci msm_mux_wlan2_adc1, 4968c2ecf20Sopenharmony_ci msm_mux__, 4978c2ecf20Sopenharmony_ci}; 4988c2ecf20Sopenharmony_ci 4998c2ecf20Sopenharmony_cistatic const char * const qup01_groups[] = { 5008c2ecf20Sopenharmony_ci "gpio0", "gpio1", "gpio2", "gpio3", "gpio12", "gpio94", 5018c2ecf20Sopenharmony_ci}; 5028c2ecf20Sopenharmony_cistatic const char * const gpio_groups[] = { 5038c2ecf20Sopenharmony_ci "gpio0", "gpio1", "gpio2", "gpio3", "gpio4", "gpio5", "gpio6", "gpio7", 5048c2ecf20Sopenharmony_ci "gpio8", "gpio9", "gpio10", "gpio11", "gpio12", "gpio13", "gpio14", 5058c2ecf20Sopenharmony_ci "gpio15", "gpio16", "gpio17", "gpio18", "gpio19", "gpio20", "gpio21", 5068c2ecf20Sopenharmony_ci "gpio22", "gpio23", "gpio24", "gpio25", "gpio26", "gpio27", "gpio28", 5078c2ecf20Sopenharmony_ci "gpio29", "gpio30", "gpio31", "gpio32", "gpio33", "gpio34", "gpio35", 5088c2ecf20Sopenharmony_ci "gpio36", "gpio37", "gpio38", "gpio39", "gpio40", "gpio41", "gpio42", 5098c2ecf20Sopenharmony_ci "gpio43", "gpio44", "gpio45", "gpio46", "gpio47", "gpio48", "gpio49", 5108c2ecf20Sopenharmony_ci "gpio50", "gpio51", "gpio52", "gpio53", "gpio54", "gpio55", "gpio56", 5118c2ecf20Sopenharmony_ci "gpio57", "gpio58", "gpio59", "gpio60", "gpio61", "gpio62", "gpio63", 5128c2ecf20Sopenharmony_ci "gpio64", "gpio65", "gpio66", "gpio67", "gpio68", "gpio69", "gpio70", 5138c2ecf20Sopenharmony_ci "gpio71", "gpio72", "gpio73", "gpio74", "gpio75", "gpio76", "gpio77", 5148c2ecf20Sopenharmony_ci "gpio78", "gpio79", "gpio80", "gpio81", "gpio82", "gpio83", "gpio84", 5158c2ecf20Sopenharmony_ci "gpio85", "gpio86", "gpio87", "gpio88", "gpio89", "gpio90", "gpio91", 5168c2ecf20Sopenharmony_ci "gpio92", "gpio93", "gpio94", "gpio95", "gpio96", "gpio97", "gpio98", 5178c2ecf20Sopenharmony_ci "gpio99", "gpio100", "gpio101", "gpio102", "gpio103", "gpio104", 5188c2ecf20Sopenharmony_ci "gpio105", "gpio106", "gpio107", "gpio108", "gpio109", "gpio110", 5198c2ecf20Sopenharmony_ci "gpio111", "gpio112", "gpio113", "gpio114", "gpio115", "gpio116", 5208c2ecf20Sopenharmony_ci "gpio117", "gpio118", 5218c2ecf20Sopenharmony_ci}; 5228c2ecf20Sopenharmony_cistatic const char * const phase_flag_groups[] = { 5238c2ecf20Sopenharmony_ci "gpio0", "gpio1", "gpio2", "gpio8", "gpio9", 5248c2ecf20Sopenharmony_ci "gpio11", "gpio12", "gpio17", "gpio18", "gpio19", 5258c2ecf20Sopenharmony_ci "gpio20", "gpio25", "gpio26", "gpio27", "gpio28", 5268c2ecf20Sopenharmony_ci "gpio32", "gpio33", "gpio34", "gpio35", "gpio36", 5278c2ecf20Sopenharmony_ci "gpio37", "gpio38", "gpio39", "gpio42", "gpio44", 5288c2ecf20Sopenharmony_ci "gpio56", "gpio57", "gpio58", "gpio63", "gpio64", 5298c2ecf20Sopenharmony_ci "gpio108", "gpio109", 5308c2ecf20Sopenharmony_ci}; 5318c2ecf20Sopenharmony_cistatic const char * const cri_trng_groups[] = { 5328c2ecf20Sopenharmony_ci "gpio0", "gpio1", "gpio2", 5338c2ecf20Sopenharmony_ci}; 5348c2ecf20Sopenharmony_cistatic const char * const sp_cmu_groups[] = { 5358c2ecf20Sopenharmony_ci "gpio3", 5368c2ecf20Sopenharmony_ci}; 5378c2ecf20Sopenharmony_cistatic const char * const dbg_out_groups[] = { 5388c2ecf20Sopenharmony_ci "gpio3", 5398c2ecf20Sopenharmony_ci}; 5408c2ecf20Sopenharmony_cistatic const char * const qdss_cti_groups[] = { 5418c2ecf20Sopenharmony_ci "gpio3", "gpio4", "gpio8", "gpio9", "gpio33", "gpio44", "gpio45", 5428c2ecf20Sopenharmony_ci "gpio72", 5438c2ecf20Sopenharmony_ci}; 5448c2ecf20Sopenharmony_cistatic const char * const sdc1_tb_groups[] = { 5458c2ecf20Sopenharmony_ci "gpio4", 5468c2ecf20Sopenharmony_ci}; 5478c2ecf20Sopenharmony_cistatic const char * const sdc2_tb_groups[] = { 5488c2ecf20Sopenharmony_ci "gpio5", 5498c2ecf20Sopenharmony_ci}; 5508c2ecf20Sopenharmony_cistatic const char * const qup11_i2c_groups[] = { 5518c2ecf20Sopenharmony_ci "gpio6", "gpio7", 5528c2ecf20Sopenharmony_ci}; 5538c2ecf20Sopenharmony_cistatic const char * const qup11_uart_groups[] = { 5548c2ecf20Sopenharmony_ci "gpio6", "gpio7", 5558c2ecf20Sopenharmony_ci}; 5568c2ecf20Sopenharmony_cistatic const char * const ddr_bist_groups[] = { 5578c2ecf20Sopenharmony_ci "gpio7", "gpio8", "gpio9", "gpio10", 5588c2ecf20Sopenharmony_ci}; 5598c2ecf20Sopenharmony_cistatic const char * const gp_pdm1_groups[] = { 5608c2ecf20Sopenharmony_ci "gpio8", "gpio50", 5618c2ecf20Sopenharmony_ci}; 5628c2ecf20Sopenharmony_cistatic const char * const mdp_vsync_groups[] = { 5638c2ecf20Sopenharmony_ci "gpio10", "gpio11", "gpio12", "gpio70", "gpio71", 5648c2ecf20Sopenharmony_ci}; 5658c2ecf20Sopenharmony_cistatic const char * const edp_lcd_groups[] = { 5668c2ecf20Sopenharmony_ci "gpio11", 5678c2ecf20Sopenharmony_ci}; 5688c2ecf20Sopenharmony_cistatic const char * const ddr_pxi2_groups[] = { 5698c2ecf20Sopenharmony_ci "gpio11", "gpio26", 5708c2ecf20Sopenharmony_ci}; 5718c2ecf20Sopenharmony_cistatic const char * const m_voc_groups[] = { 5728c2ecf20Sopenharmony_ci "gpio12", 5738c2ecf20Sopenharmony_ci}; 5748c2ecf20Sopenharmony_cistatic const char * const wlan2_adc0_groups[] = { 5758c2ecf20Sopenharmony_ci "gpio12", 5768c2ecf20Sopenharmony_ci}; 5778c2ecf20Sopenharmony_cistatic const char * const atest_usb10_groups[] = { 5788c2ecf20Sopenharmony_ci "gpio12", 5798c2ecf20Sopenharmony_ci}; 5808c2ecf20Sopenharmony_cistatic const char * const ddr_pxi3_groups[] = { 5818c2ecf20Sopenharmony_ci "gpio12", "gpio108", 5828c2ecf20Sopenharmony_ci}; 5838c2ecf20Sopenharmony_cistatic const char * const cam_mclk_groups[] = { 5848c2ecf20Sopenharmony_ci "gpio13", "gpio14", "gpio15", "gpio16", "gpio23", 5858c2ecf20Sopenharmony_ci}; 5868c2ecf20Sopenharmony_cistatic const char * const pll_bypassnl_groups[] = { 5878c2ecf20Sopenharmony_ci "gpio13", 5888c2ecf20Sopenharmony_ci}; 5898c2ecf20Sopenharmony_cistatic const char * const qdss_groups[] = { 5908c2ecf20Sopenharmony_ci "gpio13", "gpio86", "gpio14", "gpio87", 5918c2ecf20Sopenharmony_ci "gpio15", "gpio88", "gpio16", "gpio89", 5928c2ecf20Sopenharmony_ci "gpio17", "gpio90", "gpio18", "gpio91", 5938c2ecf20Sopenharmony_ci "gpio19", "gpio21", "gpio20", "gpio22", 5948c2ecf20Sopenharmony_ci "gpio23", "gpio54", "gpio24", "gpio36", 5958c2ecf20Sopenharmony_ci "gpio25", "gpio57", "gpio26", "gpio31", 5968c2ecf20Sopenharmony_ci "gpio27", "gpio56", "gpio28", "gpio29", 5978c2ecf20Sopenharmony_ci "gpio30", "gpio35", "gpio93", "gpio104", 5988c2ecf20Sopenharmony_ci "gpio34", "gpio53", "gpio37", "gpio55", 5998c2ecf20Sopenharmony_ci}; 6008c2ecf20Sopenharmony_cistatic const char * const pll_reset_groups[] = { 6018c2ecf20Sopenharmony_ci "gpio14", 6028c2ecf20Sopenharmony_ci}; 6038c2ecf20Sopenharmony_cistatic const char * const qup02_i2c_groups[] = { 6048c2ecf20Sopenharmony_ci "gpio15", "gpio16", 6058c2ecf20Sopenharmony_ci}; 6068c2ecf20Sopenharmony_cistatic const char * const qup02_uart_groups[] = { 6078c2ecf20Sopenharmony_ci "gpio15", "gpio16", 6088c2ecf20Sopenharmony_ci}; 6098c2ecf20Sopenharmony_cistatic const char * const cci_i2c_groups[] = { 6108c2ecf20Sopenharmony_ci "gpio17", "gpio18", "gpio19", "gpio20", "gpio27", "gpio28", 6118c2ecf20Sopenharmony_ci}; 6128c2ecf20Sopenharmony_cistatic const char * const wlan1_adc0_groups[] = { 6138c2ecf20Sopenharmony_ci "gpio17", 6148c2ecf20Sopenharmony_ci}; 6158c2ecf20Sopenharmony_cistatic const char * const atest_usb12_groups[] = { 6168c2ecf20Sopenharmony_ci "gpio17", 6178c2ecf20Sopenharmony_ci}; 6188c2ecf20Sopenharmony_cistatic const char * const ddr_pxi1_groups[] = { 6198c2ecf20Sopenharmony_ci "gpio17", "gpio44", 6208c2ecf20Sopenharmony_ci}; 6218c2ecf20Sopenharmony_cistatic const char * const atest_char_groups[] = { 6228c2ecf20Sopenharmony_ci "gpio17", 6238c2ecf20Sopenharmony_ci}; 6248c2ecf20Sopenharmony_cistatic const char * const agera_pll_groups[] = { 6258c2ecf20Sopenharmony_ci "gpio18", 6268c2ecf20Sopenharmony_ci}; 6278c2ecf20Sopenharmony_cistatic const char * const vsense_trigger_groups[] = { 6288c2ecf20Sopenharmony_ci "gpio18", 6298c2ecf20Sopenharmony_ci}; 6308c2ecf20Sopenharmony_cistatic const char * const ddr_pxi0_groups[] = { 6318c2ecf20Sopenharmony_ci "gpio18", "gpio27", 6328c2ecf20Sopenharmony_ci}; 6338c2ecf20Sopenharmony_cistatic const char * const atest_char3_groups[] = { 6348c2ecf20Sopenharmony_ci "gpio18", 6358c2ecf20Sopenharmony_ci}; 6368c2ecf20Sopenharmony_cistatic const char * const atest_char2_groups[] = { 6378c2ecf20Sopenharmony_ci "gpio19", 6388c2ecf20Sopenharmony_ci}; 6398c2ecf20Sopenharmony_cistatic const char * const atest_char1_groups[] = { 6408c2ecf20Sopenharmony_ci "gpio20", 6418c2ecf20Sopenharmony_ci}; 6428c2ecf20Sopenharmony_cistatic const char * const cci_timer0_groups[] = { 6438c2ecf20Sopenharmony_ci "gpio21", 6448c2ecf20Sopenharmony_ci}; 6458c2ecf20Sopenharmony_cistatic const char * const gcc_gp2_groups[] = { 6468c2ecf20Sopenharmony_ci "gpio21", 6478c2ecf20Sopenharmony_ci}; 6488c2ecf20Sopenharmony_cistatic const char * const atest_char0_groups[] = { 6498c2ecf20Sopenharmony_ci "gpio21", 6508c2ecf20Sopenharmony_ci}; 6518c2ecf20Sopenharmony_cistatic const char * const cci_timer1_groups[] = { 6528c2ecf20Sopenharmony_ci "gpio22", 6538c2ecf20Sopenharmony_ci}; 6548c2ecf20Sopenharmony_cistatic const char * const gcc_gp3_groups[] = { 6558c2ecf20Sopenharmony_ci "gpio22", 6568c2ecf20Sopenharmony_ci}; 6578c2ecf20Sopenharmony_cistatic const char * const cci_timer2_groups[] = { 6588c2ecf20Sopenharmony_ci "gpio23", 6598c2ecf20Sopenharmony_ci}; 6608c2ecf20Sopenharmony_cistatic const char * const cci_timer3_groups[] = { 6618c2ecf20Sopenharmony_ci "gpio24", 6628c2ecf20Sopenharmony_ci}; 6638c2ecf20Sopenharmony_cistatic const char * const cci_async_groups[] = { 6648c2ecf20Sopenharmony_ci "gpio24", "gpio25", "gpio26", 6658c2ecf20Sopenharmony_ci}; 6668c2ecf20Sopenharmony_cistatic const char * const cci_timer4_groups[] = { 6678c2ecf20Sopenharmony_ci "gpio25", 6688c2ecf20Sopenharmony_ci}; 6698c2ecf20Sopenharmony_cistatic const char * const qup05_groups[] = { 6708c2ecf20Sopenharmony_ci "gpio25", "gpio26", "gpio27", "gpio28", 6718c2ecf20Sopenharmony_ci}; 6728c2ecf20Sopenharmony_cistatic const char * const atest_tsens_groups[] = { 6738c2ecf20Sopenharmony_ci "gpio26", 6748c2ecf20Sopenharmony_ci}; 6758c2ecf20Sopenharmony_cistatic const char * const atest_usb11_groups[] = { 6768c2ecf20Sopenharmony_ci "gpio26", 6778c2ecf20Sopenharmony_ci}; 6788c2ecf20Sopenharmony_cistatic const char * const PLL_BIST_groups[] = { 6798c2ecf20Sopenharmony_ci "gpio27", 6808c2ecf20Sopenharmony_ci}; 6818c2ecf20Sopenharmony_cistatic const char * const sd_write_groups[] = { 6828c2ecf20Sopenharmony_ci "gpio33", 6838c2ecf20Sopenharmony_ci}; 6848c2ecf20Sopenharmony_cistatic const char * const qup00_groups[] = { 6858c2ecf20Sopenharmony_ci "gpio34", "gpio35", "gpio36", "gpio37", 6868c2ecf20Sopenharmony_ci}; 6878c2ecf20Sopenharmony_cistatic const char * const gp_pdm0_groups[] = { 6888c2ecf20Sopenharmony_ci "gpio37", "gpio68", 6898c2ecf20Sopenharmony_ci}; 6908c2ecf20Sopenharmony_cistatic const char * const qup03_groups[] = { 6918c2ecf20Sopenharmony_ci "gpio38", "gpio39", "gpio40", "gpio41", 6928c2ecf20Sopenharmony_ci}; 6938c2ecf20Sopenharmony_cistatic const char * const atest_tsens2_groups[] = { 6948c2ecf20Sopenharmony_ci "gpio39", 6958c2ecf20Sopenharmony_ci}; 6968c2ecf20Sopenharmony_cistatic const char * const wlan2_adc1_groups[] = { 6978c2ecf20Sopenharmony_ci "gpio39", 6988c2ecf20Sopenharmony_ci}; 6998c2ecf20Sopenharmony_cistatic const char * const atest_usb1_groups[] = { 7008c2ecf20Sopenharmony_ci "gpio39", 7018c2ecf20Sopenharmony_ci}; 7028c2ecf20Sopenharmony_cistatic const char * const qup12_groups[] = { 7038c2ecf20Sopenharmony_ci "gpio42", "gpio43", "gpio44", "gpio45", 7048c2ecf20Sopenharmony_ci}; 7058c2ecf20Sopenharmony_cistatic const char * const wlan1_adc1_groups[] = { 7068c2ecf20Sopenharmony_ci "gpio44", 7078c2ecf20Sopenharmony_ci}; 7088c2ecf20Sopenharmony_cistatic const char * const atest_usb13_groups[] = { 7098c2ecf20Sopenharmony_ci "gpio44", 7108c2ecf20Sopenharmony_ci}; 7118c2ecf20Sopenharmony_cistatic const char * const qup13_i2c_groups[] = { 7128c2ecf20Sopenharmony_ci "gpio46", "gpio47", 7138c2ecf20Sopenharmony_ci}; 7148c2ecf20Sopenharmony_cistatic const char * const qup13_uart_groups[] = { 7158c2ecf20Sopenharmony_ci "gpio46", "gpio47", 7168c2ecf20Sopenharmony_ci}; 7178c2ecf20Sopenharmony_cistatic const char * const gcc_gp1_groups[] = { 7188c2ecf20Sopenharmony_ci "gpio48", "gpio56", 7198c2ecf20Sopenharmony_ci}; 7208c2ecf20Sopenharmony_cistatic const char * const mi2s_1_groups[] = { 7218c2ecf20Sopenharmony_ci "gpio49", "gpio50", "gpio51", "gpio52", 7228c2ecf20Sopenharmony_ci}; 7238c2ecf20Sopenharmony_cistatic const char * const btfm_slimbus_groups[] = { 7248c2ecf20Sopenharmony_ci "gpio49", "gpio50", "gpio51", "gpio52", 7258c2ecf20Sopenharmony_ci}; 7268c2ecf20Sopenharmony_cistatic const char * const atest_usb2_groups[] = { 7278c2ecf20Sopenharmony_ci "gpio51", 7288c2ecf20Sopenharmony_ci}; 7298c2ecf20Sopenharmony_cistatic const char * const atest_usb23_groups[] = { 7308c2ecf20Sopenharmony_ci "gpio52", 7318c2ecf20Sopenharmony_ci}; 7328c2ecf20Sopenharmony_cistatic const char * const mi2s_0_groups[] = { 7338c2ecf20Sopenharmony_ci "gpio53", "gpio54", "gpio55", "gpio56", 7348c2ecf20Sopenharmony_ci}; 7358c2ecf20Sopenharmony_cistatic const char * const qup15_groups[] = { 7368c2ecf20Sopenharmony_ci "gpio53", "gpio54", "gpio55", "gpio56", 7378c2ecf20Sopenharmony_ci}; 7388c2ecf20Sopenharmony_cistatic const char * const atest_usb22_groups[] = { 7398c2ecf20Sopenharmony_ci "gpio53", 7408c2ecf20Sopenharmony_ci}; 7418c2ecf20Sopenharmony_cistatic const char * const atest_usb21_groups[] = { 7428c2ecf20Sopenharmony_ci "gpio54", 7438c2ecf20Sopenharmony_ci}; 7448c2ecf20Sopenharmony_cistatic const char * const atest_usb20_groups[] = { 7458c2ecf20Sopenharmony_ci "gpio55", 7468c2ecf20Sopenharmony_ci}; 7478c2ecf20Sopenharmony_cistatic const char * const lpass_ext_groups[] = { 7488c2ecf20Sopenharmony_ci "gpio57", "gpio58", 7498c2ecf20Sopenharmony_ci}; 7508c2ecf20Sopenharmony_cistatic const char * const audio_ref_groups[] = { 7518c2ecf20Sopenharmony_ci "gpio57", 7528c2ecf20Sopenharmony_ci}; 7538c2ecf20Sopenharmony_cistatic const char * const jitter_bist_groups[] = { 7548c2ecf20Sopenharmony_ci "gpio57", 7558c2ecf20Sopenharmony_ci}; 7568c2ecf20Sopenharmony_cistatic const char * const gp_pdm2_groups[] = { 7578c2ecf20Sopenharmony_ci "gpio57", 7588c2ecf20Sopenharmony_ci}; 7598c2ecf20Sopenharmony_cistatic const char * const qup10_groups[] = { 7608c2ecf20Sopenharmony_ci "gpio59", "gpio60", "gpio61", "gpio62", "gpio68", "gpio72", 7618c2ecf20Sopenharmony_ci}; 7628c2ecf20Sopenharmony_cistatic const char * const tgu_ch3_groups[] = { 7638c2ecf20Sopenharmony_ci "gpio62", 7648c2ecf20Sopenharmony_ci}; 7658c2ecf20Sopenharmony_cistatic const char * const qspi_clk_groups[] = { 7668c2ecf20Sopenharmony_ci "gpio63", 7678c2ecf20Sopenharmony_ci}; 7688c2ecf20Sopenharmony_cistatic const char * const mdp_vsync0_groups[] = { 7698c2ecf20Sopenharmony_ci "gpio63", 7708c2ecf20Sopenharmony_ci}; 7718c2ecf20Sopenharmony_cistatic const char * const mi2s_2_groups[] = { 7728c2ecf20Sopenharmony_ci "gpio63", "gpio64", "gpio65", "gpio66", 7738c2ecf20Sopenharmony_ci}; 7748c2ecf20Sopenharmony_cistatic const char * const mdp_vsync1_groups[] = { 7758c2ecf20Sopenharmony_ci "gpio63", 7768c2ecf20Sopenharmony_ci}; 7778c2ecf20Sopenharmony_cistatic const char * const mdp_vsync2_groups[] = { 7788c2ecf20Sopenharmony_ci "gpio63", 7798c2ecf20Sopenharmony_ci}; 7808c2ecf20Sopenharmony_cistatic const char * const mdp_vsync3_groups[] = { 7818c2ecf20Sopenharmony_ci "gpio63", 7828c2ecf20Sopenharmony_ci}; 7838c2ecf20Sopenharmony_cistatic const char * const tgu_ch0_groups[] = { 7848c2ecf20Sopenharmony_ci "gpio63", 7858c2ecf20Sopenharmony_ci}; 7868c2ecf20Sopenharmony_cistatic const char * const qspi_data_groups[] = { 7878c2ecf20Sopenharmony_ci "gpio64", "gpio65", "gpio66", "gpio67", 7888c2ecf20Sopenharmony_ci}; 7898c2ecf20Sopenharmony_cistatic const char * const tgu_ch1_groups[] = { 7908c2ecf20Sopenharmony_ci "gpio64", 7918c2ecf20Sopenharmony_ci}; 7928c2ecf20Sopenharmony_cistatic const char * const vfr_1_groups[] = { 7938c2ecf20Sopenharmony_ci "gpio65", 7948c2ecf20Sopenharmony_ci}; 7958c2ecf20Sopenharmony_cistatic const char * const tgu_ch2_groups[] = { 7968c2ecf20Sopenharmony_ci "gpio65", 7978c2ecf20Sopenharmony_ci}; 7988c2ecf20Sopenharmony_cistatic const char * const qspi_cs_groups[] = { 7998c2ecf20Sopenharmony_ci "gpio68", "gpio72", 8008c2ecf20Sopenharmony_ci}; 8018c2ecf20Sopenharmony_cistatic const char * const ldo_en_groups[] = { 8028c2ecf20Sopenharmony_ci "gpio70", 8038c2ecf20Sopenharmony_ci}; 8048c2ecf20Sopenharmony_cistatic const char * const ldo_update_groups[] = { 8058c2ecf20Sopenharmony_ci "gpio71", 8068c2ecf20Sopenharmony_ci}; 8078c2ecf20Sopenharmony_cistatic const char * const prng_rosc_groups[] = { 8088c2ecf20Sopenharmony_ci "gpio72", 8098c2ecf20Sopenharmony_ci}; 8108c2ecf20Sopenharmony_cistatic const char * const uim2_groups[] = { 8118c2ecf20Sopenharmony_ci "gpio75", "gpio76", "gpio77", "gpio78", 8128c2ecf20Sopenharmony_ci}; 8138c2ecf20Sopenharmony_cistatic const char * const uim1_groups[] = { 8148c2ecf20Sopenharmony_ci "gpio79", "gpio80", "gpio81", "gpio82", 8158c2ecf20Sopenharmony_ci}; 8168c2ecf20Sopenharmony_cistatic const char * const _V_GPIO_groups[] = { 8178c2ecf20Sopenharmony_ci "gpio83", "gpio84", "gpio107", 8188c2ecf20Sopenharmony_ci}; 8198c2ecf20Sopenharmony_cistatic const char * const _V_PPS_IN_groups[] = { 8208c2ecf20Sopenharmony_ci "gpio83", "gpio84", "gpio107", 8218c2ecf20Sopenharmony_ci}; 8228c2ecf20Sopenharmony_cistatic const char * const _V_PPS_OUT_groups[] = { 8238c2ecf20Sopenharmony_ci "gpio83", "gpio84", "gpio107", 8248c2ecf20Sopenharmony_ci}; 8258c2ecf20Sopenharmony_cistatic const char * const gps_tx_groups[] = { 8268c2ecf20Sopenharmony_ci "gpio83", "gpio84", "gpio107", "gpio109", 8278c2ecf20Sopenharmony_ci}; 8288c2ecf20Sopenharmony_cistatic const char * const uim_batt_groups[] = { 8298c2ecf20Sopenharmony_ci "gpio85", 8308c2ecf20Sopenharmony_ci}; 8318c2ecf20Sopenharmony_cistatic const char * const dp_hot_groups[] = { 8328c2ecf20Sopenharmony_ci "gpio85", "gpio117", 8338c2ecf20Sopenharmony_ci}; 8348c2ecf20Sopenharmony_cistatic const char * const aoss_cti_groups[] = { 8358c2ecf20Sopenharmony_ci "gpio85", 8368c2ecf20Sopenharmony_ci}; 8378c2ecf20Sopenharmony_cistatic const char * const qup14_groups[] = { 8388c2ecf20Sopenharmony_ci "gpio86", "gpio87", "gpio88", "gpio89", "gpio90", "gpio91", 8398c2ecf20Sopenharmony_ci}; 8408c2ecf20Sopenharmony_cistatic const char * const adsp_ext_groups[] = { 8418c2ecf20Sopenharmony_ci "gpio87", 8428c2ecf20Sopenharmony_ci}; 8438c2ecf20Sopenharmony_cistatic const char * const tsense_pwm1_groups[] = { 8448c2ecf20Sopenharmony_ci "gpio88", 8458c2ecf20Sopenharmony_ci}; 8468c2ecf20Sopenharmony_cistatic const char * const tsense_pwm2_groups[] = { 8478c2ecf20Sopenharmony_ci "gpio88", 8488c2ecf20Sopenharmony_ci}; 8498c2ecf20Sopenharmony_cistatic const char * const qlink_request_groups[] = { 8508c2ecf20Sopenharmony_ci "gpio96", 8518c2ecf20Sopenharmony_ci}; 8528c2ecf20Sopenharmony_cistatic const char * const qlink_enable_groups[] = { 8538c2ecf20Sopenharmony_ci "gpio97", 8548c2ecf20Sopenharmony_ci}; 8558c2ecf20Sopenharmony_cistatic const char * const pa_indicator_groups[] = { 8568c2ecf20Sopenharmony_ci "gpio99", 8578c2ecf20Sopenharmony_ci}; 8588c2ecf20Sopenharmony_cistatic const char * const usb_phy_groups[] = { 8598c2ecf20Sopenharmony_ci "gpio104", 8608c2ecf20Sopenharmony_ci}; 8618c2ecf20Sopenharmony_cistatic const char * const mss_lte_groups[] = { 8628c2ecf20Sopenharmony_ci "gpio108", "gpio109", 8638c2ecf20Sopenharmony_ci}; 8648c2ecf20Sopenharmony_cistatic const char * const qup04_i2c_groups[] = { 8658c2ecf20Sopenharmony_ci "gpio115", "gpio116", 8668c2ecf20Sopenharmony_ci}; 8678c2ecf20Sopenharmony_cistatic const char * const qup04_uart_groups[] = { 8688c2ecf20Sopenharmony_ci "gpio115", "gpio116", 8698c2ecf20Sopenharmony_ci}; 8708c2ecf20Sopenharmony_ci 8718c2ecf20Sopenharmony_cistatic const struct msm_function sc7180_functions[] = { 8728c2ecf20Sopenharmony_ci FUNCTION(adsp_ext), 8738c2ecf20Sopenharmony_ci FUNCTION(agera_pll), 8748c2ecf20Sopenharmony_ci FUNCTION(aoss_cti), 8758c2ecf20Sopenharmony_ci FUNCTION(atest_char), 8768c2ecf20Sopenharmony_ci FUNCTION(atest_char0), 8778c2ecf20Sopenharmony_ci FUNCTION(atest_char1), 8788c2ecf20Sopenharmony_ci FUNCTION(atest_char2), 8798c2ecf20Sopenharmony_ci FUNCTION(atest_char3), 8808c2ecf20Sopenharmony_ci FUNCTION(atest_tsens), 8818c2ecf20Sopenharmony_ci FUNCTION(atest_tsens2), 8828c2ecf20Sopenharmony_ci FUNCTION(atest_usb1), 8838c2ecf20Sopenharmony_ci FUNCTION(atest_usb2), 8848c2ecf20Sopenharmony_ci FUNCTION(atest_usb10), 8858c2ecf20Sopenharmony_ci FUNCTION(atest_usb11), 8868c2ecf20Sopenharmony_ci FUNCTION(atest_usb12), 8878c2ecf20Sopenharmony_ci FUNCTION(atest_usb13), 8888c2ecf20Sopenharmony_ci FUNCTION(atest_usb20), 8898c2ecf20Sopenharmony_ci FUNCTION(atest_usb21), 8908c2ecf20Sopenharmony_ci FUNCTION(atest_usb22), 8918c2ecf20Sopenharmony_ci FUNCTION(atest_usb23), 8928c2ecf20Sopenharmony_ci FUNCTION(audio_ref), 8938c2ecf20Sopenharmony_ci FUNCTION(btfm_slimbus), 8948c2ecf20Sopenharmony_ci FUNCTION(cam_mclk), 8958c2ecf20Sopenharmony_ci FUNCTION(cci_async), 8968c2ecf20Sopenharmony_ci FUNCTION(cci_i2c), 8978c2ecf20Sopenharmony_ci FUNCTION(cci_timer0), 8988c2ecf20Sopenharmony_ci FUNCTION(cci_timer1), 8998c2ecf20Sopenharmony_ci FUNCTION(cci_timer2), 9008c2ecf20Sopenharmony_ci FUNCTION(cci_timer3), 9018c2ecf20Sopenharmony_ci FUNCTION(cci_timer4), 9028c2ecf20Sopenharmony_ci FUNCTION(cri_trng), 9038c2ecf20Sopenharmony_ci FUNCTION(dbg_out), 9048c2ecf20Sopenharmony_ci FUNCTION(ddr_bist), 9058c2ecf20Sopenharmony_ci FUNCTION(ddr_pxi0), 9068c2ecf20Sopenharmony_ci FUNCTION(ddr_pxi1), 9078c2ecf20Sopenharmony_ci FUNCTION(ddr_pxi2), 9088c2ecf20Sopenharmony_ci FUNCTION(ddr_pxi3), 9098c2ecf20Sopenharmony_ci FUNCTION(dp_hot), 9108c2ecf20Sopenharmony_ci FUNCTION(edp_lcd), 9118c2ecf20Sopenharmony_ci FUNCTION(gcc_gp1), 9128c2ecf20Sopenharmony_ci FUNCTION(gcc_gp2), 9138c2ecf20Sopenharmony_ci FUNCTION(gcc_gp3), 9148c2ecf20Sopenharmony_ci FUNCTION(gpio), 9158c2ecf20Sopenharmony_ci FUNCTION(gp_pdm0), 9168c2ecf20Sopenharmony_ci FUNCTION(gp_pdm1), 9178c2ecf20Sopenharmony_ci FUNCTION(gp_pdm2), 9188c2ecf20Sopenharmony_ci FUNCTION(gps_tx), 9198c2ecf20Sopenharmony_ci FUNCTION(jitter_bist), 9208c2ecf20Sopenharmony_ci FUNCTION(ldo_en), 9218c2ecf20Sopenharmony_ci FUNCTION(ldo_update), 9228c2ecf20Sopenharmony_ci FUNCTION(lpass_ext), 9238c2ecf20Sopenharmony_ci FUNCTION(mdp_vsync), 9248c2ecf20Sopenharmony_ci FUNCTION(mdp_vsync0), 9258c2ecf20Sopenharmony_ci FUNCTION(mdp_vsync1), 9268c2ecf20Sopenharmony_ci FUNCTION(mdp_vsync2), 9278c2ecf20Sopenharmony_ci FUNCTION(mdp_vsync3), 9288c2ecf20Sopenharmony_ci FUNCTION(mi2s_0), 9298c2ecf20Sopenharmony_ci FUNCTION(mi2s_1), 9308c2ecf20Sopenharmony_ci FUNCTION(mi2s_2), 9318c2ecf20Sopenharmony_ci FUNCTION(mss_lte), 9328c2ecf20Sopenharmony_ci FUNCTION(m_voc), 9338c2ecf20Sopenharmony_ci FUNCTION(pa_indicator), 9348c2ecf20Sopenharmony_ci FUNCTION(phase_flag), 9358c2ecf20Sopenharmony_ci FUNCTION(PLL_BIST), 9368c2ecf20Sopenharmony_ci FUNCTION(pll_bypassnl), 9378c2ecf20Sopenharmony_ci FUNCTION(pll_reset), 9388c2ecf20Sopenharmony_ci FUNCTION(prng_rosc), 9398c2ecf20Sopenharmony_ci FUNCTION(qdss), 9408c2ecf20Sopenharmony_ci FUNCTION(qdss_cti), 9418c2ecf20Sopenharmony_ci FUNCTION(qlink_enable), 9428c2ecf20Sopenharmony_ci FUNCTION(qlink_request), 9438c2ecf20Sopenharmony_ci FUNCTION(qspi_clk), 9448c2ecf20Sopenharmony_ci FUNCTION(qspi_cs), 9458c2ecf20Sopenharmony_ci FUNCTION(qspi_data), 9468c2ecf20Sopenharmony_ci FUNCTION(qup00), 9478c2ecf20Sopenharmony_ci FUNCTION(qup01), 9488c2ecf20Sopenharmony_ci FUNCTION(qup02_i2c), 9498c2ecf20Sopenharmony_ci FUNCTION(qup02_uart), 9508c2ecf20Sopenharmony_ci FUNCTION(qup03), 9518c2ecf20Sopenharmony_ci FUNCTION(qup04_i2c), 9528c2ecf20Sopenharmony_ci FUNCTION(qup04_uart), 9538c2ecf20Sopenharmony_ci FUNCTION(qup05), 9548c2ecf20Sopenharmony_ci FUNCTION(qup10), 9558c2ecf20Sopenharmony_ci FUNCTION(qup11_i2c), 9568c2ecf20Sopenharmony_ci FUNCTION(qup11_uart), 9578c2ecf20Sopenharmony_ci FUNCTION(qup12), 9588c2ecf20Sopenharmony_ci FUNCTION(qup13_i2c), 9598c2ecf20Sopenharmony_ci FUNCTION(qup13_uart), 9608c2ecf20Sopenharmony_ci FUNCTION(qup14), 9618c2ecf20Sopenharmony_ci FUNCTION(qup15), 9628c2ecf20Sopenharmony_ci FUNCTION(sdc1_tb), 9638c2ecf20Sopenharmony_ci FUNCTION(sdc2_tb), 9648c2ecf20Sopenharmony_ci FUNCTION(sd_write), 9658c2ecf20Sopenharmony_ci FUNCTION(sp_cmu), 9668c2ecf20Sopenharmony_ci FUNCTION(tgu_ch0), 9678c2ecf20Sopenharmony_ci FUNCTION(tgu_ch1), 9688c2ecf20Sopenharmony_ci FUNCTION(tgu_ch2), 9698c2ecf20Sopenharmony_ci FUNCTION(tgu_ch3), 9708c2ecf20Sopenharmony_ci FUNCTION(tsense_pwm1), 9718c2ecf20Sopenharmony_ci FUNCTION(tsense_pwm2), 9728c2ecf20Sopenharmony_ci FUNCTION(uim1), 9738c2ecf20Sopenharmony_ci FUNCTION(uim2), 9748c2ecf20Sopenharmony_ci FUNCTION(uim_batt), 9758c2ecf20Sopenharmony_ci FUNCTION(usb_phy), 9768c2ecf20Sopenharmony_ci FUNCTION(vfr_1), 9778c2ecf20Sopenharmony_ci FUNCTION(_V_GPIO), 9788c2ecf20Sopenharmony_ci FUNCTION(_V_PPS_IN), 9798c2ecf20Sopenharmony_ci FUNCTION(_V_PPS_OUT), 9808c2ecf20Sopenharmony_ci FUNCTION(vsense_trigger), 9818c2ecf20Sopenharmony_ci FUNCTION(wlan1_adc0), 9828c2ecf20Sopenharmony_ci FUNCTION(wlan1_adc1), 9838c2ecf20Sopenharmony_ci FUNCTION(wlan2_adc0), 9848c2ecf20Sopenharmony_ci FUNCTION(wlan2_adc1), 9858c2ecf20Sopenharmony_ci}; 9868c2ecf20Sopenharmony_ci 9878c2ecf20Sopenharmony_ci/* Every pin is maintained as a single group, and missing or non-existing pin 9888c2ecf20Sopenharmony_ci * would be maintained as dummy group to synchronize pin group index with 9898c2ecf20Sopenharmony_ci * pin descriptor registered with pinctrl core. 9908c2ecf20Sopenharmony_ci * Clients would not be able to request these dummy pin groups. 9918c2ecf20Sopenharmony_ci */ 9928c2ecf20Sopenharmony_cistatic const struct msm_pingroup sc7180_groups[] = { 9938c2ecf20Sopenharmony_ci [0] = PINGROUP(0, SOUTH, qup01, cri_trng, _, phase_flag, _, _, _, _, _), 9948c2ecf20Sopenharmony_ci [1] = PINGROUP(1, SOUTH, qup01, cri_trng, _, phase_flag, _, _, _, _, _), 9958c2ecf20Sopenharmony_ci [2] = PINGROUP(2, SOUTH, qup01, cri_trng, _, phase_flag, _, _, _, _, _), 9968c2ecf20Sopenharmony_ci [3] = PINGROUP(3, SOUTH, qup01, sp_cmu, dbg_out, qdss_cti, _, _, _, _, _), 9978c2ecf20Sopenharmony_ci [4] = PINGROUP(4, NORTH, sdc1_tb, _, qdss_cti, _, _, _, _, _, _), 9988c2ecf20Sopenharmony_ci [5] = PINGROUP(5, NORTH, sdc2_tb, _, _, _, _, _, _, _, _), 9998c2ecf20Sopenharmony_ci [6] = PINGROUP(6, NORTH, qup11_i2c, qup11_uart, _, _, _, _, _, _, _), 10008c2ecf20Sopenharmony_ci [7] = PINGROUP(7, NORTH, qup11_i2c, qup11_uart, ddr_bist, _, _, _, _, _, _), 10018c2ecf20Sopenharmony_ci [8] = PINGROUP(8, NORTH, gp_pdm1, ddr_bist, _, phase_flag, qdss_cti, _, _, _, _), 10028c2ecf20Sopenharmony_ci [9] = PINGROUP(9, NORTH, ddr_bist, _, phase_flag, qdss_cti, _, _, _, _, _), 10038c2ecf20Sopenharmony_ci [10] = PINGROUP(10, NORTH, mdp_vsync, ddr_bist, _, _, _, _, _, _, _), 10048c2ecf20Sopenharmony_ci [11] = PINGROUP(11, NORTH, mdp_vsync, edp_lcd, _, phase_flag, ddr_pxi2, _, _, _, _), 10058c2ecf20Sopenharmony_ci [12] = PINGROUP(12, SOUTH, mdp_vsync, m_voc, qup01, _, phase_flag, wlan2_adc0, atest_usb10, ddr_pxi3, _), 10068c2ecf20Sopenharmony_ci [13] = PINGROUP(13, SOUTH, cam_mclk, pll_bypassnl, qdss, _, _, _, _, _, _), 10078c2ecf20Sopenharmony_ci [14] = PINGROUP(14, SOUTH, cam_mclk, pll_reset, qdss, _, _, _, _, _, _), 10088c2ecf20Sopenharmony_ci [15] = PINGROUP(15, SOUTH, cam_mclk, qup02_i2c, qup02_uart, qdss, _, _, _, _, _), 10098c2ecf20Sopenharmony_ci [16] = PINGROUP(16, SOUTH, cam_mclk, qup02_i2c, qup02_uart, qdss, _, _, _, _, _), 10108c2ecf20Sopenharmony_ci [17] = PINGROUP(17, SOUTH, cci_i2c, _, phase_flag, qdss, _, wlan1_adc0, atest_usb12, ddr_pxi1, atest_char), 10118c2ecf20Sopenharmony_ci [18] = PINGROUP(18, SOUTH, cci_i2c, agera_pll, _, phase_flag, qdss, vsense_trigger, ddr_pxi0, atest_char3, _), 10128c2ecf20Sopenharmony_ci [19] = PINGROUP(19, SOUTH, cci_i2c, _, phase_flag, qdss, atest_char2, _, _, _, _), 10138c2ecf20Sopenharmony_ci [20] = PINGROUP(20, SOUTH, cci_i2c, _, phase_flag, qdss, atest_char1, _, _, _, _), 10148c2ecf20Sopenharmony_ci [21] = PINGROUP(21, NORTH, cci_timer0, gcc_gp2, _, qdss, atest_char0, _, _, _, _), 10158c2ecf20Sopenharmony_ci [22] = PINGROUP(22, NORTH, cci_timer1, gcc_gp3, _, qdss, _, _, _, _, _), 10168c2ecf20Sopenharmony_ci [23] = PINGROUP(23, SOUTH, cci_timer2, cam_mclk, qdss, _, _, _, _, _, _), 10178c2ecf20Sopenharmony_ci [24] = PINGROUP(24, SOUTH, cci_timer3, cci_async, qdss, _, _, _, _, _, _), 10188c2ecf20Sopenharmony_ci [25] = PINGROUP(25, SOUTH, cci_timer4, cci_async, qup05, _, phase_flag, qdss, _, _, _), 10198c2ecf20Sopenharmony_ci [26] = PINGROUP(26, SOUTH, cci_async, qup05, _, phase_flag, qdss, atest_tsens, atest_usb11, ddr_pxi2, _), 10208c2ecf20Sopenharmony_ci [27] = PINGROUP(27, SOUTH, cci_i2c, qup05, PLL_BIST, _, phase_flag, qdss, ddr_pxi0, _, _), 10218c2ecf20Sopenharmony_ci [28] = PINGROUP(28, SOUTH, cci_i2c, qup05, _, phase_flag, qdss, _, _, _, _), 10228c2ecf20Sopenharmony_ci [29] = PINGROUP(29, NORTH, _, qdss, _, _, _, _, _, _, _), 10238c2ecf20Sopenharmony_ci [30] = PINGROUP(30, SOUTH, qdss, _, _, _, _, _, _, _, _), 10248c2ecf20Sopenharmony_ci [31] = PINGROUP(31, NORTH, _, qdss, _, _, _, _, _, _, _), 10258c2ecf20Sopenharmony_ci [32] = PINGROUP(32, NORTH, _, phase_flag, _, _, _, _, _, _, _), 10268c2ecf20Sopenharmony_ci [33] = PINGROUP(33, NORTH, sd_write, _, phase_flag, qdss_cti, _, _, _, _, _), 10278c2ecf20Sopenharmony_ci [34] = PINGROUP(34, SOUTH, qup00, _, phase_flag, qdss, _, _, _, _, _), 10288c2ecf20Sopenharmony_ci [35] = PINGROUP(35, SOUTH, qup00, _, phase_flag, qdss, _, _, _, _, _), 10298c2ecf20Sopenharmony_ci [36] = PINGROUP(36, SOUTH, qup00, _, phase_flag, qdss, _, _, _, _, _), 10308c2ecf20Sopenharmony_ci [37] = PINGROUP(37, SOUTH, qup00, gp_pdm0, _, phase_flag, qdss, _, _, _, _), 10318c2ecf20Sopenharmony_ci [38] = PINGROUP(38, SOUTH, qup03, _, phase_flag, _, _, _, _, _, _), 10328c2ecf20Sopenharmony_ci [39] = PINGROUP(39, SOUTH, qup03, _, phase_flag, atest_tsens2, wlan2_adc1, atest_usb1, _, _, _), 10338c2ecf20Sopenharmony_ci [40] = PINGROUP(40, SOUTH, qup03, _, _, _, _, _, _, _, _), 10348c2ecf20Sopenharmony_ci [41] = PINGROUP(41, SOUTH, qup03, _, _, _, _, _, _, _, _), 10358c2ecf20Sopenharmony_ci [42] = PINGROUP(42, NORTH, qup12, _, phase_flag, _, _, _, _, _, _), 10368c2ecf20Sopenharmony_ci [43] = PINGROUP(43, NORTH, qup12, _, _, _, _, _, _, _, _), 10378c2ecf20Sopenharmony_ci [44] = PINGROUP(44, NORTH, qup12, _, phase_flag, qdss_cti, wlan1_adc1, atest_usb13, ddr_pxi1, _, _), 10388c2ecf20Sopenharmony_ci [45] = PINGROUP(45, NORTH, qup12, qdss_cti, _, _, _, _, _, _, _), 10398c2ecf20Sopenharmony_ci [46] = PINGROUP(46, NORTH, qup13_i2c, qup13_uart, _, _, _, _, _, _, _), 10408c2ecf20Sopenharmony_ci [47] = PINGROUP(47, NORTH, qup13_i2c, qup13_uart, _, _, _, _, _, _, _), 10418c2ecf20Sopenharmony_ci [48] = PINGROUP(48, NORTH, gcc_gp1, _, _, _, _, _, _, _, _), 10428c2ecf20Sopenharmony_ci [49] = PINGROUP(49, WEST, mi2s_1, btfm_slimbus, _, _, _, _, _, _, _), 10438c2ecf20Sopenharmony_ci [50] = PINGROUP(50, WEST, mi2s_1, btfm_slimbus, gp_pdm1, _, _, _, _, _, _), 10448c2ecf20Sopenharmony_ci [51] = PINGROUP(51, WEST, mi2s_1, btfm_slimbus, atest_usb2, _, _, _, _, _, _), 10458c2ecf20Sopenharmony_ci [52] = PINGROUP(52, WEST, mi2s_1, btfm_slimbus, atest_usb23, _, _, _, _, _, _), 10468c2ecf20Sopenharmony_ci [53] = PINGROUP(53, WEST, mi2s_0, qup15, qdss, atest_usb22, _, _, _, _, _), 10478c2ecf20Sopenharmony_ci [54] = PINGROUP(54, WEST, mi2s_0, qup15, qdss, atest_usb21, _, _, _, _, _), 10488c2ecf20Sopenharmony_ci [55] = PINGROUP(55, WEST, mi2s_0, qup15, qdss, atest_usb20, _, _, _, _, _), 10498c2ecf20Sopenharmony_ci [56] = PINGROUP(56, WEST, mi2s_0, qup15, gcc_gp1, _, phase_flag, qdss, _, _, _), 10508c2ecf20Sopenharmony_ci [57] = PINGROUP(57, WEST, lpass_ext, audio_ref, jitter_bist, gp_pdm2, _, phase_flag, qdss, _, _), 10518c2ecf20Sopenharmony_ci [58] = PINGROUP(58, WEST, lpass_ext, _, phase_flag, _, _, _, _, _, _), 10528c2ecf20Sopenharmony_ci [59] = PINGROUP(59, NORTH, qup10, _, _, _, _, _, _, _, _), 10538c2ecf20Sopenharmony_ci [60] = PINGROUP(60, NORTH, qup10, _, _, _, _, _, _, _, _), 10548c2ecf20Sopenharmony_ci [61] = PINGROUP(61, NORTH, qup10, _, _, _, _, _, _, _, _), 10558c2ecf20Sopenharmony_ci [62] = PINGROUP(62, NORTH, qup10, tgu_ch3, _, _, _, _, _, _, _), 10568c2ecf20Sopenharmony_ci [63] = PINGROUP(63, NORTH, qspi_clk, mdp_vsync0, mi2s_2, mdp_vsync1, mdp_vsync2, mdp_vsync3, tgu_ch0, _, phase_flag), 10578c2ecf20Sopenharmony_ci [64] = PINGROUP(64, NORTH, qspi_data, mi2s_2, tgu_ch1, _, phase_flag, _, _, _, _), 10588c2ecf20Sopenharmony_ci [65] = PINGROUP(65, NORTH, qspi_data, mi2s_2, vfr_1, tgu_ch2, _, _, _, _, _), 10598c2ecf20Sopenharmony_ci [66] = PINGROUP(66, NORTH, qspi_data, mi2s_2, _, _, _, _, _, _, _), 10608c2ecf20Sopenharmony_ci [67] = PINGROUP(67, NORTH, qspi_data, _, _, _, _, _, _, _, _), 10618c2ecf20Sopenharmony_ci [68] = PINGROUP(68, NORTH, qspi_cs, qup10, gp_pdm0, _, _, _, _, _, _), 10628c2ecf20Sopenharmony_ci [69] = PINGROUP(69, WEST, _, _, _, _, _, _, _, _, _), 10638c2ecf20Sopenharmony_ci [70] = PINGROUP(70, NORTH, _, _, mdp_vsync, ldo_en, _, _, _, _, _), 10648c2ecf20Sopenharmony_ci [71] = PINGROUP(71, NORTH, _, mdp_vsync, ldo_update, _, _, _, _, _, _), 10658c2ecf20Sopenharmony_ci [72] = PINGROUP(72, NORTH, qspi_cs, qup10, prng_rosc, _, qdss_cti, _, _, _, _), 10668c2ecf20Sopenharmony_ci [73] = PINGROUP(73, WEST, _, _, _, _, _, _, _, _, _), 10678c2ecf20Sopenharmony_ci [74] = PINGROUP(74, WEST, _, _, _, _, _, _, _, _, _), 10688c2ecf20Sopenharmony_ci [75] = PINGROUP(75, WEST, uim2, _, _, _, _, _, _, _, _), 10698c2ecf20Sopenharmony_ci [76] = PINGROUP(76, WEST, uim2, _, _, _, _, _, _, _, _), 10708c2ecf20Sopenharmony_ci [77] = PINGROUP(77, WEST, uim2, _, _, _, _, _, _, _, _), 10718c2ecf20Sopenharmony_ci [78] = PINGROUP(78, WEST, uim2, _, _, _, _, _, _, _, _), 10728c2ecf20Sopenharmony_ci [79] = PINGROUP(79, WEST, uim1, _, _, _, _, _, _, _, _), 10738c2ecf20Sopenharmony_ci [80] = PINGROUP(80, WEST, uim1, _, _, _, _, _, _, _, _), 10748c2ecf20Sopenharmony_ci [81] = PINGROUP(81, WEST, uim1, _, _, _, _, _, _, _, _), 10758c2ecf20Sopenharmony_ci [82] = PINGROUP(82, WEST, uim1, _, _, _, _, _, _, _, _), 10768c2ecf20Sopenharmony_ci [83] = PINGROUP(83, WEST, _, _V_GPIO, _V_PPS_IN, _V_PPS_OUT, gps_tx, _, _, _, _), 10778c2ecf20Sopenharmony_ci [84] = PINGROUP(84, WEST, _, _V_GPIO, _V_PPS_IN, _V_PPS_OUT, gps_tx, _, _, _, _), 10788c2ecf20Sopenharmony_ci [85] = PINGROUP(85, WEST, uim_batt, dp_hot, aoss_cti, _, _, _, _, _, _), 10798c2ecf20Sopenharmony_ci [86] = PINGROUP(86, NORTH, qup14, qdss, _, _, _, _, _, _, _), 10808c2ecf20Sopenharmony_ci [87] = PINGROUP(87, NORTH, qup14, adsp_ext, qdss, _, _, _, _, _, _), 10818c2ecf20Sopenharmony_ci [88] = PINGROUP(88, NORTH, qup14, qdss, tsense_pwm1, tsense_pwm2, _, _, _, _, _), 10828c2ecf20Sopenharmony_ci [89] = PINGROUP(89, NORTH, qup14, qdss, _, _, _, _, _, _, _), 10838c2ecf20Sopenharmony_ci [90] = PINGROUP(90, NORTH, qup14, qdss, _, _, _, _, _, _, _), 10848c2ecf20Sopenharmony_ci [91] = PINGROUP(91, NORTH, qup14, qdss, _, _, _, _, _, _, _), 10858c2ecf20Sopenharmony_ci [92] = PINGROUP(92, NORTH, _, _, _, _, _, _, _, _, _), 10868c2ecf20Sopenharmony_ci [93] = PINGROUP(93, NORTH, qdss, _, _, _, _, _, _, _, _), 10878c2ecf20Sopenharmony_ci [94] = PINGROUP(94, SOUTH, qup01, _, _, _, _, _, _, _, _), 10888c2ecf20Sopenharmony_ci [95] = PINGROUP(95, WEST, _, _, _, _, _, _, _, _, _), 10898c2ecf20Sopenharmony_ci [96] = PINGROUP(96, WEST, qlink_request, _, _, _, _, _, _, _, _), 10908c2ecf20Sopenharmony_ci [97] = PINGROUP(97, WEST, qlink_enable, _, _, _, _, _, _, _, _), 10918c2ecf20Sopenharmony_ci [98] = PINGROUP(98, WEST, _, _, _, _, _, _, _, _, _), 10928c2ecf20Sopenharmony_ci [99] = PINGROUP(99, WEST, _, pa_indicator, _, _, _, _, _, _, _), 10938c2ecf20Sopenharmony_ci [100] = PINGROUP(100, WEST, _, _, _, _, _, _, _, _, _), 10948c2ecf20Sopenharmony_ci [101] = PINGROUP(101, NORTH, _, _, _, _, _, _, _, _, _), 10958c2ecf20Sopenharmony_ci [102] = PINGROUP(102, NORTH, _, _, _, _, _, _, _, _, _), 10968c2ecf20Sopenharmony_ci [103] = PINGROUP(103, NORTH, _, _, _, _, _, _, _, _, _), 10978c2ecf20Sopenharmony_ci [104] = PINGROUP(104, WEST, usb_phy, _, qdss, _, _, _, _, _, _), 10988c2ecf20Sopenharmony_ci [105] = PINGROUP(105, NORTH, _, _, _, _, _, _, _, _, _), 10998c2ecf20Sopenharmony_ci [106] = PINGROUP(106, NORTH, _, _, _, _, _, _, _, _, _), 11008c2ecf20Sopenharmony_ci [107] = PINGROUP(107, WEST, _, _V_GPIO, _V_PPS_IN, _V_PPS_OUT, gps_tx, _, _, _, _), 11018c2ecf20Sopenharmony_ci [108] = PINGROUP(108, SOUTH, mss_lte, _, phase_flag, ddr_pxi3, _, _, _, _, _), 11028c2ecf20Sopenharmony_ci [109] = PINGROUP(109, SOUTH, mss_lte, gps_tx, _, phase_flag, _, _, _, _, _), 11038c2ecf20Sopenharmony_ci [110] = PINGROUP(110, NORTH, _, _, _, _, _, _, _, _, _), 11048c2ecf20Sopenharmony_ci [111] = PINGROUP(111, NORTH, _, _, _, _, _, _, _, _, _), 11058c2ecf20Sopenharmony_ci [112] = PINGROUP(112, NORTH, _, _, _, _, _, _, _, _, _), 11068c2ecf20Sopenharmony_ci [113] = PINGROUP(113, NORTH, _, _, _, _, _, _, _, _, _), 11078c2ecf20Sopenharmony_ci [114] = PINGROUP(114, NORTH, _, _, _, _, _, _, _, _, _), 11088c2ecf20Sopenharmony_ci [115] = PINGROUP(115, WEST, qup04_i2c, qup04_uart, _, _, _, _, _, _, _), 11098c2ecf20Sopenharmony_ci [116] = PINGROUP(116, WEST, qup04_i2c, qup04_uart, _, _, _, _, _, _, _), 11108c2ecf20Sopenharmony_ci [117] = PINGROUP(117, WEST, dp_hot, _, _, _, _, _, _, _, _), 11118c2ecf20Sopenharmony_ci [118] = PINGROUP(118, WEST, _, _, _, _, _, _, _, _, _), 11128c2ecf20Sopenharmony_ci [119] = UFS_RESET(ufs_reset, 0x7f000), 11138c2ecf20Sopenharmony_ci [120] = SDC_QDSD_PINGROUP(sdc1_rclk, 0x7a000, 15, 0), 11148c2ecf20Sopenharmony_ci [121] = SDC_QDSD_PINGROUP(sdc1_clk, 0x7a000, 13, 6), 11158c2ecf20Sopenharmony_ci [122] = SDC_QDSD_PINGROUP(sdc1_cmd, 0x7a000, 11, 3), 11168c2ecf20Sopenharmony_ci [123] = SDC_QDSD_PINGROUP(sdc1_data, 0x7a000, 9, 0), 11178c2ecf20Sopenharmony_ci [124] = SDC_QDSD_PINGROUP(sdc2_clk, 0x7b000, 14, 6), 11188c2ecf20Sopenharmony_ci [125] = SDC_QDSD_PINGROUP(sdc2_cmd, 0x7b000, 11, 3), 11198c2ecf20Sopenharmony_ci [126] = SDC_QDSD_PINGROUP(sdc2_data, 0x7b000, 9, 0), 11208c2ecf20Sopenharmony_ci}; 11218c2ecf20Sopenharmony_ci 11228c2ecf20Sopenharmony_cistatic const struct msm_gpio_wakeirq_map sc7180_pdc_map[] = { 11238c2ecf20Sopenharmony_ci {0, 40}, {3, 50}, {4, 42}, {5, 70}, {6, 41}, {9, 35}, 11248c2ecf20Sopenharmony_ci {10, 80}, {11, 51}, {16, 20}, {21, 55}, {22, 90}, {23, 21}, 11258c2ecf20Sopenharmony_ci {24, 61}, {26, 52}, {28, 36}, {30, 100}, {31, 33}, {32, 81}, 11268c2ecf20Sopenharmony_ci {33, 62}, {34, 43}, {36, 91}, {37, 53}, {38, 63}, {39, 72}, 11278c2ecf20Sopenharmony_ci {41, 101}, {42, 7}, {43, 34}, {45, 73}, {47, 82}, {49, 17}, 11288c2ecf20Sopenharmony_ci {52, 109}, {53, 102}, {55, 92}, {56, 56}, {57, 57}, {58, 83}, 11298c2ecf20Sopenharmony_ci {59, 37}, {62, 110}, {63, 111}, {64, 74}, {65, 44}, {66, 93}, 11308c2ecf20Sopenharmony_ci {67, 58}, {68, 112}, {69, 32}, {70, 54}, {72, 59}, {73, 64}, 11318c2ecf20Sopenharmony_ci {74, 71}, {78, 31}, {82, 30}, {85, 103}, {86, 38}, {87, 39}, 11328c2ecf20Sopenharmony_ci {88, 45}, {89, 46}, {90, 47}, {91, 48}, {92, 60}, {93, 49}, 11338c2ecf20Sopenharmony_ci {94, 84}, {95, 94}, {98, 65}, {101, 66}, {104, 67}, {109, 104}, 11348c2ecf20Sopenharmony_ci {110, 68}, {113, 69}, {114, 113}, {115, 108}, {116, 121}, 11358c2ecf20Sopenharmony_ci {117, 114}, {118, 119}, 11368c2ecf20Sopenharmony_ci}; 11378c2ecf20Sopenharmony_ci 11388c2ecf20Sopenharmony_cistatic const struct msm_pinctrl_soc_data sc7180_pinctrl = { 11398c2ecf20Sopenharmony_ci .pins = sc7180_pins, 11408c2ecf20Sopenharmony_ci .npins = ARRAY_SIZE(sc7180_pins), 11418c2ecf20Sopenharmony_ci .functions = sc7180_functions, 11428c2ecf20Sopenharmony_ci .nfunctions = ARRAY_SIZE(sc7180_functions), 11438c2ecf20Sopenharmony_ci .groups = sc7180_groups, 11448c2ecf20Sopenharmony_ci .ngroups = ARRAY_SIZE(sc7180_groups), 11458c2ecf20Sopenharmony_ci .ngpios = 120, 11468c2ecf20Sopenharmony_ci .tiles = sc7180_tiles, 11478c2ecf20Sopenharmony_ci .ntiles = ARRAY_SIZE(sc7180_tiles), 11488c2ecf20Sopenharmony_ci .wakeirq_map = sc7180_pdc_map, 11498c2ecf20Sopenharmony_ci .nwakeirq_map = ARRAY_SIZE(sc7180_pdc_map), 11508c2ecf20Sopenharmony_ci .wakeirq_dual_edge_errata = true, 11518c2ecf20Sopenharmony_ci}; 11528c2ecf20Sopenharmony_ci 11538c2ecf20Sopenharmony_cistatic int sc7180_pinctrl_probe(struct platform_device *pdev) 11548c2ecf20Sopenharmony_ci{ 11558c2ecf20Sopenharmony_ci return msm_pinctrl_probe(pdev, &sc7180_pinctrl); 11568c2ecf20Sopenharmony_ci} 11578c2ecf20Sopenharmony_ci 11588c2ecf20Sopenharmony_cistatic const struct of_device_id sc7180_pinctrl_of_match[] = { 11598c2ecf20Sopenharmony_ci { .compatible = "qcom,sc7180-pinctrl", }, 11608c2ecf20Sopenharmony_ci { }, 11618c2ecf20Sopenharmony_ci}; 11628c2ecf20Sopenharmony_ci 11638c2ecf20Sopenharmony_cistatic struct platform_driver sc7180_pinctrl_driver = { 11648c2ecf20Sopenharmony_ci .driver = { 11658c2ecf20Sopenharmony_ci .name = "sc7180-pinctrl", 11668c2ecf20Sopenharmony_ci .pm = &msm_pinctrl_dev_pm_ops, 11678c2ecf20Sopenharmony_ci .of_match_table = sc7180_pinctrl_of_match, 11688c2ecf20Sopenharmony_ci }, 11698c2ecf20Sopenharmony_ci .probe = sc7180_pinctrl_probe, 11708c2ecf20Sopenharmony_ci .remove = msm_pinctrl_remove, 11718c2ecf20Sopenharmony_ci}; 11728c2ecf20Sopenharmony_ci 11738c2ecf20Sopenharmony_cistatic int __init sc7180_pinctrl_init(void) 11748c2ecf20Sopenharmony_ci{ 11758c2ecf20Sopenharmony_ci return platform_driver_register(&sc7180_pinctrl_driver); 11768c2ecf20Sopenharmony_ci} 11778c2ecf20Sopenharmony_ciarch_initcall(sc7180_pinctrl_init); 11788c2ecf20Sopenharmony_ci 11798c2ecf20Sopenharmony_cistatic void __exit sc7180_pinctrl_exit(void) 11808c2ecf20Sopenharmony_ci{ 11818c2ecf20Sopenharmony_ci platform_driver_unregister(&sc7180_pinctrl_driver); 11828c2ecf20Sopenharmony_ci} 11838c2ecf20Sopenharmony_cimodule_exit(sc7180_pinctrl_exit); 11848c2ecf20Sopenharmony_ci 11858c2ecf20Sopenharmony_ciMODULE_DESCRIPTION("QTI sc7180 pinctrl driver"); 11868c2ecf20Sopenharmony_ciMODULE_LICENSE("GPL v2"); 11878c2ecf20Sopenharmony_ciMODULE_DEVICE_TABLE(of, sc7180_pinctrl_of_match); 1188