linux/arch/arm64/boot/dts/ti/k3-am65-iot2050-arduino-connector.dtsi

// SPDX-License-Identifier: GPL-2.0-only
/*
 * Copyright (c) Siemens AG, 2018-2023
 *
 * Authors:
 *   Le Jin <[email protected]>
 *   Jan Kiszka <[email protected]>
 *
 * Common bits for IOT2050 variants with Arduino connector
 */

&wkup_pmx0 {
	pinctrl-names =
		"default",
		"d0-uart0-rxd",  "d0-gpio",  "d0-gpio-pullup",  "d0-gpio-pulldown",
		"d1-uart0-txd",  "d1-gpio",  "d1-gpio-pullup",  "d1-gpio-pulldown",
		"d2-uart0-ctsn", "d2-gpio",  "d2-gpio-pullup",  "d2-gpio-pulldown",
		"d3-uart0-rtsn", "d3-gpio",  "d3-gpio-pullup",  "d3-gpio-pulldown",
		"d10-spi0-cs0",  "d10-gpio", "d10-gpio-pullup", "d10-gpio-pulldown",
		"d11-spi0-d0",   "d11-gpio", "d11-gpio-pullup", "d11-gpio-pulldown",
		"d12-spi0-d1",   "d12-gpio", "d12-gpio-pullup", "d12-gpio-pulldown",
		"d13-spi0-clk",  "d13-gpio", "d13-gpio-pullup", "d13-gpio-pulldown",
		"a0-gpio", "a0-gpio-pullup", "a0-gpio-pulldown",
		"a1-gpio", "a1-gpio-pullup", "a1-gpio-pulldown",
		"a2-gpio", "a2-gpio-pullup", "a2-gpio-pulldown",
		"a3-gpio", "a3-gpio-pullup", "a3-gpio-pulldown",
		"a4-gpio", "a4-gpio-pullup", "a4-gpio-pulldown",
		"a5-gpio", "a5-gpio-pullup", "a5-gpio-pulldown";

	pinctrl-0 = <&d0_uart0_rxd>;
	pinctrl-1 = <&d0_uart0_rxd>;
	pinctrl-2 = <&d0_gpio>;
	pinctrl-3 = <&d0_gpio_pullup>;
	pinctrl-4 = <&d0_gpio_pulldown>;
	pinctrl-5 = <&d1_uart0_txd>;
	pinctrl-6 = <&d1_gpio>;
	pinctrl-7 = <&d1_gpio_pullup>;
	pinctrl-8 = <&d1_gpio_pulldown>;
	pinctrl-9 = <&d2_uart0_ctsn>;
	pinctrl-10 = <&d2_gpio>;
	pinctrl-11 = <&d2_gpio_pullup>;
	pinctrl-12 = <&d2_gpio_pulldown>;
	pinctrl-13 = <&d3_uart0_rtsn>;
	pinctrl-14 = <&d3_gpio>;
	pinctrl-15 = <&d3_gpio_pullup>;
	pinctrl-16 = <&d3_gpio_pulldown>;
	pinctrl-17 = <&d10_spi0_cs0>;
	pinctrl-18 = <&d10_gpio>;
	pinctrl-19 = <&d10_gpio_pullup>;
	pinctrl-20 = <&d10_gpio_pulldown>;
	pinctrl-21 = <&d11_spi0_d0>;
	pinctrl-22 = <&d11_gpio>;
	pinctrl-23 = <&d11_gpio_pullup>;
	pinctrl-24 = <&d11_gpio_pulldown>;
	pinctrl-25 = <&d12_spi0_d1>;
	pinctrl-26 = <&d12_gpio>;
	pinctrl-27 = <&d12_gpio_pullup>;
	pinctrl-28 = <&d12_gpio_pulldown>;
	pinctrl-29 = <&d13_spi0_clk>;
	pinctrl-30 = <&d13_gpio>;
	pinctrl-31 = <&d13_gpio_pullup>;
	pinctrl-32 = <&d13_gpio_pulldown>;
	pinctrl-33 = <&a0_gpio>;
	pinctrl-34 = <&a0_gpio_pullup>;
	pinctrl-35 = <&a0_gpio_pulldown>;
	pinctrl-36 = <&a1_gpio>;
	pinctrl-37 = <&a1_gpio_pullup>;
	pinctrl-38 = <&a1_gpio_pulldown>;
	pinctrl-39 = <&a2_gpio>;
	pinctrl-40 = <&a2_gpio_pullup>;
	pinctrl-41 = <&a2_gpio_pulldown>;
	pinctrl-42 = <&a3_gpio>;
	pinctrl-43 = <&a3_gpio_pullup>;
	pinctrl-44 = <&a3_gpio_pulldown>;
	pinctrl-45 = <&a4_gpio>;
	pinctrl-46 = <&a4_gpio_pullup>;
	pinctrl-47 = <&a4_gpio_pulldown>;
	pinctrl-48 = <&a5_gpio>;
	pinctrl-49 = <&a5_gpio_pullup>;
	pinctrl-50 = <&a5_gpio_pulldown>;

	d0_uart0_rxd: d0-uart0-rxd-pins {
		pinctrl-single,pins = <
			/* (P4) MCU_UART0_RXD */
			AM65X_WKUP_IOPAD(0x0044, PIN_INPUT, 4)
		>;
	};

	d0_gpio: d0-gpio-pins {
		pinctrl-single,pins = <
			/* (P4) WKUP_GPIO0_29 */
			AM65X_WKUP_IOPAD(0x0044, PIN_INPUT, 7)
		>;
	};

	d0_gpio_pullup: d0-gpio-pullup-pins {
		pinctrl-single,pins = <
			/* (P4) WKUP_GPIO0_29 */
			AM65X_WKUP_IOPAD(0x0044, PIN_INPUT_PULLUP, 7)
		>;
	};

	d0_gpio_pulldown: d0-gpio-pulldown-pins {
		pinctrl-single,pins = <
			/* (P4) WKUP_GPIO0_29 */
			AM65X_WKUP_IOPAD(0x0044, PIN_INPUT_PULLDOWN, 7)
		>;
	};

	d1_uart0_txd: d1-uart0-txd-pins {
		pinctrl-single,pins = <
			/* (P5) MCU_UART0_TXD */
			AM65X_WKUP_IOPAD(0x0048, PIN_OUTPUT, 4)
		>;
	};

	d1_gpio: d1-gpio-pins {
		pinctrl-single,pins = <
			/* (P5) WKUP_GPIO0_30 */
			AM65X_WKUP_IOPAD(0x0048, PIN_INPUT, 7)
		>;
	};

	d1_gpio_pullup: d1-gpio-pullup-pins {
		pinctrl-single,pins = <
			/* (P5) WKUP_GPIO0_30 */
			AM65X_WKUP_IOPAD(0x0048, PIN_INPUT, 7)
		>;
	};

	d1_gpio_pulldown: d1-gpio-pulldown-pins {
		pinctrl-single,pins = <
			/* (P5) WKUP_GPIO0_30 */
			AM65X_WKUP_IOPAD(0x0048, PIN_INPUT_PULLDOWN, 7)
		>;
	};

	d2_uart0_ctsn: d2-uart0-ctsn-pins {
		pinctrl-single,pins = <
			/* (P1) MCU_UART0_CTSn */
			AM65X_WKUP_IOPAD(0x004C, PIN_INPUT, 4)
		>;
	};

	d2_gpio: d2-gpio-pins {
		pinctrl-single,pins = <
			/* (P5) WKUP_GPIO0_31 */
			AM65X_WKUP_IOPAD(0x004C, PIN_INPUT, 7)
		>;
	};

	d2_gpio_pullup: d2-gpio-pullup-pins {
		pinctrl-single,pins = <
			/* (P5) WKUP_GPIO0_31 */
			AM65X_WKUP_IOPAD(0x004C, PIN_INPUT, 7)
		>;
	};

	d2_gpio_pulldown: d2-gpio-pulldown-pins {
		pinctrl-single,pins = <
			/* (P5) WKUP_GPIO0_31 */
			AM65X_WKUP_IOPAD(0x004C, PIN_INPUT_PULLDOWN, 7)
		>;
	};

	d3_uart0_rtsn: d3-uart0-rtsn-pins {
		pinctrl-single,pins = <
			/* (N3) MCU_UART0_RTSn */
			AM65X_WKUP_IOPAD(0x0054, PIN_OUTPUT, 4)
		>;
	};

	d3_gpio: d3-gpio-pins {
		pinctrl-single,pins = <
			/* (N3) WKUP_GPIO0_33 */
			AM65X_WKUP_IOPAD(0x0054, PIN_INPUT, 7)
		>;
	};

	d3_gpio_pullup: d3-gpio-pullup-pins {
		pinctrl-single,pins = <
			/* (N3) WKUP_GPIO0_33 */
			AM65X_WKUP_IOPAD(0x0054, PIN_INPUT, 7)
		>;
	};

	d3_gpio_pulldown: d3-gpio-pulldown-pins {
		pinctrl-single,pins = <
			/* (N3) WKUP_GPIO0_33 */
			AM65X_WKUP_IOPAD(0x0054, PIN_INPUT_PULLDOWN, 7)
		>;
	};

	d10_spi0_cs0: d10-spi0-cs0-pins {
		pinctrl-single,pins = <
			/* (Y4) MCU_SPI0_CS0 */
			AM65X_WKUP_IOPAD(0x009c, PIN_OUTPUT, 0)
		>;
	};

	d10_gpio: d10-gpio-pins {
		pinctrl-single,pins = <
			/* (Y4) WKUP_GPIO0_51 */
			AM65X_WKUP_IOPAD(0x009c, PIN_INPUT, 7)
		>;
	};

	d10_gpio_pullup: d10-gpio-pullup-pins {
		pinctrl-single,pins = <
			/* (Y4) WKUP_GPIO0_51 */
			AM65X_WKUP_IOPAD(0x009c, PIN_INPUT, 7)
		>;
	};

	d10_gpio_pulldown: d10-gpio-pulldown-pins {
		pinctrl-single,pins = <
			/* (Y4) WKUP_GPIO0_51 */
			AM65X_WKUP_IOPAD(0x009c, PIN_INPUT_PULLDOWN, 7)
		>;
	};

	d11_spi0_d0: d11-spi0-d0-pins {
		pinctrl-single,pins = <
			/* (Y3) MCU_SPI0_D0 */
			AM65X_WKUP_IOPAD(0x0094, PIN_INPUT, 0)
		>;
	};

	d11_gpio: d11-gpio-pins {
		pinctrl-single,pins = <
			/* (Y3) WKUP_GPIO0_49 */
			AM65X_WKUP_IOPAD(0x0094, PIN_INPUT, 7)
		>;
	};

	d11_gpio_pullup: d11-gpio-pullup-pins {
		pinctrl-single,pins = <
			/* (Y3) WKUP_GPIO0_49 */
			AM65X_WKUP_IOPAD(0x0094, PIN_INPUT, 7)
		>;
	};

	d11_gpio_pulldown: d11-gpio-pulldown-pins {
		pinctrl-single,pins = <
			/* (Y3) WKUP_GPIO0_49 */
			AM65X_WKUP_IOPAD(0x0094, PIN_INPUT_PULLDOWN, 7)
		>;
	};

	d12_spi0_d1: d12-spi0-d1-pins {
		pinctrl-single,pins = <
			/* (Y2) MCU_SPI0_D1 */
			AM65X_WKUP_IOPAD(0x0098, PIN_INPUT, 0)
		>;
	};

	d12_gpio: d12-gpio-pins {
		pinctrl-single,pins = <
			/* (Y2) WKUP_GPIO0_50 */
			AM65X_WKUP_IOPAD(0x0098, PIN_INPUT, 7)
		>;
	};

	d12_gpio_pullup: d12-gpio-pullup-pins {
		pinctrl-single,pins = <
			/* (Y2) WKUP_GPIO0_50 */
			AM65X_WKUP_IOPAD(0x0098, PIN_INPUT, 7)
		>;
	};

	d12_gpio_pulldown: d12-gpio-pulldown-pins {
		pinctrl-single,pins = <
			/* (Y2) WKUP_GPIO0_50 */
			AM65X_WKUP_IOPAD(0x0098, PIN_INPUT_PULLDOWN, 7)
		>;
	};

	d13_spi0_clk: d13-spi0-clk-pins {
		pinctrl-single,pins = <
			/* (Y1) MCU_SPI0_CLK */
			AM65X_WKUP_IOPAD(0x0090, PIN_INPUT, 0)
		>;
	};

	d13_gpio: d13-gpio-pins {
		pinctrl-single,pins = <
			/* (Y1) WKUP_GPIO0_48 */
			AM65X_WKUP_IOPAD(0x0090, PIN_INPUT, 7)
		>;
	};

	d13_gpio_pullup: d13-gpio-pullup-pins {
		pinctrl-single,pins = <
			/* (Y1) WKUP_GPIO0_48 */
			AM65X_WKUP_IOPAD(0x0090, PIN_INPUT, 7)
		>;
	};

	d13_gpio_pulldown: d13-gpio-pulldown-pins {
		pinctrl-single,pins = <
			/* (Y1) WKUP_GPIO0_48 */
			AM65X_WKUP_IOPAD(0x0090, PIN_INPUT_PULLDOWN, 7)
		>;
	};

	a0_gpio: a0-gpio-pins {
		pinctrl-single,pins = <
			/* (L6) WKUP_GPIO0_45 */
			AM65X_WKUP_IOPAD(0x0084, PIN_INPUT, 7)
		>;
	};

	a0_gpio_pullup: a0-gpio-pullup-pins {
		pinctrl-single,pins = <
			/* (L6) WKUP_GPIO0_45 */
			AM65X_WKUP_IOPAD(0x0084, PIN_INPUT, 7)
		>;
	};

	a0_gpio_pulldown: a0-gpio-pulldown-pins {
		pinctrl-single,pins = <
			/* (L6) WKUP_GPIO0_45 */
			AM65X_WKUP_IOPAD(0x0084, PIN_INPUT_PULLDOWN, 7)
		>;
	};

	a1_gpio: a1-gpio-pins {
		pinctrl-single,pins = <
			/* (M6) WKUP_GPIO0_44 */
			AM65X_WKUP_IOPAD(0x0080, PIN_INPUT, 7)
		>;
	};

	a1_gpio_pullup: a1-gpio-pullup-pins {
		pinctrl-single,pins = <
			/* (M6) WKUP_GPIO0_44 */
			AM65X_WKUP_IOPAD(0x0080, PIN_INPUT, 7)
		>;
	};

	a1_gpio_pulldown: a1-gpio-pulldown-pins {
		pinctrl-single,pins = <
			/* (M6) WKUP_GPIO0_44 */
			AM65X_WKUP_IOPAD(0x0080, PIN_INPUT_PULLDOWN, 7)
		>;
	};

	a2_gpio: a2-gpio-pins {
		pinctrl-single,pins = <
			/* (L5) WKUP_GPIO0_43 */
			AM65X_WKUP_IOPAD(0x007C, PIN_INPUT, 7)
		>;
	};

	a2_gpio_pullup: a2-gpio-pullup-pins {
		pinctrl-single,pins = <
			/* (L5) WKUP_GPIO0_43 */
			AM65X_WKUP_IOPAD(0x007C, PIN_INPUT, 7)
		>;
	};

	a2_gpio_pulldown: a2-gpio-pulldown-pins {
		pinctrl-single,pins = <
			/* (L5) WKUP_GPIO0_43 */
			AM65X_WKUP_IOPAD(0x007C, PIN_INPUT_PULLDOWN, 7)
		>;
	};

	a3_gpio: a3-gpio-pins {
		pinctrl-single,pins = <
			/* (M5) WKUP_GPIO0_39 */
			AM65X_WKUP_IOPAD(0x006C, PIN_INPUT, 7)
		>;
	};

	a3_gpio_pullup: a3-gpio-pullup-pins {
		pinctrl-single,pins = <
			/* (M5) WKUP_GPIO0_39 */
			AM65X_WKUP_IOPAD(0x006C, PIN_INPUT, 7)
		>;
	};

	a3_gpio_pulldown: a3-gpio-pulldown-pins {
		pinctrl-single,pins = <
			/* (M5) WKUP_GPIO0_39 */
			AM65X_WKUP_IOPAD(0x006C, PIN_INPUT_PULLDOWN, 7)
		>;
	};

	a4_gpio: a4-gpio-pins {
		pinctrl-single,pins = <
			/* (L2) WKUP_GPIO0_42 */
			AM65X_WKUP_IOPAD(0x0078, PIN_INPUT, 7)
		>;
	};

	a4_gpio_pullup: a4-gpio-pullup-pins {
		pinctrl-single,pins = <
			/* (L2) WKUP_GPIO0_42 */
			AM65X_WKUP_IOPAD(0x0078, PIN_INPUT, 7)
		>;
	};

	a4_gpio_pulldown: a4-gpio-pulldown-pins {
		pinctrl-single,pins = <
			/* (L2) WKUP_GPIO0_42 */
			AM65X_WKUP_IOPAD(0x0078, PIN_INPUT_PULLDOWN, 7)
		>;
	};

	a5_gpio: a5-gpio-pins {
		pinctrl-single,pins = <
			/* (N5) WKUP_GPIO0_35 */
			AM65X_WKUP_IOPAD(0x005C, PIN_INPUT, 7)
		>;
	};

	a5_gpio_pullup: a5-gpio-pullup-pins {
		pinctrl-single,pins = <
			/* (N5) WKUP_GPIO0_35 */
			AM65X_WKUP_IOPAD(0x005C, PIN_INPUT_PULLUP, 7)
		>;
	};

	a5_gpio_pulldown: a5-gpio-pulldown-pins {
		pinctrl-single,pins = <
			/* (N5) WKUP_GPIO0_35 */
			AM65X_WKUP_IOPAD(0x005C, PIN_INPUT_PULLDOWN, 7)
		>;
	};

	wkup_i2c0_pins_default: wkup-i2c0-default-pins {
		pinctrl-single,pins = <
			/* (AC7) WKUP_I2C0_SCL */
			AM65X_WKUP_IOPAD(0x00e0, PIN_INPUT,  0)
			/* (AD6) WKUP_I2C0_SDA */
			AM65X_WKUP_IOPAD(0x00e4, PIN_INPUT,  0)
		>;
	};

	arduino_i2c_aio_switch_pins_default: arduino-i2c-aio-switch-default-pins {
		pinctrl-single,pins = <
			/* (R2) WKUP_GPIO0_21 */
			AM65X_WKUP_IOPAD(0x0024, PIN_OUTPUT, 7)
		>;
	};

	arduino_io_oe_pins_default: arduino-io-oe-default-pins {
		pinctrl-single,pins = <
			/* (N4) WKUP_GPIO0_34 */
			AM65X_WKUP_IOPAD(0x0058, PIN_OUTPUT, 7)
			/* (M2) WKUP_GPIO0_36 */
			AM65X_WKUP_IOPAD(0x0060, PIN_OUTPUT, 7)
			/* (M3) WKUP_GPIO0_37 */
			AM65X_WKUP_IOPAD(0x0064, PIN_OUTPUT, 7)
			/* (M4) WKUP_GPIO0_38 */
			AM65X_WKUP_IOPAD(0x0068, PIN_OUTPUT, 7)
			/* (M1) WKUP_GPIO0_41 */
			AM65X_WKUP_IOPAD(0x0074, PIN_OUTPUT, 7)
		>;
	};
};

&main_pmx0 {
	pinctrl-names =
		"default",
		"d4-ehrpwm0-a", "d4-gpio", "d4-gpio-pullup", "d4-gpio-pulldown",
		"d5-ehrpwm1-a", "d5-gpio", "d5-gpio-pullup", "d5-gpio-pulldown",
		"d6-ehrpwm2-a", "d6-gpio", "d6-gpio-pullup", "d6-gpio-pulldown",
		"d7-ehrpwm3-a", "d7-gpio", "d7-gpio-pullup", "d7-gpio-pulldown",
		"d8-ehrpwm4-a", "d8-gpio", "d8-gpio-pullup", "d8-gpio-pulldown",
		"d9-ehrpwm5-a", "d9-gpio", "d9-gpio-pullup", "d9-gpio-pulldown";

	pinctrl-0 = <&d4_ehrpwm0_a>;
	pinctrl-1 = <&d4_ehrpwm0_a>;
	pinctrl-2 = <&d4_gpio>;
	pinctrl-3 = <&d4_gpio_pullup>;
	pinctrl-4 = <&d4_gpio_pulldown>;

	pinctrl-5 = <&d5_ehrpwm1_a>;
	pinctrl-6 = <&d5_gpio>;
	pinctrl-7 = <&d5_gpio_pullup>;
	pinctrl-8 = <&d5_gpio_pulldown>;

	pinctrl-9 = <&d6_ehrpwm2_a>;
	pinctrl-10 = <&d6_gpio>;
	pinctrl-11 = <&d6_gpio_pullup>;
	pinctrl-12 = <&d6_gpio_pulldown>;

	pinctrl-13 = <&d7_ehrpwm3_a>;
	pinctrl-14 = <&d7_gpio>;
	pinctrl-15 = <&d7_gpio_pullup>;
	pinctrl-16 = <&d7_gpio_pulldown>;

	pinctrl-17 = <&d8_ehrpwm4_a>;
	pinctrl-18 = <&d8_gpio>;
	pinctrl-19 = <&d8_gpio_pullup>;
	pinctrl-20 = <&d8_gpio_pulldown>;

	pinctrl-21 = <&d9_ehrpwm5_a>;
	pinctrl-22 = <&d9_gpio>;
	pinctrl-23 = <&d9_gpio_pullup>;
	pinctrl-24 = <&d9_gpio_pulldown>;

	d4_ehrpwm0_a: d4-ehrpwm0-a-pins {
		pinctrl-single,pins = <
			/* (AG18) EHRPWM0_A */
			AM65X_IOPAD(0x0084, PIN_OUTPUT, 5)
		>;
	};

	d4_gpio: d4-gpio-pins {
		pinctrl-single,pins = <
			/* (AG18) GPIO0_33 */
			AM65X_IOPAD(0x0084, PIN_INPUT, 7)
		>;
	};

	d4_gpio_pullup: d4-gpio-pullup-pins {
		pinctrl-single,pins = <
			/* (AG18) GPIO0_33 */
			AM65X_IOPAD(0x0084, PIN_INPUT_PULLUP, 7)
		>;
	};

	d4_gpio_pulldown: d4-gpio-pulldown-pins {
		pinctrl-single,pins = <
			/* (AG18) GPIO0_33 */
			AM65X_IOPAD(0x0084, PIN_INPUT_PULLDOWN, 7)
		>;
	};

	d5_ehrpwm1_a: d5-ehrpwm1-a-pins {
		pinctrl-single,pins = <
			/* (AF17) EHRPWM1_A */
			AM65X_IOPAD(0x008C, PIN_OUTPUT, 5)
		>;
	};

	d5_gpio: d5-gpio-pins {
		pinctrl-single,pins = <
			/* (AF17) GPIO0_35 */
			AM65X_IOPAD(0x008C, PIN_INPUT, 7)
		>;
	};

	d5_gpio_pullup: d5-gpio-pullup-pins {
		pinctrl-single,pins = <
			/* (AF17) GPIO0_35 */
			AM65X_IOPAD(0x008C, PIN_INPUT_PULLUP, 7)
		>;
	};

	d5_gpio_pulldown: d5-gpio-pulldown-pins {
		pinctrl-single,pins = <
			/* (AF17) GPIO0_35 */
			AM65X_IOPAD(0x008C, PIN_INPUT_PULLDOWN, 7)
		>;
	};

	d6_ehrpwm2_a: d6-ehrpwm2-a-pins {
		pinctrl-single,pins = <
			/* (AH16) EHRPWM2_A */
			AM65X_IOPAD(0x0098, PIN_OUTPUT, 5)
		>;
	};

	d6_gpio: d6-gpio-pins {
		pinctrl-single,pins = <
			/* (AH16) GPIO0_38 */
			AM65X_IOPAD(0x0098, PIN_INPUT, 7)
		>;
	};

	d6_gpio_pullup: d6-gpio-pullup-pins {
		pinctrl-single,pins = <
			/* (AH16) GPIO0_38 */
			AM65X_IOPAD(0x0098, PIN_INPUT_PULLUP, 7)
		>;
	};

	d6_gpio_pulldown: d6-gpio-pulldown-pins {
		pinctrl-single,pins = <
			/* (AH16) GPIO0_38 */
			AM65X_IOPAD(0x0098, PIN_INPUT_PULLDOWN, 7)
		>;
	};

	d7_ehrpwm3_a: d7-ehrpwm3-a-pins {
		pinctrl-single,pins = <
			/* (AH15) EHRPWM3_A */
			AM65X_IOPAD(0x00AC, PIN_OUTPUT, 5)
		>;
	};

	d7_gpio: d7-gpio-pins {
		pinctrl-single,pins = <
			/* (AH15) GPIO0_43 */
			AM65X_IOPAD(0x00AC, PIN_INPUT, 7)
		>;
	};

	d7_gpio_pullup: d7-gpio-pullup-pins {
		pinctrl-single,pins = <
			/* (AH15) GPIO0_43 */
			AM65X_IOPAD(0x00AC, PIN_INPUT_PULLUP, 7)
		>;
	};

	d7_gpio_pulldown: d7-gpio-pulldown-pins {
		pinctrl-single,pins = <
			/* (AH15) GPIO0_43 */
			AM65X_IOPAD(0x00AC, PIN_INPUT_PULLDOWN, 7)
		>;
	};

	d8_ehrpwm4_a: d8-ehrpwm4-a-pins {
		pinctrl-single,pins = <
			/* (AG15) EHRPWM4_A */
			AM65X_IOPAD(0x00C0, PIN_OUTPUT, 5)
		>;
	};

	d8_gpio: d8-gpio-pins {
		pinctrl-single,pins = <
			/* (AG15) GPIO0_48 */
			AM65X_IOPAD(0x00C0, PIN_INPUT, 7)
		>;
	};

	d8_gpio_pullup: d8-gpio-pullup-pins {
		pinctrl-single,pins = <
			/* (AG15) GPIO0_48 */
			AM65X_IOPAD(0x00C0, PIN_INPUT_PULLUP, 7)
		>;
	};

	d8_gpio_pulldown: d8-gpio-pulldown-pins {
		pinctrl-single,pins = <
			/* (AG15) GPIO0_48 */
			AM65X_IOPAD(0x00C0, PIN_INPUT_PULLDOWN, 7)
		>;
	};

	d9_ehrpwm5_a: d9-ehrpwm5-a-pins {
		pinctrl-single,pins = <
			/* (AD15) EHRPWM5_A */
			AM65X_IOPAD(0x00CC, PIN_OUTPUT, 5)
		>;
	};

	d9_gpio: d9-gpio-pins {
		pinctrl-single,pins = <
			/* (AD15) GPIO0_51 */
			AM65X_IOPAD(0x00CC, PIN_INPUT, 7)
		>;
	};

	d9_gpio_pullup: d9-gpio-pullup-pins {
		pinctrl-single,pins = <
			/* (AD15) GPIO0_51 */
			AM65X_IOPAD(0x00CC, PIN_INPUT_PULLUP, 7)
		>;
	};

	d9_gpio_pulldown: d9-gpio-pulldown-pins {
		pinctrl-single,pins = <
			/* (AD15) GPIO0_51 */
			AM65X_IOPAD(0x00CC, PIN_INPUT_PULLDOWN, 7)
		>;
	};
};

&main_gpio0 {
	gpio-line-names =
		"main_gpio0-base", "", "", "", "", "", "", "", "", "",
		"", "", "", "", "", "", "", "", "", "",
		"", "", "", "", "", "", "", "", "", "",
		"", "", "", "IO4", "", "IO5", "", "", "IO6", "",
		"", "", "", "IO7", "", "", "", "", "IO8", "",
		"", "IO9";
};

&wkup_gpio0 {
	pinctrl-names = "default";
	pinctrl-0 =
		<&arduino_i2c_aio_switch_pins_default>,
		<&arduino_io_oe_pins_default>,
		<&push_button_pins_default>,
		<&db9_com_mode_pins_default>;
	gpio-line-names =
		/* 0..9 */
		"wkup_gpio0-base", "", "", "", "UART0-mode1", "UART0-mode0",
		"UART0-enable", "UART0-terminate", "", "WIFI-disable",
		/* 10..19 */
		"", "", "", "", "", "", "", "", "", "",
		/* 20..29 */
		"", "A4A5-I2C-mux", "", "", "", "USER-button", "", "", "","IO0",
		/* 30..39 */
		"IO1", "IO2", "", "IO3", "IO17-direction", "A5",
		"IO16-direction", "IO15-direction", "IO14-direction", "A3",
		/* 40..49 */
		"", "IO18-direction", "A4", "A2", "A1", "A0", "", "", "IO13",
		"IO11",
		/* 50..51 */
		"IO12", "IO10";
};

&wkup_i2c0 {
	status = "okay";
	pinctrl-names = "default";
	pinctrl-0 = <&wkup_i2c0_pins_default>;
	clock-frequency = <400000>;
};

&mcu_i2c0 {
	/* D4200 */
	pcal9535_1: gpio@20 {
		compatible = "nxp,pcal9535";
		reg = <0x20>;
		#gpio-cells = <2>;
		gpio-controller;
		gpio-line-names =
			"A0-pull", "A1-pull", "A2-pull", "A3-pull", "A4-pull",
			"A5-pull", "", "",
			"IO14-enable", "IO15-enable", "IO16-enable",
			"IO17-enable", "IO18-enable", "IO19-enable";
	};

	/* D4201 */
	pcal9535_2: gpio@21 {
		compatible = "nxp,pcal9535";
		reg = <0x21>;
		#gpio-cells = <2>;
		gpio-controller;
		gpio-line-names =
			"IO0-direction", "IO1-direction", "IO2-direction",
			"IO3-direction", "IO4-direction", "IO5-direction",
			"IO6-direction", "IO7-direction",
			"IO8-direction", "IO9-direction", "IO10-direction",
			"IO11-direction", "IO12-direction", "IO13-direction",
			"IO19-direction";
	};

	/* D4202 */
	pcal9535_3: gpio@25 {
		compatible = "nxp,pcal9535";
		reg = <0x25>;
		#gpio-cells = <2>;
		gpio-controller;
		gpio-line-names =
			"IO0-pull", "IO1-pull", "IO2-pull", "IO3-pull",
			"IO4-pull", "IO5-pull", "IO6-pull", "IO7-pull",
			"IO8-pull", "IO9-pull", "IO10-pull", "IO11-pull",
			"IO12-pull", "IO13-pull";
	};
};

&mcu_uart0 {
	status = "okay";
};

&tscadc1 {
	status = "okay";
	adc {
		ti,adc-channels = <0 1 2 3 4 5>;
	};
};