/*
 * Copyright (c) 2021 ITE Corporation. All Rights Reserved.
 *
 * SPDX-License-Identifier: Apache-2.0
 */

#include <dt-bindings/pinctrl/it8xxx2-pinctrl.h>

/ {
	it8xxx2_alts_map {
		compatible = "ite,it8xxx2-pinctrl-conf";

		/* ADC alternate function */
		pinctrl_adc0: adc0 {
			pinctrls = <&pinmuxi 0 IT8XXX2_PINMUX_FUNC_1>;
		};
		pinctrl_adc1: adc1 {
			pinctrls = <&pinmuxi 1 IT8XXX2_PINMUX_FUNC_1>;
		};
		pinctrl_adc2: adc2 {
			pinctrls = <&pinmuxi 2 IT8XXX2_PINMUX_FUNC_1>;
		};
		pinctrl_adc3: adc3 {
			pinctrls = <&pinmuxi 3 IT8XXX2_PINMUX_FUNC_1>;
		};
		pinctrl_adc4: adc4 {
			pinctrls = <&pinmuxi 4 IT8XXX2_PINMUX_FUNC_1>;
		};
		pinctrl_adc5: adc5 {
			pinctrls = <&pinmuxi 5 IT8XXX2_PINMUX_FUNC_1>;
		};
		pinctrl_adc6: adc6 {
			pinctrls = <&pinmuxi 6 IT8XXX2_PINMUX_FUNC_1>;
		};
		pinctrl_adc7: adc7 {
			pinctrls = <&pinmuxi 7 IT8XXX2_PINMUX_FUNC_1>;
		};

		/* PWM alternate function */
		pinctrl_pwm0: pwm0 {
			pinctrls = <&pinmuxa 0 IT8XXX2_PINMUX_FUNC_1>;
		};
		pinctrl_pwm1: pwm1 {
			pinctrls = <&pinmuxa 1 IT8XXX2_PINMUX_FUNC_1>;
		};
		pinctrl_pwm2: pwm2 {
			pinctrls = <&pinmuxa 2 IT8XXX2_PINMUX_FUNC_1>;
		};
		pinctrl_pwm3: pwm3 {
			pinctrls = <&pinmuxa 3 IT8XXX2_PINMUX_FUNC_1>;
		};
		pinctrl_pwm4: pwm4 {
			pinctrls = <&pinmuxa 4 IT8XXX2_PINMUX_FUNC_1>;
		};
		pinctrl_pwm5: pwm5 {
			pinctrls = <&pinmuxa 5 IT8XXX2_PINMUX_FUNC_1>;
		};
		pinctrl_pwm6: pwm6 {
			pinctrls = <&pinmuxa 6 IT8XXX2_PINMUX_FUNC_1>;
		};
		pinctrl_pwm7: pwm7 {
			pinctrls = <&pinmuxa 7 IT8XXX2_PINMUX_FUNC_1>;
		};

		/* I2C alternate function */
		pinctrl_i2c_clk0: i2c_clk0 {
			pinctrls = <&pinmuxb 3 IT8XXX2_PINMUX_FUNC_1>;
		};
		pinctrl_i2c_data0: i2c_data0 {
			pinctrls = <&pinmuxb 4 IT8XXX2_PINMUX_FUNC_1>;
		};
		pinctrl_i2c_clk1: i2c_clk1 {
			pinctrls = <&pinmuxc 1 IT8XXX2_PINMUX_FUNC_1>;
		};
		pinctrl_i2c_data1: i2c_data1 {
			pinctrls = <&pinmuxc 2 IT8XXX2_PINMUX_FUNC_1>;
		};
		pinctrl_i2c_clk2: i2c_clk2 {
			pinctrls = <&pinmuxf 6 IT8XXX2_PINMUX_FUNC_1>;
		};
		pinctrl_i2c_data2: i2c_data2 {
			pinctrls = <&pinmuxf 7 IT8XXX2_PINMUX_FUNC_1>;
		};
		pinctrl_i2c_clk3: i2c_clk3 {
			pinctrls = <&pinmuxh 1 IT8XXX2_PINMUX_FUNC_3>;
		};
		pinctrl_i2c_data3: i2c_data3 {
			pinctrls = <&pinmuxh 2 IT8XXX2_PINMUX_FUNC_3>;
		};
		pinctrl_i2c_clk4: i2c_clk4 {
			pinctrls = <&pinmuxe 0 IT8XXX2_PINMUX_FUNC_3>;
		};
		pinctrl_i2c_data4: i2c_data4 {
			pinctrls = <&pinmuxe 7 IT8XXX2_PINMUX_FUNC_3>;
		};
		pinctrl_i2c_clk5: i2c_clk5 {
			pinctrls = <&pinmuxa 4 IT8XXX2_PINMUX_FUNC_3>;
		};
		pinctrl_i2c_data5: i2c_data5 {
			pinctrls = <&pinmuxa 5 IT8XXX2_PINMUX_FUNC_3>;
		};

		/* SHI alternate function */
		pinctrl_shi_mosi: shi_mosi {
			pinctrls = <&pinmuxm 0 IT8XXX2_PINMUX_FUNC_1>;
		};
		pinctrl_shi_miso: shi_miso {
			pinctrls = <&pinmuxm 1 IT8XXX2_PINMUX_FUNC_1>;
		};
		pinctrl_shi_clk: shi_clk {
			pinctrls = <&pinmuxm 4 IT8XXX2_PINMUX_FUNC_1>;
		};
		pinctrl_shi_cs: shi_cs {
			pinctrls = <&pinmuxm 5 IT8XXX2_PINMUX_FUNC_1>;
		};
	};
};
