1*a549fe22SKathiravan Thirumoorthy // SPDX-License-Identifier: GPL-2.0-only 2*a549fe22SKathiravan Thirumoorthy /* 3*a549fe22SKathiravan Thirumoorthy * Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries. 4*a549fe22SKathiravan Thirumoorthy */ 5*a549fe22SKathiravan Thirumoorthy 6*a549fe22SKathiravan Thirumoorthy #include <linux/module.h> 7*a549fe22SKathiravan Thirumoorthy #include <linux/of.h> 8*a549fe22SKathiravan Thirumoorthy #include <linux/platform_device.h> 9*a549fe22SKathiravan Thirumoorthy 10*a549fe22SKathiravan Thirumoorthy #include "pinctrl-msm.h" 11*a549fe22SKathiravan Thirumoorthy 12*a549fe22SKathiravan Thirumoorthy #define REG_SIZE 0x1000 13*a549fe22SKathiravan Thirumoorthy #define PINGROUP(id, f1, f2, f3, f4, f5, f6, f7, f8, f9) \ 14*a549fe22SKathiravan Thirumoorthy { \ 15*a549fe22SKathiravan Thirumoorthy .grp = PINCTRL_PINGROUP("gpio" #id, \ 16*a549fe22SKathiravan Thirumoorthy gpio##id##_pins, \ 17*a549fe22SKathiravan Thirumoorthy ARRAY_SIZE(gpio##id##_pins)), \ 18*a549fe22SKathiravan Thirumoorthy .ctl_reg = REG_SIZE * id, \ 19*a549fe22SKathiravan Thirumoorthy .io_reg = 0x4 + REG_SIZE * id, \ 20*a549fe22SKathiravan Thirumoorthy .intr_cfg_reg = 0x8 + REG_SIZE * id, \ 21*a549fe22SKathiravan Thirumoorthy .intr_status_reg = 0xc + REG_SIZE * id, \ 22*a549fe22SKathiravan Thirumoorthy .mux_bit = 2, \ 23*a549fe22SKathiravan Thirumoorthy .pull_bit = 0, \ 24*a549fe22SKathiravan Thirumoorthy .drv_bit = 6, \ 25*a549fe22SKathiravan Thirumoorthy .oe_bit = 9, \ 26*a549fe22SKathiravan Thirumoorthy .in_bit = 0, \ 27*a549fe22SKathiravan Thirumoorthy .out_bit = 1, \ 28*a549fe22SKathiravan Thirumoorthy .intr_enable_bit = 0, \ 29*a549fe22SKathiravan Thirumoorthy .intr_status_bit = 0, \ 30*a549fe22SKathiravan Thirumoorthy .intr_target_bit = 5, \ 31*a549fe22SKathiravan Thirumoorthy .intr_target_kpss_val = 3, \ 32*a549fe22SKathiravan Thirumoorthy .intr_raw_status_bit = 4, \ 33*a549fe22SKathiravan Thirumoorthy .intr_polarity_bit = 1, \ 34*a549fe22SKathiravan Thirumoorthy .intr_detection_bit = 2, \ 35*a549fe22SKathiravan Thirumoorthy .intr_detection_width = 2, \ 36*a549fe22SKathiravan Thirumoorthy .funcs = (int[]){ \ 37*a549fe22SKathiravan Thirumoorthy msm_mux_gpio, /* gpio mode */ \ 38*a549fe22SKathiravan Thirumoorthy msm_mux_##f1, \ 39*a549fe22SKathiravan Thirumoorthy msm_mux_##f2, \ 40*a549fe22SKathiravan Thirumoorthy msm_mux_##f3, \ 41*a549fe22SKathiravan Thirumoorthy msm_mux_##f4, \ 42*a549fe22SKathiravan Thirumoorthy msm_mux_##f5, \ 43*a549fe22SKathiravan Thirumoorthy msm_mux_##f6, \ 44*a549fe22SKathiravan Thirumoorthy msm_mux_##f7, \ 45*a549fe22SKathiravan Thirumoorthy msm_mux_##f8, \ 46*a549fe22SKathiravan Thirumoorthy msm_mux_##f9, \ 47*a549fe22SKathiravan Thirumoorthy }, \ 48*a549fe22SKathiravan Thirumoorthy .nfuncs = 10, \ 49*a549fe22SKathiravan Thirumoorthy } 50*a549fe22SKathiravan Thirumoorthy 51*a549fe22SKathiravan Thirumoorthy static const struct pinctrl_pin_desc ipq5210_pins[] = { 52*a549fe22SKathiravan Thirumoorthy PINCTRL_PIN(0, "GPIO_0"), 53*a549fe22SKathiravan Thirumoorthy PINCTRL_PIN(1, "GPIO_1"), 54*a549fe22SKathiravan Thirumoorthy PINCTRL_PIN(2, "GPIO_2"), 55*a549fe22SKathiravan Thirumoorthy PINCTRL_PIN(3, "GPIO_3"), 56*a549fe22SKathiravan Thirumoorthy PINCTRL_PIN(4, "GPIO_4"), 57*a549fe22SKathiravan Thirumoorthy PINCTRL_PIN(5, "GPIO_5"), 58*a549fe22SKathiravan Thirumoorthy PINCTRL_PIN(6, "GPIO_6"), 59*a549fe22SKathiravan Thirumoorthy PINCTRL_PIN(7, "GPIO_7"), 60*a549fe22SKathiravan Thirumoorthy PINCTRL_PIN(8, "GPIO_8"), 61*a549fe22SKathiravan Thirumoorthy PINCTRL_PIN(9, "GPIO_9"), 62*a549fe22SKathiravan Thirumoorthy PINCTRL_PIN(10, "GPIO_10"), 63*a549fe22SKathiravan Thirumoorthy PINCTRL_PIN(11, "GPIO_11"), 64*a549fe22SKathiravan Thirumoorthy PINCTRL_PIN(12, "GPIO_12"), 65*a549fe22SKathiravan Thirumoorthy PINCTRL_PIN(13, "GPIO_13"), 66*a549fe22SKathiravan Thirumoorthy PINCTRL_PIN(14, "GPIO_14"), 67*a549fe22SKathiravan Thirumoorthy PINCTRL_PIN(15, "GPIO_15"), 68*a549fe22SKathiravan Thirumoorthy PINCTRL_PIN(16, "GPIO_16"), 69*a549fe22SKathiravan Thirumoorthy PINCTRL_PIN(17, "GPIO_17"), 70*a549fe22SKathiravan Thirumoorthy PINCTRL_PIN(18, "GPIO_18"), 71*a549fe22SKathiravan Thirumoorthy PINCTRL_PIN(19, "GPIO_19"), 72*a549fe22SKathiravan Thirumoorthy PINCTRL_PIN(20, "GPIO_20"), 73*a549fe22SKathiravan Thirumoorthy PINCTRL_PIN(21, "GPIO_21"), 74*a549fe22SKathiravan Thirumoorthy PINCTRL_PIN(22, "GPIO_22"), 75*a549fe22SKathiravan Thirumoorthy PINCTRL_PIN(23, "GPIO_23"), 76*a549fe22SKathiravan Thirumoorthy PINCTRL_PIN(24, "GPIO_24"), 77*a549fe22SKathiravan Thirumoorthy PINCTRL_PIN(25, "GPIO_25"), 78*a549fe22SKathiravan Thirumoorthy PINCTRL_PIN(26, "GPIO_26"), 79*a549fe22SKathiravan Thirumoorthy PINCTRL_PIN(27, "GPIO_27"), 80*a549fe22SKathiravan Thirumoorthy PINCTRL_PIN(28, "GPIO_28"), 81*a549fe22SKathiravan Thirumoorthy PINCTRL_PIN(29, "GPIO_29"), 82*a549fe22SKathiravan Thirumoorthy PINCTRL_PIN(30, "GPIO_30"), 83*a549fe22SKathiravan Thirumoorthy PINCTRL_PIN(31, "GPIO_31"), 84*a549fe22SKathiravan Thirumoorthy PINCTRL_PIN(32, "GPIO_32"), 85*a549fe22SKathiravan Thirumoorthy PINCTRL_PIN(33, "GPIO_33"), 86*a549fe22SKathiravan Thirumoorthy PINCTRL_PIN(34, "GPIO_34"), 87*a549fe22SKathiravan Thirumoorthy PINCTRL_PIN(35, "GPIO_35"), 88*a549fe22SKathiravan Thirumoorthy PINCTRL_PIN(36, "GPIO_36"), 89*a549fe22SKathiravan Thirumoorthy PINCTRL_PIN(37, "GPIO_37"), 90*a549fe22SKathiravan Thirumoorthy PINCTRL_PIN(38, "GPIO_38"), 91*a549fe22SKathiravan Thirumoorthy PINCTRL_PIN(39, "GPIO_39"), 92*a549fe22SKathiravan Thirumoorthy PINCTRL_PIN(40, "GPIO_40"), 93*a549fe22SKathiravan Thirumoorthy PINCTRL_PIN(41, "GPIO_41"), 94*a549fe22SKathiravan Thirumoorthy PINCTRL_PIN(42, "GPIO_42"), 95*a549fe22SKathiravan Thirumoorthy PINCTRL_PIN(43, "GPIO_43"), 96*a549fe22SKathiravan Thirumoorthy PINCTRL_PIN(44, "GPIO_44"), 97*a549fe22SKathiravan Thirumoorthy PINCTRL_PIN(45, "GPIO_45"), 98*a549fe22SKathiravan Thirumoorthy PINCTRL_PIN(46, "GPIO_46"), 99*a549fe22SKathiravan Thirumoorthy PINCTRL_PIN(47, "GPIO_47"), 100*a549fe22SKathiravan Thirumoorthy PINCTRL_PIN(48, "GPIO_48"), 101*a549fe22SKathiravan Thirumoorthy PINCTRL_PIN(49, "GPIO_49"), 102*a549fe22SKathiravan Thirumoorthy PINCTRL_PIN(50, "GPIO_50"), 103*a549fe22SKathiravan Thirumoorthy PINCTRL_PIN(51, "GPIO_51"), 104*a549fe22SKathiravan Thirumoorthy PINCTRL_PIN(52, "GPIO_52"), 105*a549fe22SKathiravan Thirumoorthy PINCTRL_PIN(53, "GPIO_53"), 106*a549fe22SKathiravan Thirumoorthy }; 107*a549fe22SKathiravan Thirumoorthy 108*a549fe22SKathiravan Thirumoorthy #define DECLARE_MSM_GPIO_PINS(pin) \ 109*a549fe22SKathiravan Thirumoorthy static const unsigned int gpio##pin##_pins[] = { pin } 110*a549fe22SKathiravan Thirumoorthy DECLARE_MSM_GPIO_PINS(0); 111*a549fe22SKathiravan Thirumoorthy DECLARE_MSM_GPIO_PINS(1); 112*a549fe22SKathiravan Thirumoorthy DECLARE_MSM_GPIO_PINS(2); 113*a549fe22SKathiravan Thirumoorthy DECLARE_MSM_GPIO_PINS(3); 114*a549fe22SKathiravan Thirumoorthy DECLARE_MSM_GPIO_PINS(4); 115*a549fe22SKathiravan Thirumoorthy DECLARE_MSM_GPIO_PINS(5); 116*a549fe22SKathiravan Thirumoorthy DECLARE_MSM_GPIO_PINS(6); 117*a549fe22SKathiravan Thirumoorthy DECLARE_MSM_GPIO_PINS(7); 118*a549fe22SKathiravan Thirumoorthy DECLARE_MSM_GPIO_PINS(8); 119*a549fe22SKathiravan Thirumoorthy DECLARE_MSM_GPIO_PINS(9); 120*a549fe22SKathiravan Thirumoorthy DECLARE_MSM_GPIO_PINS(10); 121*a549fe22SKathiravan Thirumoorthy DECLARE_MSM_GPIO_PINS(11); 122*a549fe22SKathiravan Thirumoorthy DECLARE_MSM_GPIO_PINS(12); 123*a549fe22SKathiravan Thirumoorthy DECLARE_MSM_GPIO_PINS(13); 124*a549fe22SKathiravan Thirumoorthy DECLARE_MSM_GPIO_PINS(14); 125*a549fe22SKathiravan Thirumoorthy DECLARE_MSM_GPIO_PINS(15); 126*a549fe22SKathiravan Thirumoorthy DECLARE_MSM_GPIO_PINS(16); 127*a549fe22SKathiravan Thirumoorthy DECLARE_MSM_GPIO_PINS(17); 128*a549fe22SKathiravan Thirumoorthy DECLARE_MSM_GPIO_PINS(18); 129*a549fe22SKathiravan Thirumoorthy DECLARE_MSM_GPIO_PINS(19); 130*a549fe22SKathiravan Thirumoorthy DECLARE_MSM_GPIO_PINS(20); 131*a549fe22SKathiravan Thirumoorthy DECLARE_MSM_GPIO_PINS(21); 132*a549fe22SKathiravan Thirumoorthy DECLARE_MSM_GPIO_PINS(22); 133*a549fe22SKathiravan Thirumoorthy DECLARE_MSM_GPIO_PINS(23); 134*a549fe22SKathiravan Thirumoorthy DECLARE_MSM_GPIO_PINS(24); 135*a549fe22SKathiravan Thirumoorthy DECLARE_MSM_GPIO_PINS(25); 136*a549fe22SKathiravan Thirumoorthy DECLARE_MSM_GPIO_PINS(26); 137*a549fe22SKathiravan Thirumoorthy DECLARE_MSM_GPIO_PINS(27); 138*a549fe22SKathiravan Thirumoorthy DECLARE_MSM_GPIO_PINS(28); 139*a549fe22SKathiravan Thirumoorthy DECLARE_MSM_GPIO_PINS(29); 140*a549fe22SKathiravan Thirumoorthy DECLARE_MSM_GPIO_PINS(30); 141*a549fe22SKathiravan Thirumoorthy DECLARE_MSM_GPIO_PINS(31); 142*a549fe22SKathiravan Thirumoorthy DECLARE_MSM_GPIO_PINS(32); 143*a549fe22SKathiravan Thirumoorthy DECLARE_MSM_GPIO_PINS(33); 144*a549fe22SKathiravan Thirumoorthy DECLARE_MSM_GPIO_PINS(34); 145*a549fe22SKathiravan Thirumoorthy DECLARE_MSM_GPIO_PINS(35); 146*a549fe22SKathiravan Thirumoorthy DECLARE_MSM_GPIO_PINS(36); 147*a549fe22SKathiravan Thirumoorthy DECLARE_MSM_GPIO_PINS(37); 148*a549fe22SKathiravan Thirumoorthy DECLARE_MSM_GPIO_PINS(38); 149*a549fe22SKathiravan Thirumoorthy DECLARE_MSM_GPIO_PINS(39); 150*a549fe22SKathiravan Thirumoorthy DECLARE_MSM_GPIO_PINS(40); 151*a549fe22SKathiravan Thirumoorthy DECLARE_MSM_GPIO_PINS(41); 152*a549fe22SKathiravan Thirumoorthy DECLARE_MSM_GPIO_PINS(42); 153*a549fe22SKathiravan Thirumoorthy DECLARE_MSM_GPIO_PINS(43); 154*a549fe22SKathiravan Thirumoorthy DECLARE_MSM_GPIO_PINS(44); 155*a549fe22SKathiravan Thirumoorthy DECLARE_MSM_GPIO_PINS(45); 156*a549fe22SKathiravan Thirumoorthy DECLARE_MSM_GPIO_PINS(46); 157*a549fe22SKathiravan Thirumoorthy DECLARE_MSM_GPIO_PINS(47); 158*a549fe22SKathiravan Thirumoorthy DECLARE_MSM_GPIO_PINS(48); 159*a549fe22SKathiravan Thirumoorthy DECLARE_MSM_GPIO_PINS(49); 160*a549fe22SKathiravan Thirumoorthy DECLARE_MSM_GPIO_PINS(50); 161*a549fe22SKathiravan Thirumoorthy DECLARE_MSM_GPIO_PINS(51); 162*a549fe22SKathiravan Thirumoorthy DECLARE_MSM_GPIO_PINS(52); 163*a549fe22SKathiravan Thirumoorthy DECLARE_MSM_GPIO_PINS(53); 164*a549fe22SKathiravan Thirumoorthy 165*a549fe22SKathiravan Thirumoorthy enum ipq5210_functions { 166*a549fe22SKathiravan Thirumoorthy msm_mux_atest_char_start, 167*a549fe22SKathiravan Thirumoorthy msm_mux_atest_char_status0, 168*a549fe22SKathiravan Thirumoorthy msm_mux_atest_char_status1, 169*a549fe22SKathiravan Thirumoorthy msm_mux_atest_char_status2, 170*a549fe22SKathiravan Thirumoorthy msm_mux_atest_char_status3, 171*a549fe22SKathiravan Thirumoorthy msm_mux_atest_tic_en, 172*a549fe22SKathiravan Thirumoorthy msm_mux_audio_pri, 173*a549fe22SKathiravan Thirumoorthy msm_mux_audio_pri_mclk_out0, 174*a549fe22SKathiravan Thirumoorthy msm_mux_audio_pri_mclk_in0, 175*a549fe22SKathiravan Thirumoorthy msm_mux_audio_pri_mclk_out1, 176*a549fe22SKathiravan Thirumoorthy msm_mux_audio_pri_mclk_in1, 177*a549fe22SKathiravan Thirumoorthy msm_mux_audio_pri_mclk_out2, 178*a549fe22SKathiravan Thirumoorthy msm_mux_audio_pri_mclk_in2, 179*a549fe22SKathiravan Thirumoorthy msm_mux_audio_pri_mclk_out3, 180*a549fe22SKathiravan Thirumoorthy msm_mux_audio_pri_mclk_in3, 181*a549fe22SKathiravan Thirumoorthy msm_mux_audio_sec, 182*a549fe22SKathiravan Thirumoorthy msm_mux_audio_sec_mclk_out0, 183*a549fe22SKathiravan Thirumoorthy msm_mux_audio_sec_mclk_in0, 184*a549fe22SKathiravan Thirumoorthy msm_mux_audio_sec_mclk_out1, 185*a549fe22SKathiravan Thirumoorthy msm_mux_audio_sec_mclk_in1, 186*a549fe22SKathiravan Thirumoorthy msm_mux_audio_sec_mclk_out2, 187*a549fe22SKathiravan Thirumoorthy msm_mux_audio_sec_mclk_in2, 188*a549fe22SKathiravan Thirumoorthy msm_mux_audio_sec_mclk_out3, 189*a549fe22SKathiravan Thirumoorthy msm_mux_audio_sec_mclk_in3, 190*a549fe22SKathiravan Thirumoorthy msm_mux_core_voltage_0, 191*a549fe22SKathiravan Thirumoorthy msm_mux_cri_trng0, 192*a549fe22SKathiravan Thirumoorthy msm_mux_cri_trng1, 193*a549fe22SKathiravan Thirumoorthy msm_mux_cri_trng2, 194*a549fe22SKathiravan Thirumoorthy msm_mux_cri_trng3, 195*a549fe22SKathiravan Thirumoorthy msm_mux_dbg_out_clk, 196*a549fe22SKathiravan Thirumoorthy msm_mux_dg_out, 197*a549fe22SKathiravan Thirumoorthy msm_mux_gcc_plltest_bypassnl, 198*a549fe22SKathiravan Thirumoorthy msm_mux_gcc_plltest_resetn, 199*a549fe22SKathiravan Thirumoorthy msm_mux_gcc_tlmm, 200*a549fe22SKathiravan Thirumoorthy msm_mux_gpio, 201*a549fe22SKathiravan Thirumoorthy msm_mux_led0, 202*a549fe22SKathiravan Thirumoorthy msm_mux_led1, 203*a549fe22SKathiravan Thirumoorthy msm_mux_led2, 204*a549fe22SKathiravan Thirumoorthy msm_mux_mdc_mst, 205*a549fe22SKathiravan Thirumoorthy msm_mux_mdc_slv0, 206*a549fe22SKathiravan Thirumoorthy msm_mux_mdc_slv1, 207*a549fe22SKathiravan Thirumoorthy msm_mux_mdc_slv2, 208*a549fe22SKathiravan Thirumoorthy msm_mux_mdio_mst, 209*a549fe22SKathiravan Thirumoorthy msm_mux_mdio_slv0, 210*a549fe22SKathiravan Thirumoorthy msm_mux_mdio_slv1, 211*a549fe22SKathiravan Thirumoorthy msm_mux_mdio_slv2, 212*a549fe22SKathiravan Thirumoorthy msm_mux_mux_tod_out, 213*a549fe22SKathiravan Thirumoorthy msm_mux_pcie0_clk_req_n, 214*a549fe22SKathiravan Thirumoorthy msm_mux_pcie0_wake, 215*a549fe22SKathiravan Thirumoorthy msm_mux_pcie1_clk_req_n, 216*a549fe22SKathiravan Thirumoorthy msm_mux_pcie1_wake, 217*a549fe22SKathiravan Thirumoorthy msm_mux_pll_test, 218*a549fe22SKathiravan Thirumoorthy msm_mux_pon_active_led, 219*a549fe22SKathiravan Thirumoorthy msm_mux_pon_mux_sel, 220*a549fe22SKathiravan Thirumoorthy msm_mux_pon_rx, 221*a549fe22SKathiravan Thirumoorthy msm_mux_pon_rx_los, 222*a549fe22SKathiravan Thirumoorthy msm_mux_pon_tx, 223*a549fe22SKathiravan Thirumoorthy msm_mux_pon_tx_burst, 224*a549fe22SKathiravan Thirumoorthy msm_mux_pon_tx_dis, 225*a549fe22SKathiravan Thirumoorthy msm_mux_pon_tx_fault, 226*a549fe22SKathiravan Thirumoorthy msm_mux_pon_tx_sd, 227*a549fe22SKathiravan Thirumoorthy msm_mux_gpn_rx_los, 228*a549fe22SKathiravan Thirumoorthy msm_mux_gpn_tx_burst, 229*a549fe22SKathiravan Thirumoorthy msm_mux_gpn_tx_dis, 230*a549fe22SKathiravan Thirumoorthy msm_mux_gpn_tx_fault, 231*a549fe22SKathiravan Thirumoorthy msm_mux_gpn_tx_sd, 232*a549fe22SKathiravan Thirumoorthy msm_mux_pps, 233*a549fe22SKathiravan Thirumoorthy msm_mux_pwm0, 234*a549fe22SKathiravan Thirumoorthy msm_mux_pwm1, 235*a549fe22SKathiravan Thirumoorthy msm_mux_pwm2, 236*a549fe22SKathiravan Thirumoorthy msm_mux_pwm3, 237*a549fe22SKathiravan Thirumoorthy msm_mux_qdss_cti_trig_in_a0, 238*a549fe22SKathiravan Thirumoorthy msm_mux_qdss_cti_trig_in_a1, 239*a549fe22SKathiravan Thirumoorthy msm_mux_qdss_cti_trig_in_b0, 240*a549fe22SKathiravan Thirumoorthy msm_mux_qdss_cti_trig_in_b1, 241*a549fe22SKathiravan Thirumoorthy msm_mux_qdss_cti_trig_out_a0, 242*a549fe22SKathiravan Thirumoorthy msm_mux_qdss_cti_trig_out_a1, 243*a549fe22SKathiravan Thirumoorthy msm_mux_qdss_cti_trig_out_b0, 244*a549fe22SKathiravan Thirumoorthy msm_mux_qdss_cti_trig_out_b1, 245*a549fe22SKathiravan Thirumoorthy msm_mux_qdss_traceclk_a, 246*a549fe22SKathiravan Thirumoorthy msm_mux_qdss_tracectl_a, 247*a549fe22SKathiravan Thirumoorthy msm_mux_qdss_tracedata_a, 248*a549fe22SKathiravan Thirumoorthy msm_mux_qrng_rosc0, 249*a549fe22SKathiravan Thirumoorthy msm_mux_qrng_rosc1, 250*a549fe22SKathiravan Thirumoorthy msm_mux_qrng_rosc2, 251*a549fe22SKathiravan Thirumoorthy msm_mux_qspi_data, 252*a549fe22SKathiravan Thirumoorthy msm_mux_qspi_clk, 253*a549fe22SKathiravan Thirumoorthy msm_mux_qspi_cs_n, 254*a549fe22SKathiravan Thirumoorthy msm_mux_qup_se0, 255*a549fe22SKathiravan Thirumoorthy msm_mux_qup_se1, 256*a549fe22SKathiravan Thirumoorthy msm_mux_qup_se2, 257*a549fe22SKathiravan Thirumoorthy msm_mux_qup_se3, 258*a549fe22SKathiravan Thirumoorthy msm_mux_qup_se4, 259*a549fe22SKathiravan Thirumoorthy msm_mux_qup_se5, 260*a549fe22SKathiravan Thirumoorthy msm_mux_qup_se5_l1, 261*a549fe22SKathiravan Thirumoorthy msm_mux_resout, 262*a549fe22SKathiravan Thirumoorthy msm_mux_rx_los0, 263*a549fe22SKathiravan Thirumoorthy msm_mux_rx_los1, 264*a549fe22SKathiravan Thirumoorthy msm_mux_rx_los2, 265*a549fe22SKathiravan Thirumoorthy msm_mux_sdc_clk, 266*a549fe22SKathiravan Thirumoorthy msm_mux_sdc_cmd, 267*a549fe22SKathiravan Thirumoorthy msm_mux_sdc_data, 268*a549fe22SKathiravan Thirumoorthy msm_mux_tsens_max, 269*a549fe22SKathiravan Thirumoorthy msm_mux__, 270*a549fe22SKathiravan Thirumoorthy }; 271*a549fe22SKathiravan Thirumoorthy 272*a549fe22SKathiravan Thirumoorthy static const char *const gpio_groups[] = { 273*a549fe22SKathiravan Thirumoorthy "gpio0", "gpio1", "gpio2", "gpio3", "gpio4", "gpio5", "gpio6", 274*a549fe22SKathiravan Thirumoorthy "gpio7", "gpio8", "gpio9", "gpio10", "gpio11", "gpio12", "gpio13", 275*a549fe22SKathiravan Thirumoorthy "gpio14", "gpio15", "gpio16", "gpio17", "gpio18", "gpio19", "gpio20", 276*a549fe22SKathiravan Thirumoorthy "gpio21", "gpio22", "gpio23", "gpio24", "gpio25", "gpio26", "gpio27", 277*a549fe22SKathiravan Thirumoorthy "gpio28", "gpio29", "gpio30", "gpio31", "gpio32", "gpio33", "gpio34", 278*a549fe22SKathiravan Thirumoorthy "gpio35", "gpio36", "gpio37", "gpio38", "gpio39", "gpio40", "gpio41", 279*a549fe22SKathiravan Thirumoorthy "gpio42", "gpio43", "gpio44", "gpio45", "gpio46", "gpio47", "gpio48", 280*a549fe22SKathiravan Thirumoorthy "gpio49", "gpio50", "gpio51", "gpio52", "gpio53", 281*a549fe22SKathiravan Thirumoorthy }; 282*a549fe22SKathiravan Thirumoorthy 283*a549fe22SKathiravan Thirumoorthy static const char *const atest_char_start_groups[] = { 284*a549fe22SKathiravan Thirumoorthy "gpio46", 285*a549fe22SKathiravan Thirumoorthy }; 286*a549fe22SKathiravan Thirumoorthy 287*a549fe22SKathiravan Thirumoorthy static const char *const atest_char_status0_groups[] = { 288*a549fe22SKathiravan Thirumoorthy "gpio34", 289*a549fe22SKathiravan Thirumoorthy }; 290*a549fe22SKathiravan Thirumoorthy 291*a549fe22SKathiravan Thirumoorthy static const char *const atest_char_status1_groups[] = { 292*a549fe22SKathiravan Thirumoorthy "gpio35", 293*a549fe22SKathiravan Thirumoorthy }; 294*a549fe22SKathiravan Thirumoorthy 295*a549fe22SKathiravan Thirumoorthy static const char *const atest_char_status2_groups[] = { 296*a549fe22SKathiravan Thirumoorthy "gpio36", 297*a549fe22SKathiravan Thirumoorthy }; 298*a549fe22SKathiravan Thirumoorthy 299*a549fe22SKathiravan Thirumoorthy static const char *const atest_char_status3_groups[] = { 300*a549fe22SKathiravan Thirumoorthy "gpio37", 301*a549fe22SKathiravan Thirumoorthy }; 302*a549fe22SKathiravan Thirumoorthy 303*a549fe22SKathiravan Thirumoorthy static const char *const atest_tic_en_groups[] = { 304*a549fe22SKathiravan Thirumoorthy "gpio42", 305*a549fe22SKathiravan Thirumoorthy }; 306*a549fe22SKathiravan Thirumoorthy 307*a549fe22SKathiravan Thirumoorthy static const char *const audio_pri_groups[] = { 308*a549fe22SKathiravan Thirumoorthy "gpio34", "gpio35", "gpio36", "gpio37", 309*a549fe22SKathiravan Thirumoorthy }; 310*a549fe22SKathiravan Thirumoorthy 311*a549fe22SKathiravan Thirumoorthy static const char *const audio_pri_mclk_out0_groups[] = { 312*a549fe22SKathiravan Thirumoorthy "gpio12", 313*a549fe22SKathiravan Thirumoorthy }; 314*a549fe22SKathiravan Thirumoorthy 315*a549fe22SKathiravan Thirumoorthy static const char *const audio_pri_mclk_in0_groups[] = { 316*a549fe22SKathiravan Thirumoorthy "gpio12", 317*a549fe22SKathiravan Thirumoorthy }; 318*a549fe22SKathiravan Thirumoorthy 319*a549fe22SKathiravan Thirumoorthy static const char *const audio_pri_mclk_out1_groups[] = { 320*a549fe22SKathiravan Thirumoorthy "gpio19", 321*a549fe22SKathiravan Thirumoorthy }; 322*a549fe22SKathiravan Thirumoorthy 323*a549fe22SKathiravan Thirumoorthy static const char *const audio_pri_mclk_in1_groups[] = { 324*a549fe22SKathiravan Thirumoorthy "gpio19", 325*a549fe22SKathiravan Thirumoorthy }; 326*a549fe22SKathiravan Thirumoorthy 327*a549fe22SKathiravan Thirumoorthy static const char *const audio_pri_mclk_out2_groups[] = { 328*a549fe22SKathiravan Thirumoorthy "gpio8", 329*a549fe22SKathiravan Thirumoorthy }; 330*a549fe22SKathiravan Thirumoorthy 331*a549fe22SKathiravan Thirumoorthy static const char *const audio_pri_mclk_in2_groups[] = { 332*a549fe22SKathiravan Thirumoorthy "gpio8", 333*a549fe22SKathiravan Thirumoorthy }; 334*a549fe22SKathiravan Thirumoorthy 335*a549fe22SKathiravan Thirumoorthy static const char *const audio_pri_mclk_out3_groups[] = { 336*a549fe22SKathiravan Thirumoorthy "gpio13", 337*a549fe22SKathiravan Thirumoorthy }; 338*a549fe22SKathiravan Thirumoorthy 339*a549fe22SKathiravan Thirumoorthy static const char *const audio_pri_mclk_in3_groups[] = { 340*a549fe22SKathiravan Thirumoorthy "gpio13", 341*a549fe22SKathiravan Thirumoorthy }; 342*a549fe22SKathiravan Thirumoorthy 343*a549fe22SKathiravan Thirumoorthy static const char *const audio_sec_mclk_out0_groups[] = { 344*a549fe22SKathiravan Thirumoorthy "gpio17", 345*a549fe22SKathiravan Thirumoorthy }; 346*a549fe22SKathiravan Thirumoorthy 347*a549fe22SKathiravan Thirumoorthy static const char *const audio_sec_mclk_in0_groups[] = { 348*a549fe22SKathiravan Thirumoorthy "gpio17", 349*a549fe22SKathiravan Thirumoorthy }; 350*a549fe22SKathiravan Thirumoorthy 351*a549fe22SKathiravan Thirumoorthy static const char *const audio_sec_mclk_out1_groups[] = { 352*a549fe22SKathiravan Thirumoorthy "gpio16", 353*a549fe22SKathiravan Thirumoorthy }; 354*a549fe22SKathiravan Thirumoorthy 355*a549fe22SKathiravan Thirumoorthy static const char *const audio_sec_mclk_in1_groups[] = { 356*a549fe22SKathiravan Thirumoorthy "gpio16", 357*a549fe22SKathiravan Thirumoorthy }; 358*a549fe22SKathiravan Thirumoorthy 359*a549fe22SKathiravan Thirumoorthy static const char *const audio_sec_mclk_out2_groups[] = { 360*a549fe22SKathiravan Thirumoorthy "gpio49", 361*a549fe22SKathiravan Thirumoorthy }; 362*a549fe22SKathiravan Thirumoorthy 363*a549fe22SKathiravan Thirumoorthy static const char *const audio_sec_mclk_in2_groups[] = { 364*a549fe22SKathiravan Thirumoorthy "gpio49", 365*a549fe22SKathiravan Thirumoorthy }; 366*a549fe22SKathiravan Thirumoorthy 367*a549fe22SKathiravan Thirumoorthy static const char *const audio_sec_mclk_out3_groups[] = { 368*a549fe22SKathiravan Thirumoorthy "gpio50", 369*a549fe22SKathiravan Thirumoorthy }; 370*a549fe22SKathiravan Thirumoorthy 371*a549fe22SKathiravan Thirumoorthy static const char *const audio_sec_mclk_in3_groups[] = { 372*a549fe22SKathiravan Thirumoorthy "gpio50", 373*a549fe22SKathiravan Thirumoorthy }; 374*a549fe22SKathiravan Thirumoorthy 375*a549fe22SKathiravan Thirumoorthy static const char *const audio_sec_groups[] = { 376*a549fe22SKathiravan Thirumoorthy "gpio40", "gpio41", "gpio42", "gpio43", 377*a549fe22SKathiravan Thirumoorthy }; 378*a549fe22SKathiravan Thirumoorthy 379*a549fe22SKathiravan Thirumoorthy static const char *const core_voltage_0_groups[] = { 380*a549fe22SKathiravan Thirumoorthy "gpio22", 381*a549fe22SKathiravan Thirumoorthy }; 382*a549fe22SKathiravan Thirumoorthy 383*a549fe22SKathiravan Thirumoorthy static const char *const cri_trng0_groups[] = { 384*a549fe22SKathiravan Thirumoorthy "gpio6", 385*a549fe22SKathiravan Thirumoorthy }; 386*a549fe22SKathiravan Thirumoorthy 387*a549fe22SKathiravan Thirumoorthy static const char *const cri_trng1_groups[] = { 388*a549fe22SKathiravan Thirumoorthy "gpio7", 389*a549fe22SKathiravan Thirumoorthy }; 390*a549fe22SKathiravan Thirumoorthy 391*a549fe22SKathiravan Thirumoorthy static const char *const cri_trng2_groups[] = { 392*a549fe22SKathiravan Thirumoorthy "gpio8", 393*a549fe22SKathiravan Thirumoorthy }; 394*a549fe22SKathiravan Thirumoorthy 395*a549fe22SKathiravan Thirumoorthy static const char *const cri_trng3_groups[] = { 396*a549fe22SKathiravan Thirumoorthy "gpio9", 397*a549fe22SKathiravan Thirumoorthy }; 398*a549fe22SKathiravan Thirumoorthy 399*a549fe22SKathiravan Thirumoorthy static const char *const dbg_out_clk_groups[] = { 400*a549fe22SKathiravan Thirumoorthy "gpio23", 401*a549fe22SKathiravan Thirumoorthy }; 402*a549fe22SKathiravan Thirumoorthy 403*a549fe22SKathiravan Thirumoorthy static const char *const dg_out_groups[] = { 404*a549fe22SKathiravan Thirumoorthy "gpio46", 405*a549fe22SKathiravan Thirumoorthy }; 406*a549fe22SKathiravan Thirumoorthy 407*a549fe22SKathiravan Thirumoorthy static const char *const gcc_plltest_bypassnl_groups[] = { 408*a549fe22SKathiravan Thirumoorthy "gpio38", 409*a549fe22SKathiravan Thirumoorthy }; 410*a549fe22SKathiravan Thirumoorthy 411*a549fe22SKathiravan Thirumoorthy static const char *const gcc_plltest_resetn_groups[] = { 412*a549fe22SKathiravan Thirumoorthy "gpio40", 413*a549fe22SKathiravan Thirumoorthy }; 414*a549fe22SKathiravan Thirumoorthy 415*a549fe22SKathiravan Thirumoorthy static const char *const gcc_tlmm_groups[] = { 416*a549fe22SKathiravan Thirumoorthy "gpio39", 417*a549fe22SKathiravan Thirumoorthy }; 418*a549fe22SKathiravan Thirumoorthy 419*a549fe22SKathiravan Thirumoorthy static const char *const led0_groups[] = { 420*a549fe22SKathiravan Thirumoorthy "gpio6", "gpio23", "gpio39", 421*a549fe22SKathiravan Thirumoorthy }; 422*a549fe22SKathiravan Thirumoorthy 423*a549fe22SKathiravan Thirumoorthy static const char *const led1_groups[] = { 424*a549fe22SKathiravan Thirumoorthy "gpio7", "gpio27", "gpio39", 425*a549fe22SKathiravan Thirumoorthy }; 426*a549fe22SKathiravan Thirumoorthy 427*a549fe22SKathiravan Thirumoorthy static const char *const led2_groups[] = { 428*a549fe22SKathiravan Thirumoorthy "gpio9", "gpio26", "gpio38", 429*a549fe22SKathiravan Thirumoorthy }; 430*a549fe22SKathiravan Thirumoorthy 431*a549fe22SKathiravan Thirumoorthy static const char *const mdc_mst_groups[] = { 432*a549fe22SKathiravan Thirumoorthy "gpio26", 433*a549fe22SKathiravan Thirumoorthy }; 434*a549fe22SKathiravan Thirumoorthy 435*a549fe22SKathiravan Thirumoorthy static const char *const mdc_slv0_groups[] = { 436*a549fe22SKathiravan Thirumoorthy "gpio31", 437*a549fe22SKathiravan Thirumoorthy }; 438*a549fe22SKathiravan Thirumoorthy 439*a549fe22SKathiravan Thirumoorthy static const char *const mdc_slv1_groups[] = { 440*a549fe22SKathiravan Thirumoorthy "gpio20", 441*a549fe22SKathiravan Thirumoorthy }; 442*a549fe22SKathiravan Thirumoorthy 443*a549fe22SKathiravan Thirumoorthy static const char *const mdc_slv2_groups[] = { 444*a549fe22SKathiravan Thirumoorthy "gpio47", 445*a549fe22SKathiravan Thirumoorthy }; 446*a549fe22SKathiravan Thirumoorthy 447*a549fe22SKathiravan Thirumoorthy static const char *const mdio_mst_groups[] = { 448*a549fe22SKathiravan Thirumoorthy "gpio27", 449*a549fe22SKathiravan Thirumoorthy }; 450*a549fe22SKathiravan Thirumoorthy 451*a549fe22SKathiravan Thirumoorthy static const char *const mdio_slv0_groups[] = { 452*a549fe22SKathiravan Thirumoorthy "gpio33", 453*a549fe22SKathiravan Thirumoorthy }; 454*a549fe22SKathiravan Thirumoorthy 455*a549fe22SKathiravan Thirumoorthy static const char *const mdio_slv1_groups[] = { 456*a549fe22SKathiravan Thirumoorthy "gpio21", 457*a549fe22SKathiravan Thirumoorthy }; 458*a549fe22SKathiravan Thirumoorthy 459*a549fe22SKathiravan Thirumoorthy static const char *const mdio_slv2_groups[] = { 460*a549fe22SKathiravan Thirumoorthy "gpio49", 461*a549fe22SKathiravan Thirumoorthy }; 462*a549fe22SKathiravan Thirumoorthy 463*a549fe22SKathiravan Thirumoorthy static const char *const mux_tod_out_groups[] = { 464*a549fe22SKathiravan Thirumoorthy "gpio19", 465*a549fe22SKathiravan Thirumoorthy }; 466*a549fe22SKathiravan Thirumoorthy 467*a549fe22SKathiravan Thirumoorthy static const char *const pcie0_clk_req_n_groups[] = { 468*a549fe22SKathiravan Thirumoorthy "gpio31", 469*a549fe22SKathiravan Thirumoorthy }; 470*a549fe22SKathiravan Thirumoorthy 471*a549fe22SKathiravan Thirumoorthy static const char *const pcie0_wake_groups[] = { 472*a549fe22SKathiravan Thirumoorthy "gpio33", 473*a549fe22SKathiravan Thirumoorthy }; 474*a549fe22SKathiravan Thirumoorthy 475*a549fe22SKathiravan Thirumoorthy static const char *const pcie1_clk_req_n_groups[] = { 476*a549fe22SKathiravan Thirumoorthy "gpio28", 477*a549fe22SKathiravan Thirumoorthy }; 478*a549fe22SKathiravan Thirumoorthy 479*a549fe22SKathiravan Thirumoorthy static const char *const pcie1_wake_groups[] = { 480*a549fe22SKathiravan Thirumoorthy "gpio30", 481*a549fe22SKathiravan Thirumoorthy }; 482*a549fe22SKathiravan Thirumoorthy 483*a549fe22SKathiravan Thirumoorthy static const char *const pll_test_groups[] = { 484*a549fe22SKathiravan Thirumoorthy "gpio18", 485*a549fe22SKathiravan Thirumoorthy }; 486*a549fe22SKathiravan Thirumoorthy 487*a549fe22SKathiravan Thirumoorthy static const char *const pon_active_led_groups[] = { 488*a549fe22SKathiravan Thirumoorthy "gpio11", 489*a549fe22SKathiravan Thirumoorthy }; 490*a549fe22SKathiravan Thirumoorthy 491*a549fe22SKathiravan Thirumoorthy static const char *const pon_mux_sel_groups[] = { 492*a549fe22SKathiravan Thirumoorthy "gpio45", 493*a549fe22SKathiravan Thirumoorthy }; 494*a549fe22SKathiravan Thirumoorthy 495*a549fe22SKathiravan Thirumoorthy static const char *const pon_rx_groups[] = { 496*a549fe22SKathiravan Thirumoorthy "gpio48", 497*a549fe22SKathiravan Thirumoorthy }; 498*a549fe22SKathiravan Thirumoorthy 499*a549fe22SKathiravan Thirumoorthy static const char *const pon_rx_los_groups[] = { 500*a549fe22SKathiravan Thirumoorthy "gpio10", 501*a549fe22SKathiravan Thirumoorthy }; 502*a549fe22SKathiravan Thirumoorthy 503*a549fe22SKathiravan Thirumoorthy static const char *const pon_tx_groups[] = { 504*a549fe22SKathiravan Thirumoorthy "gpio15", 505*a549fe22SKathiravan Thirumoorthy }; 506*a549fe22SKathiravan Thirumoorthy 507*a549fe22SKathiravan Thirumoorthy static const char *const pon_tx_burst_groups[] = { 508*a549fe22SKathiravan Thirumoorthy "gpio14", 509*a549fe22SKathiravan Thirumoorthy }; 510*a549fe22SKathiravan Thirumoorthy 511*a549fe22SKathiravan Thirumoorthy static const char *const pon_tx_dis_groups[] = { 512*a549fe22SKathiravan Thirumoorthy "gpio12", 513*a549fe22SKathiravan Thirumoorthy }; 514*a549fe22SKathiravan Thirumoorthy 515*a549fe22SKathiravan Thirumoorthy static const char *const pon_tx_fault_groups[] = { 516*a549fe22SKathiravan Thirumoorthy "gpio17", 517*a549fe22SKathiravan Thirumoorthy }; 518*a549fe22SKathiravan Thirumoorthy 519*a549fe22SKathiravan Thirumoorthy static const char *const pon_tx_sd_groups[] = { 520*a549fe22SKathiravan Thirumoorthy "gpio16", 521*a549fe22SKathiravan Thirumoorthy }; 522*a549fe22SKathiravan Thirumoorthy 523*a549fe22SKathiravan Thirumoorthy static const char *const gpn_rx_los_groups[] = { 524*a549fe22SKathiravan Thirumoorthy "gpio47", 525*a549fe22SKathiravan Thirumoorthy }; 526*a549fe22SKathiravan Thirumoorthy 527*a549fe22SKathiravan Thirumoorthy static const char *const gpn_tx_burst_groups[] = { 528*a549fe22SKathiravan Thirumoorthy "gpio51", 529*a549fe22SKathiravan Thirumoorthy }; 530*a549fe22SKathiravan Thirumoorthy 531*a549fe22SKathiravan Thirumoorthy static const char *const gpn_tx_dis_groups[] = { 532*a549fe22SKathiravan Thirumoorthy "gpio13", 533*a549fe22SKathiravan Thirumoorthy }; 534*a549fe22SKathiravan Thirumoorthy 535*a549fe22SKathiravan Thirumoorthy static const char *const gpn_tx_fault_groups[] = { 536*a549fe22SKathiravan Thirumoorthy "gpio49", 537*a549fe22SKathiravan Thirumoorthy }; 538*a549fe22SKathiravan Thirumoorthy 539*a549fe22SKathiravan Thirumoorthy static const char *const gpn_tx_sd_groups[] = { 540*a549fe22SKathiravan Thirumoorthy "gpio50", 541*a549fe22SKathiravan Thirumoorthy }; 542*a549fe22SKathiravan Thirumoorthy 543*a549fe22SKathiravan Thirumoorthy static const char *const pps_groups[] = { 544*a549fe22SKathiravan Thirumoorthy "gpio18", 545*a549fe22SKathiravan Thirumoorthy }; 546*a549fe22SKathiravan Thirumoorthy 547*a549fe22SKathiravan Thirumoorthy static const char *const pwm0_groups[] = { 548*a549fe22SKathiravan Thirumoorthy "gpio10", "gpio11", "gpio12", "gpio13", 549*a549fe22SKathiravan Thirumoorthy }; 550*a549fe22SKathiravan Thirumoorthy 551*a549fe22SKathiravan Thirumoorthy static const char *const pwm1_groups[] = { 552*a549fe22SKathiravan Thirumoorthy "gpio6", "gpio7", "gpio8", "gpio9", 553*a549fe22SKathiravan Thirumoorthy }; 554*a549fe22SKathiravan Thirumoorthy 555*a549fe22SKathiravan Thirumoorthy static const char *const pwm2_groups[] = { 556*a549fe22SKathiravan Thirumoorthy "gpio0", "gpio1", "gpio2", "gpio3", 557*a549fe22SKathiravan Thirumoorthy }; 558*a549fe22SKathiravan Thirumoorthy 559*a549fe22SKathiravan Thirumoorthy static const char *const pwm3_groups[] = { 560*a549fe22SKathiravan Thirumoorthy "gpio22", 561*a549fe22SKathiravan Thirumoorthy }; 562*a549fe22SKathiravan Thirumoorthy 563*a549fe22SKathiravan Thirumoorthy static const char *const qdss_cti_trig_in_a0_groups[] = { 564*a549fe22SKathiravan Thirumoorthy "gpio30", 565*a549fe22SKathiravan Thirumoorthy }; 566*a549fe22SKathiravan Thirumoorthy 567*a549fe22SKathiravan Thirumoorthy static const char *const qdss_cti_trig_in_a1_groups[] = { 568*a549fe22SKathiravan Thirumoorthy "gpio33", 569*a549fe22SKathiravan Thirumoorthy }; 570*a549fe22SKathiravan Thirumoorthy 571*a549fe22SKathiravan Thirumoorthy static const char *const qdss_cti_trig_in_b0_groups[] = { 572*a549fe22SKathiravan Thirumoorthy "gpio34", 573*a549fe22SKathiravan Thirumoorthy }; 574*a549fe22SKathiravan Thirumoorthy 575*a549fe22SKathiravan Thirumoorthy static const char *const qdss_cti_trig_in_b1_groups[] = { 576*a549fe22SKathiravan Thirumoorthy "gpio37", 577*a549fe22SKathiravan Thirumoorthy }; 578*a549fe22SKathiravan Thirumoorthy 579*a549fe22SKathiravan Thirumoorthy static const char *const qdss_cti_trig_out_a0_groups[] = { 580*a549fe22SKathiravan Thirumoorthy "gpio28", 581*a549fe22SKathiravan Thirumoorthy }; 582*a549fe22SKathiravan Thirumoorthy 583*a549fe22SKathiravan Thirumoorthy static const char *const qdss_cti_trig_out_a1_groups[] = { 584*a549fe22SKathiravan Thirumoorthy "gpio31", 585*a549fe22SKathiravan Thirumoorthy }; 586*a549fe22SKathiravan Thirumoorthy 587*a549fe22SKathiravan Thirumoorthy static const char *const qdss_cti_trig_out_b0_groups[] = { 588*a549fe22SKathiravan Thirumoorthy "gpio16", 589*a549fe22SKathiravan Thirumoorthy }; 590*a549fe22SKathiravan Thirumoorthy 591*a549fe22SKathiravan Thirumoorthy static const char *const qdss_cti_trig_out_b1_groups[] = { 592*a549fe22SKathiravan Thirumoorthy "gpio35", 593*a549fe22SKathiravan Thirumoorthy }; 594*a549fe22SKathiravan Thirumoorthy 595*a549fe22SKathiravan Thirumoorthy static const char *const qdss_traceclk_a_groups[] = { 596*a549fe22SKathiravan Thirumoorthy "gpio23", 597*a549fe22SKathiravan Thirumoorthy }; 598*a549fe22SKathiravan Thirumoorthy 599*a549fe22SKathiravan Thirumoorthy static const char *const qdss_tracectl_a_groups[] = { 600*a549fe22SKathiravan Thirumoorthy "gpio26", 601*a549fe22SKathiravan Thirumoorthy }; 602*a549fe22SKathiravan Thirumoorthy 603*a549fe22SKathiravan Thirumoorthy static const char *const qdss_tracedata_a_groups[] = { 604*a549fe22SKathiravan Thirumoorthy "gpio6", "gpio7", "gpio8", "gpio9", "gpio10", "gpio11", 605*a549fe22SKathiravan Thirumoorthy "gpio12", "gpio13", "gpio14", "gpio15", "gpio20", "gpio21", 606*a549fe22SKathiravan Thirumoorthy "gpio38", "gpio39", "gpio40", "gpio41", 607*a549fe22SKathiravan Thirumoorthy }; 608*a549fe22SKathiravan Thirumoorthy 609*a549fe22SKathiravan Thirumoorthy static const char *const qrng_rosc0_groups[] = { 610*a549fe22SKathiravan Thirumoorthy "gpio12", 611*a549fe22SKathiravan Thirumoorthy }; 612*a549fe22SKathiravan Thirumoorthy 613*a549fe22SKathiravan Thirumoorthy static const char *const qrng_rosc1_groups[] = { 614*a549fe22SKathiravan Thirumoorthy "gpio13", 615*a549fe22SKathiravan Thirumoorthy }; 616*a549fe22SKathiravan Thirumoorthy 617*a549fe22SKathiravan Thirumoorthy static const char *const qrng_rosc2_groups[] = { 618*a549fe22SKathiravan Thirumoorthy "gpio14", 619*a549fe22SKathiravan Thirumoorthy }; 620*a549fe22SKathiravan Thirumoorthy 621*a549fe22SKathiravan Thirumoorthy static const char *const qspi_data_groups[] = { 622*a549fe22SKathiravan Thirumoorthy "gpio0", "gpio1", "gpio2", "gpio3", 623*a549fe22SKathiravan Thirumoorthy }; 624*a549fe22SKathiravan Thirumoorthy 625*a549fe22SKathiravan Thirumoorthy static const char *const qspi_clk_groups[] = { 626*a549fe22SKathiravan Thirumoorthy "gpio5", 627*a549fe22SKathiravan Thirumoorthy }; 628*a549fe22SKathiravan Thirumoorthy 629*a549fe22SKathiravan Thirumoorthy static const char *const qspi_cs_n_groups[] = { 630*a549fe22SKathiravan Thirumoorthy "gpio4", 631*a549fe22SKathiravan Thirumoorthy }; 632*a549fe22SKathiravan Thirumoorthy 633*a549fe22SKathiravan Thirumoorthy static const char *const qup_se0_groups[] = { 634*a549fe22SKathiravan Thirumoorthy "gpio6", "gpio7", "gpio8", "gpio9", "gpio14", "gpio15", 635*a549fe22SKathiravan Thirumoorthy }; 636*a549fe22SKathiravan Thirumoorthy 637*a549fe22SKathiravan Thirumoorthy static const char *const qup_se1_groups[] = { 638*a549fe22SKathiravan Thirumoorthy "gpio28", "gpio30", "gpio38", "gpio39", 639*a549fe22SKathiravan Thirumoorthy }; 640*a549fe22SKathiravan Thirumoorthy 641*a549fe22SKathiravan Thirumoorthy static const char *const qup_se2_groups[] = { 642*a549fe22SKathiravan Thirumoorthy "gpio12", "gpio13", "gpio20", "gpio21", "gpio52", "gpio53", 643*a549fe22SKathiravan Thirumoorthy }; 644*a549fe22SKathiravan Thirumoorthy 645*a549fe22SKathiravan Thirumoorthy static const char *const qup_se3_groups[] = { 646*a549fe22SKathiravan Thirumoorthy "gpio10", "gpio11", "gpio22", "gpio23", 647*a549fe22SKathiravan Thirumoorthy }; 648*a549fe22SKathiravan Thirumoorthy 649*a549fe22SKathiravan Thirumoorthy static const char *const qup_se4_groups[] = { 650*a549fe22SKathiravan Thirumoorthy "gpio40", "gpio41", "gpio42", "gpio43", "gpio52", "gpio53", 651*a549fe22SKathiravan Thirumoorthy }; 652*a549fe22SKathiravan Thirumoorthy 653*a549fe22SKathiravan Thirumoorthy static const char *const qup_se5_groups[] = { 654*a549fe22SKathiravan Thirumoorthy "gpio47", "gpio48", "gpio49", "gpio50", "gpio51", "gpio52", 655*a549fe22SKathiravan Thirumoorthy }; 656*a549fe22SKathiravan Thirumoorthy 657*a549fe22SKathiravan Thirumoorthy static const char *const qup_se5_l1_groups[] = { 658*a549fe22SKathiravan Thirumoorthy "gpio52", "gpio53", 659*a549fe22SKathiravan Thirumoorthy }; 660*a549fe22SKathiravan Thirumoorthy 661*a549fe22SKathiravan Thirumoorthy static const char *const resout_groups[] = { 662*a549fe22SKathiravan Thirumoorthy "gpio44", 663*a549fe22SKathiravan Thirumoorthy }; 664*a549fe22SKathiravan Thirumoorthy 665*a549fe22SKathiravan Thirumoorthy static const char *const rx_los0_groups[] = { 666*a549fe22SKathiravan Thirumoorthy "gpio37", "gpio42", 667*a549fe22SKathiravan Thirumoorthy }; 668*a549fe22SKathiravan Thirumoorthy 669*a549fe22SKathiravan Thirumoorthy static const char *const rx_los1_groups[] = { 670*a549fe22SKathiravan Thirumoorthy "gpio36", "gpio41", 671*a549fe22SKathiravan Thirumoorthy }; 672*a549fe22SKathiravan Thirumoorthy 673*a549fe22SKathiravan Thirumoorthy static const char *const rx_los2_groups[] = { 674*a549fe22SKathiravan Thirumoorthy "gpio35", "gpio40", 675*a549fe22SKathiravan Thirumoorthy }; 676*a549fe22SKathiravan Thirumoorthy 677*a549fe22SKathiravan Thirumoorthy static const char *const sdc_clk_groups[] = { 678*a549fe22SKathiravan Thirumoorthy "gpio5", 679*a549fe22SKathiravan Thirumoorthy }; 680*a549fe22SKathiravan Thirumoorthy 681*a549fe22SKathiravan Thirumoorthy static const char *const sdc_cmd_groups[] = { 682*a549fe22SKathiravan Thirumoorthy "gpio4", 683*a549fe22SKathiravan Thirumoorthy }; 684*a549fe22SKathiravan Thirumoorthy 685*a549fe22SKathiravan Thirumoorthy static const char *const sdc_data_groups[] = { 686*a549fe22SKathiravan Thirumoorthy "gpio0", "gpio1", "gpio2", "gpio3", 687*a549fe22SKathiravan Thirumoorthy }; 688*a549fe22SKathiravan Thirumoorthy 689*a549fe22SKathiravan Thirumoorthy static const char *const tsens_max_groups[] = { 690*a549fe22SKathiravan Thirumoorthy "gpio20", 691*a549fe22SKathiravan Thirumoorthy }; 692*a549fe22SKathiravan Thirumoorthy 693*a549fe22SKathiravan Thirumoorthy static const struct pinfunction ipq5210_functions[] = { 694*a549fe22SKathiravan Thirumoorthy MSM_PIN_FUNCTION(atest_char_start), 695*a549fe22SKathiravan Thirumoorthy MSM_PIN_FUNCTION(atest_char_status0), 696*a549fe22SKathiravan Thirumoorthy MSM_PIN_FUNCTION(atest_char_status1), 697*a549fe22SKathiravan Thirumoorthy MSM_PIN_FUNCTION(atest_char_status2), 698*a549fe22SKathiravan Thirumoorthy MSM_PIN_FUNCTION(atest_char_status3), 699*a549fe22SKathiravan Thirumoorthy MSM_PIN_FUNCTION(atest_tic_en), 700*a549fe22SKathiravan Thirumoorthy MSM_PIN_FUNCTION(audio_pri), 701*a549fe22SKathiravan Thirumoorthy MSM_PIN_FUNCTION(audio_pri_mclk_out0), 702*a549fe22SKathiravan Thirumoorthy MSM_PIN_FUNCTION(audio_pri_mclk_in0), 703*a549fe22SKathiravan Thirumoorthy MSM_PIN_FUNCTION(audio_pri_mclk_out1), 704*a549fe22SKathiravan Thirumoorthy MSM_PIN_FUNCTION(audio_pri_mclk_in1), 705*a549fe22SKathiravan Thirumoorthy MSM_PIN_FUNCTION(audio_pri_mclk_out2), 706*a549fe22SKathiravan Thirumoorthy MSM_PIN_FUNCTION(audio_pri_mclk_in2), 707*a549fe22SKathiravan Thirumoorthy MSM_PIN_FUNCTION(audio_pri_mclk_out3), 708*a549fe22SKathiravan Thirumoorthy MSM_PIN_FUNCTION(audio_pri_mclk_in3), 709*a549fe22SKathiravan Thirumoorthy MSM_PIN_FUNCTION(audio_sec), 710*a549fe22SKathiravan Thirumoorthy MSM_PIN_FUNCTION(audio_sec_mclk_out0), 711*a549fe22SKathiravan Thirumoorthy MSM_PIN_FUNCTION(audio_sec_mclk_in0), 712*a549fe22SKathiravan Thirumoorthy MSM_PIN_FUNCTION(audio_sec_mclk_out1), 713*a549fe22SKathiravan Thirumoorthy MSM_PIN_FUNCTION(audio_sec_mclk_in1), 714*a549fe22SKathiravan Thirumoorthy MSM_PIN_FUNCTION(audio_sec_mclk_out2), 715*a549fe22SKathiravan Thirumoorthy MSM_PIN_FUNCTION(audio_sec_mclk_in2), 716*a549fe22SKathiravan Thirumoorthy MSM_PIN_FUNCTION(audio_sec_mclk_out3), 717*a549fe22SKathiravan Thirumoorthy MSM_PIN_FUNCTION(audio_sec_mclk_in3), 718*a549fe22SKathiravan Thirumoorthy MSM_PIN_FUNCTION(core_voltage_0), 719*a549fe22SKathiravan Thirumoorthy MSM_PIN_FUNCTION(cri_trng0), 720*a549fe22SKathiravan Thirumoorthy MSM_PIN_FUNCTION(cri_trng1), 721*a549fe22SKathiravan Thirumoorthy MSM_PIN_FUNCTION(cri_trng2), 722*a549fe22SKathiravan Thirumoorthy MSM_PIN_FUNCTION(cri_trng3), 723*a549fe22SKathiravan Thirumoorthy MSM_PIN_FUNCTION(dbg_out_clk), 724*a549fe22SKathiravan Thirumoorthy MSM_PIN_FUNCTION(dg_out), 725*a549fe22SKathiravan Thirumoorthy MSM_PIN_FUNCTION(gcc_plltest_bypassnl), 726*a549fe22SKathiravan Thirumoorthy MSM_PIN_FUNCTION(gcc_plltest_resetn), 727*a549fe22SKathiravan Thirumoorthy MSM_PIN_FUNCTION(gcc_tlmm), 728*a549fe22SKathiravan Thirumoorthy MSM_GPIO_PIN_FUNCTION(gpio), 729*a549fe22SKathiravan Thirumoorthy MSM_PIN_FUNCTION(led0), 730*a549fe22SKathiravan Thirumoorthy MSM_PIN_FUNCTION(led1), 731*a549fe22SKathiravan Thirumoorthy MSM_PIN_FUNCTION(led2), 732*a549fe22SKathiravan Thirumoorthy MSM_PIN_FUNCTION(mdc_mst), 733*a549fe22SKathiravan Thirumoorthy MSM_PIN_FUNCTION(mdc_slv0), 734*a549fe22SKathiravan Thirumoorthy MSM_PIN_FUNCTION(mdc_slv1), 735*a549fe22SKathiravan Thirumoorthy MSM_PIN_FUNCTION(mdc_slv2), 736*a549fe22SKathiravan Thirumoorthy MSM_PIN_FUNCTION(mdio_mst), 737*a549fe22SKathiravan Thirumoorthy MSM_PIN_FUNCTION(mdio_slv0), 738*a549fe22SKathiravan Thirumoorthy MSM_PIN_FUNCTION(mdio_slv1), 739*a549fe22SKathiravan Thirumoorthy MSM_PIN_FUNCTION(mdio_slv2), 740*a549fe22SKathiravan Thirumoorthy MSM_PIN_FUNCTION(mux_tod_out), 741*a549fe22SKathiravan Thirumoorthy MSM_PIN_FUNCTION(pcie0_clk_req_n), 742*a549fe22SKathiravan Thirumoorthy MSM_PIN_FUNCTION(pcie0_wake), 743*a549fe22SKathiravan Thirumoorthy MSM_PIN_FUNCTION(pcie1_clk_req_n), 744*a549fe22SKathiravan Thirumoorthy MSM_PIN_FUNCTION(pcie1_wake), 745*a549fe22SKathiravan Thirumoorthy MSM_PIN_FUNCTION(pll_test), 746*a549fe22SKathiravan Thirumoorthy MSM_PIN_FUNCTION(pon_active_led), 747*a549fe22SKathiravan Thirumoorthy MSM_PIN_FUNCTION(pon_mux_sel), 748*a549fe22SKathiravan Thirumoorthy MSM_PIN_FUNCTION(pon_rx), 749*a549fe22SKathiravan Thirumoorthy MSM_PIN_FUNCTION(pon_rx_los), 750*a549fe22SKathiravan Thirumoorthy MSM_PIN_FUNCTION(pon_tx), 751*a549fe22SKathiravan Thirumoorthy MSM_PIN_FUNCTION(pon_tx_burst), 752*a549fe22SKathiravan Thirumoorthy MSM_PIN_FUNCTION(pon_tx_dis), 753*a549fe22SKathiravan Thirumoorthy MSM_PIN_FUNCTION(pon_tx_fault), 754*a549fe22SKathiravan Thirumoorthy MSM_PIN_FUNCTION(pon_tx_sd), 755*a549fe22SKathiravan Thirumoorthy MSM_PIN_FUNCTION(gpn_rx_los), 756*a549fe22SKathiravan Thirumoorthy MSM_PIN_FUNCTION(gpn_tx_burst), 757*a549fe22SKathiravan Thirumoorthy MSM_PIN_FUNCTION(gpn_tx_dis), 758*a549fe22SKathiravan Thirumoorthy MSM_PIN_FUNCTION(gpn_tx_fault), 759*a549fe22SKathiravan Thirumoorthy MSM_PIN_FUNCTION(gpn_tx_sd), 760*a549fe22SKathiravan Thirumoorthy MSM_PIN_FUNCTION(pps), 761*a549fe22SKathiravan Thirumoorthy MSM_PIN_FUNCTION(pwm0), 762*a549fe22SKathiravan Thirumoorthy MSM_PIN_FUNCTION(pwm1), 763*a549fe22SKathiravan Thirumoorthy MSM_PIN_FUNCTION(pwm2), 764*a549fe22SKathiravan Thirumoorthy MSM_PIN_FUNCTION(pwm3), 765*a549fe22SKathiravan Thirumoorthy MSM_PIN_FUNCTION(qdss_cti_trig_in_a0), 766*a549fe22SKathiravan Thirumoorthy MSM_PIN_FUNCTION(qdss_cti_trig_in_a1), 767*a549fe22SKathiravan Thirumoorthy MSM_PIN_FUNCTION(qdss_cti_trig_in_b0), 768*a549fe22SKathiravan Thirumoorthy MSM_PIN_FUNCTION(qdss_cti_trig_in_b1), 769*a549fe22SKathiravan Thirumoorthy MSM_PIN_FUNCTION(qdss_cti_trig_out_a0), 770*a549fe22SKathiravan Thirumoorthy MSM_PIN_FUNCTION(qdss_cti_trig_out_a1), 771*a549fe22SKathiravan Thirumoorthy MSM_PIN_FUNCTION(qdss_cti_trig_out_b0), 772*a549fe22SKathiravan Thirumoorthy MSM_PIN_FUNCTION(qdss_cti_trig_out_b1), 773*a549fe22SKathiravan Thirumoorthy MSM_PIN_FUNCTION(qdss_traceclk_a), 774*a549fe22SKathiravan Thirumoorthy MSM_PIN_FUNCTION(qdss_tracectl_a), 775*a549fe22SKathiravan Thirumoorthy MSM_PIN_FUNCTION(qdss_tracedata_a), 776*a549fe22SKathiravan Thirumoorthy MSM_PIN_FUNCTION(qrng_rosc0), 777*a549fe22SKathiravan Thirumoorthy MSM_PIN_FUNCTION(qrng_rosc1), 778*a549fe22SKathiravan Thirumoorthy MSM_PIN_FUNCTION(qrng_rosc2), 779*a549fe22SKathiravan Thirumoorthy MSM_PIN_FUNCTION(qspi_data), 780*a549fe22SKathiravan Thirumoorthy MSM_PIN_FUNCTION(qspi_clk), 781*a549fe22SKathiravan Thirumoorthy MSM_PIN_FUNCTION(qspi_cs_n), 782*a549fe22SKathiravan Thirumoorthy MSM_PIN_FUNCTION(qup_se0), 783*a549fe22SKathiravan Thirumoorthy MSM_PIN_FUNCTION(qup_se1), 784*a549fe22SKathiravan Thirumoorthy MSM_PIN_FUNCTION(qup_se2), 785*a549fe22SKathiravan Thirumoorthy MSM_PIN_FUNCTION(qup_se3), 786*a549fe22SKathiravan Thirumoorthy MSM_PIN_FUNCTION(qup_se4), 787*a549fe22SKathiravan Thirumoorthy MSM_PIN_FUNCTION(qup_se5), 788*a549fe22SKathiravan Thirumoorthy MSM_PIN_FUNCTION(qup_se5_l1), 789*a549fe22SKathiravan Thirumoorthy MSM_PIN_FUNCTION(resout), 790*a549fe22SKathiravan Thirumoorthy MSM_PIN_FUNCTION(rx_los0), 791*a549fe22SKathiravan Thirumoorthy MSM_PIN_FUNCTION(rx_los1), 792*a549fe22SKathiravan Thirumoorthy MSM_PIN_FUNCTION(rx_los2), 793*a549fe22SKathiravan Thirumoorthy MSM_PIN_FUNCTION(sdc_clk), 794*a549fe22SKathiravan Thirumoorthy MSM_PIN_FUNCTION(sdc_cmd), 795*a549fe22SKathiravan Thirumoorthy MSM_PIN_FUNCTION(sdc_data), 796*a549fe22SKathiravan Thirumoorthy MSM_PIN_FUNCTION(tsens_max), 797*a549fe22SKathiravan Thirumoorthy }; 798*a549fe22SKathiravan Thirumoorthy 799*a549fe22SKathiravan Thirumoorthy static const struct msm_pingroup ipq5210_groups[] = { 800*a549fe22SKathiravan Thirumoorthy [0] = PINGROUP(0, sdc_data, qspi_data, pwm2, _, _, _, _, _, _), 801*a549fe22SKathiravan Thirumoorthy [1] = PINGROUP(1, sdc_data, qspi_data, pwm2, _, _, _, _, _, _), 802*a549fe22SKathiravan Thirumoorthy [2] = PINGROUP(2, sdc_data, qspi_data, pwm2, _, _, _, _, _, _), 803*a549fe22SKathiravan Thirumoorthy [3] = PINGROUP(3, sdc_data, qspi_data, pwm2, _, _, _, _, _, _), 804*a549fe22SKathiravan Thirumoorthy [4] = PINGROUP(4, sdc_cmd, qspi_cs_n, _, _, _, _, _, _, _), 805*a549fe22SKathiravan Thirumoorthy [5] = PINGROUP(5, sdc_clk, qspi_clk, _, _, _, _, _, _, _), 806*a549fe22SKathiravan Thirumoorthy [6] = PINGROUP(6, qup_se0, led0, pwm1, _, cri_trng0, qdss_tracedata_a, _, _, _), 807*a549fe22SKathiravan Thirumoorthy [7] = PINGROUP(7, qup_se0, led1, pwm1, _, cri_trng1, qdss_tracedata_a, _, _, _), 808*a549fe22SKathiravan Thirumoorthy [8] = PINGROUP(8, qup_se0, pwm1, audio_pri_mclk_out2, audio_pri_mclk_in2, _, cri_trng2, qdss_tracedata_a, _, _), 809*a549fe22SKathiravan Thirumoorthy [9] = PINGROUP(9, qup_se0, led2, pwm1, _, cri_trng3, qdss_tracedata_a, _, _, _), 810*a549fe22SKathiravan Thirumoorthy [10] = PINGROUP(10, pon_rx_los, qup_se3, pwm0, _, _, qdss_tracedata_a, _, _, _), 811*a549fe22SKathiravan Thirumoorthy [11] = PINGROUP(11, pon_active_led, qup_se3, pwm0, _, _, qdss_tracedata_a, _, _, _), 812*a549fe22SKathiravan Thirumoorthy [12] = PINGROUP(12, pon_tx_dis, qup_se2, pwm0, audio_pri_mclk_out0, audio_pri_mclk_in0, _, qrng_rosc0, qdss_tracedata_a, _), 813*a549fe22SKathiravan Thirumoorthy [13] = PINGROUP(13, gpn_tx_dis, qup_se2, pwm0, audio_pri_mclk_out3, audio_pri_mclk_in3, _, qrng_rosc1, qdss_tracedata_a, _), 814*a549fe22SKathiravan Thirumoorthy [14] = PINGROUP(14, pon_tx_burst, qup_se0, _, qrng_rosc2, qdss_tracedata_a, _, _, _, _), 815*a549fe22SKathiravan Thirumoorthy [15] = PINGROUP(15, pon_tx, qup_se0, _, qdss_tracedata_a, _, _, _, _, _), 816*a549fe22SKathiravan Thirumoorthy [16] = PINGROUP(16, pon_tx_sd, audio_sec_mclk_out1, audio_sec_mclk_in1, qdss_cti_trig_out_b0, _, _, _, _, _), 817*a549fe22SKathiravan Thirumoorthy [17] = PINGROUP(17, pon_tx_fault, audio_sec_mclk_out0, audio_sec_mclk_in0, _, _, _, _, _, _), 818*a549fe22SKathiravan Thirumoorthy [18] = PINGROUP(18, pps, pll_test, _, _, _, _, _, _, _), 819*a549fe22SKathiravan Thirumoorthy [19] = PINGROUP(19, mux_tod_out, audio_pri_mclk_out1, audio_pri_mclk_in1, _, _, _, _, _, _), 820*a549fe22SKathiravan Thirumoorthy [20] = PINGROUP(20, qup_se2, mdc_slv1, tsens_max, qdss_tracedata_a, _, _, _, _, _), 821*a549fe22SKathiravan Thirumoorthy [21] = PINGROUP(21, qup_se2, mdio_slv1, qdss_tracedata_a, _, _, _, _, _, _), 822*a549fe22SKathiravan Thirumoorthy [22] = PINGROUP(22, core_voltage_0, qup_se3, pwm3, _, _, _, _, _, _), 823*a549fe22SKathiravan Thirumoorthy [23] = PINGROUP(23, led0, qup_se3, dbg_out_clk, qdss_traceclk_a, _, _, _, _, _), 824*a549fe22SKathiravan Thirumoorthy [24] = PINGROUP(24, _, _, _, _, _, _, _, _, _), 825*a549fe22SKathiravan Thirumoorthy [25] = PINGROUP(25, _, _, _, _, _, _, _, _, _), 826*a549fe22SKathiravan Thirumoorthy [26] = PINGROUP(26, mdc_mst, led2, _, qdss_tracectl_a, _, _, _, _, _), 827*a549fe22SKathiravan Thirumoorthy [27] = PINGROUP(27, mdio_mst, led1, _, _, _, _, _, _, _), 828*a549fe22SKathiravan Thirumoorthy [28] = PINGROUP(28, pcie1_clk_req_n, qup_se1, _, _, qdss_cti_trig_out_a0, _, _, _, _), 829*a549fe22SKathiravan Thirumoorthy [29] = PINGROUP(29, _, _, _, _, _, _, _, _, _), 830*a549fe22SKathiravan Thirumoorthy [30] = PINGROUP(30, pcie1_wake, qup_se1, _, _, qdss_cti_trig_in_a0, _, _, _, _), 831*a549fe22SKathiravan Thirumoorthy [31] = PINGROUP(31, pcie0_clk_req_n, mdc_slv0, _, qdss_cti_trig_out_a1, _, _, _, _, _), 832*a549fe22SKathiravan Thirumoorthy [32] = PINGROUP(32, _, _, _, _, _, _, _, _, _), 833*a549fe22SKathiravan Thirumoorthy [33] = PINGROUP(33, pcie0_wake, mdio_slv0, qdss_cti_trig_in_a1, _, _, _, _, _, _), 834*a549fe22SKathiravan Thirumoorthy [34] = PINGROUP(34, audio_pri, atest_char_status0, qdss_cti_trig_in_b0, _, _, _, _, _, _), 835*a549fe22SKathiravan Thirumoorthy [35] = PINGROUP(35, audio_pri, rx_los2, atest_char_status1, qdss_cti_trig_out_b1, _, _, _, _, _), 836*a549fe22SKathiravan Thirumoorthy [36] = PINGROUP(36, audio_pri, _, rx_los1, atest_char_status2, _, _, _, _, _), 837*a549fe22SKathiravan Thirumoorthy [37] = PINGROUP(37, audio_pri, rx_los0, atest_char_status3, _, qdss_cti_trig_in_b1, _, _, _, _), 838*a549fe22SKathiravan Thirumoorthy [38] = PINGROUP(38, qup_se1, led2, gcc_plltest_bypassnl, qdss_tracedata_a, _, _, _, _, _), 839*a549fe22SKathiravan Thirumoorthy [39] = PINGROUP(39, qup_se1, led1, led0, gcc_tlmm, qdss_tracedata_a, _, _, _, _), 840*a549fe22SKathiravan Thirumoorthy [40] = PINGROUP(40, qup_se4, rx_los2, audio_sec, gcc_plltest_resetn, qdss_tracedata_a, _, _, _, _), 841*a549fe22SKathiravan Thirumoorthy [41] = PINGROUP(41, qup_se4, rx_los1, audio_sec, qdss_tracedata_a, _, _, _, _, _), 842*a549fe22SKathiravan Thirumoorthy [42] = PINGROUP(42, qup_se4, rx_los0, audio_sec, atest_tic_en, _, _, _, _, _), 843*a549fe22SKathiravan Thirumoorthy [43] = PINGROUP(43, qup_se4, audio_sec, _, _, _, _, _, _, _), 844*a549fe22SKathiravan Thirumoorthy [44] = PINGROUP(44, resout, _, _, _, _, _, _, _, _), 845*a549fe22SKathiravan Thirumoorthy [45] = PINGROUP(45, pon_mux_sel, _, _, _, _, _, _, _, _), 846*a549fe22SKathiravan Thirumoorthy [46] = PINGROUP(46, dg_out, atest_char_start, _, _, _, _, _, _, _), 847*a549fe22SKathiravan Thirumoorthy [47] = PINGROUP(47, gpn_rx_los, mdc_slv2, qup_se5, _, _, _, _, _, _), 848*a549fe22SKathiravan Thirumoorthy [48] = PINGROUP(48, pon_rx, qup_se5, _, _, _, _, _, _, _), 849*a549fe22SKathiravan Thirumoorthy [49] = PINGROUP(49, gpn_tx_fault, mdio_slv2, qup_se5, audio_sec_mclk_out2, audio_sec_mclk_in2, _, _, _, _), 850*a549fe22SKathiravan Thirumoorthy [50] = PINGROUP(50, gpn_tx_sd, qup_se5, audio_sec_mclk_out3, audio_sec_mclk_in3, _, _, _, _, _), 851*a549fe22SKathiravan Thirumoorthy [51] = PINGROUP(51, gpn_tx_burst, qup_se5, _, _, _, _, _, _, _), 852*a549fe22SKathiravan Thirumoorthy [52] = PINGROUP(52, qup_se2, qup_se5, qup_se4, qup_se5_l1, _, _, _, _, _), 853*a549fe22SKathiravan Thirumoorthy [53] = PINGROUP(53, qup_se2, qup_se4, qup_se5_l1, _, _, _, _, _, _), 854*a549fe22SKathiravan Thirumoorthy }; 855*a549fe22SKathiravan Thirumoorthy 856*a549fe22SKathiravan Thirumoorthy static const struct msm_pinctrl_soc_data ipq5210_tlmm = { 857*a549fe22SKathiravan Thirumoorthy .pins = ipq5210_pins, 858*a549fe22SKathiravan Thirumoorthy .npins = ARRAY_SIZE(ipq5210_pins), 859*a549fe22SKathiravan Thirumoorthy .functions = ipq5210_functions, 860*a549fe22SKathiravan Thirumoorthy .nfunctions = ARRAY_SIZE(ipq5210_functions), 861*a549fe22SKathiravan Thirumoorthy .groups = ipq5210_groups, 862*a549fe22SKathiravan Thirumoorthy .ngroups = ARRAY_SIZE(ipq5210_groups), 863*a549fe22SKathiravan Thirumoorthy .ngpios = 54, 864*a549fe22SKathiravan Thirumoorthy }; 865*a549fe22SKathiravan Thirumoorthy 866*a549fe22SKathiravan Thirumoorthy static const struct of_device_id ipq5210_tlmm_of_match[] = { 867*a549fe22SKathiravan Thirumoorthy { .compatible = "qcom,ipq5210-tlmm", }, 868*a549fe22SKathiravan Thirumoorthy { }, 869*a549fe22SKathiravan Thirumoorthy }; 870*a549fe22SKathiravan Thirumoorthy 871*a549fe22SKathiravan Thirumoorthy static int ipq5210_tlmm_probe(struct platform_device *pdev) 872*a549fe22SKathiravan Thirumoorthy { 873*a549fe22SKathiravan Thirumoorthy return msm_pinctrl_probe(pdev, &ipq5210_tlmm); 874*a549fe22SKathiravan Thirumoorthy } 875*a549fe22SKathiravan Thirumoorthy 876*a549fe22SKathiravan Thirumoorthy static struct platform_driver ipq5210_tlmm_driver = { 877*a549fe22SKathiravan Thirumoorthy .driver = { 878*a549fe22SKathiravan Thirumoorthy .name = "ipq5210-tlmm", 879*a549fe22SKathiravan Thirumoorthy .of_match_table = ipq5210_tlmm_of_match, 880*a549fe22SKathiravan Thirumoorthy }, 881*a549fe22SKathiravan Thirumoorthy .probe = ipq5210_tlmm_probe, 882*a549fe22SKathiravan Thirumoorthy }; 883*a549fe22SKathiravan Thirumoorthy 884*a549fe22SKathiravan Thirumoorthy static int __init ipq5210_tlmm_init(void) 885*a549fe22SKathiravan Thirumoorthy { 886*a549fe22SKathiravan Thirumoorthy return platform_driver_register(&ipq5210_tlmm_driver); 887*a549fe22SKathiravan Thirumoorthy } 888*a549fe22SKathiravan Thirumoorthy arch_initcall(ipq5210_tlmm_init); 889*a549fe22SKathiravan Thirumoorthy 890*a549fe22SKathiravan Thirumoorthy static void __exit ipq5210_tlmm_exit(void) 891*a549fe22SKathiravan Thirumoorthy { 892*a549fe22SKathiravan Thirumoorthy platform_driver_unregister(&ipq5210_tlmm_driver); 893*a549fe22SKathiravan Thirumoorthy } 894*a549fe22SKathiravan Thirumoorthy module_exit(ipq5210_tlmm_exit); 895*a549fe22SKathiravan Thirumoorthy 896*a549fe22SKathiravan Thirumoorthy MODULE_DESCRIPTION("QTI IPQ5210 TLMM driver"); 897*a549fe22SKathiravan Thirumoorthy MODULE_LICENSE("GPL"); 898