/* Copyright (c) 2016-2018, The Linux Foundation. All rights reserved.
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License version 2 and
 * only version 2 as published by the Free Software Foundation.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 */

&soc {
	tlmm: pinctrl@03400000 {
		compatible = "qcom,sdm845-pinctrl";
		reg = <0x03400000 0xc00000>;
		interrupts = <0 208 0>;
		gpio-controller;
		#gpio-cells = <2>;
		interrupt-controller;
		#interrupt-cells = <2>;
		interrupt-parent = <&pdc>;

		ufs_dev_reset_assert: ufs_dev_reset_assert {
			config {
				pins = "ufs_reset";
				bias-pull-down;		/* default: pull down */
				/*
				 * UFS_RESET driver strengths are having
				 * different values/steps compared to typical
				 * GPIO drive strengths.
				 *
				 * Following table clarifies:
				 *
				 * HDRV value | UFS_RESET | Typical GPIO
				 *   (dec)    |   (mA)    |    (mA)
				 *     0      |   0.8     |    2
				 *     1      |   1.55    |    4
				 *     2      |   2.35    |    6
				 *     3      |   3.1     |    8
				 *     4      |   3.9     |    10
				 *     5      |   4.65    |    12
				 *     6      |   5.4     |    14
				 *     7      |   6.15    |    16
				 *
				 * POR value for UFS_RESET HDRV is 3 which means
				 * 3.1mA and we want to use that. Hence just
				 * specify 8mA to "drive-strength" binding and
				 * that should result into writing 3 to HDRV
				 * field.
				 */
				drive-strength = <8>;	/* default: 3.1 mA */
				output-low; /* active low reset */
			};
		};

		ufs_dev_reset_deassert: ufs_dev_reset_deassert {
			config {
				pins = "ufs_reset";
				bias-pull-down;		/* default: pull down */
				/*
				 * default: 3.1 mA
				 * check comments under ufs_dev_reset_assert
				 */
				drive-strength = <8>;
				output-high; /* active low reset */
			};
		};

		flash_led3_front {
			flash_led3_front_en: flash_led3_front_en {
				mux {
					pins = "gpio21";
					function = "gpio";
				};

				config {
					pins = "gpio21";
					drive_strength = <2>;
					output-high;
					bias-disable;
				};
			};

			flash_led3_front_dis: flash_led3_front_dis {
				mux {
					pins = "gpio21";
					function = "gpio";
				};

				config {
					pins = "gpio21";
					drive_strength = <2>;
					output-low;
					bias-disable;
				};
			};
		};

		flash_led3_iris {
			flash_led3_iris_en: flash_led3_iris_en {
				mux {
					pins = "gpio23";
					function = "gpio";
				};

				config {
					pins = "gpio23";
					drive_strength = <2>;
					output-high;
					bias-disable;
				};
			};

			flash_led3_iris_dis: flash_led3_iris_dis {
				mux {
					pins = "gpio23";
					function = "gpio";
				};

				config {
					pins = "gpio23";
					drive_strength = <2>;
					output-low;
					bias-disable;
				};
			};
		};


		wcd9xxx_intr {
			wcd_intr_default: wcd_intr_default{
				mux {
					pins = "gpio54";
					function = "gpio";
				};

				config {
					pins = "gpio54";
					drive-strength = <2>; /* 2 mA */
					bias-pull-down; /* pull down */
					input-enable;
				};
			};
		};

		storage_cd: storage_cd {
			mux {
				pins = "gpio126";
				function = "gpio";
			};

			config {
				pins = "gpio126";
				bias-pull-up;           /* pull up */
				drive-strength = <2>;   /* 2 MA */
			};
		};

		sdc2_clk_on: sdc2_clk_on {
			config {
				pins = "sdc2_clk";
				bias-disable;		/* NO pull */
				drive-strength = <16>;	/* 16 MA */
			};
		};

		sdc2_clk_off: sdc2_clk_off {
			config {
				pins = "sdc2_clk";
				bias-disable;		/* NO pull */
				drive-strength = <2>;	/* 2 MA */
			};
		};

		sdc2_clk_ds_400KHz: sdc2_clk_ds_400KHz {
			config {
				pins = "sdc2_clk";
				bias-disable;		/* NO pull */
				drive-strength = <16>;	/* 16 MA */
			};
		};

		sdc2_clk_ds_50MHz: sdc2_clk_ds_50MHz {
			config {
				pins = "sdc2_clk";
				bias-disable;		/* NO pull */
				drive-strength = <16>;	/* 16 MA */
			};
		};

		sdc2_clk_ds_100MHz: sdc2_clk_ds_100MHz {
			config {
				pins = "sdc2_clk";
				bias-disable;		/* NO pull */
				drive-strength = <16>;	/* 16 MA */
			};
		};

		sdc2_clk_ds_200MHz: sdc2_clk_ds_200MHz {
			config {
				pins = "sdc2_clk";
				bias-disable;		/* NO pull */
				drive-strength = <16>;	/* 16 MA */
			};
		};

		sdc2_cmd_on: sdc2_cmd_on {
			config {
				pins = "sdc2_cmd";
				bias-pull-up;		/* pull up */
				drive-strength = <10>;	/* 10 MA */
			};
		};

		sdc2_cmd_off: sdc2_cmd_off {
			config {
				pins = "sdc2_cmd";
				bias-pull-up;		/* pull up */
				drive-strength = <2>;	/* 2 MA */
			};
		};

		sdc2_cmd_ds_400KHz: sdc2_cmd_ds_400KHz {
			config {
				pins = "sdc2_cmd";
				bias-pull-up;		/* pull up */
				drive-strength = <10>;	/* 10 MA */
			};
		};

		sdc2_cmd_ds_50MHz: sdc2_cmd_ds_50MHz {
			config {
				pins = "sdc2_cmd";
				bias-pull-up;		/* pull up */
				drive-strength = <10>;	/* 10 MA */
			};
		};

		sdc2_cmd_ds_100MHz: sdc2_cmd_ds_100MHz {
			config {
				pins = "sdc2_cmd";
				bias-pull-up;		/* pull up */
				drive-strength = <10>;	/* 10 MA */
			};
		};

		sdc2_cmd_ds_200MHz: sdc2_cmd_ds_200MHz {
			config {
				pins = "sdc2_cmd";
				bias-pull-up;		/* pull up */
				drive-strength = <10>;	/* 10 MA */
			};
		};

		sdc2_data_on: sdc2_data_on {
			config {
				pins = "sdc2_data";
				bias-pull-up;		/* pull up */
				drive-strength = <10>;	/* 10 MA */
			};
		};

		sdc2_data_off: sdc2_data_off {
			config {
				pins = "sdc2_data";
				bias-pull-up;		/* pull up */
				drive-strength = <2>;	/* 2 MA */
			};
		};

		sdc2_data_ds_400KHz: sdc2_data_ds_400KHz {
			config {
				pins = "sdc2_data";
				bias-pull-up;		/* pull up */
				drive-strength = <10>;	/* 10 MA */
			};
		};

		sdc2_data_ds_50MHz: sdc2_data_ds_50MHz {
			config {
				pins = "sdc2_data";
				bias-pull-up;		/* pull up */
				drive-strength = <10>;	/* 10 MA */
			};
		};

		sdc2_data_ds_100MHz: sdc2_data_ds_100MHz {
			config {
				pins = "sdc2_data";
				bias-pull-up;		/* pull up */
				drive-strength = <10>;	/* 10 MA */
			};
		};

		sdc2_data_ds_200MHz: sdc2_data_ds_200MHz {
			config {
				pins = "sdc2_data";
				bias-pull-up;		/* pull up */
				drive-strength = <10>;	/* 10 MA */
			};
		};

		pcie0 {
			pcie0_clkreq_default: pcie0_clkreq_default {
				mux {
					pins = "gpio36";
					function = "pci_e0";
				};

				config {
					pins = "gpio36";
					drive-strength = <2>;
					bias-pull-up;
				};
			};

			pcie0_perst_default: pcie0_perst_default {
				mux {
					pins = "gpio35";
					function = "gpio";
				};

				config {
					pins = "gpio35";
					drive-strength = <2>;
					bias-pull-down;
				};
			};

			pcie0_wake_default: pcie0_wake_default {
				mux {
					pins = "gpio37";
					function = "gpio";
				};

				config {
					pins = "gpio37";
					drive-strength = <2>;
					bias-pull-up;
				};
			};
		};

		pcie1 {
			pcie1_clkreq_default: pcie1_clkreq_default {
				mux {
					pins = "gpio103";
					function = "pci_e1";
				};

				config {
					pins = "gpio103";
					drive-strength = <2>;
					bias-pull-up;
				};
			};

			pcie1_perst_default: pcie1_perst_default {
				mux {
					pins = "gpio102";
					function = "gpio";
				};

				config {
					pins = "gpio102";
					drive-strength = <2>;
					bias-pull-down;
				};
			};

			pcie1_wake_default: pcie1_wake_default {
				mux {
					pins = "gpio104";
					function = "gpio";
				};

				config {
					pins = "gpio104";
					drive-strength = <2>;
					bias-pull-down;
				};
			};
		};

		cdc_reset_ctrl {
			cdc_reset_sleep: cdc_reset_sleep {
				mux {
					pins = "gpio64";
					function = "gpio";
				};
				config {
					pins = "gpio64";
					drive-strength = <2>;
					bias-disable;
					output-low;
				};
			};

			cdc_reset_active:cdc_reset_active {
				mux {
					pins = "gpio64";
					function = "gpio";
				};
				config {
					pins = "gpio64";
					drive-strength = <8>;
					bias-pull-down;
					output-high;
				};
			};
		};

		spkr_i2s_clk_pin {
			spkr_i2s_clk_sleep: spkr_i2s_clk_sleep {
				mux {
					pins = "gpio69";
					function = "spkr_i2s";
				};

				config {
					pins = "gpio69";
					drive-strength = <2>; /* 2 mA */
					bias-pull-down;       /* PULL DOWN */
				};
			};

			spkr_i2s_clk_active: spkr_i2s_clk_active {
				mux {
					pins = "gpio69";
					function = "spkr_i2s";
				};

				config {
					pins = "gpio69";
					drive-strength = <8>; /* 8 mA */
					bias-disable;         /* NO PULL */
				};
			};
		};

		wcd_gnd_mic_swap {
			wcd_gnd_mic_swap_idle: wcd_gnd_mic_swap_idle {
				mux {
					pins = "gpio51";
					function = "gpio";
				};
				config {
					pins = "gpio51";
					drive-strength = <2>;
					bias-pull-down;
					output-low;
				};
			};

			wcd_gnd_mic_swap_active: wcd_gnd_mic_swap_active {
				mux {
					pins = "gpio51";
					function = "gpio";
				};
				config {
					pins = "gpio51";
					drive-strength = <2>;
					bias-disable;
					output-high;
				};
			};
		};

		/* USB C analog configuration */
		wcd_usbc_analog_en1 {
			wcd_usbc_analog_en1_idle: wcd_usbc_ana_en1_idle {
				mux {
					pins = "gpio49";
					function = "gpio";
				};
				config {
					pins = "gpio49";
					drive-strength = <2>;
					bias-pull-down;
					output-low;
				};
			};

			wcd_usbc_analog_en1_active: wcd_usbc_ana_en1_active {
				mux {
					pins = "gpio49";
					function = "gpio";
				};
				config {
					pins = "gpio49";
					drive-strength = <2>;
					bias-disable;
					output-high;
				};
			};
		};

		wcd_usbc_analog_en2 {
			wcd_usbc_analog_en2_idle: wcd_usbc_ana_en2_idle {
				mux {
					pins = "gpio51";
					function = "gpio";
				};
				config {
					pins = "gpio51";
					drive-strength = <2>;
					bias-pull-down;
					output-low;
				};
			};

			wcd_usbc_analog_en2_active: wcd_usbc_ana_en2_active {
				mux {
					pins = "gpio51";
					function = "gpio";
				};
				config {
					pins = "gpio51";
					drive-strength = <2>;
					bias-disable;
					output-high;
				};
			};
		};

		pri_aux_pcm_clk {
			pri_aux_pcm_clk_sleep: pri_aux_pcm_clk_sleep {
				mux {
					pins = "gpio65";
					function = "gpio";
				};

				config {
					pins = "gpio65";
					drive-strength = <2>;   /* 2 mA */
					bias-pull-down;         /* PULL DOWN */
					input-enable;
				};
			};

			pri_aux_pcm_clk_active: pri_aux_pcm_clk_active {
				mux {
					pins = "gpio65";
					function = "pri_mi2s";
				};

				config {
					pins = "gpio65";
					drive-strength = <8>;   /* 8 mA */
					bias-disable;           /* NO PULL */
					output-high;
				};
			};
		};

		pri_aux_pcm_sync {
			pri_aux_pcm_sync_sleep: pri_aux_pcm_sync_sleep {
				mux {
					pins = "gpio66";
					function = "gpio";
				};

				config {
					pins = "gpio66";
					drive-strength = <2>;   /* 2 mA */
					bias-pull-down;         /* PULL DOWN */
					input-enable;
				};
			};

			pri_aux_pcm_sync_active: pri_aux_pcm_sync_active {
				mux {
					pins = "gpio66";
					function = "pri_mi2s_ws";
				};

				config {
					pins = "gpio66";
					drive-strength = <8>;   /* 8 mA */
					bias-disable;           /* NO PULL */
					output-high;
				};
			};
		};

		pri_aux_pcm_din {
			pri_aux_pcm_din_sleep: pri_aux_pcm_din_sleep {
				mux {
					pins = "gpio67";
					function = "gpio";
				};

				config {
					pins = "gpio67";
					drive-strength = <2>;   /* 2 mA */
					bias-pull-down;         /* PULL DOWN */
					input-enable;
				};
			};

			pri_aux_pcm_din_active: pri_aux_pcm_din_active {
				mux {
					pins = "gpio67";
					function = "pri_mi2s";
				};

				config {
					pins = "gpio67";
					drive-strength = <8>;   /* 8 mA */
					bias-disable;           /* NO PULL */
				};
			};
		};

		pri_aux_pcm_dout {
			pri_aux_pcm_dout_sleep: pri_aux_pcm_dout_sleep {
				mux {
					pins = "gpio68";
					function = "gpio";
				};

				config {
					pins = "gpio68";
					drive-strength = <2>;   /* 2 mA */
					bias-pull-down;         /* PULL DOWN */
					input-enable;
				};
			};

			pri_aux_pcm_dout_active: pri_aux_pcm_dout_active {
				mux {
					pins = "gpio68";
					function = "pri_mi2s";
				};

				config {
					pins = "gpio68";
					drive-strength = <8>;   /* 8 mA */
					bias-disable;           /* NO PULL */
				};
			};
		};

		pmx_sde: pmx_sde {
			sde_dsi_active: sde_dsi_active {
				mux {
					pins = "gpio6", "gpio52";
					function = "gpio";
				};

				config {
					pins = "gpio6", "gpio52";
					drive-strength = <8>;   /* 8 mA */
					bias-disable = <0>;   /* no pull */
				};
			};
			sde_dsi_suspend: sde_dsi_suspend {
				mux {
					pins = "gpio6", "gpio52";
					function = "gpio";
				};

				config {
					pins = "gpio6", "gpio52";
					drive-strength = <2>;   /* 2 mA */
					bias-pull-down;         /* PULL DOWN */
				};
			};
		};

		pmx_sde_te {
			sde_te_active: sde_te_active {
				mux {
					pins = "gpio10";
					function = "mdp_vsync";
				};

				config {
					pins = "gpio10";
					drive-strength = <2>;   /* 2 mA */
					bias-pull-down;         /* PULL DOWN */
				};
			};

			sde_te_suspend: sde_te_suspend {
				mux {
					pins = "gpio10";
					function = "mdp_vsync";
				};

				config {
					pins = "gpio10";
					drive-strength = <2>;   /* 2 mA */
					bias-pull-down;         /* PULL DOWN */
				};
			};
		};

		sde_dp_aux_active: sde_dp_aux_active {
			mux {
				pins = "gpio43", "gpio51";
				function = "gpio";
			};

			config {
				pins = "gpio43", "gpio51";
				bias-disable = <0>; /* no pull */
				drive-strength = <8>;
			};
		};

		sde_dp_aux_suspend: sde_dp_aux_suspend {
			mux {
				pins = "gpio43", "gpio51";
				function = "gpio";
			};

			config {
				pins = "gpio43", "gpio51";
				bias-pull-down;
				drive-strength = <2>;
			};
		};

		sde_dp_usbplug_cc_active: sde_dp_usbplug_cc_active {
			mux {
				pins = "gpio38";
				function = "gpio";
			};

			config {
				pins = "gpio38";
				bias-disable;
				drive-strength = <16>;
			};
		};

		sde_dp_usbplug_cc_suspend: sde_dp_usbplug_cc_suspend {
			mux {
				pins = "gpio38";
				function = "gpio";
			};

			config {
				pins = "gpio38";
				bias-pull-down;
				drive-strength = <2>;
			};
		};

		/* add pingrp for touchscreen */
		pmx_ts_int_active {
			ts_int_active: ts_int_active {
				mux {
					pins = "gpio122";
					function = "gpio";
				};

				config {
					pins = "gpio122";
					drive-strength = <8>;
					bias-pull-up;
				};
			};
		};

		pmx_ts_int_suspend {
			ts_int_suspend1: ts_int_suspend1 {
				mux {
					pins = "gpio122";
					function = "gpio";
				};

				config {
					pins = "gpio122";
					drive-strength = <2>;
					bias-pull-down;
				};
			};
		};

		pmx_ts_reset_active {
			ts_reset_active: ts_reset_active {
				mux {
					pins = "gpio99";
					function = "gpio";
				};

				config {
					pins = "gpio99";
					drive-strength = <8>;
					bias-pull-up;
				};
			};
		};

		pmx_ts_reset_suspend {
			ts_reset_suspend1: ts_reset_suspend1 {
				mux {
					pins = "gpio99";
					function = "gpio";
				};

				config {
					pins = "gpio99";
					drive-strength = <2>;
					bias-pull-down;
				};
			};
		};

		pmx_ts_release {
			ts_release: ts_release {
				mux {
					pins = "gpio122", "gpio99";
					function = "gpio";
				};

				config {
					pins = "gpio122", "gpio99";
					drive-strength = <2>;
					bias-pull-down;
				};
			};
		};

		ts_mux {
			ts_active: ts_active {
				mux {
					pins = "gpio99", "gpio122";
					function = "gpio";
				};

				config {
					pins = "gpio99", "gpio122";
					drive-strength = <16>;
					bias-pull-up;
				};
			};

			ts_reset_suspend: ts_reset_suspend {
				mux {
					pins = "gpio99";
					function = "gpio";
				};

				config {
					pins = "gpio99";
					drive-strength = <2>;
					bias-pull-down;
				};
			};

			ts_int_suspend: ts_int_suspend {
				mux {
					pins = "gpio122";
					function = "gpio";
				};

				config {
					pins = "gpio122";
					drive-strength = <2>;
					bias-disable;
				};
			};
		};

		sec_aux_pcm {
			sec_aux_pcm_sleep: sec_aux_pcm_sleep {
				mux {
					pins = "gpio80", "gpio81";
					function = "gpio";
				};

				config {
					pins = "gpio80", "gpio81";
					drive-strength = <2>;   /* 2 mA */
					bias-pull-down;         /* PULL DOWN */
					input-enable;
				};
			};

			sec_aux_pcm_active: sec_aux_pcm_active {
				mux {
					pins = "gpio80", "gpio81";
					function = "sec_mi2s";
				};

				config {
					pins = "gpio80", "gpio81";
					drive-strength = <8>;   /* 8 mA */
					bias-disable;           /* NO PULL */
				};
			};
		};

		sec_aux_pcm_din {
			sec_aux_pcm_din_sleep: sec_aux_pcm_din_sleep {
				mux {
					pins = "gpio82";
					function = "gpio";
				};

				config {
					pins = "gpio82";
					drive-strength = <2>;   /* 2 mA */
					bias-pull-down;         /* PULL DOWN */
					input-enable;
				};
			};

			sec_aux_pcm_din_active: sec_aux_pcm_din_active {
				mux {
					pins = "gpio82";
					function = "sec_mi2s";
				};

				config {
					pins = "gpio82";
					drive-strength = <8>;   /* 8 mA */
					bias-disable;           /* NO PULL */
				};
			};
		};

		sec_aux_pcm_dout {
			sec_aux_pcm_dout_sleep: sec_aux_pcm_dout_sleep {
				mux {
					pins = "gpio83";
					function = "gpio";
				};

				config {
					pins = "gpio83";
					drive-strength = <2>;   /* 2 mA */
					bias-pull-down;         /* PULL DOWN */
					input-enable;
				};
			};

			sec_aux_pcm_dout_active: sec_aux_pcm_dout_active {
				mux {
					pins = "gpio83";
					function = "sec_mi2s";
				};

				config {
					pins = "gpio83";
					drive-strength = <8>;   /* 8 mA */
					bias-disable;           /* NO PULL */
				};
			};
		};

		tert_aux_pcm {
			tert_aux_pcm_sleep: tert_aux_pcm_sleep {
				mux {
					pins = "gpio75", "gpio76";
					function = "gpio";
				};

				config {
					pins = "gpio75", "gpio76";
					drive-strength = <2>;   /* 2 mA */
					bias-pull-down;         /* PULL DOWN */
					input-enable;
				};
			};

			tert_aux_pcm_active: tert_aux_pcm_active {
				mux {
					pins = "gpio75", "gpio76";
					function = "ter_mi2s";
				};

				config {
					pins = "gpio75", "gpio76";
					drive-strength = <8>;   /* 8 mA */
					bias-disable;           /* NO PULL */
					output-high;
				};
			};
		};

		tert_aux_pcm_din {
			tert_aux_pcm_din_sleep: tert_aux_pcm_din_sleep {
				mux {
					pins = "gpio77";
					function = "gpio";
				};

				config {
					pins = "gpio77";
					drive-strength = <2>;   /* 2 mA */
					bias-pull-down;         /* PULL DOWN */
					input-enable;
				};
			};

			tert_aux_pcm_din_active: tert_aux_pcm_din_active {
				mux {
					pins = "gpio77";
					function = "ter_mi2s";
				};

				config {
					pins = "gpio77";
					drive-strength = <8>;   /* 8 mA */
					bias-disable;           /* NO PULL */
				};
			};
		};

		tert_aux_pcm_dout {
			tert_aux_pcm_dout_sleep: tert_aux_pcm_dout_sleep {
				mux {
					pins = "gpio78";
					function = "gpio";
				};

				config {
					pins = "gpio78";
					drive-strength = <2>;   /* 2 mA */
					bias-pull-down;         /* PULL DOWN */
					input-enable;
				};
			};

			tert_aux_pcm_dout_active: tert_aux_pcm_dout_active {
				mux {
					pins = "gpio78";
					function = "ter_mi2s";
				};

				config {
					pins = "gpio78";
					drive-strength = <8>;   /* 8 mA */
					bias-disable;           /* NO PULL */
				};
			};
		};

		quat_aux_pcm {
			quat_aux_pcm_sleep: quat_aux_pcm_sleep {
				mux {
					pins = "gpio58", "gpio59";
					function = "gpio";
				};

				config {
					pins = "gpio58", "gpio59";
					drive-strength = <2>;   /* 2 mA */
					bias-pull-down;         /* PULL DOWN */
					input-enable;
				};
			};

			quat_aux_pcm_active: quat_aux_pcm_active {
				mux {
					pins = "gpio58", "gpio59";
					function = "qua_mi2s";
				};

				config {
					pins = "gpio58", "gpio59";
					drive-strength = <8>;   /* 8 mA */
					bias-disable;           /* NO PULL */
					output-high;
				};
			};
		};

		quat_aux_pcm_din {
			quat_aux_pcm_din_sleep: quat_aux_pcm_din_sleep {
				mux {
					pins = "gpio60";
					function = "gpio";
				};

				config {
					pins = "gpio60";
					drive-strength = <2>;   /* 2 mA */
					bias-pull-down;         /* PULL DOWN */
					input-enable;
				};
			};

			quat_aux_pcm_din_active: quat_aux_pcm_din_active {
				mux {
					pins = "gpio60";
					function = "qua_mi2s";
				};

				config {
					pins = "gpio60";
					drive-strength = <8>;   /* 8 mA */
					bias-disable;           /* NO PULL */
				};
			};
		};

		quat_aux_pcm_dout {
			quat_aux_pcm_dout_sleep: quat_aux_pcm_dout_sleep {
				mux {
					pins = "gpio61";
					function = "gpio";
				};

				config {
					pins = "gpio61";
					drive-strength = <2>;   /* 2 mA */
					bias-pull-down;         /* PULL DOWN */
					input-enable;
				};
			};

			quat_aux_pcm_dout_active: quat_aux_pcm_dout_active {
				mux {
					pins = "gpio61";
					function = "qua_mi2s";
				};

				config {
					pins = "gpio61";
					drive-strength = <8>;   /* 8 mA */
					bias-disable;           /* NO PULL */
				};
			};
		};

		pri_mi2s_mclk {
			pri_mi2s_mclk_sleep: pri_mi2s_mclk_sleep {
				mux {
					pins = "gpio64";
					function = "gpio";
				};

				config {
					pins = "gpio64";
					drive-strength = <2>;   /* 2 mA */
					bias-pull-down;         /* PULL DOWN */
					input-enable;
				};
			};

			pri_mi2s_mclk_active: pri_mi2s_mclk_active {
				mux {
					pins = "gpio64";
					function = "pri_mi2s";
				};

				config {
					pins = "gpio64";
					drive-strength = <8>;   /* 8 mA */
					bias-disable;           /* NO PULL */
					output-high;
				};
			};
		};

		pri_mi2s_sck {
			pri_mi2s_sck_sleep: pri_mi2s_sck_sleep {
				mux {
					pins = "gpio65";
					function = "gpio";
				};

				config {
					pins = "gpio65";
					drive-strength = <2>;   /* 2 mA */
					bias-pull-down;         /* PULL DOWN */
					input-enable;
				};
			};

			pri_mi2s_sck_active: pri_mi2s_sck_active {
				mux {
					pins = "gpio65";
					function = "pri_mi2s";
				};

				config {
					pins = "gpio65";
					drive-strength = <8>;   /* 8 mA */
					bias-disable;           /* NO PULL */
					output-high;
				};
			};
		};

		pri_mi2s_ws {
			pri_mi2s_ws_sleep: pri_mi2s_ws_sleep {
				mux {
					pins = "gpio66";
					function = "gpio";
				};

				config {
					pins = "gpio66";
					drive-strength = <2>;   /* 2 mA */
					bias-pull-down;         /* PULL DOWN */
					input-enable;
				};
			};

			pri_mi2s_ws_active: pri_mi2s_ws_active {
				mux {
					pins = "gpio66";
					function = "pri_mi2s_ws";
				};

				config {
					pins = "gpio66";
					drive-strength = <8>;   /* 8 mA */
					bias-disable;           /* NO PULL */
					output-high;
				};
			};
		};

		pri_mi2s_sd0 {
			pri_mi2s_sd0_sleep: pri_mi2s_sd0_sleep {
				mux {
					pins = "gpio67";
					function = "gpio";
				};

				config {
					pins = "gpio67";
					drive-strength = <2>;   /* 2 mA */
					bias-pull-down;         /* PULL DOWN */
					input-enable;
				};
			};

			pri_mi2s_sd0_active: pri_mi2s_sd0_active {
				mux {
					pins = "gpio67";
					function = "pri_mi2s";
				};

				config {
					pins = "gpio67";
					drive-strength = <8>;   /* 8 mA */
					bias-disable;           /* NO PULL */
				};
			};
		};

		pri_mi2s_sd1 {
			pri_mi2s_sd1_sleep: pri_mi2s_sd1_sleep {
				mux {
					pins = "gpio68";
					function = "gpio";
				};

				config {
					pins = "gpio68";
					drive-strength = <2>;   /* 2 mA */
					bias-pull-down;         /* PULL DOWN */
					input-enable;
				};
			};

			pri_mi2s_sd1_active: pri_mi2s_sd1_active {
				mux {
					pins = "gpio68";
					function = "pri_mi2s";
				};

				config {
					pins = "gpio68";
					drive-strength = <8>;   /* 8 mA */
					bias-disable;           /* NO PULL */
				};
			};
		};

		sec_mi2s_mclk {
			sec_mi2s_mclk_sleep: sec_mi2s_mclk_sleep {
				mux {
					pins = "gpio79";
					function = "gpio";
				};

				config {
					pins = "gpio79";
					drive-strength = <2>;   /* 2 mA */
					bias-pull-down;         /* PULL DOWN */
					input-enable;
				};
			};

			sec_mi2s_mclk_active: sec_mi2s_mclk_active {
				mux {
					pins = "gpio79";
					function = "sec_mi2s";
				};

				config {
					pins = "gpio79";
					drive-strength = <8>;   /* 8 mA */
					bias-disable;           /* NO PULL */
				};
			};
		};

		sec_mi2s {
			sec_mi2s_sleep: sec_mi2s_sleep {
				mux {
					pins = "gpio80", "gpio81";
					function = "gpio";
				};

				config {
					pins = "gpio80", "gpio81";
					drive-strength = <2>;   /* 2 mA */
					bias-disable;         /* NO PULL */
					input-enable;
				};
			};

			sec_mi2s_active: sec_mi2s_active {
				mux {
					pins = "gpio80", "gpio81";
					function = "sec_mi2s";
				};

				config {
					pins = "gpio80", "gpio81";
					drive-strength = <8>;   /* 8 mA */
					bias-disable;           /* NO PULL */
				};
			};
		};

		sec_mi2s_sd0 {
			sec_mi2s_sd0_sleep: sec_mi2s_sd0_sleep {
				mux {
					pins = "gpio82";
					function = "gpio";
				};

				config {
					pins = "gpio82";
					drive-strength = <2>;   /* 2 mA */
					bias-pull-down;         /* PULL DOWN */
					input-enable;
				};
			};

			sec_mi2s_sd0_active: sec_mi2s_sd0_active {
				mux {
					pins = "gpio82";
					function = "sec_mi2s";
				};

				config {
					pins = "gpio82";
					drive-strength = <8>;   /* 8 mA */
					bias-disable;           /* NO PULL */
				};
			};
		};

		sec_mi2s_sd1 {
			sec_mi2s_sd1_sleep: sec_mi2s_sd1_sleep {
				mux {
					pins = "gpio83";
					function = "gpio";
				};

				config {
					pins = "gpio83";
					drive-strength = <2>;   /* 2 mA */
					bias-pull-down;         /* PULL DOWN */
					input-enable;
				};
			};

			sec_mi2s_sd1_active: sec_mi2s_sd1_active {
				mux {
					pins = "gpio83";
					function = "sec_mi2s";
				};

				config {
					pins = "gpio83";
					drive-strength = <8>;   /* 8 mA */
					bias-disable;           /* NO PULL */
				};
			};
		};

		tert_mi2s_mclk {
			tert_mi2s_mclk_sleep: tert_mi2s_mclk_sleep {
				mux {
					pins = "gpio74";
					function = "gpio";
				};

				config {
					pins = "gpio74";
					drive-strength = <2>;   /* 2 mA */
					bias-pull-down;         /* PULL DOWN */
					input-enable;
				};
			};

			tert_mi2s_mclk_active: tert_mi2s_mclk_active {
				mux {
					pins = "gpio74";
					function = "ter_mi2s";
				};

				config {
					pins = "gpio74";
					drive-strength = <8>;   /* 8 mA */
					bias-disable;           /* NO PULL */
				};
			};
		};

		tert_mi2s {
			tert_mi2s_sleep: tert_mi2s_sleep {
				mux {
					pins = "gpio75", "gpio76";
					function = "gpio";
				};

				config {
					pins = "gpio75", "gpio76";
					drive-strength = <2>;   /* 2 mA */
					bias-pull-down;         /* PULL DOWN */
					input-enable;
				};
			};

			tert_mi2s_active: tert_mi2s_active {
				mux {
					pins = "gpio75", "gpio76";
					function = "ter_mi2s";
				};

				config {
					pins = "gpio75", "gpio76";
					drive-strength = <8>;   /* 8 mA */
					bias-disable;           /* NO PULL */
					output-high;
				};
			};
		};

		tert_mi2s_sd0 {
			tert_mi2s_sd0_sleep: tert_mi2s_sd0_sleep {
				mux {
					pins = "gpio77";
					function = "gpio";
				};

				config {
					pins = "gpio77";
					drive-strength = <2>;   /* 2 mA */
					bias-pull-down;         /* PULL DOWN */
					input-enable;
				};
			};

			tert_mi2s_sd0_active: tert_mi2s_sd0_active {
				mux {
					pins = "gpio77";
					function = "ter_mi2s";
				};

				config {
					pins = "gpio77";
					drive-strength = <8>;   /* 8 mA */
					bias-disable;           /* NO PULL */
				};
			};
		};

		tert_mi2s_sd1 {
			tert_mi2s_sd1_sleep: tert_mi2s_sd1_sleep {
				mux {
					pins = "gpio78";
					function = "gpio";
				};

				config {
					pins = "gpio78";
					drive-strength = <2>;   /* 2 mA */
					bias-pull-down;         /* PULL DOWN */
					input-enable;
				};
			};

			tert_mi2s_sd1_active: tert_mi2s_sd1_active {
				mux {
					pins = "gpio78";
					function = "ter_mi2s";
				};

				config {
					pins = "gpio78";
					drive-strength = <8>;   /* 8 mA */
					bias-disable;           /* NO PULL */
				};
			};
		};

		quat_mi2s_mclk {
			quat_mi2s_mclk_sleep: quat_mi2s_mclk_sleep {
				mux {
					pins = "gpio57";
					function = "gpio";
				};

				config {
					pins = "gpio57";
					drive-strength = <2>;   /* 2 mA */
					bias-pull-down;         /* PULL DOWN */
					input-enable;
				};
			};

			quat_mi2s_mclk_active: quat_mi2s_mclk_active {
				mux {
					pins = "gpio57";
					function = "qua_mi2s";
				};

				config {
					pins = "gpio57";
					drive-strength = <8>;   /* 8 mA */
					bias-disable;           /* NO PULL */
				};
			};
		};

		quat_mi2s {
			quat_mi2s_sleep: quat_mi2s_sleep {
				mux {
					pins = "gpio58", "gpio59";
					function = "gpio";
				};

				config {
					pins = "gpio58", "gpio59";
					drive-strength = <2>;   /* 2 mA */
					bias-pull-down;         /* PULL DOWN */
					input-enable;
				};
			};

			quat_mi2s_active: quat_mi2s_active {
				mux {
					pins = "gpio58", "gpio59";
					function = "qua_mi2s";
				};

				config {
					pins = "gpio58", "gpio59";
					drive-strength = <8>;   /* 8 mA */
					bias-disable;           /* NO PULL */
					output-high;
				};
			};
		};

		quat_mi2s_sd0 {
			quat_mi2s_sd0_sleep: quat_mi2s_sd0_sleep {
				mux {
					pins = "gpio60";
					function = "gpio";
				};

				config {
					pins = "gpio60";
					drive-strength = <2>;   /* 2 mA */
					bias-pull-down;         /* PULL DOWN */
					input-enable;
				};
			};

			quat_mi2s_sd0_active: quat_mi2s_sd0_active {
				mux {
					pins = "gpio60";
					function = "qua_mi2s";
				};

				config {
					pins = "gpio60";
					drive-strength = <8>;   /* 8 mA */
					bias-disable;           /* NO PULL */
				};
			};
		};

		quat_mi2s_sd1 {
			quat_mi2s_sd1_sleep: quat_mi2s_sd1_sleep {
				mux {
					pins = "gpio61";
					function = "gpio";
				};

				config {
					pins = "gpio61";
					drive-strength = <2>;   /* 2 mA */
					bias-pull-down;         /* PULL DOWN */
					input-enable;
				};
			};

			quat_mi2s_sd1_active: quat_mi2s_sd1_active {
				mux {
					pins = "gpio61";
					function = "qua_mi2s";
				};

				config {
					pins = "gpio61";
					drive-strength = <8>;   /* 8 mA */
					bias-disable;           /* NO PULL */
				};
			};
		};

		quat_mi2s_sd2 {
			quat_mi2s_sd2_sleep: quat_mi2s_sd2_sleep {
				mux {
					pins = "gpio62";
					function = "gpio";
				};

				config {
					pins = "gpio62";
					drive-strength = <2>;   /* 2 mA */
					bias-pull-down;         /* PULL DOWN */
					input-enable;
				};
			};

			quat_mi2s_sd2_active: quat_mi2s_sd2_active {
				mux {
					pins = "gpio62";
					function = "qua_mi2s";
				};

				config {
					pins = "gpio62";
					drive-strength = <8>;   /* 8 mA */
					bias-disable;           /* NO PULL */
				};
			};
		};

		quat_mi2s_sd3 {
			quat_mi2s_sd3_sleep: quat_mi2s_sd3_sleep {
				mux {
					pins = "gpio63";
					function = "gpio";
				};

				config {
					pins = "gpio63";
					drive-strength = <2>;   /* 2 mA */
					bias-pull-down;         /* PULL DOWN */
					input-enable;
				};
			};

			quat_mi2s_sd3_active: quat_mi2s_sd3_active {
				mux {
					pins = "gpio63";
					function = "qua_mi2s";
				};

				config {
					pins = "gpio63";
					drive-strength = <8>;   /* 8 mA */
					bias-disable;           /* NO PULL */
				};
			};
		};

		quat_tdm {
			quat_tdm_sleep: quat_tdm_sleep {
				mux {
					pins = "gpio58", "gpio59";
					function = "qua_mi2s";
				};

				config {
					pins = "gpio58", "gpio59";
					drive-strength = <2>;   /* 2 mA */
					bias-pull-down;         /* PULL DOWN */
				};
			};

			quat_tdm_active: quat_tdm_active {
				mux {
					pins = "gpio58", "gpio59";
					function = "qua_mi2s";
				};

				config {
					pins = "gpio58", "gpio59";
					drive-strength = <8>;   /* 8 mA */
					bias-disable;           /* NO PULL */
				};
			};
		};

		quat_tdm_dout {
			quat_tdm_dout_sleep: quat_tdm_dout_sleep {
				mux {
					pins = "gpio61";
					function = "qua_mi2s";
				};

				config {
					pins = "gpio61";
					drive-strength = <2>;   /* 2 mA */
					bias-pull-down;         /* PULL DOWN */
				};
			};

			quat_tdm_dout_active: quat_tdm_dout_active {
				mux {
					pins = "gpio61";
					function = "qua_mi2s";
				};

				config {
					pins = "gpio61";
					drive-strength = <2>;   /* 2 mA */
					bias-disable;           /* NO PULL */
				};
			};
		};

		quat_tdm_din {
			quat_tdm_din_sleep: quat_tdm_din_sleep {
				mux {
					pins = "gpio60";
					function = "qua_mi2s";
				};

				config {
					pins = "gpio60";
					drive-strength = <2>;   /* 2 mA */
					bias-pull-down;         /* PULL DOWN */
				};
			};

			quat_tdm_din_active: quat_tdm_din_active {
				mux {
					pins = "gpio60";
					function = "qua_mi2s";
				};

				config {
					pins = "gpio60";
					drive-strength = <2>;   /* 2 mA */
					bias-disable;           /* NO PULL */
				};
			};
		};

		/* QUPv3 South SE mappings */
		/* SE 0 pin mappings */
		qupv3_se0_i2c_pins: qupv3_se0_i2c_pins {
			qupv3_se0_i2c_active: qupv3_se0_i2c_active {
				mux {
					pins = "gpio0", "gpio1";
					function = "qup0";
				};

				config {
					pins = "gpio0", "gpio1";
					drive-strength = <2>;
					bias-disable;
				};
			};

			qupv3_se0_i2c_sleep: qupv3_se0_i2c_sleep {
				mux {
					pins = "gpio0", "gpio1";
					function = "gpio";
				};

				config {
					pins = "gpio0", "gpio1";
					drive-strength = <2>;
					bias-pull-up;
				};
			};
		};

		qupv3_se0_spi_pins: qupv3_se0_spi_pins {
			qupv3_se0_spi_active: qupv3_se0_spi_active {
				mux {
					pins = "gpio0", "gpio1", "gpio2",
								"gpio3";
					function = "qup0";
				};

				config {
					pins = "gpio0", "gpio1", "gpio2",
								"gpio3";
					drive-strength = <6>;
					bias-disable;
				};
			};

			qupv3_se0_spi_sleep: qupv3_se0_spi_sleep {
				mux {
					pins = "gpio0", "gpio1", "gpio2",
								"gpio3";
					function = "gpio";
				};

				config {
					pins = "gpio0", "gpio1", "gpio2",
								"gpio3";
					drive-strength = <6>;
					bias-disable;
				};
			};
		};

		/* SE 1 pin mappings */
		qupv3_se1_i2c_pins: qupv3_se1_i2c_pins {
			qupv3_se1_i2c_active: qupv3_se1_i2c_active {
				mux {
					pins = "gpio17", "gpio18";
					function = "qup1";
				};

				config {
					pins = "gpio17", "gpio18";
					drive-strength = <2>;
					bias-disable;
				};
			};

			qupv3_se1_i2c_sleep: qupv3_se1_i2c_sleep {
				mux {
					pins = "gpio17", "gpio18";
					function = "gpio";
				};

				config {
					pins = "gpio17", "gpio18";
					drive-strength = <2>;
					bias-pull-up;
				};
			};
		};

		qupv3_se1_spi_pins: qupv3_se1_spi_pins {
			qupv3_se1_spi_active: qupv3_se1_spi_active {
				mux {
					pins = "gpio17", "gpio18", "gpio19",
								"gpio20";
					function = "qup1";
				};

				config {
					pins = "gpio17", "gpio18", "gpio19",
								"gpio20";
					drive-strength = <6>;
					bias-disable;
				};
			};

			qupv3_se1_spi_sleep: qupv3_se1_spi_sleep {
				mux {
					pins = "gpio17", "gpio18", "gpio19",
								"gpio20";
					function = "gpio";
				};

				config {
					pins = "gpio17", "gpio18", "gpio19",
								"gpio20";
					drive-strength = <6>;
					bias-disable;
				};
			};
		};

		/* SE 2 pin mappings */
		qupv3_se2_i2c_pins: qupv3_se2_i2c_pins {
			qupv3_se2_i2c_active: qupv3_se2_i2c_active {
				mux {
					pins = "gpio27", "gpio28";
					function = "qup2";
				};

				config {
					pins = "gpio27", "gpio28";
					drive-strength = <2>;
					bias-disable;
				};
			};

			qupv3_se2_i2c_sleep: qupv3_se2_i2c_sleep {
				mux {
					pins = "gpio27", "gpio28";
					function = "gpio";
				};

				config {
					pins = "gpio27", "gpio28";
					drive-strength = <2>;
					bias-pull-up;
				};
			};
		};

		qupv3_se2_spi_pins: qupv3_se2_spi_pins {
			qupv3_se2_spi_active: qupv3_se2_spi_active {
				mux {
					pins = "gpio27", "gpio28", "gpio29",
								"gpio30";
					function = "qup2";
				};

				config {
					pins = "gpio27", "gpio28", "gpio29",
								"gpio30";
					drive-strength = <6>;
					bias-disable;
				};
			};

			qupv3_se2_spi_sleep: qupv3_se2_spi_sleep {
				mux {
					pins = "gpio27", "gpio28", "gpio29",
								"gpio30";
					function = "gpio";
				};

				config {
					pins = "gpio27", "gpio28", "gpio29",
								"gpio30";
					drive-strength = <6>;
					bias-disable;
				};
			};
		};

		/* SE 3 pin mappings */
		qupv3_se3_i2c_pins: qupv3_se3_i2c_pins {
			qupv3_se3_i2c_active: qupv3_se3_i2c_active {
				mux {
					pins = "gpio41", "gpio42";
					function = "qup3";
				};

				config {
					pins = "gpio41", "gpio42";
					drive-strength = <2>;
					bias-disable;
				};
			};

			qupv3_se3_i2c_sleep: qupv3_se3_i2c_sleep {
				mux {
					pins = "gpio41", "gpio42";
					function = "gpio";
				};

				config {
					pins = "gpio41", "gpio42";
					drive-strength = <2>;
					bias-pull-up;
				};
			};
		};

		nfc {
			nfc_int_active: nfc_int_active {
				/* active state */
				mux {
					/* GPIO 63 NFC Read Interrupt */
					pins = "gpio63";
					function = "gpio";
				};

				config {
					pins = "gpio63";
					drive-strength = <2>; /* 2 MA */
					bias-pull-up;
				};
			};

			nfc_int_suspend: nfc_int_suspend {
				/* sleep state */
				mux {
					/* GPIO 63 NFC Read Interrupt */
					pins = "gpio63";
					function = "gpio";
				};

				config {
					pins = "gpio63";
					drive-strength = <2>; /* 2 MA */
					bias-pull-up;
				};
			};

			nfc_enable_active: nfc_enable_active {
				/* active state */
				mux {
					/* 12: NFC ENABLE 116:ESE Enable */
					pins = "gpio12", "gpio62", "gpio116";
					function = "gpio";
				};

				config {
					pins = "gpio12", "gpio62", "gpio116";
					drive-strength = <2>; /* 2 MA */
					bias-pull-up;
				};
			};

			nfc_enable_suspend: nfc_enable_suspend {
				/* sleep state */
				mux {
					/* 12: NFC ENABLE 116:ESE Enable */
					pins = "gpio12", "gpio62", "gpio116";
					function = "gpio";
				};

				config {
					pins = "gpio12", "gpio62", "gpio116";
					drive-strength = <2>; /* 2 MA */
					bias-disable;
				};
			};
		};

		qupv3_se3_spi_pins: qupv3_se3_spi_pins {
			qupv3_se3_spi_active: qupv3_se3_spi_active {
				mux {
					pins = "gpio41", "gpio42", "gpio43",
								"gpio44";
					function = "qup3";
				};

				config {
					pins = "gpio41", "gpio42", "gpio43",
								"gpio44";
					drive-strength = <6>;
					bias-disable;
				};
			};

			qupv3_se3_spi_sleep: qupv3_se3_spi_sleep {
				mux {
					pins = "gpio41", "gpio42", "gpio43",
								"gpio44";
					function = "gpio";
				};

				config {
					pins = "gpio41", "gpio42", "gpio43",
								"gpio44";
					drive-strength = <6>;
					bias-disable;
				};
			};
		};

		/* SE 4 pin mappings */
		qupv3_se4_i2c_pins: qupv3_se4_i2c_pins {
			qupv3_se4_i2c_active: qupv3_se4_i2c_active {
				mux {
					pins = "gpio89", "gpio90";
					function = "qup4";
				};

				config {
					pins = "gpio89", "gpio90";
					drive-strength = <2>;
					bias-disable;
				};
			};

			qupv3_se4_i2c_sleep: qupv3_se4_i2c_sleep {
				mux {
					pins = "gpio89", "gpio90";
					function = "gpio";
				};

				config {
					pins = "gpio89", "gpio90";
					drive-strength = <2>;
					bias-pull-up;
				};
			};
		};

		qupv3_se4_spi_pins: qupv3_se4_spi_pins {
			qupv3_se4_spi_active: qupv3_se4_spi_active {
				mux {
					pins = "gpio89", "gpio90", "gpio91",
								"gpio92";
					function = "qup4";
				};

				config {
					pins = "gpio89", "gpio90", "gpio91",
								"gpio92";
					drive-strength = <6>;
					bias-disable;
				};
			};

			qupv3_se4_spi_sleep: qupv3_se4_spi_sleep {
				mux {
					pins = "gpio89", "gpio90", "gpio91",
								"gpio92";
					function = "gpio";
				};

				config {
					pins = "gpio89", "gpio90", "gpio91",
								"gpio92";
					drive-strength = <6>;
					bias-disable;
				};
			};
		};

		/* SE 5 pin mappings */
		qupv3_se5_i2c_pins: qupv3_se5_i2c_pins {
			qupv3_se5_i2c_active: qupv3_se5_i2c_active {
				mux {
					pins = "gpio85", "gpio86";
					function = "qup5";
				};

				config {
					pins = "gpio85", "gpio86";
					drive-strength = <2>;
					bias-disable;
				};
			};

			qupv3_se5_i2c_sleep: qupv3_se5_i2c_sleep {
				mux {
					pins = "gpio85", "gpio86";
					function = "gpio";
				};

				config {
					pins = "gpio85", "gpio86";
					drive-strength = <2>;
					bias-pull-up;
				};
			};
		};

		qupv3_se5_spi_pins: qupv3_se5_spi_pins {
			qupv3_se5_spi_active: qupv3_se5_spi_active {
				mux {
					pins = "gpio85", "gpio86", "gpio87",
								"gpio88";
					function = "qup5";
				};

				config {
					pins = "gpio85", "gpio86", "gpio87",
								"gpio88";
					drive-strength = <6>;
					bias-disable;
				};
			};

			qupv3_se5_spi_sleep: qupv3_se5_spi_sleep {
				mux {
					pins = "gpio85", "gpio86", "gpio87",
								"gpio88";
					function = "gpio";
				};

				config {
					pins = "gpio85", "gpio86", "gpio87",
								"gpio88";
					drive-strength = <6>;
					bias-disable;
				};
			};
		};

		/* SE 6 pin mappings */
		qupv3_se6_i2c_pins: qupv3_se6_i2c_pins {
			qupv3_se6_i2c_active: qupv3_se6_i2c_active {
				mux {
					pins = "gpio45", "gpio46";
					function = "qup6";
				};

				config {
					pins = "gpio45", "gpio46";
					drive-strength = <2>;
					bias-disable;
				};
			};

			qupv3_se6_i2c_sleep: qupv3_se6_i2c_sleep {
				mux {
					pins = "gpio45", "gpio46";
					function = "gpio";
				};

				config {
					pins = "gpio45", "gpio46";
					drive-strength = <2>;
					bias-pull-up;
				};
			};
		};

		qupv3_se6_4uart_pins: qupv3_se6_4uart_pins {
			qupv3_se6_ctsrx: qupv3_se6_ctsrx {
				mux {
					pins = "gpio45", "gpio48";
					function = "qup6";
				};

				config {
					pins = "gpio45", "gpio48";
					drive-strength = <2>;
					bias-no-pull;
				};
			};

			qupv3_se6_rts: qupv3_se6_rts {
				mux {
					pins = "gpio46";
					function = "qup6";
				};

				config {
					pins = "gpio46";
					drive-strength = <2>;
					bias-pull-down;
				};
			};
			qupv3_se6_tx: qupv3_se6_tx {
				mux {
					pins = "gpio47";
					function = "qup6";
				};

				config {
					pins = "gpio47";
					drive-strength = <2>;
					bias-pull-up;
				};
			};
		};

		qupv3_se6_spi_pins: qupv3_se6_spi_pins {
			qupv3_se6_spi_active: qupv3_se6_spi_active {
				mux {
					pins = "gpio45", "gpio46", "gpio47",
								"gpio48";
					function = "qup6";
				};

				config {
					pins = "gpio45", "gpio46", "gpio47",
								"gpio48";
					drive-strength = <6>;
					bias-disable;
				};
			};

			qupv3_se6_spi_sleep: qupv3_se6_spi_sleep {
				mux {
					pins = "gpio45", "gpio46", "gpio47",
								"gpio48";
					function = "gpio";
				};

				config {
					pins = "gpio45", "gpio46", "gpio47",
								"gpio48";
					drive-strength = <6>;
					bias-disable;
				};
			};
		};

		/* SE 7 pin mappings */
		qupv3_se7_i2c_pins: qupv3_se7_i2c_pins {
			qupv3_se7_i2c_active: qupv3_se7_i2c_active {
				mux {
					pins = "gpio93", "gpio94";
					function = "qup7";
				};

				config {
					pins = "gpio93", "gpio94";
					drive-strength = <2>;
					bias-disable;
				};
			};

			qupv3_se7_i2c_sleep: qupv3_se7_i2c_sleep {
				mux {
					pins = "gpio93", "gpio94";
					function = "gpio";
				};

				config {
					pins = "gpio93", "gpio94";
					drive-strength = <2>;
					bias-pull-up;
				};
			};
		};

		qupv3_se7_4uart_pins: qupv3_se7_4uart_pins {
			qupv3_se7_4uart_active: qupv3_se7_4uart_active {
				mux {
					pins = "gpio93", "gpio94", "gpio95",
								"gpio96";
					function = "qup7";
				};

				config {
					pins = "gpio93", "gpio94", "gpio95",
								"gpio96";
					drive-strength = <2>;
					bias-disable;
				};
			};

			qupv3_se7_4uart_sleep: qupv3_se7_4uart_sleep {
				mux {
					pins = "gpio93", "gpio94", "gpio95",
								"gpio96";
					function = "gpio";
				};

				config {
					pins = "gpio93", "gpio94", "gpio95",
								"gpio96";
					drive-strength = <2>;
					bias-disable;
				};
			};
		};

		qupv3_se7_spi_pins: qupv3_se7_spi_pins {
			qupv3_se7_spi_active: qupv3_se7_spi_active {
				mux {
					pins = "gpio93", "gpio94", "gpio95",
								"gpio96";
					function = "qup7";
				};

				config {
					pins = "gpio93", "gpio94", "gpio95",
								"gpio96";
					drive-strength = <6>;
					bias-disable;
				};
			};

			qupv3_se7_spi_sleep: qupv3_se7_spi_sleep {
				mux {
					pins = "gpio93", "gpio94", "gpio95",
								"gpio96";
					function = "gpio";
				};

				config {
					pins = "gpio93", "gpio94", "gpio95",
								"gpio96";
					drive-strength = <6>;
					bias-disable;
				};
			};
		};

		/* QUPv3 North instances */
		/* SE 8 pin mappings */
		qupv3_se8_i2c_pins: qupv3_se8_i2c_pins {
			qupv3_se8_i2c_active: qupv3_se8_i2c_active {
				mux {
					pins = "gpio65", "gpio66";
					function = "qup8";
				};

				config {
					pins = "gpio65", "gpio66";
					drive-strength = <2>;
					bias-disable;
				};
			};

			qupv3_se8_i2c_sleep: qupv3_se8_i2c_sleep {
				mux {
					pins = "gpio65", "gpio66";
					function = "gpio";
				};

				config {
					pins = "gpio65", "gpio66";
					drive-strength = <2>;
					bias-pull-up;
				};
			};
		};

		qupv3_se8_spi_pins: qupv3_se8_spi_pins {
			qupv3_se8_spi_active: qupv3_se8_spi_active {
				mux {
					pins = "gpio65", "gpio66", "gpio67",
								"gpio68";
					function = "qup8";
				};

				config {
					pins = "gpio65", "gpio66", "gpio67",
								"gpio68";
					drive-strength = <6>;
					bias-disable;
				};
			};

			qupv3_se8_spi_sleep: qupv3_se8_spi_sleep {
				mux {
					pins = "gpio65", "gpio66", "gpio67",
								"gpio68";
					function = "gpio";
				};

				config {
					pins = "gpio65", "gpio66", "gpio67",
								"gpio68";
					drive-strength = <6>;
					bias-disable;
				};
			};
		};

		/* SE 9 pin mappings */
		qupv3_se9_i2c_pins: qupv3_se9_i2c_pins {
			qupv3_se9_i2c_active: qupv3_se9_i2c_active {
				mux {
					pins = "gpio6", "gpio7";
					function = "qup9";
				};

				config {
					pins = "gpio6", "gpio7";
					drive-strength = <2>;
					bias-disable;
				};
			};

			qupv3_se9_i2c_sleep: qupv3_se9_i2c_sleep {
				mux {
					pins = "gpio6", "gpio7";
					function = "gpio";
				};

				config {
					pins = "gpio6", "gpio7";
					drive-strength = <2>;
					bias-pull-up;
				};
			};
		};

		qupv3_se9_2uart_pins: qupv3_se9_2uart_pins {
			qupv3_se9_2uart_active: qupv3_se9_2uart_active {
				mux {
					pins = "gpio4", "gpio5";
					function = "qup9";
				};

				config {
					pins = "gpio4", "gpio5";
					drive-strength = <2>;
					bias-disable;
				};
			};

			qupv3_se9_2uart_sleep: qupv3_se9_2uart_sleep {
				mux {
					pins = "gpio4", "gpio5";
					function = "gpio";
				};

				config {
					pins = "gpio4", "gpio5";
					drive-strength = <2>;
					bias-disable;
				};
			};
		};

		qupv3_se9_spi_pins: qupv3_se9_spi_pins {
			qupv3_se9_spi_active: qupv3_se9_spi_active {
				mux {
					pins = "gpio4", "gpio5", "gpio6",
								"gpio7";
					function = "qup9";
				};

				config {
					pins = "gpio4", "gpio5", "gpio6",
								"gpio7";
					drive-strength = <6>;
					bias-disable;
				};
			};

			qupv3_se9_spi_sleep: qupv3_se9_spi_sleep {
				mux {
					pins = "gpio4", "gpio5", "gpio6",
								"gpio7";
					function = "gpio";
				};

				config {
					pins = "gpio4", "gpio5", "gpio6",
								"gpio7";
					drive-strength = <6>;
					bias-disable;
				};
			};
		};

		/* SE 10 pin mappings */
		qupv3_se10_i2c_pins: qupv3_se10_i2c_pins {
			qupv3_se10_i2c_active: qupv3_se10_i2c_active {
				mux {
					pins = "gpio55", "gpio56";
					function = "qup10";
				};

				config {
					pins = "gpio55", "gpio56";
					drive-strength = <2>;
					bias-disable;
				};
			};

			qupv3_se10_i2c_sleep: qupv3_se10_i2c_sleep {
				mux {
					pins = "gpio55", "gpio56";
					function = "gpio";
				};

				config {
					pins = "gpio55", "gpio56";
					drive-strength = <2>;
					bias-pull-up;
				};
			};
		};

		qupv3_se10_2uart_pins: qupv3_se10_2uart_pins {
			qupv3_se10_2uart_active: qupv3_se10_2uart_active {
				mux {
					pins = "gpio53", "gpio54";
					function = "qup10";
				};

				config {
					pins = "gpio53", "gpio54";
					drive-strength = <2>;
					bias-disable;
				};
			};

			qupv3_se10_2uart_sleep: qupv3_se10_2uart_sleep {
				mux {
					pins = "gpio53", "gpio54";
					function = "gpio";
				};

				config {
					pins = "gpio53", "gpio54";
					drive-strength = <2>;
					bias-disable;
				};
			};
		};

		qupv3_se10_spi_pins: qupv3_se10_spi_pins {
			qupv3_se10_spi_active: qupv3_se10_spi_active {
				mux {
					pins = "gpio53", "gpio54", "gpio55",
								"gpio56";
					function = "qup10";
				};

				config {
					pins = "gpio53", "gpio54", "gpio55",
								"gpio56";
					drive-strength = <6>;
					bias-disable;
				};
			};

			qupv3_se10_spi_sleep: qupv3_se10_spi_sleep {
				mux {
					pins = "gpio53", "gpio54", "gpio55",
								"gpio56";
					function = "gpio";
				};

				config {
					pins = "gpio53", "gpio54", "gpio55",
								"gpio56";
					drive-strength = <6>;
					bias-disable;
				};
			};
		};

		/* SE 11 pin mappings */
		qupv3_se11_i2c_pins: qupv3_se11_i2c_pins {
			qupv3_se11_i2c_active: qupv3_se11_i2c_active {
				mux {
					pins = "gpio31", "gpio32";
					function = "qup11";
				};

				config {
					pins = "gpio31", "gpio32";
					drive-strength = <2>;
					bias-disable;
				};
			};

			qupv3_se11_i2c_sleep: qupv3_se11_i2c_sleep {
				mux {
					pins = "gpio31", "gpio32";
					function = "gpio";
				};

				config {
					pins = "gpio31", "gpio32";
					drive-strength = <2>;
					bias-pull-up;
				};
			};
		};

		qupv3_se11_spi_pins: qupv3_se11_spi_pins {
			qupv3_se11_spi_active: qupv3_se11_spi_active {
				mux {
					pins = "gpio31", "gpio32", "gpio33",
								"gpio34";
					function = "qup11";
				};

				config {
					pins = "gpio31", "gpio32", "gpio33",
								"gpio34";
					drive-strength = <6>;
					bias-disable;
				};
			};

			qupv3_se11_spi_sleep: qupv3_se11_spi_sleep {
				mux {
					pins = "gpio31", "gpio32", "gpio33",
								"gpio34";
					function = "gpio";
				};

				config {
					pins = "gpio31", "gpio32", "gpio33",
								"gpio34";
					drive-strength = <6>;
					bias-disable;
				};
			};
		};

		/* SE 12 pin mappings */
		qupv3_se12_i2c_pins: qupv3_se12_i2c_pins {
			qupv3_se12_i2c_active: qupv3_se12_i2c_active {
				mux {
					pins = "gpio49", "gpio50";
					function = "qup12";
				};

				config {
					pins = "gpio49", "gpio50";
					drive-strength = <2>;
					bias-disable;
				};
			};

			qupv3_se12_i2c_sleep: qupv3_se12_i2c_sleep {
				mux {
					pins = "gpio49", "gpio50";
					function = "gpio";
				};

				config {
					pins = "gpio49", "gpio50";
					drive-strength = <2>;
					bias-pull-up;
				};
			};
		};

		qupv3_se12_spi_pins: qupv3_se12_spi_pins {
			qupv3_se12_spi_active: qupv3_se12_spi_active {
				mux {
					pins = "gpio49", "gpio50", "gpio51",
								"gpio52";
					function = "qup12";
				};

				config {
					pins = "gpio49", "gpio50", "gpio51",
								"gpio52";
					drive-strength = <6>;
					bias-disable;
				};
			};

			qupv3_se12_spi_sleep: qupv3_se12_spi_sleep {
				mux {
					pins = "gpio49", "gpio50", "gpio51",
								"gpio52";
					function = "gpio";
				};

				config {
					pins = "gpio49", "gpio50", "gpio51",
								"gpio52";
					drive-strength = <6>;
					bias-disable;
				};
			};
		};

		/* SE 13 pin mappings */
		qupv3_se13_i2c_pins: qupv3_se13_i2c_pins {
			qupv3_se13_i2c_active: qupv3_se13_i2c_active {
				mux {
					pins = "gpio105", "gpio106";
					function = "qup13";
				};

				config {
					pins = "gpio105", "gpio106";
					drive-strength = <2>;
					bias-disable;
				};
			};

			qupv3_se13_i2c_sleep: qupv3_se13_i2c_sleep {
				mux {
					pins = "gpio105", "gpio106";
					function = "gpio";
				};

				config {
					pins = "gpio105", "gpio106";
					drive-strength = <2>;
					bias-pull-up;
				};
			};
		};

		qupv3_se13_spi_pins: qupv3_se13_spi_pins {
			qupv3_se13_spi_active: qupv3_se13_spi_active {
				mux {
					pins = "gpio105", "gpio106", "gpio107",
								"gpio108";
					function = "qup13";
				};

				config {
					pins = "gpio105", "gpio106", "gpio107",
								"gpio108";
					drive-strength = <6>;
					bias-disable;
				};
			};

			qupv3_se13_spi_sleep: qupv3_se13_spi_sleep {
				mux {
					pins = "gpio105", "gpio106", "gpio107",
								"gpio108";
					function = "gpio";
				};

				config {
					pins = "gpio105", "gpio106", "gpio107",
								"gpio108";
					drive-strength = <6>;
					bias-disable;
				};
			};
		};

		/* SE 14 pin mappings */
		qupv3_se14_i2c_pins: qupv3_se14_i2c_pins {
			qupv3_se14_i2c_active: qupv3_se14_i2c_active {
				mux {
					pins = "gpio33", "gpio34";
					function = "qup14";
				};

				config {
					pins = "gpio33", "gpio34";
					drive-strength = <2>;
					bias-disable;
				};
			};

			qupv3_se14_i2c_sleep: qupv3_se14_i2c_sleep {
				mux {
					pins = "gpio33", "gpio34";
					function = "gpio";
				};

				config {
					pins = "gpio33", "gpio34";
					drive-strength = <2>;
					bias-pull-up;
				};
			};
		};

		qupv3_se14_spi_pins: qupv3_se14_spi_pins {
			qupv3_se14_spi_active: qupv3_se14_spi_active {
				mux {
					pins = "gpio31", "gpio32", "gpio33",
								"gpio34";
					function = "qup14";
				};

				config {
					pins = "gpio31", "gpio32", "gpio33",
								"gpio34";
					drive-strength = <6>;
					bias-disable;
				};
			};

			qupv3_se14_spi_sleep: qupv3_se14_spi_sleep {
				mux {
					pins = "gpio31", "gpio32", "gpio33",
								"gpio34";
					function = "gpio";
				};

				config {
					pins = "gpio31", "gpio32", "gpio33",
								"gpio34";
					drive-strength = <6>;
					bias-disable;
				};
			};
		};

		/* SE 15 pin mappings */
		qupv3_se15_i2c_pins: qupv3_se15_i2c_pins {
			qupv3_se15_i2c_active: qupv3_se15_i2c_active {
				mux {
					pins = "gpio81", "gpio82";
					function = "qup15";
				};

				config {
					pins = "gpio81", "gpio82";
					drive-strength = <2>;
					bias-disable;
				};
			};

			qupv3_se15_i2c_sleep: qupv3_se15_i2c_sleep {
				mux {
					pins = "gpio81", "gpio82";
					function = "gpio";
				};

				config {
					pins = "gpio81", "gpio82";
					drive-strength = <2>;
					bias-pull-up;
				};
			};
		};

		qupv3_se15_spi_pins: qupv3_se15_spi_pins {
			qupv3_se15_spi_active: qupv3_se15_spi_active {
				mux {
					pins = "gpio81", "gpio82", "gpio83",
								"gpio84";
					function = "qup15";
				};

				config {
					pins = "gpio81", "gpio82", "gpio83",
								"gpio84";
					drive-strength = <6>;
					bias-disable;
				};
			};

			qupv3_se15_spi_sleep: qupv3_se15_spi_sleep {
				mux {
					pins = "gpio81", "gpio82", "gpio83",
								"gpio84";
					function = "gpio";
				};

				config {
					pins = "gpio81", "gpio82", "gpio83",
								"gpio84";
					drive-strength = <6>;
					bias-disable;
				};
			};
		};

		cci0_active: cci0_active {
			mux {
				/* CLK, DATA */
				pins = "gpio17","gpio18"; // Only 2
				function = "cci_i2c";
			};

			config {
				pins = "gpio17","gpio18";
				bias-pull-up; /* PULL UP*/
				drive-strength = <2>; /* 2 MA */
			};
		};

		cci0_suspend: cci0_suspend {
			mux {
				/* CLK, DATA */
				pins = "gpio17","gpio18";
				function = "cci_i2c";
			};

			config {
				pins = "gpio17","gpio18";
				bias-pull-down; /* PULL DOWN */
				drive-strength = <2>; /* 2 MA */
			};
		};

		cci1_active: cci1_active {
			mux {
				/* CLK, DATA */
				pins = "gpio19","gpio20";
				function = "cci_i2c";
			};

			config {
				pins = "gpio19","gpio20";
				bias-pull-up; /* PULL UP*/
				drive-strength = <2>; /* 2 MA */
			};
		};

		cci1_suspend: cci1_suspend {
			mux {
				/* CLK, DATA */
				pins = "gpio19","gpio20";
				function = "cci_i2c";
			};

			config {
				pins = "gpio19","gpio20";
				bias-pull-down; /* PULL DOWN */
				drive-strength = <2>; /* 2 MA */
			};
		};

		cam_sensor_mclk0_active: cam_sensor_mclk0_active {
			/* MCLK0 */
			mux {
				pins = "gpio13";
				function = "cam_mclk";
			};

			config {
				pins = "gpio13";
				bias-disable; /* No PULL */
				drive-strength = <2>; /* 2 MA */
			};
		};

		cam_sensor_mclk0_suspend: cam_sensor_mclk0_suspend {
			/* MCLK0 */
			mux {
				pins = "gpio13";
				function = "cam_mclk";
			};

			config {
				pins = "gpio13";
				bias-pull-down; /* PULL DOWN */
				drive-strength = <2>; /* 2 MA */
			};
		};

		cam_sensor_rear_active: cam_sensor_rear_active {
			/* RESET, AVDD LDO */
			mux {
				pins = "gpio80","gpio79";
				function = "gpio";
			};

			config {
				pins = "gpio80","gpio79";
				bias-disable; /* No PULL */
				drive-strength = <2>; /* 2 MA */
			};
		};

		cam_sensor_rear_suspend: cam_sensor_rear_suspend {
			/* RESET, AVDD LDO */
			mux {
				pins = "gpio80","gpio79";
				function = "gpio";
			};

			config {
				pins = "gpio80","gpio79";
				bias-pull-down; /* PULL DOWN */
				drive-strength = <2>; /* 2 MA */
				output-low;
			};
		};

		cam_sensor_mclk1_active: cam_sensor_mclk1_active {
			/* MCLK1 */
			mux {
				pins = "gpio14";
				function = "cam_mclk";
			};

			config {
				pins = "gpio14";
				bias-disable; /* No PULL */
				drive-strength = <2>; /* 2 MA */
			};
		};

		cam_sensor_mclk1_suspend: cam_sensor_mclk1_suspend {
			/* MCLK1 */
			mux {
				pins = "gpio14";
				function = "cam_mclk";
			};

			config {
				pins = "gpio14";
				bias-pull-down; /* PULL DOWN */
				drive-strength = <2>; /* 2 MA */
			};
		};

		cam_sensor_mclk3_active: cam_sensor_mclk3_active {
			/* MCLK3 */
			mux {
				pins = "gpio16";
				function = "cam_mclk";
			};

			config {
				pins = "gpio16";
				bias-disable; /* No PULL */
				drive-strength = <2>; /* 2 MA */
			};
		};

		cam_sensor_mclk3_suspend: cam_sensor_mclk3_suspend {
			/* MCLK3 */
			mux {
				pins = "gpio16";
				function = "cam_mclk";
			};

			config {
				pins = "gpio16";
				bias-pull-down; /* PULL DOWN */
				drive-strength = <2>; /* 2 MA */
			};
		};


		cam_sensor_front_active: cam_sensor_front_active {
			/* RESET  AVDD_LDO*/
			mux {
				pins = "gpio28";
				function = "gpio";
			};

			config {
				pins = "gpio28";
				bias-disable; /* No PULL */
				drive-strength = <2>; /* 2 MA */
			};
		};

		cam_sensor_front_suspend: cam_sensor_front_suspend {
			/* RESET */
			mux {
				pins = "gpio28";
				function = "gpio";
			};

			config {
				pins = "gpio28";
				bias-pull-down; /* PULL DOWN */
				drive-strength = <2>; /* 2 MA */
				output-low;
			};
		};

		cam_sensor_iris_active: cam_sensor_iris_active {
			/* RESET  AVDD_LDO*/
			mux {
				pins = "gpio9";
				function = "gpio";
			};

			config {
				pins = "gpio9";
				bias-disable; /* No PULL */
				drive-strength = <2>; /* 2 MA */
			};
		};

		cam_sensor_iris_suspend: cam_sensor_iris_suspend {
			/* RESET */
			mux {
				pins = "gpio9";
				function = "gpio";
			};

			config {
				pins = "gpio9";
				bias-disable; /* No PULL */
				drive-strength = <2>; /* 2 MA */
				output-low;
			};
		};


		cam_sensor_mclk2_active: cam_sensor_mclk2_active {
			/* MCLK1 */
			mux {
				/* CLK, DATA */
				pins = "gpio15";
				function = "cam_mclk";
			};

			config {
				pins = "gpio15";
				bias-disable; /* No PULL */
				drive-strength = <2>; /* 2 MA */
			};
		};

		cam_sensor_mclk2_suspend: cam_sensor_mclk2_suspend {
			/* MCLK1 */
			mux {
				/* CLK, DATA */
				pins = "gpio15";
				function = "cam_mclk";
			};

			config {
				pins = "gpio15";
				bias-pull-down; /* PULL DOWN */
				drive-strength = <2>; /* 2 MA */
			};
		};

		cam_sensor_rear2_active: cam_sensor_rear2_active {
			/* RESET, STANDBY */
			mux {
				pins = "gpio9";
				function = "gpio";
			};

			config {
				pins = "gpio9";
				bias-disable; /* No PULL */
				drive-strength = <2>; /* 2 MA */
			};
		};

		cam_sensor_rear2_suspend: cam_sensor_rear2_suspend {
			/* RESET, STANDBY */
			mux {
				pins = "gpio9";
				function = "gpio";
			};
			config {
				pins = "gpio9";
				bias-pull-down; /* PULL DOWN */
				drive-strength = <2>; /* 2 MA */
				output-low;
			};
		};

		cam_sensor_rear_vana: cam_sensor_rear_vana {
			/*  AVDD LDO */
			mux {
				pins = "gpio8";
				function = "gpio";
			};

			config {
				pins = "gpio8";
				bias-disable; /* No PULL */
				drive-strength = <2>; /* 2 MA */
			};
		};

		cam_res_mgr_active: cam_res_mgr_active {
			/* AVDD_LDO*/
			mux {
				pins = "gpio8";
				function = "gpio";
			};

			config {
				pins = "gpio8";
				bias-disable; /* No PULL */
				drive-strength = <2>; /* 2 MA */
			};
		};

		cam_res_mgr_suspend: cam_res_mgr_suspend {
			/* AVDD_LDO */
			mux {
				pins = "gpio8";
				function = "gpio";
			};

			config {
				pins = "gpio8";
				bias-disable; /* No PULL */
				drive-strength = <2>; /* 2 MA */
				output-low;
			};
		};


		trigout_a: trigout_a {
			mux {
				pins = "gpio90";
				function = "qdss_cti";
			};
			config {
				pins = "gpio90";
				drive-strength = <2>;
				bias-disable;
			};
		};

		tsif0_signals_active: tsif0_signals_active {
			tsif1_clk {
				pins = "gpio89"; /* TSIF0 CLK */
				function = "tsif1_clk";
			};
			tsif1_en {
				pins = "gpio90"; /* TSIF0 Enable */
				function = "tsif1_en";
			};
			tsif1_data {
				pins = "gpio91"; /* TSIF0 DATA */
				function = "tsif1_data";
			};
			signals_cfg {
				pins = "gpio89", "gpio90", "gpio91";
				drive_strength = <2>;	/* 2 mA */
				bias-pull-down;		/* pull down */
			};
		};

		/* sync signal is only used if configured to mode-2 */
		tsif0_sync_active: tsif0_sync_active {
			tsif1_sync {
				pins = "gpio12";	/* TSIF0 SYNC */
				function = "tsif1_sync";
				drive_strength = <2>;	/* 2 mA */
				bias-pull-down;		/* pull down */
			};
		};

		tsif1_signals_active: tsif1_signals_active {
			tsif2_clk {
				pins = "gpio93"; /* TSIF1 CLK */
				function = "tsif2_clk";
			};
			tsif2_en {
				pins = "gpio94"; /* TSIF1 Enable */
				function = "tsif2_en";
			};
			tsif2_data {
				pins = "gpio95"; /* TSIF1 DATA */
				function = "tsif2_data";
			};
			signals_cfg {
				pins = "gpio93", "gpio94", "gpio95";
				drive_strength = <2>;	/* 2 mA */
				bias-pull-down;		/* pull down */
			};
		};

		/* sync signal is only used if configured to mode-2 */
		tsif1_sync_active: tsif1_sync_active {
			tsif2_sync {
				pins = "gpio96";	/* TSIF1 SYNC */
				function = "tsif2_sync";
				drive_strength = <2>;	/* 2 mA */
				bias-pull-down;		/* pull down */
			};
		};

		ap2mdm {
			ap2mdm_active: ap2mdm_active {
				mux {
					/* ap2mdm-status
					 * ap2mdm-errfatal
					 * ap2mdm-vddmin
					 */
					pins = "gpio21", "gpio23";
					function = "gpio";
				};

				config {
					pins = "gpio21", "gpio23";
					drive-strength = <16>;
					bias-disable;
				};
			};
			ap2mdm_sleep: ap2mdm_sleep {
				mux {
					/* ap2mdm-status
					 * ap2mdm-errfatal
					 * ap2mdm-vddmin
					 */
					pins = "gpio21", "gpio23";
					function = "gpio";
				};

				config {
					pins = "gpio21", "gpio23";
					drive-strength = <8>;
					bias-disable;
				};

			};
		};

		mdm2ap {
			mdm2ap_active: mdm2ap_active {
				mux {
				/* mdm2ap-status
				 * mdm2ap-errfatal
				 * mdm2ap-vddmin
				 */
					pins = "gpio22", "gpio20";
					function = "gpio";
				};

				config {
					pins = "gpio22", "gpio20";
					drive-strength = <8>;
					bias-disable;
				};
			};
			mdm2ap_sleep: mdm2ap_sleep {
				mux {
					/* mdm2ap-status
					 * mdm2ap-errfatal
					 * mdm2ap-vddmin
					 */
					pins = "gpio22", "gpio20";
					function = "gpio";
				};

				config {
					pins = "gpio22", "gpio20";
					drive-strength = <8>;
					bias-disable;
				};
			};
		};
	};
};

&pm8998_gpios {
	key_home {
		key_home_default: key_home_default {
			pins = "gpio5";
			function = "normal";
			input-enable;
			bias-pull-up;
			power-source = <0>;
		};
	};

	key_vol_up {
		key_vol_up_default: key_vol_up_default {
			pins = "gpio6";
			function = "normal";
			input-enable;
			bias-pull-up;
			power-source = <0>;
		};
	};

	key_cam_snapshot {
		key_cam_snapshot_default: key_cam_snapshot_default {
			pins = "gpio7";
			function = "normal";
			input-enable;
			bias-pull-up;
			power-source = <0>;
		};
	};

	key_cam_focus {
		key_cam_focus_default: key_cam_focus_default {
			pins = "gpio8";
			function = "normal";
			input-enable;
			bias-pull-up;
			power-source = <0>;
		};
	};

	camera_dvdd_en {
		camera_dvdd_en_default: camera_dvdd_en_default {
			pins = "gpio9";
			function = "normal";
			power-source = <0>;
			output-low;
		};
	};

	camera_rear_dvdd_en {
		camera_rear_dvdd_en_default: camera_rear_dvdd_en_default {
			pins = "gpio12";
			function = "normal";
			power-source = <0>;
			output-low;
		};
	};

	nfc_clk {
		nfc_clk_default: nfc_clk_default {
			pins = "gpio21";
			function = "normal";
			input-enable;
			power-source = <1>;
		};
	};
};
