162306a36Sopenharmony_ci// SPDX-License-Identifier: GPL-2.0-only
262306a36Sopenharmony_ci/*
362306a36Sopenharmony_ci * Copyright (C) 2021 Texas Instruments Incorporated - https://www.ti.com/
462306a36Sopenharmony_ci * Copyright (c) 2022-2023 TQ-Systems GmbH <linux@ew.tq-group.com>, D-82229 Seefeld, Germany.
562306a36Sopenharmony_ci */
662306a36Sopenharmony_ci
762306a36Sopenharmony_ci/dts-v1/;
862306a36Sopenharmony_ci
962306a36Sopenharmony_ci#include <dt-bindings/gpio/gpio.h>
1062306a36Sopenharmony_ci#include <dt-bindings/input/input.h>
1162306a36Sopenharmony_ci#include <dt-bindings/net/ti-dp83867.h>
1262306a36Sopenharmony_ci#include <dt-bindings/phy/phy.h>
1362306a36Sopenharmony_ci#include <dt-bindings/pwm/pwm.h>
1462306a36Sopenharmony_ci#include "k3-serdes.h"
1562306a36Sopenharmony_ci
1662306a36Sopenharmony_ci#include "k3-am642-tqma64xxl.dtsi"
1762306a36Sopenharmony_ci
1862306a36Sopenharmony_ci/ {
1962306a36Sopenharmony_ci	compatible = "tq,am642-tqma6442l-mbax4xxl", "tq,am642-tqma6442l",
2062306a36Sopenharmony_ci		     "ti,am642";
2162306a36Sopenharmony_ci	model = "TQ-Systems TQMa64xxL SoM on MBax4xxL carrier board";
2262306a36Sopenharmony_ci
2362306a36Sopenharmony_ci	aliases {
2462306a36Sopenharmony_ci		ethernet0 = &cpsw_port1;
2562306a36Sopenharmony_ci		i2c1 = &mcu_i2c0;
2662306a36Sopenharmony_ci		mmc1 = &sdhci1;
2762306a36Sopenharmony_ci		serial0 = &mcu_uart0;
2862306a36Sopenharmony_ci		serial1 = &mcu_uart1;
2962306a36Sopenharmony_ci		serial2 = &main_uart0;
3062306a36Sopenharmony_ci		serial3 = &main_uart1;
3162306a36Sopenharmony_ci		serial4 = &main_uart2;
3262306a36Sopenharmony_ci		serial5 = &main_uart4;
3362306a36Sopenharmony_ci		serial6 = &main_uart5;
3462306a36Sopenharmony_ci		serial7 = &main_uart3;
3562306a36Sopenharmony_ci		spi1 = &main_spi0;
3662306a36Sopenharmony_ci		spi2 = &mcu_spi0;
3762306a36Sopenharmony_ci	};
3862306a36Sopenharmony_ci
3962306a36Sopenharmony_ci	chosen {
4062306a36Sopenharmony_ci		stdout-path = &main_uart0;
4162306a36Sopenharmony_ci	};
4262306a36Sopenharmony_ci
4362306a36Sopenharmony_ci	gpio-keys {
4462306a36Sopenharmony_ci		compatible = "gpio-keys";
4562306a36Sopenharmony_ci		pinctrl-names = "default";
4662306a36Sopenharmony_ci		pinctrl-0 = <&mcu_gpio_keys_pins>;
4762306a36Sopenharmony_ci
4862306a36Sopenharmony_ci		user-button {
4962306a36Sopenharmony_ci			label = "USER_BUTTON";
5062306a36Sopenharmony_ci			linux,code = <BTN_0>;
5162306a36Sopenharmony_ci			gpios = <&mcu_gpio0 5 GPIO_ACTIVE_LOW>;
5262306a36Sopenharmony_ci		};
5362306a36Sopenharmony_ci	};
5462306a36Sopenharmony_ci
5562306a36Sopenharmony_ci	gpio-leds {
5662306a36Sopenharmony_ci		compatible = "gpio-leds";
5762306a36Sopenharmony_ci		pinctrl-names = "default";
5862306a36Sopenharmony_ci		pinctrl-0 = <&mcu_gpio_leds_pins>;
5962306a36Sopenharmony_ci
6062306a36Sopenharmony_ci		led-0 {
6162306a36Sopenharmony_ci			label = "led0";
6262306a36Sopenharmony_ci			gpios = <&mcu_gpio0 8 GPIO_ACTIVE_HIGH>;
6362306a36Sopenharmony_ci		};
6462306a36Sopenharmony_ci		led-1 {
6562306a36Sopenharmony_ci			label = "led1";
6662306a36Sopenharmony_ci			gpios = <&mcu_gpio0 9 GPIO_ACTIVE_HIGH>;
6762306a36Sopenharmony_ci		};
6862306a36Sopenharmony_ci	};
6962306a36Sopenharmony_ci
7062306a36Sopenharmony_ci	fan0: pwm-fan {
7162306a36Sopenharmony_ci		compatible = "pwm-fan";
7262306a36Sopenharmony_ci		pinctrl-names = "default";
7362306a36Sopenharmony_ci		pinctrl-0 = <&pwm_fan_pins>;
7462306a36Sopenharmony_ci		fan-supply = <&reg_pwm_fan>;
7562306a36Sopenharmony_ci		#cooling-cells = <2>;
7662306a36Sopenharmony_ci		/* typical 25 kHz -> 40.000 nsec */
7762306a36Sopenharmony_ci		pwms = <&epwm5 0 40000 PWM_POLARITY_INVERTED>;
7862306a36Sopenharmony_ci		cooling-levels = <0 32 64 128 196 240>;
7962306a36Sopenharmony_ci		pulses-per-revolution = <2>;
8062306a36Sopenharmony_ci		interrupt-parent = <&main_gpio1>;
8162306a36Sopenharmony_ci		interrupts = <49 IRQ_TYPE_EDGE_FALLING>;
8262306a36Sopenharmony_ci		status = "disabled";
8362306a36Sopenharmony_ci	};
8462306a36Sopenharmony_ci
8562306a36Sopenharmony_ci	wifi_pwrseq: pwrseq-wifi {
8662306a36Sopenharmony_ci		compatible = "mmc-pwrseq-simple";
8762306a36Sopenharmony_ci		pinctrl-names = "default";
8862306a36Sopenharmony_ci		pinctrl-0 = <&main_mmc1_wifi_pwrseq_pins>;
8962306a36Sopenharmony_ci		reset-gpios = <&main_gpio0 23 GPIO_ACTIVE_LOW>;
9062306a36Sopenharmony_ci	};
9162306a36Sopenharmony_ci
9262306a36Sopenharmony_ci	reg_pwm_fan: regulator-pwm-fan {
9362306a36Sopenharmony_ci		compatible = "regulator-fixed";
9462306a36Sopenharmony_ci		pinctrl-names = "default";
9562306a36Sopenharmony_ci		pinctrl-0 = <&pwm_fan_reg_pins>;
9662306a36Sopenharmony_ci		regulator-name = "FAN_PWR";
9762306a36Sopenharmony_ci		regulator-min-microvolt = <12000000>;
9862306a36Sopenharmony_ci		regulator-max-microvolt = <12000000>;
9962306a36Sopenharmony_ci		gpio = <&main_gpio1 48 GPIO_ACTIVE_HIGH>;
10062306a36Sopenharmony_ci		enable-active-high;
10162306a36Sopenharmony_ci	};
10262306a36Sopenharmony_ci
10362306a36Sopenharmony_ci	reg_sd: regulator-sd {
10462306a36Sopenharmony_ci		compatible = "regulator-fixed";
10562306a36Sopenharmony_ci		pinctrl-names = "default";
10662306a36Sopenharmony_ci		pinctrl-0 = <&main_mmc1_reg_pins>;
10762306a36Sopenharmony_ci		regulator-name = "V_3V3_SD";
10862306a36Sopenharmony_ci		regulator-min-microvolt = <3300000>;
10962306a36Sopenharmony_ci		regulator-max-microvolt = <3300000>;
11062306a36Sopenharmony_ci		gpio = <&main_gpio1 43 GPIO_ACTIVE_HIGH>;
11162306a36Sopenharmony_ci		enable-active-high;
11262306a36Sopenharmony_ci	};
11362306a36Sopenharmony_ci};
11462306a36Sopenharmony_ci
11562306a36Sopenharmony_ci&cpsw3g {
11662306a36Sopenharmony_ci	pinctrl-names = "default";
11762306a36Sopenharmony_ci	pinctrl-0 = <&cpsw_pins>;
11862306a36Sopenharmony_ci};
11962306a36Sopenharmony_ci
12062306a36Sopenharmony_ci&cpsw_port1 {
12162306a36Sopenharmony_ci	phy-mode = "rgmii-rxid";
12262306a36Sopenharmony_ci	phy-handle = <&cpsw3g_phy0>;
12362306a36Sopenharmony_ci};
12462306a36Sopenharmony_ci
12562306a36Sopenharmony_ci&cpsw_port2 {
12662306a36Sopenharmony_ci	status = "disabled";
12762306a36Sopenharmony_ci};
12862306a36Sopenharmony_ci
12962306a36Sopenharmony_ci&cpsw3g_mdio {
13062306a36Sopenharmony_ci	pinctrl-names = "default";
13162306a36Sopenharmony_ci	pinctrl-0 = <&cpsw_mdio_pins>;
13262306a36Sopenharmony_ci	status = "okay";
13362306a36Sopenharmony_ci
13462306a36Sopenharmony_ci	cpsw3g_phy0: ethernet-phy@0 {
13562306a36Sopenharmony_ci		compatible = "ethernet-phy-ieee802.3-c22";
13662306a36Sopenharmony_ci		reg = <0>;
13762306a36Sopenharmony_ci		reset-gpios = <&main_gpio0 44 GPIO_ACTIVE_LOW>;
13862306a36Sopenharmony_ci		reset-assert-us = <1000>;
13962306a36Sopenharmony_ci		reset-deassert-us = <1000>;
14062306a36Sopenharmony_ci		ti,rx-fifo-depth = <DP83867_PHYCR_FIFO_DEPTH_4_B_NIB>;
14162306a36Sopenharmony_ci		ti,tx-fifo-depth = <DP83867_PHYCR_FIFO_DEPTH_4_B_NIB>;
14262306a36Sopenharmony_ci		ti,rx-internal-delay = <DP83867_RGMIIDCTL_2_00_NS>;
14362306a36Sopenharmony_ci		ti,clk-output-sel = <DP83867_CLK_O_SEL_OFF>;
14462306a36Sopenharmony_ci	};
14562306a36Sopenharmony_ci};
14662306a36Sopenharmony_ci
14762306a36Sopenharmony_ci&epwm5 {
14862306a36Sopenharmony_ci	pinctrl-names = "default";
14962306a36Sopenharmony_ci	pinctrl-0 = <&epwm5_pins>;
15062306a36Sopenharmony_ci	status = "okay";
15162306a36Sopenharmony_ci};
15262306a36Sopenharmony_ci
15362306a36Sopenharmony_ci&main_gpio0 {
15462306a36Sopenharmony_ci	pinctrl-names = "default";
15562306a36Sopenharmony_ci	pinctrl-0 = <&main_gpio0_digital_pins>,
15662306a36Sopenharmony_ci		    <&main_gpio0_hog_pins>;
15762306a36Sopenharmony_ci	gpio-line-names =
15862306a36Sopenharmony_ci		"", "", "", "", /* 0-3 */
15962306a36Sopenharmony_ci		"", "", "", "", /* 4-7 */
16062306a36Sopenharmony_ci		"", "", "", "", /* 8-11 */
16162306a36Sopenharmony_ci		"", "", "", "", /* 12-15 */
16262306a36Sopenharmony_ci		"", "", "", "", /* 16-19 */
16362306a36Sopenharmony_ci		"", "", "", "", /* 20-23 */
16462306a36Sopenharmony_ci		"", "", "EN_DIG_OUT_1", "STATUS_OUT_1", /* 24-27 */
16562306a36Sopenharmony_ci		"EN_DIG_OUT_2", "STATUS_OUT_2", "EN_SIG_OUT_3", "", /* 28-31 */
16662306a36Sopenharmony_ci		"", "", "STATUS_OUT_3", "EN_DIG_OUT_4", /* 32-35 */
16762306a36Sopenharmony_ci		"", "", "STATUS_OUT_4", "DIG_IN_1", /* 36-39 */
16862306a36Sopenharmony_ci		"DIG_IN_2", "DIG_IN_3", "DIG_IN_4"; /* 40- */
16962306a36Sopenharmony_ci};
17062306a36Sopenharmony_ci
17162306a36Sopenharmony_ci&main_gpio1 {
17262306a36Sopenharmony_ci	pinctrl-names = "default";
17362306a36Sopenharmony_ci	pinctrl-0 = <&main_gpio1_hog_pins>;
17462306a36Sopenharmony_ci	gpio-line-names =
17562306a36Sopenharmony_ci		"", "", "", "", /* 0-3 */
17662306a36Sopenharmony_ci		"", "", "", "", /* 4-7 */
17762306a36Sopenharmony_ci		"", "", "", "", /* 8-11 */
17862306a36Sopenharmony_ci		"", "", "", "", /* 12-15 */
17962306a36Sopenharmony_ci		"", "", "", "", /* 16-19 */
18062306a36Sopenharmony_ci		"", "", "", "", /* 20-23 */
18162306a36Sopenharmony_ci		"", "", "", "", /* 24-27 */
18262306a36Sopenharmony_ci		"", "", "", "", /* 28-31 */
18362306a36Sopenharmony_ci		"", "", "", "", /* 32-35 */
18462306a36Sopenharmony_ci		"", "", "", "", /* 36-39 */
18562306a36Sopenharmony_ci		"", "", "", "", /* 40-43 */
18662306a36Sopenharmony_ci		"", "", "", "", /* 44-47 */
18762306a36Sopenharmony_ci		"", "", "", "", /* 48-51 */
18862306a36Sopenharmony_ci		"", "", "", "ADC_SYNC", /* 52-55 */
18962306a36Sopenharmony_ci		"", "", "ADC_RST#", "ADC_DATA_RDY", /* 56-59 */
19062306a36Sopenharmony_ci		"", "", "", "", /* 60-63 */
19162306a36Sopenharmony_ci		"", "", "", "ADC_INT#", /* 64-67 */
19262306a36Sopenharmony_ci		"BG95_PWRKEY", "BG95_RESET"; /* 68- */
19362306a36Sopenharmony_ci
19462306a36Sopenharmony_ci	line50-hog {
19562306a36Sopenharmony_ci		/* See also usb0 */
19662306a36Sopenharmony_ci		gpio-hog;
19762306a36Sopenharmony_ci		gpios = <50 0>;
19862306a36Sopenharmony_ci		line-name = "USB0_VBUS_OC#";
19962306a36Sopenharmony_ci		input;
20062306a36Sopenharmony_ci	};
20162306a36Sopenharmony_ci
20262306a36Sopenharmony_ci	line54-hog {
20362306a36Sopenharmony_ci		gpio-hog;
20462306a36Sopenharmony_ci		gpios = <54 0>;
20562306a36Sopenharmony_ci		line-name = "PRG0_MDIO_SWITCH";
20662306a36Sopenharmony_ci		output-low;
20762306a36Sopenharmony_ci	};
20862306a36Sopenharmony_ci
20962306a36Sopenharmony_ci	line70-hog {
21062306a36Sopenharmony_ci		gpio-hog;
21162306a36Sopenharmony_ci		gpios = <70 0>;
21262306a36Sopenharmony_ci		line-name = "PHY_INT#";
21362306a36Sopenharmony_ci		input;
21462306a36Sopenharmony_ci	};
21562306a36Sopenharmony_ci};
21662306a36Sopenharmony_ci
21762306a36Sopenharmony_ci&main_mcan0 {
21862306a36Sopenharmony_ci	pinctrl-names = "default";
21962306a36Sopenharmony_ci	pinctrl-0 = <&main_mcan0_pins>;
22062306a36Sopenharmony_ci	status = "okay";
22162306a36Sopenharmony_ci};
22262306a36Sopenharmony_ci
22362306a36Sopenharmony_ci&main_mcan1 {
22462306a36Sopenharmony_ci	pinctrl-names = "default";
22562306a36Sopenharmony_ci	pinctrl-0 = <&main_mcan1_pins>;
22662306a36Sopenharmony_ci	status = "okay";
22762306a36Sopenharmony_ci};
22862306a36Sopenharmony_ci
22962306a36Sopenharmony_ci&main_spi0 {
23062306a36Sopenharmony_ci	pinctrl-names = "default";
23162306a36Sopenharmony_ci	pinctrl-0 = <&main_spi0_pins>;
23262306a36Sopenharmony_ci	ti,pindir-d0-out-d1-in;
23362306a36Sopenharmony_ci	status = "okay";
23462306a36Sopenharmony_ci
23562306a36Sopenharmony_ci	/* adc@0: NXP NAFE13388 */
23662306a36Sopenharmony_ci};
23762306a36Sopenharmony_ci
23862306a36Sopenharmony_ci/* UART/USB adapter port 1 */
23962306a36Sopenharmony_ci&main_uart0 {
24062306a36Sopenharmony_ci	pinctrl-names = "default";
24162306a36Sopenharmony_ci	pinctrl-0 = <&main_uart0_pins>;
24262306a36Sopenharmony_ci	status = "okay";
24362306a36Sopenharmony_ci};
24462306a36Sopenharmony_ci
24562306a36Sopenharmony_ci/*
24662306a36Sopenharmony_ci * IOT Module - GNSS UART
24762306a36Sopenharmony_ci *
24862306a36Sopenharmony_ci * Note: We expect usage of a SYSFW that does not reserve UART1 for debug traces
24962306a36Sopenharmony_ci */
25062306a36Sopenharmony_ci&main_uart1 {
25162306a36Sopenharmony_ci	pinctrl-names = "default";
25262306a36Sopenharmony_ci	pinctrl-0 = <&main_uart1_pins>;
25362306a36Sopenharmony_ci	status = "okay";
25462306a36Sopenharmony_ci};
25562306a36Sopenharmony_ci
25662306a36Sopenharmony_ci/* RS485 port */
25762306a36Sopenharmony_ci&main_uart2 {
25862306a36Sopenharmony_ci	pinctrl-names = "default";
25962306a36Sopenharmony_ci	pinctrl-0 = <&main_uart2_pins>;
26062306a36Sopenharmony_ci	linux,rs485-enabled-at-boot-time;
26162306a36Sopenharmony_ci	rs485-rts-active-low;
26262306a36Sopenharmony_ci	status = "okay";
26362306a36Sopenharmony_ci};
26462306a36Sopenharmony_ci
26562306a36Sopenharmony_ci/* Bluetooth module */
26662306a36Sopenharmony_ci&main_uart3 {
26762306a36Sopenharmony_ci	pinctrl-names = "default";
26862306a36Sopenharmony_ci	pinctrl-0 = <&main_uart3_pins>;
26962306a36Sopenharmony_ci	/*
27062306a36Sopenharmony_ci	 * Left disabled for now, until a way to deal with drivers and firmware
27162306a36Sopenharmony_ci	 * for the combined WLAN/BT module has been figured out
27262306a36Sopenharmony_ci	 */
27362306a36Sopenharmony_ci};
27462306a36Sopenharmony_ci
27562306a36Sopenharmony_ci/* IOT module - Main UART */
27662306a36Sopenharmony_ci&main_uart4 {
27762306a36Sopenharmony_ci	pinctrl-names = "default";
27862306a36Sopenharmony_ci	pinctrl-0 = <&main_uart4_pins>;
27962306a36Sopenharmony_ci	status = "okay";
28062306a36Sopenharmony_ci};
28162306a36Sopenharmony_ci
28262306a36Sopenharmony_ci/* IOT module - DBG UART */
28362306a36Sopenharmony_ci&main_uart5 {
28462306a36Sopenharmony_ci	pinctrl-names = "default";
28562306a36Sopenharmony_ci	pinctrl-0 = <&main_uart5_pins>;
28662306a36Sopenharmony_ci	status = "okay";
28762306a36Sopenharmony_ci};
28862306a36Sopenharmony_ci
28962306a36Sopenharmony_ci&main0_thermal {
29062306a36Sopenharmony_ci	trips {
29162306a36Sopenharmony_ci		main0_active0: trip-active0 {
29262306a36Sopenharmony_ci			temperature = <40000>;
29362306a36Sopenharmony_ci			hysteresis = <5000>;
29462306a36Sopenharmony_ci			type = "active";
29562306a36Sopenharmony_ci		};
29662306a36Sopenharmony_ci
29762306a36Sopenharmony_ci		main0_active1: trip-active1 {
29862306a36Sopenharmony_ci			temperature = <48000>;
29962306a36Sopenharmony_ci			hysteresis = <3000>;
30062306a36Sopenharmony_ci			type = "active";
30162306a36Sopenharmony_ci		};
30262306a36Sopenharmony_ci
30362306a36Sopenharmony_ci		main0_active2: trip-active2 {
30462306a36Sopenharmony_ci			temperature = <60000>;
30562306a36Sopenharmony_ci			hysteresis = <10000>;
30662306a36Sopenharmony_ci			type = "active";
30762306a36Sopenharmony_ci		};
30862306a36Sopenharmony_ci	};
30962306a36Sopenharmony_ci
31062306a36Sopenharmony_ci	cooling-maps {
31162306a36Sopenharmony_ci		map1 {
31262306a36Sopenharmony_ci			trip = <&main0_active0>;
31362306a36Sopenharmony_ci			cooling-device = <&fan0 1 1>;
31462306a36Sopenharmony_ci		};
31562306a36Sopenharmony_ci
31662306a36Sopenharmony_ci		map2 {
31762306a36Sopenharmony_ci			trip = <&main0_active1>;
31862306a36Sopenharmony_ci			cooling-device = <&fan0 2 2>;
31962306a36Sopenharmony_ci		};
32062306a36Sopenharmony_ci
32162306a36Sopenharmony_ci		map3 {
32262306a36Sopenharmony_ci			trip = <&main0_active2>;
32362306a36Sopenharmony_ci			cooling-device = <&fan0 3 3>;
32462306a36Sopenharmony_ci		};
32562306a36Sopenharmony_ci	};
32662306a36Sopenharmony_ci};
32762306a36Sopenharmony_ci
32862306a36Sopenharmony_ci&main1_thermal {
32962306a36Sopenharmony_ci	trips {
33062306a36Sopenharmony_ci		main1_active0: trip-active0 {
33162306a36Sopenharmony_ci			temperature = <40000>;
33262306a36Sopenharmony_ci			hysteresis = <5000>;
33362306a36Sopenharmony_ci			type = "active";
33462306a36Sopenharmony_ci		};
33562306a36Sopenharmony_ci
33662306a36Sopenharmony_ci		main1_active1: trip-active1 {
33762306a36Sopenharmony_ci			temperature = <48000>;
33862306a36Sopenharmony_ci			hysteresis = <3000>;
33962306a36Sopenharmony_ci			type = "active";
34062306a36Sopenharmony_ci		};
34162306a36Sopenharmony_ci
34262306a36Sopenharmony_ci		main1_active2: trip-active2 {
34362306a36Sopenharmony_ci			temperature = <60000>;
34462306a36Sopenharmony_ci			hysteresis = <10000>;
34562306a36Sopenharmony_ci			type = "active";
34662306a36Sopenharmony_ci		};
34762306a36Sopenharmony_ci	};
34862306a36Sopenharmony_ci
34962306a36Sopenharmony_ci	cooling-maps {
35062306a36Sopenharmony_ci		map1 {
35162306a36Sopenharmony_ci			trip = <&main1_active0>;
35262306a36Sopenharmony_ci			cooling-device = <&fan0 1 1>;
35362306a36Sopenharmony_ci		};
35462306a36Sopenharmony_ci
35562306a36Sopenharmony_ci		map2 {
35662306a36Sopenharmony_ci			trip = <&main1_active1>;
35762306a36Sopenharmony_ci			cooling-device = <&fan0 2 2>;
35862306a36Sopenharmony_ci		};
35962306a36Sopenharmony_ci
36062306a36Sopenharmony_ci		map3 {
36162306a36Sopenharmony_ci			trip = <&main1_active2>;
36262306a36Sopenharmony_ci			cooling-device = <&fan0 3 3>;
36362306a36Sopenharmony_ci		};
36462306a36Sopenharmony_ci	};
36562306a36Sopenharmony_ci};
36662306a36Sopenharmony_ci
36762306a36Sopenharmony_ci&mcu_gpio0 {
36862306a36Sopenharmony_ci	pinctrl-names = "default";
36962306a36Sopenharmony_ci	pinctrl-0 = <&mcu_gpio0_pins>;
37062306a36Sopenharmony_ci};
37162306a36Sopenharmony_ci
37262306a36Sopenharmony_ci&mcu_i2c0 {
37362306a36Sopenharmony_ci	pinctrl-names = "default";
37462306a36Sopenharmony_ci	pinctrl-0 = <&mcu_i2c0_pins>;
37562306a36Sopenharmony_ci	/* Left disabled: not functional without external pullup */
37662306a36Sopenharmony_ci};
37762306a36Sopenharmony_ci
37862306a36Sopenharmony_ci&mcu_spi0 {
37962306a36Sopenharmony_ci	pinctrl-names = "default";
38062306a36Sopenharmony_ci	pinctrl-0 = <&mcu_spi0_pins>;
38162306a36Sopenharmony_ci	ti,pindir-d0-out-d1-in;
38262306a36Sopenharmony_ci	status = "okay";
38362306a36Sopenharmony_ci};
38462306a36Sopenharmony_ci
38562306a36Sopenharmony_ci/* UART/USB adapter port 2 */
38662306a36Sopenharmony_ci&mcu_uart0 {
38762306a36Sopenharmony_ci	pinctrl-names = "default";
38862306a36Sopenharmony_ci	pinctrl-0 = <&mcu_uart0_pins>;
38962306a36Sopenharmony_ci	status = "okay";
39062306a36Sopenharmony_ci};
39162306a36Sopenharmony_ci
39262306a36Sopenharmony_ci/* Pin header */
39362306a36Sopenharmony_ci&mcu_uart1 {
39462306a36Sopenharmony_ci	pinctrl-names = "default";
39562306a36Sopenharmony_ci	pinctrl-0 = <&mcu_uart1_pins>;
39662306a36Sopenharmony_ci	status = "okay";
39762306a36Sopenharmony_ci};
39862306a36Sopenharmony_ci
39962306a36Sopenharmony_ci&serdes_ln_ctrl {
40062306a36Sopenharmony_ci	idle-states = <AM64_SERDES0_LANE0_USB>;
40162306a36Sopenharmony_ci};
40262306a36Sopenharmony_ci
40362306a36Sopenharmony_ci&serdes0 {
40462306a36Sopenharmony_ci	serdes0_usb_link: phy@0 {
40562306a36Sopenharmony_ci		reg = <0>;
40662306a36Sopenharmony_ci		#phy-cells = <0>;
40762306a36Sopenharmony_ci		resets = <&serdes_wiz0 1>;
40862306a36Sopenharmony_ci		cdns,num-lanes = <1>;
40962306a36Sopenharmony_ci		cdns,phy-type = <PHY_TYPE_USB3>;
41062306a36Sopenharmony_ci	};
41162306a36Sopenharmony_ci};
41262306a36Sopenharmony_ci
41362306a36Sopenharmony_ci&sdhci1 {
41462306a36Sopenharmony_ci	pinctrl-names = "default";
41562306a36Sopenharmony_ci	pinctrl-0 = <&main_mmc1_pins>;
41662306a36Sopenharmony_ci	bus-width = <4>;
41762306a36Sopenharmony_ci	cd-gpios = <&main_gpio1 77 GPIO_ACTIVE_LOW>;
41862306a36Sopenharmony_ci	disable-wp;
41962306a36Sopenharmony_ci	no-mmc;
42062306a36Sopenharmony_ci	ti,driver-strength-ohm = <50>;
42162306a36Sopenharmony_ci	ti,fails-without-test-cd;
42262306a36Sopenharmony_ci	/* Enabled by overlay */
42362306a36Sopenharmony_ci};
42462306a36Sopenharmony_ci
42562306a36Sopenharmony_ci&tscadc0 {
42662306a36Sopenharmony_ci	status = "okay";
42762306a36Sopenharmony_ci	adc {
42862306a36Sopenharmony_ci		ti,adc-channels = <0 1 2 3 4 5 6 7>;
42962306a36Sopenharmony_ci	};
43062306a36Sopenharmony_ci};
43162306a36Sopenharmony_ci
43262306a36Sopenharmony_ci&usb0 {
43362306a36Sopenharmony_ci	/*
43462306a36Sopenharmony_ci	 * The CDNS USB driver currently doesn't support overcurrent GPIOs,
43562306a36Sopenharmony_ci	 * so there is no overcurrent detection. The OC pin is configured
43662306a36Sopenharmony_ci	 * as a GPIO hog instead.
43762306a36Sopenharmony_ci	 */
43862306a36Sopenharmony_ci	pinctrl-names = "default";
43962306a36Sopenharmony_ci	pinctrl-0 = <&main_usb0_pins>;
44062306a36Sopenharmony_ci	dr_mode = "otg";
44162306a36Sopenharmony_ci	maximum-speed = "super-speed";
44262306a36Sopenharmony_ci	phys = <&serdes0_usb_link>;
44362306a36Sopenharmony_ci	phy-names = "cdns3,usb3-phy";
44462306a36Sopenharmony_ci};
44562306a36Sopenharmony_ci
44662306a36Sopenharmony_ci&usbss0 {
44762306a36Sopenharmony_ci	ti,vbus-divider;
44862306a36Sopenharmony_ci};
44962306a36Sopenharmony_ci
45062306a36Sopenharmony_ci&main_pmx0 {
45162306a36Sopenharmony_ci	cpsw_pins: cpsw-pins {
45262306a36Sopenharmony_ci		pinctrl-single,pins = <
45362306a36Sopenharmony_ci			/* (W5) PRG0_PRU1_GPO7.RGMII1_RD0 */
45462306a36Sopenharmony_ci			AM64X_IOPAD(0x01cc, PIN_INPUT, 4)
45562306a36Sopenharmony_ci			/* (Y5) PRG0_PRU1_GPO9.RGMII1_RD1 */
45662306a36Sopenharmony_ci			AM64X_IOPAD(0x01d4, PIN_INPUT, 4)
45762306a36Sopenharmony_ci			/* (V6) PRG0_PRU1_GPO10.RGMII1_RD2 */
45862306a36Sopenharmony_ci			AM64X_IOPAD(0x01d8, PIN_INPUT, 4)
45962306a36Sopenharmony_ci			/* (V5) PRG0_PRU1_GPO17.RGMII1_RD3 */
46062306a36Sopenharmony_ci			AM64X_IOPAD(0x01f4, PIN_INPUT, 4)
46162306a36Sopenharmony_ci			/* (AA5) PRG0_PRU0_GPO10.RGMII1_RXC */
46262306a36Sopenharmony_ci			AM64X_IOPAD(0x0188, PIN_INPUT, 4)
46362306a36Sopenharmony_ci			/* (W6) PRG0_PRU0_GPO9.RGMII1_RX_CTL */
46462306a36Sopenharmony_ci			AM64X_IOPAD(0x0184, PIN_INPUT, 4)
46562306a36Sopenharmony_ci			/* (V15) PRG1_PRU1_GPO7.RGMII1_TD0 */
46662306a36Sopenharmony_ci			AM64X_IOPAD(0x0124, PIN_OUTPUT, 4)
46762306a36Sopenharmony_ci			/* (V14) PRG1_PRU1_GPO9.RGMII1_TD1 */
46862306a36Sopenharmony_ci			AM64X_IOPAD(0x012c, PIN_OUTPUT, 4)
46962306a36Sopenharmony_ci			/* (W14) PRG1_PRU1_GPO10.RGMII1_TD2 */
47062306a36Sopenharmony_ci			AM64X_IOPAD(0x0130, PIN_OUTPUT, 4)
47162306a36Sopenharmony_ci			/* (AA14) PRG1_PRU1_GPO17.RGMII1_TD3 */
47262306a36Sopenharmony_ci			AM64X_IOPAD(0x014c, PIN_OUTPUT, 4)
47362306a36Sopenharmony_ci			/* (U14) PRG1_PRU0_GPO10.RGMII1_TXC */
47462306a36Sopenharmony_ci			AM64X_IOPAD(0x00e0, PIN_OUTPUT, 4)
47562306a36Sopenharmony_ci			/* (U15) PRG1_PRU0_GPO9.RGMII1_TX_CTL */
47662306a36Sopenharmony_ci			AM64X_IOPAD(0x00dc, PIN_OUTPUT, 4)
47762306a36Sopenharmony_ci		>;
47862306a36Sopenharmony_ci	};
47962306a36Sopenharmony_ci
48062306a36Sopenharmony_ci	cpsw_mdio_pins: cpsw-mdio-pins {
48162306a36Sopenharmony_ci		pinctrl-single,pins = <
48262306a36Sopenharmony_ci			/* (R21) GPMC0_CSn3.GPIO0_44 - RESET_RGMII1# */
48362306a36Sopenharmony_ci			AM64X_IOPAD(0x00b4, PIN_OUTPUT, 7)
48462306a36Sopenharmony_ci
48562306a36Sopenharmony_ci			/* (R2) PRG0_PRU1_GPO19.MDIO0_MDC */
48662306a36Sopenharmony_ci			AM64X_IOPAD(0x01fc, PIN_OUTPUT, 4)
48762306a36Sopenharmony_ci			/* (P5) PRG0_PRU1_GPO18.MDIO0_MDIO */
48862306a36Sopenharmony_ci			AM64X_IOPAD(0x01f8, PIN_INPUT, 4)
48962306a36Sopenharmony_ci		>;
49062306a36Sopenharmony_ci	};
49162306a36Sopenharmony_ci
49262306a36Sopenharmony_ci	epwm5_pins: epwm5-pins {
49362306a36Sopenharmony_ci		pinctrl-single,pins = <
49462306a36Sopenharmony_ci			/* (W19) GPMC0_WAIT0.EHRPWM5_B */
49562306a36Sopenharmony_ci			AM64X_IOPAD(0x0098, PIN_OUTPUT, 3)
49662306a36Sopenharmony_ci		>;
49762306a36Sopenharmony_ci	};
49862306a36Sopenharmony_ci
49962306a36Sopenharmony_ci	/* Digital IOs */
50062306a36Sopenharmony_ci	main_gpio0_digital_pins: main-gpio0-digital-pins {
50162306a36Sopenharmony_ci		pinctrl-single,pins = <
50262306a36Sopenharmony_ci			/* (W20) GPMC0_AD11.GPIO0_26 - EN_DIG_OUT_1 */
50362306a36Sopenharmony_ci			AM64X_IOPAD(0x0068, PIN_OUTPUT, 7)
50462306a36Sopenharmony_ci			/* (W21) GPMC0_AD12.GPIO0_27 - STATUS_OUT_1 */
50562306a36Sopenharmony_ci			AM64X_IOPAD(0x006c, PIN_INPUT, 7)
50662306a36Sopenharmony_ci			/* (V18) GPMC0_AD13.GPIO0_28 - EN_DIG_OUT_2 */
50762306a36Sopenharmony_ci			AM64X_IOPAD(0x0070, PIN_OUTPUT, 7)
50862306a36Sopenharmony_ci			/* (Y21) GPMC0_AD14.GPIO0_29 - STATUS_OUT_2 */
50962306a36Sopenharmony_ci			AM64X_IOPAD(0x0074, PIN_INPUT, 7)
51062306a36Sopenharmony_ci			/* (Y20) GPMC0_AD15.GPIO0_30 - EN_DIG_OUT_3 */
51162306a36Sopenharmony_ci			AM64X_IOPAD(0x0078, PIN_OUTPUT, 7)
51262306a36Sopenharmony_ci			/* (T21) GPMC0_WEn.GPIO0_34 - STATUS_OUT_3 */
51362306a36Sopenharmony_ci			AM64X_IOPAD(0x008c, PIN_INPUT, 7)
51462306a36Sopenharmony_ci			/* (P17) GPMC0_BE0n_CLE.GPIO0_35 - EN_DIG_OUT_4 */
51562306a36Sopenharmony_ci			AM64X_IOPAD(0x0090, PIN_OUTPUT, 7)
51662306a36Sopenharmony_ci			/* (Y18) GPMC0_WAIT1.GPIO0_38 - STATUS_OUT_4 */
51762306a36Sopenharmony_ci			AM64X_IOPAD(0x009c, PIN_INPUT, 7)
51862306a36Sopenharmony_ci			/* (N16) GPMC0_WPn.GPIO0_39 - DIG_IN_1 */
51962306a36Sopenharmony_ci			AM64X_IOPAD(0x00a0, PIN_INPUT, 7)
52062306a36Sopenharmony_ci			/* (N17) GPMC0_DIR.GPIO0_40 - DIG_IN_2 */
52162306a36Sopenharmony_ci			AM64X_IOPAD(0x00a4, PIN_INPUT, 7)
52262306a36Sopenharmony_ci			/* (R19) GPMC0_CSn0.GPIO0_41 - DIG_IN_3 */
52362306a36Sopenharmony_ci			AM64X_IOPAD(0x00a8, PIN_INPUT, 7)
52462306a36Sopenharmony_ci			/* (R20) GPMC0_CSn1.GPIO0_42 - DIG_IN_4 */
52562306a36Sopenharmony_ci			AM64X_IOPAD(0x00ac, PIN_INPUT, 7)
52662306a36Sopenharmony_ci		>;
52762306a36Sopenharmony_ci	};
52862306a36Sopenharmony_ci
52962306a36Sopenharmony_ci	main_gpio0_hog_pins: main-gpio0-hog-pins {
53062306a36Sopenharmony_ci		pinctrl-single,pins = <
53162306a36Sopenharmony_ci			/* (P19) GPMC0_CSn2.GPIO0_43 - MMC1_CTRL */
53262306a36Sopenharmony_ci			AM64X_IOPAD(0x00b0, PIN_OUTPUT, 7)
53362306a36Sopenharmony_ci		>;
53462306a36Sopenharmony_ci	};
53562306a36Sopenharmony_ci
53662306a36Sopenharmony_ci	main_gpio1_hog_pins: main-gpio1-hog-pins {
53762306a36Sopenharmony_ci		pinctrl-single,pins = <
53862306a36Sopenharmony_ci			/* (B15) SPI1_D0.GPIO1_50 - USB0_VBUS_OC# */
53962306a36Sopenharmony_ci			AM64X_IOPAD(0x0228, PIN_INPUT, 7)
54062306a36Sopenharmony_ci			/* (B16) UART0_CTSn.GPIO1_54 - PRG0_MDIO_SWITCH */
54162306a36Sopenharmony_ci			AM64X_IOPAD(0x0238, PIN_OUTPUT, 7)
54262306a36Sopenharmony_ci			/* (C19) EXTINTn.GPIO1_70 - PHY_INT# */
54362306a36Sopenharmony_ci			AM64X_IOPAD(0x0278, PIN_INPUT, 7)
54462306a36Sopenharmony_ci		>;
54562306a36Sopenharmony_ci	};
54662306a36Sopenharmony_ci
54762306a36Sopenharmony_ci	main_mcan0_pins: main-mcan0-pins {
54862306a36Sopenharmony_ci		pinctrl-single,pins = <
54962306a36Sopenharmony_ci			/* (B17) MCAN0_RX */
55062306a36Sopenharmony_ci			AM64X_IOPAD(0x0254, PIN_INPUT, 0)
55162306a36Sopenharmony_ci			/* (A17) MCAN0_TX */
55262306a36Sopenharmony_ci			AM64X_IOPAD(0x0250, PIN_OUTPUT, 0)
55362306a36Sopenharmony_ci		>;
55462306a36Sopenharmony_ci	};
55562306a36Sopenharmony_ci
55662306a36Sopenharmony_ci	main_mcan1_pins: main-mcan1-pins {
55762306a36Sopenharmony_ci		pinctrl-single,pins = <
55862306a36Sopenharmony_ci			/* (D17) MCAN1_RX */
55962306a36Sopenharmony_ci			AM64X_IOPAD(0x025c, PIN_INPUT, 0)
56062306a36Sopenharmony_ci			/* (C17) MCAN1_TX */
56162306a36Sopenharmony_ci			AM64X_IOPAD(0x0258, PIN_OUTPUT, 0)
56262306a36Sopenharmony_ci		>;
56362306a36Sopenharmony_ci	};
56462306a36Sopenharmony_ci
56562306a36Sopenharmony_ci	main_mmc1_pins: main-mmc1-pins {
56662306a36Sopenharmony_ci		pinctrl-single,pins = <
56762306a36Sopenharmony_ci			/* (J19) MMC1_CMD */
56862306a36Sopenharmony_ci			AM64X_IOPAD(0x0294, PIN_INPUT, 0)
56962306a36Sopenharmony_ci			/* (L20) MMC1_CLK */
57062306a36Sopenharmony_ci			AM64X_IOPAD(0x028c, PIN_INPUT, 0)
57162306a36Sopenharmony_ci			/* (K21) MMC1_DAT0 */
57262306a36Sopenharmony_ci			AM64X_IOPAD(0x0288, PIN_INPUT, 0)
57362306a36Sopenharmony_ci			/* (L21) MMC1_DAT1 */
57462306a36Sopenharmony_ci			AM64X_IOPAD(0x0284, PIN_INPUT, 0)
57562306a36Sopenharmony_ci			/* (K19) MMC1_DAT2 */
57662306a36Sopenharmony_ci			AM64X_IOPAD(0x0280, PIN_INPUT, 0)
57762306a36Sopenharmony_ci			/* (K18) MMC1_DAT3 */
57862306a36Sopenharmony_ci			AM64X_IOPAD(0x027c, PIN_INPUT, 0)
57962306a36Sopenharmony_ci			/* (D19) MMC1_SDCD.GPIO1_77 */
58062306a36Sopenharmony_ci			AM64X_IOPAD(0x0298, PIN_INPUT, 7)
58162306a36Sopenharmony_ci			/* (#N/A) MMC1_CLKLB */
58262306a36Sopenharmony_ci			AM64X_IOPAD(0x0290, PIN_INPUT, 0)
58362306a36Sopenharmony_ci		>;
58462306a36Sopenharmony_ci	};
58562306a36Sopenharmony_ci
58662306a36Sopenharmony_ci	main_mmc1_reg_pins: main-mmc1-reg-pins {
58762306a36Sopenharmony_ci		pinctrl-single,pins = <
58862306a36Sopenharmony_ci			/* (C13) SPI0_CS1.GPIO1_43 - MMC1_SD_EN */
58962306a36Sopenharmony_ci			AM64X_IOPAD(0x020c, PIN_OUTPUT, 7)
59062306a36Sopenharmony_ci		>;
59162306a36Sopenharmony_ci	};
59262306a36Sopenharmony_ci
59362306a36Sopenharmony_ci	main_mmc1_wifi_pwrseq_pins: main-mmc1-wifi-pwrseq-pins {
59462306a36Sopenharmony_ci		pinctrl-single,pins = <
59562306a36Sopenharmony_ci			/* (V19) GPMC0_AD8.GPIO0_23 - WIFI-BT_EN */
59662306a36Sopenharmony_ci			AM64X_IOPAD(0x005c, PIN_OUTPUT, 7)
59762306a36Sopenharmony_ci		>;
59862306a36Sopenharmony_ci	};
59962306a36Sopenharmony_ci
60062306a36Sopenharmony_ci	main_spi0_pins: main-spi0-pins {
60162306a36Sopenharmony_ci		pinctrl-single,pins = <
60262306a36Sopenharmony_ci			/* (D13) SPI0_CLK */
60362306a36Sopenharmony_ci			AM64X_IOPAD(0x0210, PIN_OUTPUT, 0)
60462306a36Sopenharmony_ci			/* (D12) SPI0_CS0 */
60562306a36Sopenharmony_ci			AM64X_IOPAD(0x0208, PIN_OUTPUT, 0)
60662306a36Sopenharmony_ci			/* (A13) SPI0_D0 */
60762306a36Sopenharmony_ci			AM64X_IOPAD(0x0214, PIN_OUTPUT, 0)
60862306a36Sopenharmony_ci			/* (A14) SPI0_D1 */
60962306a36Sopenharmony_ci			AM64X_IOPAD(0x0218, PIN_INPUT, 0)
61062306a36Sopenharmony_ci		>;
61162306a36Sopenharmony_ci	};
61262306a36Sopenharmony_ci
61362306a36Sopenharmony_ci	main_spi0_adc_pins: main-spi0-adc-pins {
61462306a36Sopenharmony_ci		pinctrl-single,pins = <
61562306a36Sopenharmony_ci			/* (A16) UART0_RTSn.GPIO1_55 - ADC_SYNC */
61662306a36Sopenharmony_ci			AM64X_IOPAD(0x023c, PIN_INPUT, 7)
61762306a36Sopenharmony_ci			/* (D16) UART1_CTSn.GPIO1_58 - ADC_RST# */
61862306a36Sopenharmony_ci			AM64X_IOPAD(0x0248, PIN_OUTPUT, 7)
61962306a36Sopenharmony_ci			/* (E16) UART1_RTSn.GPIO1_59 - ADC_DATA_RDY */
62062306a36Sopenharmony_ci			AM64X_IOPAD(0x024c, PIN_INPUT, 7)
62162306a36Sopenharmony_ci			/* (B19) I2C1_SDA.GPIO1_67 - ADC_INT# */
62262306a36Sopenharmony_ci			AM64X_IOPAD(0x026c, PIN_INPUT, 7)
62362306a36Sopenharmony_ci		>;
62462306a36Sopenharmony_ci	};
62562306a36Sopenharmony_ci
62662306a36Sopenharmony_ci	main_uart0_pins: main-uart0-pins {
62762306a36Sopenharmony_ci		pinctrl-single,pins = <
62862306a36Sopenharmony_ci			/* (D15) UART0_RXD */
62962306a36Sopenharmony_ci			AM64X_IOPAD(0x0230, PIN_INPUT, 0)
63062306a36Sopenharmony_ci			/* (C16) UART0_TXD */
63162306a36Sopenharmony_ci			AM64X_IOPAD(0x0234, PIN_OUTPUT, 0)
63262306a36Sopenharmony_ci		>;
63362306a36Sopenharmony_ci	};
63462306a36Sopenharmony_ci
63562306a36Sopenharmony_ci	main_uart1_pins: main-uart1-pins {
63662306a36Sopenharmony_ci		pinctrl-single,pins = <
63762306a36Sopenharmony_ci			/* (E15) UART1_RXD */
63862306a36Sopenharmony_ci			AM64X_IOPAD(0x0240, PIN_INPUT, 0)
63962306a36Sopenharmony_ci			/* (E14) UART1_TXD */
64062306a36Sopenharmony_ci			AM64X_IOPAD(0x0244, PIN_OUTPUT, 0)
64162306a36Sopenharmony_ci		>;
64262306a36Sopenharmony_ci	};
64362306a36Sopenharmony_ci
64462306a36Sopenharmony_ci	main_uart2_pins: main-uart2-pins {
64562306a36Sopenharmony_ci		pinctrl-single,pins = <
64662306a36Sopenharmony_ci			/* (T18) GPMC0_AD2.UART2_RTSn */
64762306a36Sopenharmony_ci			AM64X_IOPAD(0x0044, PIN_OUTPUT, 2)
64862306a36Sopenharmony_ci			/* (T20) GPMC0_AD0.UART2_RXD */
64962306a36Sopenharmony_ci			AM64X_IOPAD(0x003c, PIN_INPUT, 2)
65062306a36Sopenharmony_ci			/* (U21) GPMC0_AD1.UART2_TXD */
65162306a36Sopenharmony_ci			AM64X_IOPAD(0x0040, PIN_OUTPUT, 2)
65262306a36Sopenharmony_ci		>;
65362306a36Sopenharmony_ci	};
65462306a36Sopenharmony_ci
65562306a36Sopenharmony_ci	main_uart3_pins: main-uart3-pins {
65662306a36Sopenharmony_ci		pinctrl-single,pins = <
65762306a36Sopenharmony_ci			/* (T17) GPMC0_AD9.UART3_CTSn */
65862306a36Sopenharmony_ci			AM64X_IOPAD(0x0060, PIN_INPUT, 2)
65962306a36Sopenharmony_ci			/* (U19) GPMC0_AD5.UART3_RTSn */
66062306a36Sopenharmony_ci			AM64X_IOPAD(0x0050, PIN_OUTPUT, 2)
66162306a36Sopenharmony_ci			/* (U20) GPMC0_AD3.UART3_RXD */
66262306a36Sopenharmony_ci			AM64X_IOPAD(0x0048, PIN_INPUT, 2)
66362306a36Sopenharmony_ci			/* (U18) GPMC0_AD4.UART3_TXD */
66462306a36Sopenharmony_ci			AM64X_IOPAD(0x004c, PIN_OUTPUT, 2)
66562306a36Sopenharmony_ci		>;
66662306a36Sopenharmony_ci	};
66762306a36Sopenharmony_ci
66862306a36Sopenharmony_ci	main_uart4_pins: main-uart4-pins {
66962306a36Sopenharmony_ci		pinctrl-single,pins = <
67062306a36Sopenharmony_ci			/* (R16) GPMC0_AD10.UART4_CTSn */
67162306a36Sopenharmony_ci			AM64X_IOPAD(0x0064, PIN_INPUT, 2)
67262306a36Sopenharmony_ci			/* (R17) GPMC0_CLK.UART4_RTSn */
67362306a36Sopenharmony_ci			AM64X_IOPAD(0x007c, PIN_OUTPUT, 2)
67462306a36Sopenharmony_ci			/* (V20) GPMC0_AD6.UART4_RXD */
67562306a36Sopenharmony_ci			AM64X_IOPAD(0x0054, PIN_INPUT, 2)
67662306a36Sopenharmony_ci			/* (V21) GPMC0_AD7.UART4_TXD */
67762306a36Sopenharmony_ci			AM64X_IOPAD(0x0058, PIN_OUTPUT, 2)
67862306a36Sopenharmony_ci
67962306a36Sopenharmony_ci			/* Control GPIOs for IOT Module connected to UART4 */
68062306a36Sopenharmony_ci			/* (D18) ECAP0_IN_APWM_OUT.GPIO1_68 - BG95_PWRKEY */
68162306a36Sopenharmony_ci			AM64X_IOPAD(0x0270, PIN_OUTPUT, 7)
68262306a36Sopenharmony_ci			/* (A19) EXT_REFCLK1.GPIO1_69 - BG95_RESET */
68362306a36Sopenharmony_ci			AM64X_IOPAD(0x0274, PIN_OUTPUT, 7)
68462306a36Sopenharmony_ci		>;
68562306a36Sopenharmony_ci	};
68662306a36Sopenharmony_ci
68762306a36Sopenharmony_ci	main_uart5_pins: main-uart5-pins {
68862306a36Sopenharmony_ci		pinctrl-single,pins = <
68962306a36Sopenharmony_ci			/* (P16) GPMC0_ADVn_ALE.UART5_RXD */
69062306a36Sopenharmony_ci			AM64X_IOPAD(0x0084, PIN_INPUT, 2)
69162306a36Sopenharmony_ci			/* (R18) GPMC0_OEn_REn.UART5_TXD */
69262306a36Sopenharmony_ci			AM64X_IOPAD(0x0088, PIN_OUTPUT, 2)
69362306a36Sopenharmony_ci		>;
69462306a36Sopenharmony_ci	};
69562306a36Sopenharmony_ci
69662306a36Sopenharmony_ci	main_usb0_pins: main-usb0-pins {
69762306a36Sopenharmony_ci		pinctrl-single,pins = <
69862306a36Sopenharmony_ci			/* (E19) USB0_DRVVBUS */
69962306a36Sopenharmony_ci			AM64X_IOPAD(0x02a8, PIN_OUTPUT, 0)
70062306a36Sopenharmony_ci		>;
70162306a36Sopenharmony_ci	};
70262306a36Sopenharmony_ci
70362306a36Sopenharmony_ci	pru_icssg1_mdio_pins: pru-icssg1-mdio-pins {
70462306a36Sopenharmony_ci		pinctrl-single,pins = <
70562306a36Sopenharmony_ci			/* (A15) SPI1_D1.GPIO1_51 - RESET_PRG1_RGMII1# */
70662306a36Sopenharmony_ci			AM64X_IOPAD(0x022c, PIN_OUTPUT, 7)
70762306a36Sopenharmony_ci			/* (B14) SPI1_CS0.GPIO1_47 - RESET_PRG1_RGMII2# */
70862306a36Sopenharmony_ci			AM64X_IOPAD(0x021c, PIN_OUTPUT, 7)
70962306a36Sopenharmony_ci
71062306a36Sopenharmony_ci			/* (Y6) PRG1_MDIO0_MDC */
71162306a36Sopenharmony_ci			AM64X_IOPAD(0x015c, PIN_OUTPUT, 0)
71262306a36Sopenharmony_ci			/* (AA6) PRG1_MDIO0_MDIO */
71362306a36Sopenharmony_ci			AM64X_IOPAD(0x0158, PIN_INPUT, 0)
71462306a36Sopenharmony_ci		>;
71562306a36Sopenharmony_ci	};
71662306a36Sopenharmony_ci
71762306a36Sopenharmony_ci	pru_icssg1_rgmii1_pins: pru-icssg1-rgmii1-pins {
71862306a36Sopenharmony_ci		pinctrl-single,pins = <
71962306a36Sopenharmony_ci			/* (Y7) PRG1_PRU0_GPO0.PRG1_RGMII1_RD0 */
72062306a36Sopenharmony_ci			AM64X_IOPAD(0x00b8, PIN_INPUT, 2)
72162306a36Sopenharmony_ci			/* (U8) PRG1_PRU0_GPO1.PRG1_RGMII1_RD1 */
72262306a36Sopenharmony_ci			AM64X_IOPAD(0x00bc, PIN_INPUT, 2)
72362306a36Sopenharmony_ci			/* (W8) PRG1_PRU0_GPO2.PRG1_RGMII1_RD2 */
72462306a36Sopenharmony_ci			AM64X_IOPAD(0x00c0, PIN_INPUT, 2)
72562306a36Sopenharmony_ci			/* (V8) PRG1_PRU0_GPO3.PRG1_RGMII1_RD3 */
72662306a36Sopenharmony_ci			AM64X_IOPAD(0x00c4, PIN_INPUT, 2)
72762306a36Sopenharmony_ci			/* (AA7) PRG1_PRU0_GPO6.PRG1_RGMII1_RXC */
72862306a36Sopenharmony_ci			AM64X_IOPAD(0x00d0, PIN_INPUT, 2)
72962306a36Sopenharmony_ci			/* (Y8) PRG1_PRU0_GPO4.PRG1_RGMII1_RX_CTL */
73062306a36Sopenharmony_ci			AM64X_IOPAD(0x00c8, PIN_INPUT, 2)
73162306a36Sopenharmony_ci			/* (AA8) PRG1_PRU0_GPO11.PRG1_RGMII1_TD0 */
73262306a36Sopenharmony_ci			AM64X_IOPAD(0x00e4, PIN_OUTPUT, 2)
73362306a36Sopenharmony_ci			/* (U9) PRG1_PRU0_GPO12.PRG1_RGMII1_TD1 */
73462306a36Sopenharmony_ci			AM64X_IOPAD(0x00e8, PIN_OUTPUT, 2)
73562306a36Sopenharmony_ci			/* (W9) PRG1_PRU0_GPO13.PRG1_RGMII1_TD2 */
73662306a36Sopenharmony_ci			AM64X_IOPAD(0x00ec, PIN_OUTPUT, 2)
73762306a36Sopenharmony_ci			/* (AA9) PRG1_PRU0_GPO14.PRG1_RGMII1_TD3 */
73862306a36Sopenharmony_ci			AM64X_IOPAD(0x00f0, PIN_OUTPUT, 2)
73962306a36Sopenharmony_ci			/* (V9) PRG1_PRU0_GPO16.PRG1_RGMII1_TXC */
74062306a36Sopenharmony_ci			AM64X_IOPAD(0x00f8, PIN_OUTPUT, 2)
74162306a36Sopenharmony_ci			/* (Y9) PRG1_PRU0_GPO15.PRG1_RGMII1_TX_CTL */
74262306a36Sopenharmony_ci			AM64X_IOPAD(0x00f4, PIN_OUTPUT, 2)
74362306a36Sopenharmony_ci		>;
74462306a36Sopenharmony_ci	};
74562306a36Sopenharmony_ci
74662306a36Sopenharmony_ci	pru_icssg1_rgmii2_pins: pru-icssg1-rgmii2-pins {
74762306a36Sopenharmony_ci		pinctrl-single,pins = <
74862306a36Sopenharmony_ci			/* (W11) PRG1_PRU1_GPO0.PRG1_RGMII2_RD0 */
74962306a36Sopenharmony_ci			AM64X_IOPAD(0x0108, PIN_INPUT, 2)
75062306a36Sopenharmony_ci			/* (V11) PRG1_PRU1_GPO1.PRG1_RGMII2_RD1 */
75162306a36Sopenharmony_ci			AM64X_IOPAD(0x010c, PIN_INPUT, 2)
75262306a36Sopenharmony_ci			/* (AA12) PRG1_PRU1_GPO2.PRG1_RGMII2_RD2 */
75362306a36Sopenharmony_ci			AM64X_IOPAD(0x0110, PIN_INPUT, 2)
75462306a36Sopenharmony_ci			/* (Y12) PRG1_PRU1_GPO3.PRG1_RGMII2_RD3 */
75562306a36Sopenharmony_ci			AM64X_IOPAD(0x0114, PIN_INPUT, 2)
75662306a36Sopenharmony_ci			/* (U11) PRG1_PRU1_GPO6.PRG1_RGMII2_RXC */
75762306a36Sopenharmony_ci			AM64X_IOPAD(0x0120, PIN_INPUT, 2)
75862306a36Sopenharmony_ci			/* (W12) PRG1_PRU1_GPO4.PRG1_RGMII2_RX_CTL */
75962306a36Sopenharmony_ci			AM64X_IOPAD(0x0118, PIN_INPUT, 2)
76062306a36Sopenharmony_ci			/* (AA10) PRG1_PRU1_GPO11.PRG1_RGMII2_TD0 */
76162306a36Sopenharmony_ci			AM64X_IOPAD(0x0134, PIN_OUTPUT, 2)
76262306a36Sopenharmony_ci			/* (V10) PRG1_PRU1_GPO12.PRG1_RGMII2_TD1 */
76362306a36Sopenharmony_ci			AM64X_IOPAD(0x0138, PIN_OUTPUT, 2)
76462306a36Sopenharmony_ci			/* (U10) PRG1_PRU1_GPO13.PRG1_RGMII2_TD2 */
76562306a36Sopenharmony_ci			AM64X_IOPAD(0x013c, PIN_OUTPUT, 2)
76662306a36Sopenharmony_ci			/* (AA11) PRG1_PRU1_GPO14.PRG1_RGMII2_TD3 */
76762306a36Sopenharmony_ci			AM64X_IOPAD(0x0140, PIN_OUTPUT, 2)
76862306a36Sopenharmony_ci			/* (Y10) PRG1_PRU1_GPO16.PRG1_RGMII2_TXC */
76962306a36Sopenharmony_ci			AM64X_IOPAD(0x0148, PIN_OUTPUT, 2)
77062306a36Sopenharmony_ci			/* (Y11) PRG1_PRU1_GPO15.PRG1_RGMII2_TX_CTL */
77162306a36Sopenharmony_ci			AM64X_IOPAD(0x0144, PIN_OUTPUT, 2)
77262306a36Sopenharmony_ci		>;
77362306a36Sopenharmony_ci	};
77462306a36Sopenharmony_ci
77562306a36Sopenharmony_ci	pwm_fan_pins: pwm-fan-pins {
77662306a36Sopenharmony_ci		pinctrl-single,pins = <
77762306a36Sopenharmony_ci			/* (T19) GPMC0_BE1n.EHRPWM5_A */
77862306a36Sopenharmony_ci			AM64X_IOPAD(0x0094, PIN_OUTPUT, 3)
77962306a36Sopenharmony_ci			/* (C14) SPI1_CLK.GPIO1_49 - FAN_RPM */
78062306a36Sopenharmony_ci			AM64X_IOPAD(0x0224, PIN_INPUT, 7)
78162306a36Sopenharmony_ci		>;
78262306a36Sopenharmony_ci	};
78362306a36Sopenharmony_ci
78462306a36Sopenharmony_ci	pwm_fan_reg_pins: pwm-fan-reg-pins {
78562306a36Sopenharmony_ci		pinctrl-single,pins = <
78662306a36Sopenharmony_ci			/* (D14) SPI1_CS1.GPIO1_48 - FAN_PWR */
78762306a36Sopenharmony_ci			AM64X_IOPAD(0x0220, PIN_OUTPUT, 7)
78862306a36Sopenharmony_ci		>;
78962306a36Sopenharmony_ci	};
79062306a36Sopenharmony_ci};
79162306a36Sopenharmony_ci
79262306a36Sopenharmony_ci&mcu_pmx0 {
79362306a36Sopenharmony_ci	mcu_gpio_keys_pins: mcu-gpio-keys-pins {
79462306a36Sopenharmony_ci		pinctrl-single,pins = <
79562306a36Sopenharmony_ci			/* (A7) MCU_SPI1_CS0.MCU_GPIO0_5 */
79662306a36Sopenharmony_ci			AM64X_MCU_IOPAD(0x0014, PIN_INPUT, 7)
79762306a36Sopenharmony_ci		>;
79862306a36Sopenharmony_ci	};
79962306a36Sopenharmony_ci
80062306a36Sopenharmony_ci	mcu_gpio_leds_pins: mcu-gpio-leds-pins {
80162306a36Sopenharmony_ci		pinctrl-single,pins = <
80262306a36Sopenharmony_ci			/* (C7) MCU_SPI1_D0.MCU_GPIO0_8 */
80362306a36Sopenharmony_ci			AM64X_MCU_IOPAD(0x0020, PIN_OUTPUT, 7)
80462306a36Sopenharmony_ci			/* (C8) MCU_SPI1_D1.MCU_GPIO0_9 */
80562306a36Sopenharmony_ci			AM64X_MCU_IOPAD(0x0024, PIN_OUTPUT, 7)
80662306a36Sopenharmony_ci		>;
80762306a36Sopenharmony_ci	};
80862306a36Sopenharmony_ci
80962306a36Sopenharmony_ci	mcu_gpio0_pins: mcu-gpio0-pins {
81062306a36Sopenharmony_ci		pinctrl-single,pins = <
81162306a36Sopenharmony_ci			/* (E8) MCU_UART0_RTSn.MCU_GPIO0_0 */
81262306a36Sopenharmony_ci			AM64X_MCU_IOPAD(0x0034, PIN_INPUT, 7)
81362306a36Sopenharmony_ci			/* (D8) MCU_UART0_CTSn.MCU_GPIO0_1 */
81462306a36Sopenharmony_ci			AM64X_MCU_IOPAD(0x0030, PIN_INPUT, 7)
81562306a36Sopenharmony_ci			/* (B7) MCU_SPI1_CS1.MCU_GPIO0_6 */
81662306a36Sopenharmony_ci			AM64X_MCU_IOPAD(0x0018, PIN_INPUT, 7)
81762306a36Sopenharmony_ci			/* (D7) MCU_SPI1_CLK.MCU_GPIO0_7 */
81862306a36Sopenharmony_ci			AM64X_MCU_IOPAD(0x001c, PIN_INPUT, 7)
81962306a36Sopenharmony_ci			/* (A11) MCU_I2C1_SCL.MCU_GPIO0_20 */
82062306a36Sopenharmony_ci			AM64X_MCU_IOPAD(0x0050, PIN_INPUT, 7)
82162306a36Sopenharmony_ci			/* (B10) MCU_I2C1_SDA.MCU_GPIO0_21 */
82262306a36Sopenharmony_ci			AM64X_MCU_IOPAD(0x0054, PIN_INPUT, 7)
82362306a36Sopenharmony_ci		>;
82462306a36Sopenharmony_ci	};
82562306a36Sopenharmony_ci
82662306a36Sopenharmony_ci	mcu_i2c0_pins: mcu-i2c0-pins {
82762306a36Sopenharmony_ci		pinctrl-single,pins = <
82862306a36Sopenharmony_ci			/* (E9) MCU_I2C0_SCL */
82962306a36Sopenharmony_ci			AM64X_MCU_IOPAD(0x0048, PIN_INPUT, 0)
83062306a36Sopenharmony_ci			/* (A10) MCU_I2C0_SDA */
83162306a36Sopenharmony_ci			AM64X_MCU_IOPAD(0x004c, PIN_INPUT, 0)
83262306a36Sopenharmony_ci		>;
83362306a36Sopenharmony_ci	};
83462306a36Sopenharmony_ci
83562306a36Sopenharmony_ci	mcu_spi0_pins: mcu-spi0-pins {
83662306a36Sopenharmony_ci		pinctrl-single,pins = <
83762306a36Sopenharmony_ci			/* (E6) MCU_SPI0_CLK */
83862306a36Sopenharmony_ci			AM64X_MCU_IOPAD(0x0008, PIN_OUTPUT, 0)
83962306a36Sopenharmony_ci			/* (D6) MCU_SPI0_CS0 */
84062306a36Sopenharmony_ci			AM64X_MCU_IOPAD(0x0000, PIN_OUTPUT, 0)
84162306a36Sopenharmony_ci			/* (C6) MCU_SPI0_CS1 */
84262306a36Sopenharmony_ci			AM64X_MCU_IOPAD(0x0004, PIN_OUTPUT, 0)
84362306a36Sopenharmony_ci			/* (E7) MCU_SPI0_D0 */
84462306a36Sopenharmony_ci			AM64X_MCU_IOPAD(0x000c, PIN_OUTPUT, 0)
84562306a36Sopenharmony_ci			/* (B6) MCU_SPI0_D1 */
84662306a36Sopenharmony_ci			AM64X_MCU_IOPAD(0x0010, PIN_INPUT, 0)
84762306a36Sopenharmony_ci		>;
84862306a36Sopenharmony_ci	};
84962306a36Sopenharmony_ci
85062306a36Sopenharmony_ci	mcu_uart0_pins: mcu-uart0-pins {
85162306a36Sopenharmony_ci		pinctrl-single,pins = <
85262306a36Sopenharmony_ci			/* (A9) MCU_UART0_RXD */
85362306a36Sopenharmony_ci			AM64X_MCU_IOPAD(0x0028, PIN_INPUT, 0)
85462306a36Sopenharmony_ci			/* (A8) MCU_UART0_TXD */
85562306a36Sopenharmony_ci			AM64X_MCU_IOPAD(0x002c, PIN_OUTPUT, 0)
85662306a36Sopenharmony_ci		>;
85762306a36Sopenharmony_ci	};
85862306a36Sopenharmony_ci
85962306a36Sopenharmony_ci	mcu_uart1_pins: mcu-uart1-pins {
86062306a36Sopenharmony_ci		pinctrl-single,pins = <
86162306a36Sopenharmony_ci			/* (B8) MCU_UART1_CTSn */
86262306a36Sopenharmony_ci			AM64X_MCU_IOPAD(0x0040, PIN_INPUT, 0)
86362306a36Sopenharmony_ci			/* (B9) MCU_UART1_RTSn */
86462306a36Sopenharmony_ci			AM64X_MCU_IOPAD(0x0044, PIN_OUTPUT, 0)
86562306a36Sopenharmony_ci			/* (C9) MCU_UART1_RXD */
86662306a36Sopenharmony_ci			AM64X_MCU_IOPAD(0x0038, PIN_INPUT, 0)
86762306a36Sopenharmony_ci			/* (D9) MCU_UART1_TXD */
86862306a36Sopenharmony_ci			AM64X_MCU_IOPAD(0x003c, PIN_OUTPUT, 0)
86962306a36Sopenharmony_ci		>;
87062306a36Sopenharmony_ci	};
87162306a36Sopenharmony_ci};
872