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

&msmgpio {

	blsp1_uart1_default: blsp1-uart1-default {
		pinmux {
			function = "blsp_uart1";
			//	TX, RX, CTS_N, RTS_N
			pins = "gpio0", "gpio1",
			       "gpio2", "gpio3";
		};
		pinconf {
			pins = "gpio0", "gpio1",
			       "gpio2", "gpio3";
			drive-strength = <16>;
			bias-disable;
		};
	};

	blsp1_uart1_sleep: blsp1-uart1-sleep {
		pinmux {
			function = "gpio";
			pins = "gpio0", "gpio1",
			       "gpio2", "gpio3";
		};
		pinconf {
			pins = "gpio0", "gpio1",
			       "gpio2", "gpio3";
			drive-strength = <2>;
			bias-pull-down;
		};
	};

	blsp1_uart2_default: blsp1-uart2-default {
		pinmux {
			function = "blsp_uart2";
			pins = "gpio4", "gpio5";
		};
		pinconf {
			pins = "gpio4", "gpio5";
			drive-strength = <16>;
			bias-disable;
		};
	};

	blsp1_uart2_sleep: blsp1-uart2-sleep {
		pinmux {
			function = "gpio";
			pins = "gpio4", "gpio5";
		};
		pinconf {
			pins = "gpio4", "gpio5";
			drive-strength = <2>;
			bias-pull-down;
		};
	};

	spi1_default: spi1-default {
		pinmux {
			function = "blsp_spi1";
			pins = "gpio0", "gpio1", "gpio3";
		};
		pinmux-cs {
			function = "gpio";
			pins = "gpio2";
		};
		pinconf {
			pins = "gpio0", "gpio1", "gpio3";
			drive-strength = <12>;
			bias-disable;
		};
		pinconf-cs {
			pins = "gpio2";
			drive-strength = <16>;
			bias-disable;
			output-high;
		};
	};

	spi1_sleep: spi1-sleep {
		pinmux {
			function = "gpio";
			pins = "gpio0", "gpio1", "gpio2", "gpio3";
		};
		pinconf {
			pins = "gpio0", "gpio1", "gpio2", "gpio3";
			drive-strength = <2>;
			bias-pull-down;
		};
	};

	spi2_default: spi2-default {
		pinmux {
			function = "blsp_spi2";
			pins = "gpio4", "gpio5", "gpio7";
		};
		pinmux-cs {
			function = "gpio";
			pins = "gpio6";
		};
		pinconf {
			pins = "gpio4", "gpio5", "gpio7";
			drive-strength = <12>;
			bias-disable;
		};
		pinconf-cs {
			pins = "gpio6";
			drive-strength = <16>;
			bias-disable;
			output-high;
		};
	};

	spi2_sleep: spi2-sleep {
		pinmux {
			function = "gpio";
			pins = "gpio4", "gpio5", "gpio6", "gpio7";
		};
		pinconf {
			pins = "gpio4", "gpio5", "gpio6", "gpio7";
			drive-strength = <2>;
			bias-pull-down;
		};
	};

	spi3_default: spi3-default {
		pinmux {
			function = "blsp_spi3";
			pins = "gpio8", "gpio9", "gpio11";
		};
		pinmux-cs {
			function = "gpio";
			pins = "gpio10";
		};
		pinconf {
			pins = "gpio8", "gpio9", "gpio11";
			drive-strength = <12>;
			bias-disable;
		};
		pinconf-cs {
			pins = "gpio10";
			drive-strength = <16>;
			bias-disable;
			output-high;
		};
	};

	spi3_sleep: spi3-sleep {
		pinmux {
			function = "gpio";
			pins = "gpio8", "gpio9", "gpio10", "gpio11";
		};
		pinconf {
			pins = "gpio8", "gpio9", "gpio10", "gpio11";
			drive-strength = <2>;
			bias-pull-down;
		};
	};

	spi4_default: spi4-default {
		pinmux {
			function = "blsp_spi4";
			pins = "gpio12", "gpio13", "gpio15";
		};
		pinmux-cs {
			function = "gpio";
			pins = "gpio14";
		};
		pinconf {
			pins = "gpio12", "gpio13", "gpio15";
			drive-strength = <12>;
			bias-disable;
		};
		pinconf-cs {
			pins = "gpio14";
			drive-strength = <16>;
			bias-disable;
			output-high;
		};
	};

	spi4_sleep: spi4-sleep {
		pinmux {
			function = "gpio";
			pins = "gpio12", "gpio13", "gpio14", "gpio15";
		};
		pinconf {
			pins = "gpio12", "gpio13", "gpio14", "gpio15";
			drive-strength = <2>;
			bias-pull-down;
		};
	};

	spi5_default: spi5-default {
		pinmux {
			function = "blsp_spi5";
			pins = "gpio16", "gpio17", "gpio19";
		};
		pinmux-cs {
			function = "gpio";
			pins = "gpio18";
		};
		pinconf {
			pins = "gpio16", "gpio17", "gpio19";
			drive-strength = <12>;
			bias-disable;
		};
		pinconf-cs {
			pins = "gpio18";
			drive-strength = <16>;
			bias-disable;
			output-high;
		};
	};

	spi5_sleep: spi5-sleep {
		pinmux {
			function = "gpio";
			pins = "gpio16", "gpio17", "gpio18", "gpio19";
		};
		pinconf {
			pins = "gpio16", "gpio17", "gpio18", "gpio19";
			drive-strength = <2>;
			bias-pull-down;
		};
	};

	spi6_default: spi6-default {
		pinmux {
			function = "blsp_spi6";
			pins = "gpio20", "gpio21", "gpio23";
		};
		pinmux-cs {
			function = "gpio";
			pins = "gpio22";
		};
		pinconf {
			pins = "gpio20", "gpio21", "gpio23";
			drive-strength = <12>;
			bias-disable;
		};
		pinconf-cs {
			pins = "gpio22";
			drive-strength = <16>;
			bias-disable;
			output-high;
		};
	};

	spi6_sleep: spi6-sleep {
		pinmux {
			function = "gpio";
			pins = "gpio20", "gpio21", "gpio22", "gpio23";
		};
		pinconf {
			pins = "gpio20", "gpio21", "gpio22", "gpio23";
			drive-strength = <2>;
			bias-pull-down;
		};
	};

	i2c1_default: i2c1-default {
		pinmux {
			function = "blsp_i2c1";
			pins = "gpio2", "gpio3";
		};
		pinconf {
			pins = "gpio2", "gpio3";
			drive-strength = <2>;
			bias-disable;
		};
	};

	i2c1_sleep: i2c1-sleep {
		pinmux {
			function = "gpio";
			pins = "gpio2", "gpio3";
		};
		pinconf {
			pins = "gpio2", "gpio3";
			drive-strength = <2>;
			bias-disable;
		};
	};

	i2c2_default: i2c2-default {
		pinmux {
			function = "blsp_i2c2";
			pins = "gpio6", "gpio7";
		};
		pinconf {
			pins = "gpio6", "gpio7";
			drive-strength = <16>;
			bias-disable;
		};
	};

	i2c2_sleep: i2c2-sleep {
		pinmux {
			function = "gpio";
			pins = "gpio6", "gpio7";
		};
		pinconf {
			pins = "gpio6", "gpio7";
			drive-strength = <2>;
			bias-disable;
		};
	};

	i2c4_default: i2c4-default {
		pinmux {
			function = "blsp_i2c4";
			pins = "gpio14", "gpio15";
		};
		pinconf {
			pins = "gpio14", "gpio15";
			drive-strength = <16>;
			bias-disable;
		};
	};

	i2c4_sleep: i2c4-sleep {
		pinmux {
			function = "gpio";
			pins = "gpio14", "gpio15";
		};
		pinconf {
			pins = "gpio14", "gpio15";
			drive-strength = <2>;
			bias-disable;
		};
	};

	i2c5_default: i2c5-default {
		pinmux {
			function = "blsp_i2c5";
			pins = "gpio18", "gpio19";
		};
		pinconf {
			pins = "gpio18", "gpio19";
			drive-strength = <2>;
			bias-disable;
		};
	};

	i2c5_sleep: i2c5-sleep {
		pinmux {
			function = "gpio";
			pins = "gpio18", "gpio19";
		};
		pinconf {
			pins = "gpio18", "gpio19";
			drive-strength = <2>;
			bias-disable;
		};
	};

	i2c6_default: i2c6-default {
		pinmux {
			function = "blsp_i2c6";
			pins = "gpio22", "gpio23";
		};
		pinconf {
			pins = "gpio22", "gpio23";
			drive-strength = <16>;
			bias-disable;
		};
	};

	i2c6_sleep: i2c6-sleep {
		pinmux {
			function = "gpio";
			pins = "gpio22", "gpio23";
		};
		pinconf {
			pins = "gpio22", "gpio23";
			drive-strength = <2>;
			bias-disable;
		};
	};

	pmx-sdc1-clk {
		sdc1_clk_on: clk-on {
			pinmux {
				pins = "sdc1_clk";
			};
			pinconf {
				pins = "sdc1_clk";
				bias-disable;
				drive-strength = <16>;
			};
		};
		sdc1_clk_off: clk-off {
			pinmux {
				pins = "sdc1_clk";
			};
			pinconf {
				pins = "sdc1_clk";
				bias-disable;
				drive-strength = <2>;
			};
		};
	};

	pmx-sdc1-cmd {
		sdc1_cmd_on: cmd-on {
			pinmux {
				pins = "sdc1_cmd";
			};
			pinconf {
				pins = "sdc1_cmd";
				bias-pull-up;
				drive-strength = <10>;
			};
		};
		sdc1_cmd_off: cmd-off {
			pinmux {
				pins = "sdc1_cmd";
			};
			pinconf {
				pins = "sdc1_cmd";
				bias-pull-up;
				drive-strength = <2>;
			};
		};
	};

	pmx-sdc1-data {
		sdc1_data_on: data-on {
			pinmux {
				pins = "sdc1_data";
			};
			pinconf {
				pins = "sdc1_data";
				bias-pull-up;
				drive-strength = <10>;
			};
		};
		sdc1_data_off: data-off {
			pinmux {
				pins = "sdc1_data";
			};
			pinconf {
				pins = "sdc1_data";
				bias-pull-up;
				drive-strength = <2>;
			};
		};
	};

	pmx-sdc2-clk {
		sdc2_clk_on: clk-on {
			pinmux {
				pins = "sdc2_clk";
			};
			pinconf {
				pins = "sdc2_clk";
				bias-disable;
				drive-strength = <16>;
			};
		};
		sdc2_clk_off: clk-off {
			pinmux {
				pins = "sdc2_clk";
			};
			pinconf {
				pins = "sdc2_clk";
				bias-disable;
				drive-strength = <2>;
			};
		};
	};

	pmx-sdc2-cmd {
		sdc2_cmd_on: cmd-on {
			pinmux {
				pins = "sdc2_cmd";
			};
			pinconf {
				pins = "sdc2_cmd";
				bias-pull-up;
				drive-strength = <10>;
			};
		};
		sdc2_cmd_off: cmd-off {
			pinmux {
				pins = "sdc2_cmd";
			};
			pinconf {
				pins = "sdc2_cmd";
				bias-pull-up;
				drive-strength = <2>;
			};
		};
	};

	pmx-sdc2-data {
		sdc2_data_on: data-on {
			pinmux {
				pins = "sdc2_data";
			};
			pinconf {
				pins = "sdc2_data";
				bias-pull-up;
				drive-strength = <10>;
			};
		};
		sdc2_data_off: data-off {
			pinmux {
				pins = "sdc2_data";
			};
			pinconf {
				pins = "sdc2_data";
				bias-pull-up;
				drive-strength = <2>;
			};
		};
	};

	pmx-sdc2-cd-pin {
		sdc2_cd_on: cd-on {
			pinmux {
				function = "gpio";
				pins = "gpio38";
			};
			pinconf {
				pins = "gpio38";
				drive-strength = <2>;
				bias-pull-up;
			};
		};
		sdc2_cd_off: cd-off {
			pinmux {
				function = "gpio";
				pins = "gpio38";
			};
			pinconf {
				pins = "gpio38";
				drive-strength = <2>;
				bias-disable;
			};
		};
	};

	cdc-pdm-lines {
		cdc_pdm_lines_act: pdm-lines-on {
			pinmux {
				function = "cdc_pdm0";
				pins = "gpio63", "gpio64", "gpio65", "gpio66",
				       "gpio67", "gpio68";
			};
			pinconf {
				pins = "gpio63", "gpio64", "gpio65", "gpio66",
				       "gpio67", "gpio68";
				drive-strength = <8>;
				bias-pull-none;
			};
		};
		cdc_pdm_lines_sus: pdm-lines-off {
			pinmux {
				function = "cdc_pdm0";
				pins = "gpio63", "gpio64", "gpio65", "gpio66",
				       "gpio67", "gpio68";
			};
			pinconf {
				pins = "gpio63", "gpio64", "gpio65", "gpio66",
				       "gpio67", "gpio68";
				drive-strength = <2>;
				bias-disable;
			};
		};
	};

	ext-pri-tlmm-lines {
		ext_pri_tlmm_lines_act: ext-pa-on {
			pinmux {
				function = "pri_mi2s";
				pins = "gpio113", "gpio114", "gpio115",
				       "gpio116";
			};
			pinconf {
				pins = "gpio113", "gpio114", "gpio115",
				       "gpio116";
				drive-strength = <8>;
				bias-pull-none;
			};
		};

		ext_pri_tlmm_lines_sus: ext-pa-off {
			pinmux {
				function = "pri_mi2s";
				pins = "gpio113", "gpio114", "gpio115",
				       "gpio116";
			};
			pinconf {
				pins = "gpio113", "gpio114", "gpio115",
				       "gpio116";
				drive-strength = <2>;
				bias-disable;
			};
		};
	};

	ext-pri-ws-line {
		ext_pri_ws_act: ext-pa-on {
			pinmux {
				function = "pri_mi2s_ws";
				pins = "gpio110";
			};
			pinconf {
				pins = "gpio110";
				drive-strength = <8>;
				bias-pull-none;
			};
		};

		ext_pri_ws_sus: ext-pa-off {
			pinmux {
				function = "pri_mi2s_ws";
				pins = "gpio110";
			};
			pinconf {
				pins = "gpio110";
				drive-strength = <2>;
				bias-disable;
			};
		};
	};

	ext-mclk-tlmm-lines {
		ext_mclk_tlmm_lines_act: mclk-lines-on {
			pinmux {
				function = "pri_mi2s";
				pins = "gpio116";
			};
			pinconf {
				pins = "gpio116";
				drive-strength = <8>;
				bias-pull-none;
			};
		};
		ext_mclk_tlmm_lines_sus: mclk-lines-off {
			pinmux {
				function = "pri_mi2s";
				pins = "gpio116";
			};
			pinconf {
				pins = "gpio116";
				drive-strength = <2>;
				bias-disable;
			};
		};
	};

	/* secondary Mi2S */
	ext-sec-tlmm-lines {
		ext_sec_tlmm_lines_act: tlmm-lines-on {
			pinmux {
				function = "sec_mi2s";
				pins = "gpio112", "gpio117", "gpio118",
				       "gpio119";
			};
			pinconf {
				pins = "gpio112", "gpio117", "gpio118",
					"gpio119";
				drive-strength = <8>;
				bias-pull-none;
			};
		};
		ext_sec_tlmm_lines_sus: tlmm-lines-off {
			pinmux {
				function = "sec_mi2s";
				pins = "gpio112", "gpio117", "gpio118",
				       "gpio119";
			};
			pinconf {
				pins = "gpio112", "gpio117", "gpio118",
					"gpio119";
				drive-strength = <2>;
				bias-disable;
			};
		};
	};

	cdc-dmic-lines {
		cdc_dmic_lines_act: dmic-lines-on {
			pinmux-dmic0-clk {
				function = "dmic0_clk";
				pins = "gpio0";
			};
			pinmux-dmic0-data {
				function = "dmic0_data";
				pins = "gpio1";
			};
			pinconf {
				pins = "gpio0", "gpio1";
				drive-strength = <8>;
			};
		};
		cdc_dmic_lines_sus: dmic-lines-off {
			pinmux-dmic0-clk {
				function = "dmic0_clk";
				pins = "gpio0";
			};
			pinmux-dmic0-data {
				function = "dmic0_data";
				pins = "gpio1";
			};
			pinconf {
				pins = "gpio0", "gpio1";
				drive-strength = <2>;
				bias-disable;
			};
		};
	};

	wcnss_pin_a: wcnss-active {
		pinmux {
			pins = "gpio40", "gpio41", "gpio42", "gpio43", "gpio44";
			function = "wcss_wlan";
		};
		pinconf {
			pins = "gpio40", "gpio41", "gpio42", "gpio43", "gpio44";
			drive-strength = <6>;
			bias-pull-up;
		};
	};

	cci0_default: cci0-default {
		pinmux {
			function = "cci_i2c";
			pins = "gpio29", "gpio30";
		};
		pinconf {
			pins = "gpio29", "gpio30";
			drive-strength = <16>;
			bias-disable;
		};
	};

	camera_front_default: camera-front-default {
		pinmux-pwdn {
			function = "gpio";
			pins = "gpio33";
		};
		pinconf-pwdn {
			pins = "gpio33";
			drive-strength = <16>;
			bias-disable;
		};

		pinmux-rst {
			function = "gpio";
			pins = "gpio28";
		};
		pinconf-rst {
			pins = "gpio28";
			drive-strength = <16>;
			bias-disable;
		};

		pinmux-mclk1 {
			function = "cam_mclk1";
			pins = "gpio27";
		};
		pinconf-mclk1 {
			pins = "gpio27";
			drive-strength = <16>;
			bias-disable;
		};
	};

	camera_rear_default: camera-rear-default {
		pinmux-pwdn {
			function = "gpio";
			pins = "gpio34";
		};
		pinconf-pwdn {
			pins = "gpio34";
			drive-strength = <16>;
			bias-disable;
		};

		pinmux-rst {
			function = "gpio";
			pins = "gpio35";
		};
		pinconf-rst {
			pins = "gpio35";
			drive-strength = <16>;
			bias-disable;
		};

		pinmux-mclk0 {
			function = "cam_mclk0";
			pins = "gpio26";
		};
		pinconf-mclk0 {
			pins = "gpio26";
			drive-strength = <16>;
			bias-disable;
		};
	};
};
