// SPDX-License-Identifier: GPL-2.0
/*
 * Copyright (c) 2018, The Linux Foundation. All rights reserved.
 */

#include <linux/module.h>
#include <linux/of.h>
#include <linux/platform_device.h>
#include <linux/pinctrl/pinctrl.h>

#include "pinctrl-msm.h"

static const char * const qcs404_tiles[] = {
	"north",
	"south",
	"east"
};

enum {
	NORTH,
	SOUTH,
	EAST
};

#define FUNCTION(fname)					\
	[msm_mux_##fname] = {				\
		.name = #fname,				\
		.groups = fname##_groups,		\
		.ngroups = ARRAY_SIZE(fname##_groups),	\
	}

#define PINGROUP(id, _tile, f1, f2, f3, f4, f5, f6, f7, f8, f9)	\
	{						\
		.name = "gpio" #id,			\
		.pins = gpio##id##_pins,		\
		.npins = (unsigned int)ARRAY_SIZE(gpio##id##_pins),	\
		.funcs = (int[]){			\
			msm_mux_gpio, /* gpio mode */	\
			msm_mux_##f1,			\
			msm_mux_##f2,			\
			msm_mux_##f3,			\
			msm_mux_##f4,			\
			msm_mux_##f5,			\
			msm_mux_##f6,			\
			msm_mux_##f7,			\
			msm_mux_##f8,			\
			msm_mux_##f9			\
		},					\
		.nfuncs = 10,				\
		.ctl_reg = 0x1000 * id,		\
		.io_reg = 0x1000 * id + 0x4,		\
		.intr_cfg_reg = 0x1000 * id + 0x8,	\
		.intr_status_reg = 0x1000 * id + 0xc,	\
		.intr_target_reg = 0x1000 * id + 0x8,	\
		.tile = _tile,			\
		.mux_bit = 2,			\
		.pull_bit = 0,			\
		.drv_bit = 6,			\
		.oe_bit = 9,			\
		.in_bit = 0,			\
		.out_bit = 1,			\
		.intr_enable_bit = 0,		\
		.intr_status_bit = 0,		\
		.intr_target_bit = 5,		\
		.intr_target_kpss_val = 4,	\
		.intr_raw_status_bit = 4,	\
		.intr_polarity_bit = 1,		\
		.intr_detection_bit = 2,	\
		.intr_detection_width = 2,	\
	}

#define SDC_QDSD_PINGROUP(pg_name, ctl, pull, drv)	\
	{						\
		.name = #pg_name,			\
		.pins = pg_name##_pins,			\
		.npins = (unsigned int)ARRAY_SIZE(pg_name##_pins),	\
		.ctl_reg = ctl,				\
		.io_reg = 0,				\
		.intr_cfg_reg = 0,			\
		.intr_status_reg = 0,			\
		.intr_target_reg = 0,			\
		.tile = SOUTH,				\
		.mux_bit = -1,				\
		.pull_bit = pull,			\
		.drv_bit = drv,				\
		.oe_bit = -1,				\
		.in_bit = -1,				\
		.out_bit = -1,				\
		.intr_enable_bit = -1,			\
		.intr_status_bit = -1,			\
		.intr_target_bit = -1,			\
		.intr_raw_status_bit = -1,		\
		.intr_polarity_bit = -1,		\
		.intr_detection_bit = -1,		\
		.intr_detection_width = -1,		\
	}

static const struct pinctrl_pin_desc qcs404_pins[] = {
	PINCTRL_PIN(0, "GPIO_0"),
	PINCTRL_PIN(1, "GPIO_1"),
	PINCTRL_PIN(2, "GPIO_2"),
	PINCTRL_PIN(3, "GPIO_3"),
	PINCTRL_PIN(4, "GPIO_4"),
	PINCTRL_PIN(5, "GPIO_5"),
	PINCTRL_PIN(6, "GPIO_6"),
	PINCTRL_PIN(7, "GPIO_7"),
	PINCTRL_PIN(8, "GPIO_8"),
	PINCTRL_PIN(9, "GPIO_9"),
	PINCTRL_PIN(10, "GPIO_10"),
	PINCTRL_PIN(11, "GPIO_11"),
	PINCTRL_PIN(12, "GPIO_12"),
	PINCTRL_PIN(13, "GPIO_13"),
	PINCTRL_PIN(14, "GPIO_14"),
	PINCTRL_PIN(15, "GPIO_15"),
	PINCTRL_PIN(16, "GPIO_16"),
	PINCTRL_PIN(17, "GPIO_17"),
	PINCTRL_PIN(18, "GPIO_18"),
	PINCTRL_PIN(19, "GPIO_19"),
	PINCTRL_PIN(20, "GPIO_20"),
	PINCTRL_PIN(21, "GPIO_21"),
	PINCTRL_PIN(22, "GPIO_22"),
	PINCTRL_PIN(23, "GPIO_23"),
	PINCTRL_PIN(24, "GPIO_24"),
	PINCTRL_PIN(25, "GPIO_25"),
	PINCTRL_PIN(26, "GPIO_26"),
	PINCTRL_PIN(27, "GPIO_27"),
	PINCTRL_PIN(28, "GPIO_28"),
	PINCTRL_PIN(29, "GPIO_29"),
	PINCTRL_PIN(30, "GPIO_30"),
	PINCTRL_PIN(31, "GPIO_31"),
	PINCTRL_PIN(32, "GPIO_32"),
	PINCTRL_PIN(33, "GPIO_33"),
	PINCTRL_PIN(34, "GPIO_34"),
	PINCTRL_PIN(35, "GPIO_35"),
	PINCTRL_PIN(36, "GPIO_36"),
	PINCTRL_PIN(37, "GPIO_37"),
	PINCTRL_PIN(38, "GPIO_38"),
	PINCTRL_PIN(39, "GPIO_39"),
	PINCTRL_PIN(40, "GPIO_40"),
	PINCTRL_PIN(41, "GPIO_41"),
	PINCTRL_PIN(42, "GPIO_42"),
	PINCTRL_PIN(43, "GPIO_43"),
	PINCTRL_PIN(44, "GPIO_44"),
	PINCTRL_PIN(45, "GPIO_45"),
	PINCTRL_PIN(46, "GPIO_46"),
	PINCTRL_PIN(47, "GPIO_47"),
	PINCTRL_PIN(48, "GPIO_48"),
	PINCTRL_PIN(49, "GPIO_49"),
	PINCTRL_PIN(50, "GPIO_50"),
	PINCTRL_PIN(51, "GPIO_51"),
	PINCTRL_PIN(52, "GPIO_52"),
	PINCTRL_PIN(53, "GPIO_53"),
	PINCTRL_PIN(54, "GPIO_54"),
	PINCTRL_PIN(55, "GPIO_55"),
	PINCTRL_PIN(56, "GPIO_56"),
	PINCTRL_PIN(57, "GPIO_57"),
	PINCTRL_PIN(58, "GPIO_58"),
	PINCTRL_PIN(59, "GPIO_59"),
	PINCTRL_PIN(60, "GPIO_60"),
	PINCTRL_PIN(61, "GPIO_61"),
	PINCTRL_PIN(62, "GPIO_62"),
	PINCTRL_PIN(63, "GPIO_63"),
	PINCTRL_PIN(64, "GPIO_64"),
	PINCTRL_PIN(65, "GPIO_65"),
	PINCTRL_PIN(66, "GPIO_66"),
	PINCTRL_PIN(67, "GPIO_67"),
	PINCTRL_PIN(68, "GPIO_68"),
	PINCTRL_PIN(69, "GPIO_69"),
	PINCTRL_PIN(70, "GPIO_70"),
	PINCTRL_PIN(71, "GPIO_71"),
	PINCTRL_PIN(72, "GPIO_72"),
	PINCTRL_PIN(73, "GPIO_73"),
	PINCTRL_PIN(74, "GPIO_74"),
	PINCTRL_PIN(75, "GPIO_75"),
	PINCTRL_PIN(76, "GPIO_76"),
	PINCTRL_PIN(77, "GPIO_77"),
	PINCTRL_PIN(78, "GPIO_78"),
	PINCTRL_PIN(79, "GPIO_79"),
	PINCTRL_PIN(80, "GPIO_80"),
	PINCTRL_PIN(81, "GPIO_81"),
	PINCTRL_PIN(82, "GPIO_82"),
	PINCTRL_PIN(83, "GPIO_83"),
	PINCTRL_PIN(84, "GPIO_84"),
	PINCTRL_PIN(85, "GPIO_85"),
	PINCTRL_PIN(86, "GPIO_86"),
	PINCTRL_PIN(87, "GPIO_87"),
	PINCTRL_PIN(88, "GPIO_88"),
	PINCTRL_PIN(89, "GPIO_89"),
	PINCTRL_PIN(90, "GPIO_90"),
	PINCTRL_PIN(91, "GPIO_91"),
	PINCTRL_PIN(92, "GPIO_92"),
	PINCTRL_PIN(93, "GPIO_93"),
	PINCTRL_PIN(94, "GPIO_94"),
	PINCTRL_PIN(95, "GPIO_95"),
	PINCTRL_PIN(96, "GPIO_96"),
	PINCTRL_PIN(97, "GPIO_97"),
	PINCTRL_PIN(98, "GPIO_98"),
	PINCTRL_PIN(99, "GPIO_99"),
	PINCTRL_PIN(100, "GPIO_100"),
	PINCTRL_PIN(101, "GPIO_101"),
	PINCTRL_PIN(102, "GPIO_102"),
	PINCTRL_PIN(103, "GPIO_103"),
	PINCTRL_PIN(104, "GPIO_104"),
	PINCTRL_PIN(105, "GPIO_105"),
	PINCTRL_PIN(106, "GPIO_106"),
	PINCTRL_PIN(107, "GPIO_107"),
	PINCTRL_PIN(108, "GPIO_108"),
	PINCTRL_PIN(109, "GPIO_109"),
	PINCTRL_PIN(110, "GPIO_110"),
	PINCTRL_PIN(111, "GPIO_111"),
	PINCTRL_PIN(112, "GPIO_112"),
	PINCTRL_PIN(113, "GPIO_113"),
	PINCTRL_PIN(114, "GPIO_114"),
	PINCTRL_PIN(115, "GPIO_115"),
	PINCTRL_PIN(116, "GPIO_116"),
	PINCTRL_PIN(117, "GPIO_117"),
	PINCTRL_PIN(118, "GPIO_118"),
	PINCTRL_PIN(119, "GPIO_119"),
	PINCTRL_PIN(120, "SDC1_RCLK"),
	PINCTRL_PIN(121, "SDC1_CLK"),
	PINCTRL_PIN(122, "SDC1_CMD"),
	PINCTRL_PIN(123, "SDC1_DATA"),
	PINCTRL_PIN(124, "SDC2_CLK"),
	PINCTRL_PIN(125, "SDC2_CMD"),
	PINCTRL_PIN(126, "SDC2_DATA"),
};

#define DECLARE_MSM_GPIO_PINS(pin) \
	static const unsigned int gpio##pin##_pins[] = { pin }
DECLARE_MSM_GPIO_PINS(0);
DECLARE_MSM_GPIO_PINS(1);
DECLARE_MSM_GPIO_PINS(2);
DECLARE_MSM_GPIO_PINS(3);
DECLARE_MSM_GPIO_PINS(4);
DECLARE_MSM_GPIO_PINS(5);
DECLARE_MSM_GPIO_PINS(6);
DECLARE_MSM_GPIO_PINS(7);
DECLARE_MSM_GPIO_PINS(8);
DECLARE_MSM_GPIO_PINS(9);
DECLARE_MSM_GPIO_PINS(10);
DECLARE_MSM_GPIO_PINS(11);
DECLARE_MSM_GPIO_PINS(12);
DECLARE_MSM_GPIO_PINS(13);
DECLARE_MSM_GPIO_PINS(14);
DECLARE_MSM_GPIO_PINS(15);
DECLARE_MSM_GPIO_PINS(16);
DECLARE_MSM_GPIO_PINS(17);
DECLARE_MSM_GPIO_PINS(18);
DECLARE_MSM_GPIO_PINS(19);
DECLARE_MSM_GPIO_PINS(20);
DECLARE_MSM_GPIO_PINS(21);
DECLARE_MSM_GPIO_PINS(22);
DECLARE_MSM_GPIO_PINS(23);
DECLARE_MSM_GPIO_PINS(24);
DECLARE_MSM_GPIO_PINS(25);
DECLARE_MSM_GPIO_PINS(26);
DECLARE_MSM_GPIO_PINS(27);
DECLARE_MSM_GPIO_PINS(28);
DECLARE_MSM_GPIO_PINS(29);
DECLARE_MSM_GPIO_PINS(30);
DECLARE_MSM_GPIO_PINS(31);
DECLARE_MSM_GPIO_PINS(32);
DECLARE_MSM_GPIO_PINS(33);
DECLARE_MSM_GPIO_PINS(34);
DECLARE_MSM_GPIO_PINS(35);
DECLARE_MSM_GPIO_PINS(36);
DECLARE_MSM_GPIO_PINS(37);
DECLARE_MSM_GPIO_PINS(38);
DECLARE_MSM_GPIO_PINS(39);
DECLARE_MSM_GPIO_PINS(40);
DECLARE_MSM_GPIO_PINS(41);
DECLARE_MSM_GPIO_PINS(42);
DECLARE_MSM_GPIO_PINS(43);
DECLARE_MSM_GPIO_PINS(44);
DECLARE_MSM_GPIO_PINS(45);
DECLARE_MSM_GPIO_PINS(46);
DECLARE_MSM_GPIO_PINS(47);
DECLARE_MSM_GPIO_PINS(48);
DECLARE_MSM_GPIO_PINS(49);
DECLARE_MSM_GPIO_PINS(50);
DECLARE_MSM_GPIO_PINS(51);
DECLARE_MSM_GPIO_PINS(52);
DECLARE_MSM_GPIO_PINS(53);
DECLARE_MSM_GPIO_PINS(54);
DECLARE_MSM_GPIO_PINS(55);
DECLARE_MSM_GPIO_PINS(56);
DECLARE_MSM_GPIO_PINS(57);
DECLARE_MSM_GPIO_PINS(58);
DECLARE_MSM_GPIO_PINS(59);
DECLARE_MSM_GPIO_PINS(60);
DECLARE_MSM_GPIO_PINS(61);
DECLARE_MSM_GPIO_PINS(62);
DECLARE_MSM_GPIO_PINS(63);
DECLARE_MSM_GPIO_PINS(64);
DECLARE_MSM_GPIO_PINS(65);
DECLARE_MSM_GPIO_PINS(66);
DECLARE_MSM_GPIO_PINS(67);
DECLARE_MSM_GPIO_PINS(68);
DECLARE_MSM_GPIO_PINS(69);
DECLARE_MSM_GPIO_PINS(70);
DECLARE_MSM_GPIO_PINS(71);
DECLARE_MSM_GPIO_PINS(72);
DECLARE_MSM_GPIO_PINS(73);
DECLARE_MSM_GPIO_PINS(74);
DECLARE_MSM_GPIO_PINS(75);
DECLARE_MSM_GPIO_PINS(76);
DECLARE_MSM_GPIO_PINS(77);
DECLARE_MSM_GPIO_PINS(78);
DECLARE_MSM_GPIO_PINS(79);
DECLARE_MSM_GPIO_PINS(80);
DECLARE_MSM_GPIO_PINS(81);
DECLARE_MSM_GPIO_PINS(82);
DECLARE_MSM_GPIO_PINS(83);
DECLARE_MSM_GPIO_PINS(84);
DECLARE_MSM_GPIO_PINS(85);
DECLARE_MSM_GPIO_PINS(86);
DECLARE_MSM_GPIO_PINS(87);
DECLARE_MSM_GPIO_PINS(88);
DECLARE_MSM_GPIO_PINS(89);
DECLARE_MSM_GPIO_PINS(90);
DECLARE_MSM_GPIO_PINS(91);
DECLARE_MSM_GPIO_PINS(92);
DECLARE_MSM_GPIO_PINS(93);
DECLARE_MSM_GPIO_PINS(94);
DECLARE_MSM_GPIO_PINS(95);
DECLARE_MSM_GPIO_PINS(96);
DECLARE_MSM_GPIO_PINS(97);
DECLARE_MSM_GPIO_PINS(98);
DECLARE_MSM_GPIO_PINS(99);
DECLARE_MSM_GPIO_PINS(100);
DECLARE_MSM_GPIO_PINS(101);
DECLARE_MSM_GPIO_PINS(102);
DECLARE_MSM_GPIO_PINS(103);
DECLARE_MSM_GPIO_PINS(104);
DECLARE_MSM_GPIO_PINS(105);
DECLARE_MSM_GPIO_PINS(106);
DECLARE_MSM_GPIO_PINS(107);
DECLARE_MSM_GPIO_PINS(108);
DECLARE_MSM_GPIO_PINS(109);
DECLARE_MSM_GPIO_PINS(110);
DECLARE_MSM_GPIO_PINS(111);
DECLARE_MSM_GPIO_PINS(112);
DECLARE_MSM_GPIO_PINS(113);
DECLARE_MSM_GPIO_PINS(114);
DECLARE_MSM_GPIO_PINS(115);
DECLARE_MSM_GPIO_PINS(116);
DECLARE_MSM_GPIO_PINS(117);
DECLARE_MSM_GPIO_PINS(118);
DECLARE_MSM_GPIO_PINS(119);

static const unsigned int sdc1_rclk_pins[] = { 120 };
static const unsigned int sdc1_clk_pins[] = { 121 };
static const unsigned int sdc1_cmd_pins[] = { 122 };
static const unsigned int sdc1_data_pins[] = { 123 };
static const unsigned int sdc2_clk_pins[] = { 124 };
static const unsigned int sdc2_cmd_pins[] = { 125 };
static const unsigned int sdc2_data_pins[] = { 126 };

enum qcs404_functions {
	msm_mux_gpio,
	msm_mux_hdmi_tx,
	msm_mux_hdmi_ddc,
	msm_mux_blsp_uart_tx_a2,
	msm_mux_blsp_spi2,
	msm_mux_m_voc,
	msm_mux_qdss_cti_trig_in_a0,
	msm_mux_blsp_uart_rx_a2,
	msm_mux_qdss_tracectl_a,
	msm_mux_blsp_uart2,
	msm_mux_aud_cdc,
	msm_mux_blsp_i2c_sda_a2,
	msm_mux_qdss_tracedata_a,
	msm_mux_blsp_i2c_scl_a2,
	msm_mux_qdss_tracectl_b,
	msm_mux_qdss_cti_trig_in_b0,
	msm_mux_blsp_uart1,
	msm_mux_blsp_spi_mosi_a1,
	msm_mux_blsp_spi_miso_a1,
	msm_mux_qdss_tracedata_b,
	msm_mux_blsp_i2c1,
	msm_mux_blsp_spi_cs_n_a1,
	msm_mux_gcc_plltest,
	msm_mux_blsp_spi_clk_a1,
	msm_mux_rgb_data0,
	msm_mux_blsp_uart5,
	msm_mux_blsp_spi5,
	msm_mux_adsp_ext,
	msm_mux_rgb_data1,
	msm_mux_prng_rosc,
	msm_mux_rgb_data2,
	msm_mux_blsp_i2c5,
	msm_mux_gcc_gp1_clk_b,
	msm_mux_rgb_data3,
	msm_mux_gcc_gp2_clk_b,
	msm_mux_blsp_spi0,
	msm_mux_blsp_uart0,
	msm_mux_gcc_gp3_clk_b,
	msm_mux_blsp_i2c0,
	msm_mux_qdss_traceclk_b,
	msm_mux_pcie_clk,
	msm_mux_nfc_irq,
	msm_mux_blsp_spi4,
	msm_mux_nfc_dwl,
	msm_mux_audio_ts,
	msm_mux_rgb_data4,
	msm_mux_spi_lcd,
	msm_mux_blsp_uart_tx_b2,
	msm_mux_gcc_gp3_clk_a,
	msm_mux_rgb_data5,
	msm_mux_blsp_uart_rx_b2,
	msm_mux_blsp_i2c_sda_b2,
	msm_mux_blsp_i2c_scl_b2,
	msm_mux_pwm_led11,
	msm_mux_i2s_3_data0_a,
	msm_mux_ebi2_lcd,
	msm_mux_i2s_3_data1_a,
	msm_mux_i2s_3_data2_a,
	msm_mux_atest_char,
	msm_mux_pwm_led3,
	msm_mux_i2s_3_data3_a,
	msm_mux_pwm_led4,
	msm_mux_i2s_4,
	msm_mux_ebi2_a,
	msm_mux_dsd_clk_b,
	msm_mux_pwm_led5,
	msm_mux_pwm_led6,
	msm_mux_pwm_led7,
	msm_mux_pwm_led8,
	msm_mux_pwm_led24,
	msm_mux_spkr_dac0,
	msm_mux_blsp_i2c4,
	msm_mux_pwm_led9,
	msm_mux_pwm_led10,
	msm_mux_spdifrx_opt,
	msm_mux_pwm_led12,
	msm_mux_pwm_led13,
	msm_mux_pwm_led14,
	msm_mux_wlan1_adc1,
	msm_mux_rgb_data_b0,
	msm_mux_pwm_led15,
	msm_mux_blsp_spi_mosi_b1,
	msm_mux_wlan1_adc0,
	msm_mux_rgb_data_b1,
	msm_mux_pwm_led16,
	msm_mux_blsp_spi_miso_b1,
	msm_mux_qdss_cti_trig_out_b0,
	msm_mux_wlan2_adc1,
	msm_mux_rgb_data_b2,
	msm_mux_pwm_led17,
	msm_mux_blsp_spi_cs_n_b1,
	msm_mux_wlan2_adc0,
	msm_mux_rgb_data_b3,
	msm_mux_pwm_led18,
	msm_mux_blsp_spi_clk_b1,
	msm_mux_rgb_data_b4,
	msm_mux_pwm_led19,
	msm_mux_ext_mclk1_b,
	msm_mux_qdss_traceclk_a,
	msm_mux_rgb_data_b5,
	msm_mux_pwm_led20,
	msm_mux_atest_char3,
	msm_mux_i2s_3_sck_b,
	msm_mux_ldo_update,
	msm_mux_bimc_dte0,
	msm_mux_rgb_hsync,
	msm_mux_pwm_led21,
	msm_mux_i2s_3_ws_b,
	msm_mux_dbg_out,
	msm_mux_rgb_vsync,
	msm_mux_i2s_3_data0_b,
	msm_mux_ldo_en,
	msm_mux_hdmi_dtest,
	msm_mux_rgb_de,
	msm_mux_i2s_3_data1_b,
	msm_mux_hdmi_lbk9,
	msm_mux_rgb_clk,
	msm_mux_atest_char1,
	msm_mux_i2s_3_data2_b,
	msm_mux_ebi_cdc,
	msm_mux_hdmi_lbk8,
	msm_mux_rgb_mdp,
	msm_mux_atest_char0,
	msm_mux_i2s_3_data3_b,
	msm_mux_hdmi_lbk7,
	msm_mux_rgb_data_b6,
	msm_mux_rgb_data_b7,
	msm_mux_hdmi_lbk6,
	msm_mux_rgmii_int,
	msm_mux_cri_trng1,
	msm_mux_rgmii_wol,
	msm_mux_cri_trng0,
	msm_mux_gcc_tlmm,
	msm_mux_rgmii_ck,
	msm_mux_rgmii_tx,
	msm_mux_hdmi_lbk5,
	msm_mux_hdmi_pixel,
	msm_mux_hdmi_rcv,
	msm_mux_hdmi_lbk4,
	msm_mux_rgmii_ctl,
	msm_mux_ext_lpass,
	msm_mux_rgmii_rx,
	msm_mux_cri_trng,
	msm_mux_hdmi_lbk3,
	msm_mux_hdmi_lbk2,
	msm_mux_qdss_cti_trig_out_b1,
	msm_mux_rgmii_mdio,
	msm_mux_hdmi_lbk1,
	msm_mux_rgmii_mdc,
	msm_mux_hdmi_lbk0,
	msm_mux_ir_in,
	msm_mux_wsa_en,
	msm_mux_rgb_data6,
	msm_mux_rgb_data7,
	msm_mux_atest_char2,
	msm_mux_ebi_ch0,
	msm_mux_blsp_uart3,
	msm_mux_blsp_spi3,
	msm_mux_sd_write,
	msm_mux_blsp_i2c3,
	msm_mux_gcc_gp1_clk_a,
	msm_mux_qdss_cti_trig_in_b1,
	msm_mux_gcc_gp2_clk_a,
	msm_mux_ext_mclk0,
	msm_mux_mclk_in1,
	msm_mux_i2s_1,
	msm_mux_dsd_clk_a,
	msm_mux_qdss_cti_trig_in_a1,
	msm_mux_rgmi_dll1,
	msm_mux_pwm_led22,
	msm_mux_pwm_led23,
	msm_mux_qdss_cti_trig_out_a0,
	msm_mux_rgmi_dll2,
	msm_mux_pwm_led1,
	msm_mux_qdss_cti_trig_out_a1,
	msm_mux_pwm_led2,
	msm_mux_i2s_2,
	msm_mux_pll_bist,
	msm_mux_ext_mclk1_a,
	msm_mux_mclk_in2,
	msm_mux_bimc_dte1,
	msm_mux_i2s_3_sck_a,
	msm_mux_i2s_3_ws_a,
	msm_mux__,
};

static const char * const gpio_groups[] = {
	"gpio0", "gpio1", "gpio2", "gpio3", "gpio4", "gpio5", "gpio6", "gpio7",
	"gpio8", "gpio9", "gpio10", "gpio11", "gpio12", "gpio13", "gpio14",
	"gpio15", "gpio16", "gpio17", "gpio18", "gpio19", "gpio20", "gpio21",
	"gpio21", "gpio21", "gpio22", "gpio22", "gpio23", "gpio23", "gpio24",
	"gpio25", "gpio26", "gpio27", "gpio28", "gpio29", "gpio30", "gpio31",
	"gpio32", "gpio33", "gpio34", "gpio35", "gpio36", "gpio36", "gpio36",
	"gpio36", "gpio37", "gpio37", "gpio37", "gpio38", "gpio38", "gpio38",
	"gpio39", "gpio39", "gpio40", "gpio40", "gpio41", "gpio41", "gpio41",
	"gpio42", "gpio43", "gpio44", "gpio45", "gpio46", "gpio47", "gpio48",
	"gpio49", "gpio50", "gpio51", "gpio52", "gpio53", "gpio54", "gpio55",
	"gpio56", "gpio57", "gpio58", "gpio59", "gpio59", "gpio60", "gpio61",
	"gpio62", "gpio63", "gpio64", "gpio65", "gpio66", "gpio67", "gpio68",
	"gpio69", "gpio70", "gpio71", "gpio72", "gpio73", "gpio74", "gpio75",
	"gpio76", "gpio77", "gpio77", "gpio78", "gpio78", "gpio78", "gpio79",
	"gpio79", "gpio79", "gpio80", "gpio81", "gpio81", "gpio82", "gpio83",
	"gpio84", "gpio85", "gpio86", "gpio87", "gpio88", "gpio89", "gpio90",
	"gpio91", "gpio92", "gpio93", "gpio94", "gpio95", "gpio96", "gpio97",
	"gpio98", "gpio99", "gpio100", "gpio101", "gpio102", "gpio103",
	"gpio104", "gpio105", "gpio106", "gpio107", "gpio108", "gpio108",
	"gpio108", "gpio109", "gpio109", "gpio110", "gpio111", "gpio112",
	"gpio113", "gpio114", "gpio115", "gpio116", "gpio117", "gpio118",
	"gpio119",
};

static const char * const hdmi_tx_groups[] = {
	"gpio14",
};

static const char * const hdmi_ddc_groups[] = {
	"gpio15", "gpio16",
};

static const char * const blsp_uart_tx_a2_groups[] = {
	"gpio17",
};

static const char * const blsp_spi2_groups[] = {
	"gpio17", "gpio18", "gpio19", "gpio20",
};

static const char * const m_voc_groups[] = {
	"gpio17", "gpio21",
};

static const char * const qdss_cti_trig_in_a0_groups[] = {
	"gpio17",
};

static const char * const blsp_uart_rx_a2_groups[] = {
	"gpio18",
};

static const char * const qdss_tracectl_a_groups[] = {
	"gpio18",
};

static const char * const blsp_uart2_groups[] = {
	"gpio19", "gpio20",
};

static const char * const aud_cdc_groups[] = {
	"gpio19", "gpio20",
};

static const char * const blsp_i2c_sda_a2_groups[] = {
	"gpio19",
};

static const char * const qdss_tracedata_a_groups[] = {
	"gpio19", "gpio24", "gpio25", "gpio26", "gpio27", "gpio28", "gpio30",
	"gpio31", "gpio32", "gpio36", "gpio38", "gpio39", "gpio42", "gpio43",
	"gpio82", "gpio83",
};

static const char * const blsp_i2c_scl_a2_groups[] = {
	"gpio20",
};

static const char * const qdss_tracectl_b_groups[] = {
	"gpio20",
};

static const char * const qdss_cti_trig_in_b0_groups[] = {
	"gpio21",
};

static const char * const blsp_uart1_groups[] = {
	"gpio22", "gpio23", "gpio24", "gpio25",
};

static const char * const blsp_spi_mosi_a1_groups[] = {
	"gpio22",
};

static const char * const blsp_spi_miso_a1_groups[] = {
	"gpio23",
};

static const char * const qdss_tracedata_b_groups[] = {
	"gpio23", "gpio35", "gpio40", "gpio41", "gpio44", "gpio45", "gpio46",
	"gpio47", "gpio49", "gpio50", "gpio55", "gpio61", "gpio62", "gpio85",
	"gpio89", "gpio93",
};

static const char * const blsp_i2c1_groups[] = {
	"gpio24", "gpio25",
};

static const char * const blsp_spi_cs_n_a1_groups[] = {
	"gpio24",
};

static const char * const gcc_plltest_groups[] = {
	"gpio24", "gpio25",
};

static const char * const blsp_spi_clk_a1_groups[] = {
	"gpio25",
};

static const char * const rgb_data0_groups[] = {
	"gpio26", "gpio41",
};

static const char * const blsp_uart5_groups[] = {
	"gpio26", "gpio27", "gpio28", "gpio29",
};

static const char * const blsp_spi5_groups[] = {
	"gpio26", "gpio27", "gpio28", "gpio29", "gpio44", "gpio45", "gpio46",
};

static const char * const adsp_ext_groups[] = {
	"gpio26",
};

static const char * const rgb_data1_groups[] = {
	"gpio27", "gpio42",
};

static const char * const prng_rosc_groups[] = {
	"gpio27",
};

static const char * const rgb_data2_groups[] = {
	"gpio28", "gpio43",
};

static const char * const blsp_i2c5_groups[] = {
	"gpio28", "gpio29",
};

static const char * const gcc_gp1_clk_b_groups[] = {
	"gpio28",
};

static const char * const rgb_data3_groups[] = {
	"gpio29", "gpio44",
};

static const char * const gcc_gp2_clk_b_groups[] = {
	"gpio29",
};

static const char * const blsp_spi0_groups[] = {
	"gpio30", "gpio31", "gpio32", "gpio33",
};

static const char * const blsp_uart0_groups[] = {
	"gpio30", "gpio31", "gpio32", "gpio33",
};

static const char * const gcc_gp3_clk_b_groups[] = {
	"gpio30",
};

static const char * const blsp_i2c0_groups[] = {
	"gpio32", "gpio33",
};

static const char * const qdss_traceclk_b_groups[] = {
	"gpio34",
};

static const char * const pcie_clk_groups[] = {
	"gpio35",
};

static const char * const nfc_irq_groups[] = {
	"gpio37",
};

static const char * const blsp_spi4_groups[] = {
	"gpio37", "gpio38", "gpio117", "gpio118",
};

static const char * const nfc_dwl_groups[] = {
	"gpio38",
};

static const char * const audio_ts_groups[] = {
	"gpio38",
};

static const char * const rgb_data4_groups[] = {
	"gpio39", "gpio45",
};

static const char * const spi_lcd_groups[] = {
	"gpio39", "gpio40",
};

static const char * const blsp_uart_tx_b2_groups[] = {
	"gpio39",
};

static const char * const gcc_gp3_clk_a_groups[] = {
	"gpio39",
};

static const char * const rgb_data5_groups[] = {
	"gpio40", "gpio46",
};

static const char * const blsp_uart_rx_b2_groups[] = {
	"gpio40",
};

static const char * const blsp_i2c_sda_b2_groups[] = {
	"gpio41",
};

static const char * const blsp_i2c_scl_b2_groups[] = {
	"gpio42",
};

static const char * const pwm_led11_groups[] = {
	"gpio43",
};

static const char * const i2s_3_data0_a_groups[] = {
	"gpio106",
};

static const char * const ebi2_lcd_groups[] = {
	"gpio106", "gpio107", "gpio108", "gpio109",
};

static const char * const i2s_3_data1_a_groups[] = {
	"gpio107",
};

static const char * const i2s_3_data2_a_groups[] = {
	"gpio108",
};

static const char * const atest_char_groups[] = {
	"gpio108",
};

static const char * const pwm_led3_groups[] = {
	"gpio108",
};

static const char * const i2s_3_data3_a_groups[] = {
	"gpio109",
};

static const char * const pwm_led4_groups[] = {
	"gpio109",
};

static const char * const i2s_4_groups[] = {
	"gpio110", "gpio111", "gpio111", "gpio112", "gpio112", "gpio113",
	"gpio113", "gpio114", "gpio114", "gpio115", "gpio115", "gpio116",
};

static const char * const ebi2_a_groups[] = {
	"gpio110",
};

static const char * const dsd_clk_b_groups[] = {
	"gpio110",
};

static const char * const pwm_led5_groups[] = {
	"gpio110",
};

static const char * const pwm_led6_groups[] = {
	"gpio111",
};

static const char * const pwm_led7_groups[] = {
	"gpio112",
};

static const char * const pwm_led8_groups[] = {
	"gpio113",
};

static const char * const pwm_led24_groups[] = {
	"gpio114",
};

static const char * const spkr_dac0_groups[] = {
	"gpio116",
};

static const char * const blsp_i2c4_groups[] = {
	"gpio117", "gpio118",
};

static const char * const pwm_led9_groups[] = {
	"gpio117",
};

static const char * const pwm_led10_groups[] = {
	"gpio118",
};

static const char * const spdifrx_opt_groups[] = {
	"gpio119",
};

static const char * const pwm_led12_groups[] = {
	"gpio44",
};

static const char * const pwm_led13_groups[] = {
	"gpio45",
};

static const char * const pwm_led14_groups[] = {
	"gpio46",
};

static const char * const wlan1_adc1_groups[] = {
	"gpio46",
};

static const char * const rgb_data_b0_groups[] = {
	"gpio47",
};

static const char * const pwm_led15_groups[] = {
	"gpio47",
};

static const char * const blsp_spi_mosi_b1_groups[] = {
	"gpio47",
};

static const char * const wlan1_adc0_groups[] = {
	"gpio47",
};

static const char * const rgb_data_b1_groups[] = {
	"gpio48",
};

static const char * const pwm_led16_groups[] = {
	"gpio48",
};

static const char * const blsp_spi_miso_b1_groups[] = {
	"gpio48",
};

static const char * const qdss_cti_trig_out_b0_groups[] = {
	"gpio48",
};

static const char * const wlan2_adc1_groups[] = {
	"gpio48",
};

static const char * const rgb_data_b2_groups[] = {
	"gpio49",
};

static const char * const pwm_led17_groups[] = {
	"gpio49",
};

static const char * const blsp_spi_cs_n_b1_groups[] = {
	"gpio49",
};

static const char * const wlan2_adc0_groups[] = {
	"gpio49",
};

static const char * const rgb_data_b3_groups[] = {
	"gpio50",
};

static const char * const pwm_led18_groups[] = {
	"gpio50",
};

static const char * const blsp_spi_clk_b1_groups[] = {
	"gpio50",
};

static const char * const rgb_data_b4_groups[] = {
	"gpio51",
};

static const char * const pwm_led19_groups[] = {
	"gpio51",
};

static const char * const ext_mclk1_b_groups[] = {
	"gpio51",
};

static const char * const qdss_traceclk_a_groups[] = {
	"gpio51",
};

static const char * const rgb_data_b5_groups[] = {
	"gpio52",
};

static const char * const pwm_led20_groups[] = {
	"gpio52",
};

static const char * const atest_char3_groups[] = {
	"gpio52",
};

static const char * const i2s_3_sck_b_groups[] = {
	"gpio52",
};

static const char * const ldo_update_groups[] = {
	"gpio52",
};

static const char * const bimc_dte0_groups[] = {
	"gpio52", "gpio54",
};

static const char * const rgb_hsync_groups[] = {
	"gpio53",
};

static const char * const pwm_led21_groups[] = {
	"gpio53",
};

static const char * const i2s_3_ws_b_groups[] = {
	"gpio53",
};

static const char * const dbg_out_groups[] = {
	"gpio53",
};

static const char * const rgb_vsync_groups[] = {
	"gpio54",
};

static const char * const i2s_3_data0_b_groups[] = {
	"gpio54",
};

static const char * const ldo_en_groups[] = {
	"gpio54",
};

static const char * const hdmi_dtest_groups[] = {
	"gpio54",
};

static const char * const rgb_de_groups[] = {
	"gpio55",
};

static const char * const i2s_3_data1_b_groups[] = {
	"gpio55",
};

static const char * const hdmi_lbk9_groups[] = {
	"gpio55",
};

static const char * const rgb_clk_groups[] = {
	"gpio56",
};

static const char * const atest_char1_groups[] = {
	"gpio56",
};

static const char * const i2s_3_data2_b_groups[] = {
	"gpio56",
};

static const char * const ebi_cdc_groups[] = {
	"gpio56", "gpio58", "gpio106", "gpio107", "gpio108", "gpio111",
};

static const char * const hdmi_lbk8_groups[] = {
	"gpio56",
};

static const char * const rgb_mdp_groups[] = {
	"gpio57",
};

static const char * const atest_char0_groups[] = {
	"gpio57",
};

static const char * const i2s_3_data3_b_groups[] = {
	"gpio57",
};

static const char * const hdmi_lbk7_groups[] = {
	"gpio57",
};

static const char * const rgb_data_b6_groups[] = {
	"gpio58",
};

static const char * const rgb_data_b7_groups[] = {
	"gpio59",
};

static const char * const hdmi_lbk6_groups[] = {
	"gpio59",
};

static const char * const rgmii_int_groups[] = {
	"gpio61",
};

static const char * const cri_trng1_groups[] = {
	"gpio61",
};

static const char * const rgmii_wol_groups[] = {
	"gpio62",
};

static const char * const cri_trng0_groups[] = {
	"gpio62",
};

static const char * const gcc_tlmm_groups[] = {
	"gpio62",
};

static const char * const rgmii_ck_groups[] = {
	"gpio63", "gpio69",
};

static const char * const rgmii_tx_groups[] = {
	"gpio64", "gpio65", "gpio66", "gpio67",
};

static const char * const hdmi_lbk5_groups[] = {
	"gpio64",
};

static const char * const hdmi_pixel_groups[] = {
	"gpio65",
};

static const char * const hdmi_rcv_groups[] = {
	"gpio66",
};

static const char * const hdmi_lbk4_groups[] = {
	"gpio67",
};

static const char * const rgmii_ctl_groups[] = {
	"gpio68", "gpio74",
};

static const char * const ext_lpass_groups[] = {
	"gpio69",
};

static const char * const rgmii_rx_groups[] = {
	"gpio70", "gpio71", "gpio72", "gpio73",
};

static const char * const cri_trng_groups[] = {
	"gpio70",
};

static const char * const hdmi_lbk3_groups[] = {
	"gpio71",
};

static const char * const hdmi_lbk2_groups[] = {
	"gpio72",
};

static const char * const qdss_cti_trig_out_b1_groups[] = {
	"gpio73",
};

static const char * const rgmii_mdio_groups[] = {
	"gpio75",
};

static const char * const hdmi_lbk1_groups[] = {
	"gpio75",
};

static const char * const rgmii_mdc_groups[] = {
	"gpio76",
};

static const char * const hdmi_lbk0_groups[] = {
	"gpio76",
};

static const char * const ir_in_groups[] = {
	"gpio77",
};

static const char * const wsa_en_groups[] = {
	"gpio77",
};

static const char * const rgb_data6_groups[] = {
	"gpio78", "gpio80",
};

static const char * const rgb_data7_groups[] = {
	"gpio79", "gpio81",
};

static const char * const atest_char2_groups[] = {
	"gpio80",
};

static const char * const ebi_ch0_groups[] = {
	"gpio81",
};

static const char * const blsp_uart3_groups[] = {
	"gpio82", "gpio83", "gpio84", "gpio85",
};

static const char * const blsp_spi3_groups[] = {
	"gpio82", "gpio83", "gpio84", "gpio85",
};

static const char * const sd_write_groups[] = {
	"gpio82",
};

static const char * const blsp_i2c3_groups[] = {
	"gpio84", "gpio85",
};

static const char * const gcc_gp1_clk_a_groups[] = {
	"gpio84",
};

static const char * const qdss_cti_trig_in_b1_groups[] = {
	"gpio84",
};

static const char * const gcc_gp2_clk_a_groups[] = {
	"gpio85",
};

static const char * const ext_mclk0_groups[] = {
	"gpio86",
};

static const char * const mclk_in1_groups[] = {
	"gpio86",
};

static const char * const i2s_1_groups[] = {
	"gpio87", "gpio88", "gpio88", "gpio89", "gpio89", "gpio90", "gpio90",
	"gpio91", "gpio91", "gpio92", "gpio92", "gpio93", "gpio93", "gpio94",
	"gpio94", "gpio95", "gpio95", "gpio96",
};

static const char * const dsd_clk_a_groups[] = {
	"gpio87",
};

static const char * const qdss_cti_trig_in_a1_groups[] = {
	"gpio92",
};

static const char * const rgmi_dll1_groups[] = {
	"gpio92",
};

static const char * const pwm_led22_groups[] = {
	"gpio93",
};

static const char * const pwm_led23_groups[] = {
	"gpio94",
};

static const char * const qdss_cti_trig_out_a0_groups[] = {
	"gpio94",
};

static const char * const rgmi_dll2_groups[] = {
	"gpio94",
};

static const char * const pwm_led1_groups[] = {
	"gpio95",
};

static const char * const qdss_cti_trig_out_a1_groups[] = {
	"gpio95",
};

static const char * const pwm_led2_groups[] = {
	"gpio96",
};

static const char * const i2s_2_groups[] = {
	"gpio97", "gpio98", "gpio99", "gpio100", "gpio101", "gpio102",
};

static const char * const pll_bist_groups[] = {
	"gpio100",
};

static const char * const ext_mclk1_a_groups[] = {
	"gpio103",
};

static const char * const mclk_in2_groups[] = {
	"gpio103",
};

static const char * const bimc_dte1_groups[] = {
	"gpio103", "gpio109",
};

static const char * const i2s_3_sck_a_groups[] = {
	"gpio104",
};

static const char * const i2s_3_ws_a_groups[] = {
	"gpio105",
};

static const struct msm_function qcs404_functions[] = {
	FUNCTION(gpio),
	FUNCTION(hdmi_tx),
	FUNCTION(hdmi_ddc),
	FUNCTION(blsp_uart_tx_a2),
	FUNCTION(blsp_spi2),
	FUNCTION(m_voc),
	FUNCTION(qdss_cti_trig_in_a0),
	FUNCTION(blsp_uart_rx_a2),
	FUNCTION(qdss_tracectl_a),
	FUNCTION(blsp_uart2),
	FUNCTION(aud_cdc),
	FUNCTION(blsp_i2c_sda_a2),
	FUNCTION(qdss_tracedata_a),
	FUNCTION(blsp_i2c_scl_a2),
	FUNCTION(qdss_tracectl_b),
	FUNCTION(qdss_cti_trig_in_b0),
	FUNCTION(blsp_uart1),
	FUNCTION(blsp_spi_mosi_a1),
	FUNCTION(blsp_spi_miso_a1),
	FUNCTION(qdss_tracedata_b),
	FUNCTION(blsp_i2c1),
	FUNCTION(blsp_spi_cs_n_a1),
	FUNCTION(gcc_plltest),
	FUNCTION(blsp_spi_clk_a1),
	FUNCTION(rgb_data0),
	FUNCTION(blsp_uart5),
	FUNCTION(blsp_spi5),
	FUNCTION(adsp_ext),
	FUNCTION(rgb_data1),
	FUNCTION(prng_rosc),
	FUNCTION(rgb_data2),
	FUNCTION(blsp_i2c5),
	FUNCTION(gcc_gp1_clk_b),
	FUNCTION(rgb_data3),
	FUNCTION(gcc_gp2_clk_b),
	FUNCTION(blsp_spi0),
	FUNCTION(blsp_uart0),
	FUNCTION(gcc_gp3_clk_b),
	FUNCTION(blsp_i2c0),
	FUNCTION(qdss_traceclk_b),
	FUNCTION(pcie_clk),
	FUNCTION(nfc_irq),
	FUNCTION(blsp_spi4),
	FUNCTION(nfc_dwl),
	FUNCTION(audio_ts),
	FUNCTION(rgb_data4),
	FUNCTION(spi_lcd),
	FUNCTION(blsp_uart_tx_b2),
	FUNCTION(gcc_gp3_clk_a),
	FUNCTION(rgb_data5),
	FUNCTION(blsp_uart_rx_b2),
	FUNCTION(blsp_i2c_sda_b2),
	FUNCTION(blsp_i2c_scl_b2),
	FUNCTION(pwm_led11),
	FUNCTION(i2s_3_data0_a),
	FUNCTION(ebi2_lcd),
	FUNCTION(i2s_3_data1_a),
	FUNCTION(i2s_3_data2_a),
	FUNCTION(atest_char),
	FUNCTION(pwm_led3),
	FUNCTION(i2s_3_data3_a),
	FUNCTION(pwm_led4),
	FUNCTION(i2s_4),
	FUNCTION(ebi2_a),
	FUNCTION(dsd_clk_b),
	FUNCTION(pwm_led5),
	FUNCTION(pwm_led6),
	FUNCTION(pwm_led7),
	FUNCTION(pwm_led8),
	FUNCTION(pwm_led24),
	FUNCTION(spkr_dac0),
	FUNCTION(blsp_i2c4),
	FUNCTION(pwm_led9),
	FUNCTION(pwm_led10),
	FUNCTION(spdifrx_opt),
	FUNCTION(pwm_led12),
	FUNCTION(pwm_led13),
	FUNCTION(pwm_led14),
	FUNCTION(wlan1_adc1),
	FUNCTION(rgb_data_b0),
	FUNCTION(pwm_led15),
	FUNCTION(blsp_spi_mosi_b1),
	FUNCTION(wlan1_adc0),
	FUNCTION(rgb_data_b1),
	FUNCTION(pwm_led16),
	FUNCTION(blsp_spi_miso_b1),
	FUNCTION(qdss_cti_trig_out_b0),
	FUNCTION(wlan2_adc1),
	FUNCTION(rgb_data_b2),
	FUNCTION(pwm_led17),
	FUNCTION(blsp_spi_cs_n_b1),
	FUNCTION(wlan2_adc0),
	FUNCTION(rgb_data_b3),
	FUNCTION(pwm_led18),
	FUNCTION(blsp_spi_clk_b1),
	FUNCTION(rgb_data_b4),
	FUNCTION(pwm_led19),
	FUNCTION(ext_mclk1_b),
	FUNCTION(qdss_traceclk_a),
	FUNCTION(rgb_data_b5),
	FUNCTION(pwm_led20),
	FUNCTION(atest_char3),
	FUNCTION(i2s_3_sck_b),
	FUNCTION(ldo_update),
	FUNCTION(bimc_dte0),
	FUNCTION(rgb_hsync),
	FUNCTION(pwm_led21),
	FUNCTION(i2s_3_ws_b),
	FUNCTION(dbg_out),
	FUNCTION(rgb_vsync),
	FUNCTION(i2s_3_data0_b),
	FUNCTION(ldo_en),
	FUNCTION(hdmi_dtest),
	FUNCTION(rgb_de),
	FUNCTION(i2s_3_data1_b),
	FUNCTION(hdmi_lbk9),
	FUNCTION(rgb_clk),
	FUNCTION(atest_char1),
	FUNCTION(i2s_3_data2_b),
	FUNCTION(ebi_cdc),
	FUNCTION(hdmi_lbk8),
	FUNCTION(rgb_mdp),
	FUNCTION(atest_char0),
	FUNCTION(i2s_3_data3_b),
	FUNCTION(hdmi_lbk7),
	FUNCTION(rgb_data_b6),
	FUNCTION(rgb_data_b7),
	FUNCTION(hdmi_lbk6),
	FUNCTION(rgmii_int),
	FUNCTION(cri_trng1),
	FUNCTION(rgmii_wol),
	FUNCTION(cri_trng0),
	FUNCTION(gcc_tlmm),
	FUNCTION(rgmii_ck),
	FUNCTION(rgmii_tx),
	FUNCTION(hdmi_lbk5),
	FUNCTION(hdmi_pixel),
	FUNCTION(hdmi_rcv),
	FUNCTION(hdmi_lbk4),
	FUNCTION(rgmii_ctl),
	FUNCTION(ext_lpass),
	FUNCTION(rgmii_rx),
	FUNCTION(cri_trng),
	FUNCTION(hdmi_lbk3),
	FUNCTION(hdmi_lbk2),
	FUNCTION(qdss_cti_trig_out_b1),
	FUNCTION(rgmii_mdio),
	FUNCTION(hdmi_lbk1),
	FUNCTION(rgmii_mdc),
	FUNCTION(hdmi_lbk0),
	FUNCTION(ir_in),
	FUNCTION(wsa_en),
	FUNCTION(rgb_data6),
	FUNCTION(rgb_data7),
	FUNCTION(atest_char2),
	FUNCTION(ebi_ch0),
	FUNCTION(blsp_uart3),
	FUNCTION(blsp_spi3),
	FUNCTION(sd_write),
	FUNCTION(blsp_i2c3),
	FUNCTION(gcc_gp1_clk_a),
	FUNCTION(qdss_cti_trig_in_b1),
	FUNCTION(gcc_gp2_clk_a),
	FUNCTION(ext_mclk0),
	FUNCTION(mclk_in1),
	FUNCTION(i2s_1),
	FUNCTION(dsd_clk_a),
	FUNCTION(qdss_cti_trig_in_a1),
	FUNCTION(rgmi_dll1),
	FUNCTION(pwm_led22),
	FUNCTION(pwm_led23),
	FUNCTION(qdss_cti_trig_out_a0),
	FUNCTION(rgmi_dll2),
	FUNCTION(pwm_led1),
	FUNCTION(qdss_cti_trig_out_a1),
	FUNCTION(pwm_led2),
	FUNCTION(i2s_2),
	FUNCTION(pll_bist),
	FUNCTION(ext_mclk1_a),
	FUNCTION(mclk_in2),
	FUNCTION(bimc_dte1),
	FUNCTION(i2s_3_sck_a),
	FUNCTION(i2s_3_ws_a),
};

/* Every pin is maintained as a single group, and missing or non-existing pin
 * would be maintained as dummy group to synchronize pin group index with
 * pin descriptor registered with pinctrl core.
 * Clients would not be able to request these dummy pin groups.
 */
static const struct msm_pingroup qcs404_groups[] = {
	[0] = PINGROUP(0, SOUTH, _, _, _, _, _, _, _, _, _),
	[1] = PINGROUP(1, SOUTH, _, _, _, _, _, _, _, _, _),
	[2] = PINGROUP(2, SOUTH, _, _, _, _, _, _, _, _, _),
	[3] = PINGROUP(3, SOUTH, _, _, _, _, _, _, _, _, _),
	[4] = PINGROUP(4, SOUTH, _, _, _, _, _, _, _, _, _),
	[5] = PINGROUP(5, SOUTH, _, _, _, _, _, _, _, _, _),
	[6] = PINGROUP(6, SOUTH, _, _, _, _, _, _, _, _, _),
	[7] = PINGROUP(7, SOUTH, _, _, _, _, _, _, _, _, _),
	[8] = PINGROUP(8, SOUTH, _, _, _, _, _, _, _, _, _),
	[9] = PINGROUP(9, SOUTH, _, _, _, _, _, _, _, _, _),
	[10] = PINGROUP(10, SOUTH, _, _, _, _, _, _, _, _, _),
	[11] = PINGROUP(11, SOUTH, _, _, _, _, _, _, _, _, _),
	[12] = PINGROUP(12, SOUTH, _, _, _, _, _, _, _, _, _),
	[13] = PINGROUP(13, SOUTH, _, _, _, _, _, _, _, _, _),
	[14] = PINGROUP(14, SOUTH, hdmi_tx, _, _, _, _, _, _, _, _),
	[15] = PINGROUP(15, SOUTH, hdmi_ddc, _, _, _, _, _, _, _, _),
	[16] = PINGROUP(16, SOUTH, hdmi_ddc, _, _, _, _, _, _, _, _),
	[17] = PINGROUP(17, NORTH, blsp_uart_tx_a2, blsp_spi2, m_voc, _, _, _, _, _, _),
	[18] = PINGROUP(18, NORTH, blsp_uart_rx_a2, blsp_spi2, _, _, _, _, _, qdss_tracectl_a, _),
	[19] = PINGROUP(19, NORTH, blsp_uart2, aud_cdc, blsp_i2c_sda_a2, blsp_spi2, _, qdss_tracedata_a, _, _, _),
	[20] = PINGROUP(20, NORTH, blsp_uart2, aud_cdc, blsp_i2c_scl_a2, blsp_spi2, _, _, _, _, _),
	[21] = PINGROUP(21, SOUTH, m_voc, _, _, _, _, _, _, _, qdss_cti_trig_in_b0),
	[22] = PINGROUP(22, NORTH, blsp_uart1, blsp_spi_mosi_a1, _, _, _, _, _, _, _),
	[23] = PINGROUP(23, NORTH, blsp_uart1, blsp_spi_miso_a1, _, _, _, _, _, qdss_tracedata_b, _),
	[24] = PINGROUP(24, NORTH, blsp_uart1, blsp_i2c1, blsp_spi_cs_n_a1, gcc_plltest, _, _, _, _, _),
	[25] = PINGROUP(25, NORTH, blsp_uart1, blsp_i2c1, blsp_spi_clk_a1, gcc_plltest, _, _, _, _, _),
	[26] = PINGROUP(26, EAST, rgb_data0, blsp_uart5, blsp_spi5, adsp_ext, _, _, _, _, _),
	[27] = PINGROUP(27, EAST, rgb_data1, blsp_uart5, blsp_spi5, prng_rosc, _, _, _, _, _),
	[28] = PINGROUP(28, EAST, rgb_data2, blsp_uart5, blsp_i2c5, blsp_spi5, gcc_gp1_clk_b, _, _, _, _),
	[29] = PINGROUP(29, EAST, rgb_data3, blsp_uart5, blsp_i2c5, blsp_spi5, gcc_gp2_clk_b, _, _, _, _),
	[30] = PINGROUP(30, NORTH, blsp_spi0, blsp_uart0, gcc_gp3_clk_b, _, _, _, _, _, _),
	[31] = PINGROUP(31, NORTH, blsp_spi0, blsp_uart0, _, _, _, _, _, _, _),
	[32] = PINGROUP(32, NORTH, blsp_spi0, blsp_uart0, blsp_i2c0, _, _, _, _, _, _),
	[33] = PINGROUP(33, NORTH, blsp_spi0, blsp_uart0, blsp_i2c0, _, _, _, _, _, _),
	[34] = PINGROUP(34, SOUTH, _, qdss_traceclk_b, _, _, _, _, _, _, _),
	[35] = PINGROUP(35, SOUTH, pcie_clk, _, qdss_tracedata_b, _, _, _, _, _, _),
	[36] = PINGROUP(36, NORTH, _, _, _, _, _, _, qdss_tracedata_a, _, _),
	[37] = PINGROUP(37, NORTH, nfc_irq, blsp_spi4, _, _, _, _, _, _, _),
	[38] = PINGROUP(38, NORTH, nfc_dwl, blsp_spi4, audio_ts, _, _, _, _, _, _),
	[39] = PINGROUP(39, EAST, rgb_data4, spi_lcd, blsp_uart_tx_b2, gcc_gp3_clk_a, qdss_tracedata_a, _, _, _, _),
	[40] = PINGROUP(40, EAST, rgb_data5, spi_lcd, blsp_uart_rx_b2, _, qdss_tracedata_b, _, _, _, _),
	[41] = PINGROUP(41, EAST, rgb_data0, blsp_i2c_sda_b2, _, qdss_tracedata_b, _, _, _, _, _),
	[42] = PINGROUP(42, EAST, rgb_data1, blsp_i2c_scl_b2, _, _, _, _, _, qdss_tracedata_a, _),
	[43] = PINGROUP(43, EAST, rgb_data2, pwm_led11, _, _, _, _, _, _, _),
	[44] = PINGROUP(44, EAST, rgb_data3, pwm_led12, blsp_spi5, _, _, _, _, _, _),
	[45] = PINGROUP(45, EAST, rgb_data4, pwm_led13, blsp_spi5, qdss_tracedata_b, _, _, _, _, _),
	[46] = PINGROUP(46, EAST, rgb_data5, pwm_led14, blsp_spi5, qdss_tracedata_b, _, wlan1_adc1, _, _, _),
	[47] = PINGROUP(47, EAST, rgb_data_b0, pwm_led15, blsp_spi_mosi_b1, qdss_tracedata_b, _, wlan1_adc0, _, _, _),
	[48] = PINGROUP(48, EAST, rgb_data_b1, pwm_led16, blsp_spi_miso_b1, _, qdss_cti_trig_out_b0, _, wlan2_adc1, _, _),
	[49] = PINGROUP(49, EAST, rgb_data_b2, pwm_led17, blsp_spi_cs_n_b1, _, qdss_tracedata_b, _, wlan2_adc0, _, _),
	[50] = PINGROUP(50, EAST, rgb_data_b3, pwm_led18, blsp_spi_clk_b1, qdss_tracedata_b, _, _, _, _, _),
	[51] = PINGROUP(51, EAST, rgb_data_b4, pwm_led19, ext_mclk1_b, qdss_traceclk_a, _, _, _, _, _),
	[52] = PINGROUP(52, EAST, rgb_data_b5, pwm_led20, atest_char3, i2s_3_sck_b, ldo_update, bimc_dte0, _, _, _),
	[53] = PINGROUP(53, EAST, rgb_hsync, pwm_led21, i2s_3_ws_b, dbg_out, _, _, _, _, _),
	[54] = PINGROUP(54, EAST, rgb_vsync, i2s_3_data0_b, ldo_en, bimc_dte0, _, hdmi_dtest, _, _, _),
	[55] = PINGROUP(55, EAST, rgb_de, i2s_3_data1_b, _, qdss_tracedata_b, _, hdmi_lbk9, _, _, _),
	[56] = PINGROUP(56, EAST, rgb_clk, atest_char1, i2s_3_data2_b, ebi_cdc, _, hdmi_lbk8, _, _, _),
	[57] = PINGROUP(57, EAST, rgb_mdp, atest_char0, i2s_3_data3_b, _, hdmi_lbk7, _, _, _, _),
	[58] = PINGROUP(58, EAST, rgb_data_b6, _, ebi_cdc, _, _, _, _, _, _),
	[59] = PINGROUP(59, EAST, rgb_data_b7, _, hdmi_lbk6, _, _, _, _, _, _),
	[60] = PINGROUP(60, NORTH, _, _, _, _, _, _, _, _, _),
	[61] = PINGROUP(61, NORTH, rgmii_int, cri_trng1, qdss_tracedata_b, _, _, _, _, _, _),
	[62] = PINGROUP(62, NORTH, rgmii_wol, cri_trng0, qdss_tracedata_b, gcc_tlmm, _, _, _, _, _),
	[63] = PINGROUP(63, NORTH, rgmii_ck, _, _, _, _, _, _, _, _),
	[64] = PINGROUP(64, NORTH, rgmii_tx, _, hdmi_lbk5, _, _, _, _, _, _),
	[65] = PINGROUP(65, NORTH, rgmii_tx, _, hdmi_pixel, _, _, _, _, _, _),
	[66] = PINGROUP(66, NORTH, rgmii_tx, _, hdmi_rcv, _, _, _, _, _, _),
	[67] = PINGROUP(67, NORTH, rgmii_tx, _, hdmi_lbk4, _, _, _, _, _, _),
	[68] = PINGROUP(68, NORTH, rgmii_ctl, _, _, _, _, _, _, _, _),
	[69] = PINGROUP(69, NORTH, rgmii_ck, ext_lpass, _, _, _, _, _, _, _),
	[70] = PINGROUP(70, NORTH, rgmii_rx, cri_trng, _, _, _, _, _, _, _),
	[71] = PINGROUP(71, NORTH, rgmii_rx, _, hdmi_lbk3, _, _, _, _, _, _),
	[72] = PINGROUP(72, NORTH, rgmii_rx, _, hdmi_lbk2, _, _, _, _, _, _),
	[73] = PINGROUP(73, NORTH, rgmii_rx, _, _, _, _, qdss_cti_trig_out_b1, _, _, _),
	[74] = PINGROUP(74, NORTH, rgmii_ctl, _, _, _, _, _, _, _, _),
	[75] = PINGROUP(75, NORTH, rgmii_mdio, _, hdmi_lbk1, _, _, _, _, _, _),
	[76] = PINGROUP(76, NORTH, rgmii_mdc, _, _, _, _, _, hdmi_lbk0, _, _),
	[77] = PINGROUP(77, NORTH, ir_in, wsa_en, _, _, _, _, _, _, _),
	[78] = PINGROUP(78, EAST, rgb_data6, _, _, _, _, _, _, _, _),
	[79] = PINGROUP(79, EAST, rgb_data7, _, _, _, _, _, _, _, _),
	[80] = PINGROUP(80, EAST, rgb_data6, atest_char2, _, _, _, _, _, _, _),
	[81] = PINGROUP(81, EAST, rgb_data7, ebi_ch0, _, _, _, _, _, _, _),
	[82] = PINGROUP(82, NORTH, blsp_uart3, blsp_spi3, sd_write, _, _, _, _, _, qdss_tracedata_a),
	[83] = PINGROUP(83, NORTH, blsp_uart3, blsp_spi3, _, _, _, _, qdss_tracedata_a, _, _),
	[84] = PINGROUP(84, NORTH, blsp_uart3, blsp_i2c3, blsp_spi3, gcc_gp1_clk_a, qdss_cti_trig_in_b1, _, _, _, _),
	[85] = PINGROUP(85, NORTH, blsp_uart3, blsp_i2c3, blsp_spi3, gcc_gp2_clk_a, qdss_tracedata_b, _, _, _, _),
	[86] = PINGROUP(86, EAST, ext_mclk0, mclk_in1, _, _, _, _, _, _, _),
	[87] = PINGROUP(87, EAST, i2s_1, dsd_clk_a, _, _, _, _, _, _, _),
	[88] = PINGROUP(88, EAST, i2s_1, i2s_1, _, _, _, _, _, _, _),
	[89] = PINGROUP(89, EAST, i2s_1, i2s_1, _, _, _, _, _, _, qdss_tracedata_b),
	[90] = PINGROUP(90, EAST, i2s_1, i2s_1, _, _, _, _, _, _, _),
	[91] = PINGROUP(91, EAST, i2s_1, i2s_1, _, _, _, _, _, _, _),
	[92] = PINGROUP(92, EAST, i2s_1, i2s_1, _, _, _, _, _, qdss_cti_trig_in_a1, _),
	[93] = PINGROUP(93, EAST, i2s_1, pwm_led22, i2s_1, _, _, _, _, _, qdss_tracedata_b),
	[94] = PINGROUP(94, EAST, i2s_1, pwm_led23, i2s_1, _, qdss_cti_trig_out_a0, _, rgmi_dll2, _, _),
	[95] = PINGROUP(95, EAST, i2s_1, pwm_led1, i2s_1, _, qdss_cti_trig_out_a1, _, _, _, _),
	[96] = PINGROUP(96, EAST, i2s_1, pwm_led2, _, _, _, _, _, _, _),
	[97] = PINGROUP(97, EAST, i2s_2, _, _, _, _, _, _, _, _),
	[98] = PINGROUP(98, EAST, i2s_2, _, _, _, _, _, _, _, _),
	[99] = PINGROUP(99, EAST, i2s_2, _, _, _, _, _, _, _, _),
	[100] = PINGROUP(100, EAST, i2s_2, pll_bist, _, _, _, _, _, _, _),
	[101] = PINGROUP(101, EAST, i2s_2, _, _, _, _, _, _, _, _),
	[102] = PINGROUP(102, EAST, i2s_2, _, _, _, _, _, _, _, _),
	[103] = PINGROUP(103, EAST, ext_mclk1_a, mclk_in2, bimc_dte1, _, _, _, _, _, _),
	[104] = PINGROUP(104, EAST, i2s_3_sck_a, _, _, _, _, _, _, _, _),
	[105] = PINGROUP(105, EAST, i2s_3_ws_a, _, _, _, _, _, _, _, _),
	[106] = PINGROUP(106, EAST, i2s_3_data0_a, ebi2_lcd, _, _, ebi_cdc, _, _, _, _),
	[107] = PINGROUP(107, EAST, i2s_3_data1_a, ebi2_lcd, _, _, ebi_cdc, _, _, _, _),
	[108] = PINGROUP(108, EAST, i2s_3_data2_a, ebi2_lcd, atest_char, pwm_led3, ebi_cdc, _, _, _, _),
	[109] = PINGROUP(109, EAST, i2s_3_data3_a, ebi2_lcd, pwm_led4, bimc_dte1, _, _, _, _, _),
	[110] = PINGROUP(110, EAST, i2s_4, ebi2_a, dsd_clk_b, pwm_led5, _, _, _, _, _),
	[111] = PINGROUP(111, EAST, i2s_4, i2s_4, pwm_led6, ebi_cdc, _, _, _, _, _),
	[112] = PINGROUP(112, EAST, i2s_4, i2s_4, pwm_led7, _, _, _, _, _, _),
	[113] = PINGROUP(113, EAST, i2s_4, i2s_4, pwm_led8, _, _, _, _, _, _),
	[114] = PINGROUP(114, EAST, i2s_4, i2s_4, pwm_led24, _, _, _, _, _, _),
	[115] = PINGROUP(115, EAST, i2s_4, i2s_4, _, _, _, _, _, _, _),
	[116] = PINGROUP(116, EAST, i2s_4, spkr_dac0, _, _, _, _, _, _, _),
	[117] = PINGROUP(117, NORTH, blsp_i2c4, blsp_spi4, pwm_led9, _, _, _, _, _, _),
	[118] = PINGROUP(118, NORTH, blsp_i2c4, blsp_spi4, pwm_led10, _, _, _, _, _, _),
	[119] = PINGROUP(119, EAST, spdifrx_opt, _, _, _, _, _, _, _, _),
	[120] = SDC_QDSD_PINGROUP(sdc1_rclk, 0xc2000, 15, 0),
	[121] = SDC_QDSD_PINGROUP(sdc1_clk, 0xc2000, 13, 6),
	[122] = SDC_QDSD_PINGROUP(sdc1_cmd, 0xc2000, 11, 3),
	[123] = SDC_QDSD_PINGROUP(sdc1_data, 0xc2000, 9, 0),
	[124] = SDC_QDSD_PINGROUP(sdc2_clk, 0xc3000, 14, 6),
	[125] = SDC_QDSD_PINGROUP(sdc2_cmd, 0xc3000, 11, 3),
	[126] = SDC_QDSD_PINGROUP(sdc2_data, 0xc3000, 9, 0),
};

static const struct msm_pinctrl_soc_data qcs404_pinctrl = {
	.pins = qcs404_pins,
	.npins = ARRAY_SIZE(qcs404_pins),
	.functions = qcs404_functions,
	.nfunctions = ARRAY_SIZE(qcs404_functions),
	.groups = qcs404_groups,
	.ngroups = ARRAY_SIZE(qcs404_groups),
	.ngpios = 120,
	.tiles = qcs404_tiles,
	.ntiles = ARRAY_SIZE(qcs404_tiles),
};

static int qcs404_pinctrl_probe(struct platform_device *pdev)
{
	return msm_pinctrl_probe(pdev, &qcs404_pinctrl);
}

static const struct of_device_id qcs404_pinctrl_of_match[] = {
	{ .compatible = "qcom,qcs404-pinctrl", },
	{ },
};

static struct platform_driver qcs404_pinctrl_driver = {
	.driver = {
		.name = "qcs404-pinctrl",
		.of_match_table = qcs404_pinctrl_of_match,
	},
	.probe = qcs404_pinctrl_probe,
	.remove = msm_pinctrl_remove,
};

static int __init qcs404_pinctrl_init(void)
{
	return platform_driver_register(&qcs404_pinctrl_driver);
}
arch_initcall(qcs404_pinctrl_init);

static void __exit qcs404_pinctrl_exit(void)
{
	platform_driver_unregister(&qcs404_pinctrl_driver);
}
module_exit(qcs404_pinctrl_exit);

MODULE_DESCRIPTION("Qualcomm QCS404 pinctrl driver");
MODULE_LICENSE("GPL v2");
MODULE_DEVICE_TABLE(of, qcs404_pinctrl_of_match);
