1aa1a8ff2SEmmanuel Vadot// SPDX-License-Identifier: GPL-2.0-only
2aa1a8ff2SEmmanuel Vadot/*
3aa1a8ff2SEmmanuel Vadot * Copyright (C) 2021 Texas Instruments Incorporated - https://www.ti.com/
4aa1a8ff2SEmmanuel Vadot * Copyright (c) 2022-2023 TQ-Systems GmbH <linux@ew.tq-group.com>, D-82229 Seefeld, Germany.
5aa1a8ff2SEmmanuel Vadot */
6aa1a8ff2SEmmanuel Vadot
7aa1a8ff2SEmmanuel Vadot/dts-v1/;
8aa1a8ff2SEmmanuel Vadot
9aa1a8ff2SEmmanuel Vadot#include <dt-bindings/gpio/gpio.h>
10aa1a8ff2SEmmanuel Vadot#include <dt-bindings/input/input.h>
11*84943d6fSEmmanuel Vadot#include <dt-bindings/leds/common.h>
12aa1a8ff2SEmmanuel Vadot#include <dt-bindings/net/ti-dp83867.h>
13aa1a8ff2SEmmanuel Vadot#include <dt-bindings/phy/phy.h>
14aa1a8ff2SEmmanuel Vadot#include <dt-bindings/pwm/pwm.h>
15aa1a8ff2SEmmanuel Vadot#include "k3-serdes.h"
16aa1a8ff2SEmmanuel Vadot
17aa1a8ff2SEmmanuel Vadot#include "k3-am642-tqma64xxl.dtsi"
18aa1a8ff2SEmmanuel Vadot
19aa1a8ff2SEmmanuel Vadot/ {
20aa1a8ff2SEmmanuel Vadot	compatible = "tq,am642-tqma6442l-mbax4xxl", "tq,am642-tqma6442l",
21aa1a8ff2SEmmanuel Vadot		     "ti,am642";
22aa1a8ff2SEmmanuel Vadot	model = "TQ-Systems TQMa64xxL SoM on MBax4xxL carrier board";
23*84943d6fSEmmanuel Vadot	chassis-type = "embedded";
24aa1a8ff2SEmmanuel Vadot
25aa1a8ff2SEmmanuel Vadot	aliases {
26aa1a8ff2SEmmanuel Vadot		ethernet0 = &cpsw_port1;
27aa1a8ff2SEmmanuel Vadot		i2c1 = &mcu_i2c0;
28aa1a8ff2SEmmanuel Vadot		mmc1 = &sdhci1;
29aa1a8ff2SEmmanuel Vadot		serial0 = &mcu_uart0;
30aa1a8ff2SEmmanuel Vadot		serial1 = &mcu_uart1;
31aa1a8ff2SEmmanuel Vadot		serial2 = &main_uart0;
32aa1a8ff2SEmmanuel Vadot		serial3 = &main_uart1;
33aa1a8ff2SEmmanuel Vadot		serial4 = &main_uart2;
34aa1a8ff2SEmmanuel Vadot		serial5 = &main_uart4;
35aa1a8ff2SEmmanuel Vadot		serial6 = &main_uart5;
36aa1a8ff2SEmmanuel Vadot		serial7 = &main_uart3;
37aa1a8ff2SEmmanuel Vadot		spi1 = &main_spi0;
38aa1a8ff2SEmmanuel Vadot		spi2 = &mcu_spi0;
39aa1a8ff2SEmmanuel Vadot	};
40aa1a8ff2SEmmanuel Vadot
41aa1a8ff2SEmmanuel Vadot	chosen {
42aa1a8ff2SEmmanuel Vadot		stdout-path = &main_uart0;
43aa1a8ff2SEmmanuel Vadot	};
44aa1a8ff2SEmmanuel Vadot
45aa1a8ff2SEmmanuel Vadot	gpio-keys {
46aa1a8ff2SEmmanuel Vadot		compatible = "gpio-keys";
47aa1a8ff2SEmmanuel Vadot		pinctrl-names = "default";
48aa1a8ff2SEmmanuel Vadot		pinctrl-0 = <&mcu_gpio_keys_pins>;
49aa1a8ff2SEmmanuel Vadot
50aa1a8ff2SEmmanuel Vadot		user-button {
51aa1a8ff2SEmmanuel Vadot			label = "USER_BUTTON";
52aa1a8ff2SEmmanuel Vadot			linux,code = <BTN_0>;
53aa1a8ff2SEmmanuel Vadot			gpios = <&mcu_gpio0 5 GPIO_ACTIVE_LOW>;
54aa1a8ff2SEmmanuel Vadot		};
55aa1a8ff2SEmmanuel Vadot	};
56aa1a8ff2SEmmanuel Vadot
57aa1a8ff2SEmmanuel Vadot	gpio-leds {
58aa1a8ff2SEmmanuel Vadot		compatible = "gpio-leds";
59aa1a8ff2SEmmanuel Vadot		pinctrl-names = "default";
60aa1a8ff2SEmmanuel Vadot		pinctrl-0 = <&mcu_gpio_leds_pins>;
61aa1a8ff2SEmmanuel Vadot
62aa1a8ff2SEmmanuel Vadot		led-0 {
63aa1a8ff2SEmmanuel Vadot			gpios = <&mcu_gpio0 8 GPIO_ACTIVE_HIGH>;
64*84943d6fSEmmanuel Vadot			color = <LED_COLOR_ID_GREEN>;
65*84943d6fSEmmanuel Vadot			function = LED_FUNCTION_INDICATOR;
66aa1a8ff2SEmmanuel Vadot		};
67aa1a8ff2SEmmanuel Vadot		led-1 {
68aa1a8ff2SEmmanuel Vadot			gpios = <&mcu_gpio0 9 GPIO_ACTIVE_HIGH>;
69*84943d6fSEmmanuel Vadot			color = <LED_COLOR_ID_YELLOW>;
70*84943d6fSEmmanuel Vadot			function = LED_FUNCTION_INDICATOR;
71aa1a8ff2SEmmanuel Vadot		};
72aa1a8ff2SEmmanuel Vadot	};
73aa1a8ff2SEmmanuel Vadot
74aa1a8ff2SEmmanuel Vadot	fan0: pwm-fan {
75aa1a8ff2SEmmanuel Vadot		compatible = "pwm-fan";
76aa1a8ff2SEmmanuel Vadot		pinctrl-names = "default";
77aa1a8ff2SEmmanuel Vadot		pinctrl-0 = <&pwm_fan_pins>;
78aa1a8ff2SEmmanuel Vadot		fan-supply = <&reg_pwm_fan>;
79aa1a8ff2SEmmanuel Vadot		#cooling-cells = <2>;
80aa1a8ff2SEmmanuel Vadot		/* typical 25 kHz -> 40.000 nsec */
81aa1a8ff2SEmmanuel Vadot		pwms = <&epwm5 0 40000 PWM_POLARITY_INVERTED>;
82aa1a8ff2SEmmanuel Vadot		cooling-levels = <0 32 64 128 196 240>;
83aa1a8ff2SEmmanuel Vadot		pulses-per-revolution = <2>;
84aa1a8ff2SEmmanuel Vadot		interrupt-parent = <&main_gpio1>;
85aa1a8ff2SEmmanuel Vadot		interrupts = <49 IRQ_TYPE_EDGE_FALLING>;
86aa1a8ff2SEmmanuel Vadot		status = "disabled";
87aa1a8ff2SEmmanuel Vadot	};
88aa1a8ff2SEmmanuel Vadot
89aa1a8ff2SEmmanuel Vadot	wifi_pwrseq: pwrseq-wifi {
90aa1a8ff2SEmmanuel Vadot		compatible = "mmc-pwrseq-simple";
91aa1a8ff2SEmmanuel Vadot		pinctrl-names = "default";
92aa1a8ff2SEmmanuel Vadot		pinctrl-0 = <&main_mmc1_wifi_pwrseq_pins>;
93aa1a8ff2SEmmanuel Vadot		reset-gpios = <&main_gpio0 23 GPIO_ACTIVE_LOW>;
94aa1a8ff2SEmmanuel Vadot	};
95aa1a8ff2SEmmanuel Vadot
96aa1a8ff2SEmmanuel Vadot	reg_pwm_fan: regulator-pwm-fan {
97aa1a8ff2SEmmanuel Vadot		compatible = "regulator-fixed";
98aa1a8ff2SEmmanuel Vadot		pinctrl-names = "default";
99aa1a8ff2SEmmanuel Vadot		pinctrl-0 = <&pwm_fan_reg_pins>;
100aa1a8ff2SEmmanuel Vadot		regulator-name = "FAN_PWR";
101aa1a8ff2SEmmanuel Vadot		regulator-min-microvolt = <12000000>;
102aa1a8ff2SEmmanuel Vadot		regulator-max-microvolt = <12000000>;
103aa1a8ff2SEmmanuel Vadot		gpio = <&main_gpio1 48 GPIO_ACTIVE_HIGH>;
104aa1a8ff2SEmmanuel Vadot		enable-active-high;
105aa1a8ff2SEmmanuel Vadot	};
106aa1a8ff2SEmmanuel Vadot
107aa1a8ff2SEmmanuel Vadot	reg_sd: regulator-sd {
108aa1a8ff2SEmmanuel Vadot		compatible = "regulator-fixed";
109aa1a8ff2SEmmanuel Vadot		pinctrl-names = "default";
110aa1a8ff2SEmmanuel Vadot		pinctrl-0 = <&main_mmc1_reg_pins>;
111aa1a8ff2SEmmanuel Vadot		regulator-name = "V_3V3_SD";
112aa1a8ff2SEmmanuel Vadot		regulator-min-microvolt = <3300000>;
113aa1a8ff2SEmmanuel Vadot		regulator-max-microvolt = <3300000>;
114aa1a8ff2SEmmanuel Vadot		gpio = <&main_gpio1 43 GPIO_ACTIVE_HIGH>;
115aa1a8ff2SEmmanuel Vadot		enable-active-high;
116aa1a8ff2SEmmanuel Vadot	};
117aa1a8ff2SEmmanuel Vadot};
118aa1a8ff2SEmmanuel Vadot
119aa1a8ff2SEmmanuel Vadot&cpsw3g {
120aa1a8ff2SEmmanuel Vadot	pinctrl-names = "default";
121aa1a8ff2SEmmanuel Vadot	pinctrl-0 = <&cpsw_pins>;
122aa1a8ff2SEmmanuel Vadot};
123aa1a8ff2SEmmanuel Vadot
124aa1a8ff2SEmmanuel Vadot&cpsw_port1 {
125aa1a8ff2SEmmanuel Vadot	phy-mode = "rgmii-rxid";
126aa1a8ff2SEmmanuel Vadot	phy-handle = <&cpsw3g_phy0>;
127aa1a8ff2SEmmanuel Vadot};
128aa1a8ff2SEmmanuel Vadot
129aa1a8ff2SEmmanuel Vadot&cpsw_port2 {
130aa1a8ff2SEmmanuel Vadot	status = "disabled";
131aa1a8ff2SEmmanuel Vadot};
132aa1a8ff2SEmmanuel Vadot
133aa1a8ff2SEmmanuel Vadot&cpsw3g_mdio {
134aa1a8ff2SEmmanuel Vadot	pinctrl-names = "default";
135aa1a8ff2SEmmanuel Vadot	pinctrl-0 = <&cpsw_mdio_pins>;
136aa1a8ff2SEmmanuel Vadot	status = "okay";
137aa1a8ff2SEmmanuel Vadot
138aa1a8ff2SEmmanuel Vadot	cpsw3g_phy0: ethernet-phy@0 {
139aa1a8ff2SEmmanuel Vadot		compatible = "ethernet-phy-ieee802.3-c22";
140aa1a8ff2SEmmanuel Vadot		reg = <0>;
141aa1a8ff2SEmmanuel Vadot		reset-gpios = <&main_gpio0 44 GPIO_ACTIVE_LOW>;
142aa1a8ff2SEmmanuel Vadot		reset-assert-us = <1000>;
143aa1a8ff2SEmmanuel Vadot		reset-deassert-us = <1000>;
144aa1a8ff2SEmmanuel Vadot		ti,rx-fifo-depth = <DP83867_PHYCR_FIFO_DEPTH_4_B_NIB>;
145aa1a8ff2SEmmanuel Vadot		ti,tx-fifo-depth = <DP83867_PHYCR_FIFO_DEPTH_4_B_NIB>;
146aa1a8ff2SEmmanuel Vadot		ti,rx-internal-delay = <DP83867_RGMIIDCTL_2_00_NS>;
147aa1a8ff2SEmmanuel Vadot		ti,clk-output-sel = <DP83867_CLK_O_SEL_OFF>;
148aa1a8ff2SEmmanuel Vadot	};
149aa1a8ff2SEmmanuel Vadot};
150aa1a8ff2SEmmanuel Vadot
151aa1a8ff2SEmmanuel Vadot&epwm5 {
152aa1a8ff2SEmmanuel Vadot	pinctrl-names = "default";
153aa1a8ff2SEmmanuel Vadot	pinctrl-0 = <&epwm5_pins>;
154aa1a8ff2SEmmanuel Vadot	status = "okay";
155aa1a8ff2SEmmanuel Vadot};
156aa1a8ff2SEmmanuel Vadot
157aa1a8ff2SEmmanuel Vadot&main_gpio0 {
158aa1a8ff2SEmmanuel Vadot	pinctrl-names = "default";
159aa1a8ff2SEmmanuel Vadot	pinctrl-0 = <&main_gpio0_digital_pins>,
160aa1a8ff2SEmmanuel Vadot		    <&main_gpio0_hog_pins>;
161aa1a8ff2SEmmanuel Vadot	gpio-line-names =
162aa1a8ff2SEmmanuel Vadot		"", "", "", "", /* 0-3 */
163aa1a8ff2SEmmanuel Vadot		"", "", "", "", /* 4-7 */
164aa1a8ff2SEmmanuel Vadot		"", "", "", "", /* 8-11 */
165aa1a8ff2SEmmanuel Vadot		"", "", "", "", /* 12-15 */
166aa1a8ff2SEmmanuel Vadot		"", "", "", "", /* 16-19 */
167aa1a8ff2SEmmanuel Vadot		"", "", "", "", /* 20-23 */
168aa1a8ff2SEmmanuel Vadot		"", "", "EN_DIG_OUT_1", "STATUS_OUT_1", /* 24-27 */
169aa1a8ff2SEmmanuel Vadot		"EN_DIG_OUT_2", "STATUS_OUT_2", "EN_SIG_OUT_3", "", /* 28-31 */
170aa1a8ff2SEmmanuel Vadot		"", "", "STATUS_OUT_3", "EN_DIG_OUT_4", /* 32-35 */
171aa1a8ff2SEmmanuel Vadot		"", "", "STATUS_OUT_4", "DIG_IN_1", /* 36-39 */
172aa1a8ff2SEmmanuel Vadot		"DIG_IN_2", "DIG_IN_3", "DIG_IN_4"; /* 40- */
173aa1a8ff2SEmmanuel Vadot};
174aa1a8ff2SEmmanuel Vadot
175aa1a8ff2SEmmanuel Vadot&main_gpio1 {
176aa1a8ff2SEmmanuel Vadot	pinctrl-names = "default";
177*84943d6fSEmmanuel Vadot	pinctrl-0 = <&main_gpio1_hog_pins>,
178*84943d6fSEmmanuel Vadot		    <&main_gpio1_pru_pins>;
179aa1a8ff2SEmmanuel Vadot	gpio-line-names =
180aa1a8ff2SEmmanuel Vadot		"", "", "", "", /* 0-3 */
181aa1a8ff2SEmmanuel Vadot		"", "", "", "", /* 4-7 */
182aa1a8ff2SEmmanuel Vadot		"", "", "", "", /* 8-11 */
183aa1a8ff2SEmmanuel Vadot		"", "", "", "", /* 12-15 */
184aa1a8ff2SEmmanuel Vadot		"", "", "", "", /* 16-19 */
185aa1a8ff2SEmmanuel Vadot		"", "", "", "", /* 20-23 */
186aa1a8ff2SEmmanuel Vadot		"", "", "", "", /* 24-27 */
187aa1a8ff2SEmmanuel Vadot		"", "", "", "", /* 28-31 */
188aa1a8ff2SEmmanuel Vadot		"", "", "", "", /* 32-35 */
189aa1a8ff2SEmmanuel Vadot		"", "", "", "", /* 36-39 */
190aa1a8ff2SEmmanuel Vadot		"", "", "", "", /* 40-43 */
191aa1a8ff2SEmmanuel Vadot		"", "", "", "", /* 44-47 */
192aa1a8ff2SEmmanuel Vadot		"", "", "", "", /* 48-51 */
193aa1a8ff2SEmmanuel Vadot		"", "", "", "ADC_SYNC", /* 52-55 */
194aa1a8ff2SEmmanuel Vadot		"", "", "ADC_RST#", "ADC_DATA_RDY", /* 56-59 */
195aa1a8ff2SEmmanuel Vadot		"", "", "", "", /* 60-63 */
196aa1a8ff2SEmmanuel Vadot		"", "", "", "ADC_INT#", /* 64-67 */
197aa1a8ff2SEmmanuel Vadot		"BG95_PWRKEY", "BG95_RESET"; /* 68- */
198aa1a8ff2SEmmanuel Vadot
199aa1a8ff2SEmmanuel Vadot	line50-hog {
200aa1a8ff2SEmmanuel Vadot		/* See also usb0 */
201aa1a8ff2SEmmanuel Vadot		gpio-hog;
202aa1a8ff2SEmmanuel Vadot		gpios = <50 0>;
203aa1a8ff2SEmmanuel Vadot		line-name = "USB0_VBUS_OC#";
204aa1a8ff2SEmmanuel Vadot		input;
205aa1a8ff2SEmmanuel Vadot	};
206aa1a8ff2SEmmanuel Vadot
207aa1a8ff2SEmmanuel Vadot	line54-hog {
208aa1a8ff2SEmmanuel Vadot		gpio-hog;
209aa1a8ff2SEmmanuel Vadot		gpios = <54 0>;
210aa1a8ff2SEmmanuel Vadot		line-name = "PRG0_MDIO_SWITCH";
211aa1a8ff2SEmmanuel Vadot		output-low;
212aa1a8ff2SEmmanuel Vadot	};
213aa1a8ff2SEmmanuel Vadot
214aa1a8ff2SEmmanuel Vadot	line70-hog {
215aa1a8ff2SEmmanuel Vadot		gpio-hog;
216aa1a8ff2SEmmanuel Vadot		gpios = <70 0>;
217aa1a8ff2SEmmanuel Vadot		line-name = "PHY_INT#";
218aa1a8ff2SEmmanuel Vadot		input;
219aa1a8ff2SEmmanuel Vadot	};
220aa1a8ff2SEmmanuel Vadot};
221aa1a8ff2SEmmanuel Vadot
222aa1a8ff2SEmmanuel Vadot&main_mcan0 {
223aa1a8ff2SEmmanuel Vadot	pinctrl-names = "default";
224aa1a8ff2SEmmanuel Vadot	pinctrl-0 = <&main_mcan0_pins>;
225aa1a8ff2SEmmanuel Vadot	status = "okay";
226aa1a8ff2SEmmanuel Vadot};
227aa1a8ff2SEmmanuel Vadot
228aa1a8ff2SEmmanuel Vadot&main_mcan1 {
229aa1a8ff2SEmmanuel Vadot	pinctrl-names = "default";
230aa1a8ff2SEmmanuel Vadot	pinctrl-0 = <&main_mcan1_pins>;
231aa1a8ff2SEmmanuel Vadot	status = "okay";
232aa1a8ff2SEmmanuel Vadot};
233aa1a8ff2SEmmanuel Vadot
234aa1a8ff2SEmmanuel Vadot&main_spi0 {
235aa1a8ff2SEmmanuel Vadot	pinctrl-names = "default";
236aa1a8ff2SEmmanuel Vadot	pinctrl-0 = <&main_spi0_pins>;
237aa1a8ff2SEmmanuel Vadot	ti,pindir-d0-out-d1-in;
238aa1a8ff2SEmmanuel Vadot	status = "okay";
239aa1a8ff2SEmmanuel Vadot
240aa1a8ff2SEmmanuel Vadot	/* adc@0: NXP NAFE13388 */
241aa1a8ff2SEmmanuel Vadot};
242aa1a8ff2SEmmanuel Vadot
243aa1a8ff2SEmmanuel Vadot/* UART/USB adapter port 1 */
244aa1a8ff2SEmmanuel Vadot&main_uart0 {
245aa1a8ff2SEmmanuel Vadot	pinctrl-names = "default";
246aa1a8ff2SEmmanuel Vadot	pinctrl-0 = <&main_uart0_pins>;
247aa1a8ff2SEmmanuel Vadot	status = "okay";
248aa1a8ff2SEmmanuel Vadot};
249aa1a8ff2SEmmanuel Vadot
250aa1a8ff2SEmmanuel Vadot/*
251aa1a8ff2SEmmanuel Vadot * IOT Module - GNSS UART
252aa1a8ff2SEmmanuel Vadot *
253aa1a8ff2SEmmanuel Vadot * Note: We expect usage of a SYSFW that does not reserve UART1 for debug traces
254aa1a8ff2SEmmanuel Vadot */
255aa1a8ff2SEmmanuel Vadot&main_uart1 {
256aa1a8ff2SEmmanuel Vadot	pinctrl-names = "default";
257aa1a8ff2SEmmanuel Vadot	pinctrl-0 = <&main_uart1_pins>;
258aa1a8ff2SEmmanuel Vadot	status = "okay";
259aa1a8ff2SEmmanuel Vadot};
260aa1a8ff2SEmmanuel Vadot
261aa1a8ff2SEmmanuel Vadot/* RS485 port */
262aa1a8ff2SEmmanuel Vadot&main_uart2 {
263aa1a8ff2SEmmanuel Vadot	pinctrl-names = "default";
264aa1a8ff2SEmmanuel Vadot	pinctrl-0 = <&main_uart2_pins>;
265aa1a8ff2SEmmanuel Vadot	linux,rs485-enabled-at-boot-time;
266aa1a8ff2SEmmanuel Vadot	rs485-rts-active-low;
267aa1a8ff2SEmmanuel Vadot	status = "okay";
268aa1a8ff2SEmmanuel Vadot};
269aa1a8ff2SEmmanuel Vadot
270aa1a8ff2SEmmanuel Vadot/* Bluetooth module */
271aa1a8ff2SEmmanuel Vadot&main_uart3 {
272aa1a8ff2SEmmanuel Vadot	pinctrl-names = "default";
273aa1a8ff2SEmmanuel Vadot	pinctrl-0 = <&main_uart3_pins>;
274aa1a8ff2SEmmanuel Vadot	/*
275aa1a8ff2SEmmanuel Vadot	 * Left disabled for now, until a way to deal with drivers and firmware
276aa1a8ff2SEmmanuel Vadot	 * for the combined WLAN/BT module has been figured out
277aa1a8ff2SEmmanuel Vadot	 */
278aa1a8ff2SEmmanuel Vadot};
279aa1a8ff2SEmmanuel Vadot
280aa1a8ff2SEmmanuel Vadot/* IOT module - Main UART */
281aa1a8ff2SEmmanuel Vadot&main_uart4 {
282aa1a8ff2SEmmanuel Vadot	pinctrl-names = "default";
283aa1a8ff2SEmmanuel Vadot	pinctrl-0 = <&main_uart4_pins>;
284aa1a8ff2SEmmanuel Vadot	status = "okay";
285aa1a8ff2SEmmanuel Vadot};
286aa1a8ff2SEmmanuel Vadot
287aa1a8ff2SEmmanuel Vadot/* IOT module - DBG UART */
288aa1a8ff2SEmmanuel Vadot&main_uart5 {
289aa1a8ff2SEmmanuel Vadot	pinctrl-names = "default";
290aa1a8ff2SEmmanuel Vadot	pinctrl-0 = <&main_uart5_pins>;
291aa1a8ff2SEmmanuel Vadot	status = "okay";
292aa1a8ff2SEmmanuel Vadot};
293aa1a8ff2SEmmanuel Vadot
294aa1a8ff2SEmmanuel Vadot&main0_thermal {
295aa1a8ff2SEmmanuel Vadot	trips {
296aa1a8ff2SEmmanuel Vadot		main0_active0: trip-active0 {
297aa1a8ff2SEmmanuel Vadot			temperature = <40000>;
298aa1a8ff2SEmmanuel Vadot			hysteresis = <5000>;
299aa1a8ff2SEmmanuel Vadot			type = "active";
300aa1a8ff2SEmmanuel Vadot		};
301aa1a8ff2SEmmanuel Vadot
302aa1a8ff2SEmmanuel Vadot		main0_active1: trip-active1 {
303aa1a8ff2SEmmanuel Vadot			temperature = <48000>;
304aa1a8ff2SEmmanuel Vadot			hysteresis = <3000>;
305aa1a8ff2SEmmanuel Vadot			type = "active";
306aa1a8ff2SEmmanuel Vadot		};
307aa1a8ff2SEmmanuel Vadot
308aa1a8ff2SEmmanuel Vadot		main0_active2: trip-active2 {
309aa1a8ff2SEmmanuel Vadot			temperature = <60000>;
310aa1a8ff2SEmmanuel Vadot			hysteresis = <10000>;
311aa1a8ff2SEmmanuel Vadot			type = "active";
312aa1a8ff2SEmmanuel Vadot		};
313aa1a8ff2SEmmanuel Vadot	};
314aa1a8ff2SEmmanuel Vadot
315aa1a8ff2SEmmanuel Vadot	cooling-maps {
316aa1a8ff2SEmmanuel Vadot		map1 {
317aa1a8ff2SEmmanuel Vadot			trip = <&main0_active0>;
318aa1a8ff2SEmmanuel Vadot			cooling-device = <&fan0 1 1>;
319aa1a8ff2SEmmanuel Vadot		};
320aa1a8ff2SEmmanuel Vadot
321aa1a8ff2SEmmanuel Vadot		map2 {
322aa1a8ff2SEmmanuel Vadot			trip = <&main0_active1>;
323aa1a8ff2SEmmanuel Vadot			cooling-device = <&fan0 2 2>;
324aa1a8ff2SEmmanuel Vadot		};
325aa1a8ff2SEmmanuel Vadot
326aa1a8ff2SEmmanuel Vadot		map3 {
327aa1a8ff2SEmmanuel Vadot			trip = <&main0_active2>;
328aa1a8ff2SEmmanuel Vadot			cooling-device = <&fan0 3 3>;
329aa1a8ff2SEmmanuel Vadot		};
330aa1a8ff2SEmmanuel Vadot	};
331aa1a8ff2SEmmanuel Vadot};
332aa1a8ff2SEmmanuel Vadot
333aa1a8ff2SEmmanuel Vadot&main1_thermal {
334aa1a8ff2SEmmanuel Vadot	trips {
335aa1a8ff2SEmmanuel Vadot		main1_active0: trip-active0 {
336aa1a8ff2SEmmanuel Vadot			temperature = <40000>;
337aa1a8ff2SEmmanuel Vadot			hysteresis = <5000>;
338aa1a8ff2SEmmanuel Vadot			type = "active";
339aa1a8ff2SEmmanuel Vadot		};
340aa1a8ff2SEmmanuel Vadot
341aa1a8ff2SEmmanuel Vadot		main1_active1: trip-active1 {
342aa1a8ff2SEmmanuel Vadot			temperature = <48000>;
343aa1a8ff2SEmmanuel Vadot			hysteresis = <3000>;
344aa1a8ff2SEmmanuel Vadot			type = "active";
345aa1a8ff2SEmmanuel Vadot		};
346aa1a8ff2SEmmanuel Vadot
347aa1a8ff2SEmmanuel Vadot		main1_active2: trip-active2 {
348aa1a8ff2SEmmanuel Vadot			temperature = <60000>;
349aa1a8ff2SEmmanuel Vadot			hysteresis = <10000>;
350aa1a8ff2SEmmanuel Vadot			type = "active";
351aa1a8ff2SEmmanuel Vadot		};
352aa1a8ff2SEmmanuel Vadot	};
353aa1a8ff2SEmmanuel Vadot
354aa1a8ff2SEmmanuel Vadot	cooling-maps {
355aa1a8ff2SEmmanuel Vadot		map1 {
356aa1a8ff2SEmmanuel Vadot			trip = <&main1_active0>;
357aa1a8ff2SEmmanuel Vadot			cooling-device = <&fan0 1 1>;
358aa1a8ff2SEmmanuel Vadot		};
359aa1a8ff2SEmmanuel Vadot
360aa1a8ff2SEmmanuel Vadot		map2 {
361aa1a8ff2SEmmanuel Vadot			trip = <&main1_active1>;
362aa1a8ff2SEmmanuel Vadot			cooling-device = <&fan0 2 2>;
363aa1a8ff2SEmmanuel Vadot		};
364aa1a8ff2SEmmanuel Vadot
365aa1a8ff2SEmmanuel Vadot		map3 {
366aa1a8ff2SEmmanuel Vadot			trip = <&main1_active2>;
367aa1a8ff2SEmmanuel Vadot			cooling-device = <&fan0 3 3>;
368aa1a8ff2SEmmanuel Vadot		};
369aa1a8ff2SEmmanuel Vadot	};
370aa1a8ff2SEmmanuel Vadot};
371aa1a8ff2SEmmanuel Vadot
372aa1a8ff2SEmmanuel Vadot&mcu_gpio0 {
373aa1a8ff2SEmmanuel Vadot	pinctrl-names = "default";
374aa1a8ff2SEmmanuel Vadot	pinctrl-0 = <&mcu_gpio0_pins>;
375aa1a8ff2SEmmanuel Vadot};
376aa1a8ff2SEmmanuel Vadot
377aa1a8ff2SEmmanuel Vadot&mcu_i2c0 {
378aa1a8ff2SEmmanuel Vadot	pinctrl-names = "default";
379aa1a8ff2SEmmanuel Vadot	pinctrl-0 = <&mcu_i2c0_pins>;
380aa1a8ff2SEmmanuel Vadot	/* Left disabled: not functional without external pullup */
381aa1a8ff2SEmmanuel Vadot};
382aa1a8ff2SEmmanuel Vadot
383aa1a8ff2SEmmanuel Vadot&mcu_spi0 {
384aa1a8ff2SEmmanuel Vadot	pinctrl-names = "default";
385aa1a8ff2SEmmanuel Vadot	pinctrl-0 = <&mcu_spi0_pins>;
386aa1a8ff2SEmmanuel Vadot	ti,pindir-d0-out-d1-in;
387aa1a8ff2SEmmanuel Vadot	status = "okay";
388aa1a8ff2SEmmanuel Vadot};
389aa1a8ff2SEmmanuel Vadot
390aa1a8ff2SEmmanuel Vadot/* UART/USB adapter port 2 */
391aa1a8ff2SEmmanuel Vadot&mcu_uart0 {
392aa1a8ff2SEmmanuel Vadot	pinctrl-names = "default";
393aa1a8ff2SEmmanuel Vadot	pinctrl-0 = <&mcu_uart0_pins>;
394aa1a8ff2SEmmanuel Vadot	status = "okay";
395aa1a8ff2SEmmanuel Vadot};
396aa1a8ff2SEmmanuel Vadot
397aa1a8ff2SEmmanuel Vadot/* Pin header */
398aa1a8ff2SEmmanuel Vadot&mcu_uart1 {
399aa1a8ff2SEmmanuel Vadot	pinctrl-names = "default";
400aa1a8ff2SEmmanuel Vadot	pinctrl-0 = <&mcu_uart1_pins>;
401aa1a8ff2SEmmanuel Vadot	status = "okay";
402aa1a8ff2SEmmanuel Vadot};
403aa1a8ff2SEmmanuel Vadot
404aa1a8ff2SEmmanuel Vadot&serdes_ln_ctrl {
405aa1a8ff2SEmmanuel Vadot	idle-states = <AM64_SERDES0_LANE0_USB>;
406aa1a8ff2SEmmanuel Vadot};
407aa1a8ff2SEmmanuel Vadot
408aa1a8ff2SEmmanuel Vadot&serdes0 {
409aa1a8ff2SEmmanuel Vadot	serdes0_usb_link: phy@0 {
410aa1a8ff2SEmmanuel Vadot		reg = <0>;
411aa1a8ff2SEmmanuel Vadot		#phy-cells = <0>;
412aa1a8ff2SEmmanuel Vadot		resets = <&serdes_wiz0 1>;
413aa1a8ff2SEmmanuel Vadot		cdns,num-lanes = <1>;
414aa1a8ff2SEmmanuel Vadot		cdns,phy-type = <PHY_TYPE_USB3>;
415aa1a8ff2SEmmanuel Vadot	};
416aa1a8ff2SEmmanuel Vadot};
417aa1a8ff2SEmmanuel Vadot
418aa1a8ff2SEmmanuel Vadot&sdhci1 {
419aa1a8ff2SEmmanuel Vadot	pinctrl-names = "default";
420aa1a8ff2SEmmanuel Vadot	pinctrl-0 = <&main_mmc1_pins>;
421aa1a8ff2SEmmanuel Vadot	bus-width = <4>;
422aa1a8ff2SEmmanuel Vadot	cd-gpios = <&main_gpio1 77 GPIO_ACTIVE_LOW>;
423aa1a8ff2SEmmanuel Vadot	disable-wp;
424aa1a8ff2SEmmanuel Vadot	no-mmc;
425aa1a8ff2SEmmanuel Vadot	ti,driver-strength-ohm = <50>;
426aa1a8ff2SEmmanuel Vadot	ti,fails-without-test-cd;
427aa1a8ff2SEmmanuel Vadot	/* Enabled by overlay */
428aa1a8ff2SEmmanuel Vadot};
429aa1a8ff2SEmmanuel Vadot
430aa1a8ff2SEmmanuel Vadot&tscadc0 {
431aa1a8ff2SEmmanuel Vadot	status = "okay";
432aa1a8ff2SEmmanuel Vadot	adc {
433aa1a8ff2SEmmanuel Vadot		ti,adc-channels = <0 1 2 3 4 5 6 7>;
434aa1a8ff2SEmmanuel Vadot	};
435aa1a8ff2SEmmanuel Vadot};
436aa1a8ff2SEmmanuel Vadot
437aa1a8ff2SEmmanuel Vadot&usb0 {
438aa1a8ff2SEmmanuel Vadot	/*
439aa1a8ff2SEmmanuel Vadot	 * The CDNS USB driver currently doesn't support overcurrent GPIOs,
440aa1a8ff2SEmmanuel Vadot	 * so there is no overcurrent detection. The OC pin is configured
441aa1a8ff2SEmmanuel Vadot	 * as a GPIO hog instead.
442aa1a8ff2SEmmanuel Vadot	 */
443aa1a8ff2SEmmanuel Vadot	pinctrl-names = "default";
444aa1a8ff2SEmmanuel Vadot	pinctrl-0 = <&main_usb0_pins>;
445aa1a8ff2SEmmanuel Vadot	dr_mode = "otg";
446aa1a8ff2SEmmanuel Vadot	maximum-speed = "super-speed";
447aa1a8ff2SEmmanuel Vadot	phys = <&serdes0_usb_link>;
448aa1a8ff2SEmmanuel Vadot	phy-names = "cdns3,usb3-phy";
449aa1a8ff2SEmmanuel Vadot};
450aa1a8ff2SEmmanuel Vadot
451aa1a8ff2SEmmanuel Vadot&usbss0 {
452aa1a8ff2SEmmanuel Vadot	ti,vbus-divider;
453aa1a8ff2SEmmanuel Vadot};
454aa1a8ff2SEmmanuel Vadot
455aa1a8ff2SEmmanuel Vadot&main_pmx0 {
456aa1a8ff2SEmmanuel Vadot	cpsw_pins: cpsw-pins {
457aa1a8ff2SEmmanuel Vadot		pinctrl-single,pins = <
458aa1a8ff2SEmmanuel Vadot			/* (W5) PRG0_PRU1_GPO7.RGMII1_RD0 */
459aa1a8ff2SEmmanuel Vadot			AM64X_IOPAD(0x01cc, PIN_INPUT, 4)
460aa1a8ff2SEmmanuel Vadot			/* (Y5) PRG0_PRU1_GPO9.RGMII1_RD1 */
461aa1a8ff2SEmmanuel Vadot			AM64X_IOPAD(0x01d4, PIN_INPUT, 4)
462aa1a8ff2SEmmanuel Vadot			/* (V6) PRG0_PRU1_GPO10.RGMII1_RD2 */
463aa1a8ff2SEmmanuel Vadot			AM64X_IOPAD(0x01d8, PIN_INPUT, 4)
464aa1a8ff2SEmmanuel Vadot			/* (V5) PRG0_PRU1_GPO17.RGMII1_RD3 */
465aa1a8ff2SEmmanuel Vadot			AM64X_IOPAD(0x01f4, PIN_INPUT, 4)
466aa1a8ff2SEmmanuel Vadot			/* (AA5) PRG0_PRU0_GPO10.RGMII1_RXC */
467aa1a8ff2SEmmanuel Vadot			AM64X_IOPAD(0x0188, PIN_INPUT, 4)
468aa1a8ff2SEmmanuel Vadot			/* (W6) PRG0_PRU0_GPO9.RGMII1_RX_CTL */
469aa1a8ff2SEmmanuel Vadot			AM64X_IOPAD(0x0184, PIN_INPUT, 4)
470aa1a8ff2SEmmanuel Vadot			/* (V15) PRG1_PRU1_GPO7.RGMII1_TD0 */
471aa1a8ff2SEmmanuel Vadot			AM64X_IOPAD(0x0124, PIN_OUTPUT, 4)
472aa1a8ff2SEmmanuel Vadot			/* (V14) PRG1_PRU1_GPO9.RGMII1_TD1 */
473aa1a8ff2SEmmanuel Vadot			AM64X_IOPAD(0x012c, PIN_OUTPUT, 4)
474aa1a8ff2SEmmanuel Vadot			/* (W14) PRG1_PRU1_GPO10.RGMII1_TD2 */
475aa1a8ff2SEmmanuel Vadot			AM64X_IOPAD(0x0130, PIN_OUTPUT, 4)
476aa1a8ff2SEmmanuel Vadot			/* (AA14) PRG1_PRU1_GPO17.RGMII1_TD3 */
477aa1a8ff2SEmmanuel Vadot			AM64X_IOPAD(0x014c, PIN_OUTPUT, 4)
478aa1a8ff2SEmmanuel Vadot			/* (U14) PRG1_PRU0_GPO10.RGMII1_TXC */
479aa1a8ff2SEmmanuel Vadot			AM64X_IOPAD(0x00e0, PIN_OUTPUT, 4)
480aa1a8ff2SEmmanuel Vadot			/* (U15) PRG1_PRU0_GPO9.RGMII1_TX_CTL */
481aa1a8ff2SEmmanuel Vadot			AM64X_IOPAD(0x00dc, PIN_OUTPUT, 4)
482aa1a8ff2SEmmanuel Vadot		>;
483aa1a8ff2SEmmanuel Vadot	};
484aa1a8ff2SEmmanuel Vadot
485aa1a8ff2SEmmanuel Vadot	cpsw_mdio_pins: cpsw-mdio-pins {
486aa1a8ff2SEmmanuel Vadot		pinctrl-single,pins = <
487aa1a8ff2SEmmanuel Vadot			/* (R21) GPMC0_CSn3.GPIO0_44 - RESET_RGMII1# */
488aa1a8ff2SEmmanuel Vadot			AM64X_IOPAD(0x00b4, PIN_OUTPUT, 7)
489aa1a8ff2SEmmanuel Vadot
490aa1a8ff2SEmmanuel Vadot			/* (R2) PRG0_PRU1_GPO19.MDIO0_MDC */
491aa1a8ff2SEmmanuel Vadot			AM64X_IOPAD(0x01fc, PIN_OUTPUT, 4)
492aa1a8ff2SEmmanuel Vadot			/* (P5) PRG0_PRU1_GPO18.MDIO0_MDIO */
493aa1a8ff2SEmmanuel Vadot			AM64X_IOPAD(0x01f8, PIN_INPUT, 4)
494aa1a8ff2SEmmanuel Vadot		>;
495aa1a8ff2SEmmanuel Vadot	};
496aa1a8ff2SEmmanuel Vadot
497aa1a8ff2SEmmanuel Vadot	epwm5_pins: epwm5-pins {
498aa1a8ff2SEmmanuel Vadot		pinctrl-single,pins = <
499aa1a8ff2SEmmanuel Vadot			/* (W19) GPMC0_WAIT0.EHRPWM5_B */
500aa1a8ff2SEmmanuel Vadot			AM64X_IOPAD(0x0098, PIN_OUTPUT, 3)
501aa1a8ff2SEmmanuel Vadot		>;
502aa1a8ff2SEmmanuel Vadot	};
503aa1a8ff2SEmmanuel Vadot
504aa1a8ff2SEmmanuel Vadot	/* Digital IOs */
505aa1a8ff2SEmmanuel Vadot	main_gpio0_digital_pins: main-gpio0-digital-pins {
506aa1a8ff2SEmmanuel Vadot		pinctrl-single,pins = <
507aa1a8ff2SEmmanuel Vadot			/* (W20) GPMC0_AD11.GPIO0_26 - EN_DIG_OUT_1 */
508aa1a8ff2SEmmanuel Vadot			AM64X_IOPAD(0x0068, PIN_OUTPUT, 7)
509aa1a8ff2SEmmanuel Vadot			/* (W21) GPMC0_AD12.GPIO0_27 - STATUS_OUT_1 */
510aa1a8ff2SEmmanuel Vadot			AM64X_IOPAD(0x006c, PIN_INPUT, 7)
511aa1a8ff2SEmmanuel Vadot			/* (V18) GPMC0_AD13.GPIO0_28 - EN_DIG_OUT_2 */
512aa1a8ff2SEmmanuel Vadot			AM64X_IOPAD(0x0070, PIN_OUTPUT, 7)
513aa1a8ff2SEmmanuel Vadot			/* (Y21) GPMC0_AD14.GPIO0_29 - STATUS_OUT_2 */
514aa1a8ff2SEmmanuel Vadot			AM64X_IOPAD(0x0074, PIN_INPUT, 7)
515aa1a8ff2SEmmanuel Vadot			/* (Y20) GPMC0_AD15.GPIO0_30 - EN_DIG_OUT_3 */
516aa1a8ff2SEmmanuel Vadot			AM64X_IOPAD(0x0078, PIN_OUTPUT, 7)
517aa1a8ff2SEmmanuel Vadot			/* (T21) GPMC0_WEn.GPIO0_34 - STATUS_OUT_3 */
518aa1a8ff2SEmmanuel Vadot			AM64X_IOPAD(0x008c, PIN_INPUT, 7)
519aa1a8ff2SEmmanuel Vadot			/* (P17) GPMC0_BE0n_CLE.GPIO0_35 - EN_DIG_OUT_4 */
520aa1a8ff2SEmmanuel Vadot			AM64X_IOPAD(0x0090, PIN_OUTPUT, 7)
521aa1a8ff2SEmmanuel Vadot			/* (Y18) GPMC0_WAIT1.GPIO0_38 - STATUS_OUT_4 */
522aa1a8ff2SEmmanuel Vadot			AM64X_IOPAD(0x009c, PIN_INPUT, 7)
523aa1a8ff2SEmmanuel Vadot			/* (N16) GPMC0_WPn.GPIO0_39 - DIG_IN_1 */
524aa1a8ff2SEmmanuel Vadot			AM64X_IOPAD(0x00a0, PIN_INPUT, 7)
525aa1a8ff2SEmmanuel Vadot			/* (N17) GPMC0_DIR.GPIO0_40 - DIG_IN_2 */
526aa1a8ff2SEmmanuel Vadot			AM64X_IOPAD(0x00a4, PIN_INPUT, 7)
527aa1a8ff2SEmmanuel Vadot			/* (R19) GPMC0_CSn0.GPIO0_41 - DIG_IN_3 */
528aa1a8ff2SEmmanuel Vadot			AM64X_IOPAD(0x00a8, PIN_INPUT, 7)
529aa1a8ff2SEmmanuel Vadot			/* (R20) GPMC0_CSn1.GPIO0_42 - DIG_IN_4 */
530aa1a8ff2SEmmanuel Vadot			AM64X_IOPAD(0x00ac, PIN_INPUT, 7)
531aa1a8ff2SEmmanuel Vadot		>;
532aa1a8ff2SEmmanuel Vadot	};
533aa1a8ff2SEmmanuel Vadot
534aa1a8ff2SEmmanuel Vadot	main_gpio0_hog_pins: main-gpio0-hog-pins {
535aa1a8ff2SEmmanuel Vadot		pinctrl-single,pins = <
536aa1a8ff2SEmmanuel Vadot			/* (P19) GPMC0_CSn2.GPIO0_43 - MMC1_CTRL */
537aa1a8ff2SEmmanuel Vadot			AM64X_IOPAD(0x00b0, PIN_OUTPUT, 7)
538aa1a8ff2SEmmanuel Vadot		>;
539aa1a8ff2SEmmanuel Vadot	};
540aa1a8ff2SEmmanuel Vadot
541aa1a8ff2SEmmanuel Vadot	main_gpio1_hog_pins: main-gpio1-hog-pins {
542aa1a8ff2SEmmanuel Vadot		pinctrl-single,pins = <
543aa1a8ff2SEmmanuel Vadot			/* (B15) SPI1_D0.GPIO1_50 - USB0_VBUS_OC# */
544aa1a8ff2SEmmanuel Vadot			AM64X_IOPAD(0x0228, PIN_INPUT, 7)
545aa1a8ff2SEmmanuel Vadot			/* (B16) UART0_CTSn.GPIO1_54 - PRG0_MDIO_SWITCH */
546aa1a8ff2SEmmanuel Vadot			AM64X_IOPAD(0x0238, PIN_OUTPUT, 7)
547aa1a8ff2SEmmanuel Vadot			/* (C19) EXTINTn.GPIO1_70 - PHY_INT# */
548aa1a8ff2SEmmanuel Vadot			AM64X_IOPAD(0x0278, PIN_INPUT, 7)
549aa1a8ff2SEmmanuel Vadot		>;
550aa1a8ff2SEmmanuel Vadot	};
551aa1a8ff2SEmmanuel Vadot
552*84943d6fSEmmanuel Vadot	main_gpio1_pru_pins: main-gpio1-pru-pins {
553*84943d6fSEmmanuel Vadot		pinctrl-single,pins = <
554*84943d6fSEmmanuel Vadot			/* (Y1) PRG0_PRU0_GPO0.GPIO1_0 */
555*84943d6fSEmmanuel Vadot			AM64X_IOPAD(0x0160, PIN_INPUT, 7)
556*84943d6fSEmmanuel Vadot			/* (R4) PRG0_PRU0_GPO1.GPIO1_1 */
557*84943d6fSEmmanuel Vadot			AM64X_IOPAD(0x0164, PIN_INPUT, 7)
558*84943d6fSEmmanuel Vadot			/* (U2) PRG0_PRU0_GPO2.GPIO1_2 */
559*84943d6fSEmmanuel Vadot			AM64X_IOPAD(0x0168, PIN_INPUT, 7)
560*84943d6fSEmmanuel Vadot			/* (V2) PRG0_PRU0_GPO3.GPIO1_3 */
561*84943d6fSEmmanuel Vadot			AM64X_IOPAD(0x016c, PIN_INPUT, 7)
562*84943d6fSEmmanuel Vadot			/* (AA2) PRG0_PRU0_GPO4.GPIO1_4 */
563*84943d6fSEmmanuel Vadot			AM64X_IOPAD(0x0170, PIN_INPUT, 7)
564*84943d6fSEmmanuel Vadot			/* (R3) PRG0_PRU0_GPO5.GPIO1_5 */
565*84943d6fSEmmanuel Vadot			AM64X_IOPAD(0x0174, PIN_INPUT, 7)
566*84943d6fSEmmanuel Vadot			/* (T3) PRG0_PRU0_GPO6.GPIO1_6 */
567*84943d6fSEmmanuel Vadot			AM64X_IOPAD(0x0178, PIN_INPUT, 7)
568*84943d6fSEmmanuel Vadot			/* (T1) PRG0_PRU0_GPO7.GPIO1_7 */
569*84943d6fSEmmanuel Vadot			AM64X_IOPAD(0x017c, PIN_INPUT, 7)
570*84943d6fSEmmanuel Vadot			/* (T2) PRG0_PRU0_GPO8.GPIO1_8 */
571*84943d6fSEmmanuel Vadot			AM64X_IOPAD(0x0180, PIN_INPUT, 7)
572*84943d6fSEmmanuel Vadot			/* (Y3) PRG0_PRU0_GPO11.GPIO1_11 */
573*84943d6fSEmmanuel Vadot			AM64X_IOPAD(0x018c, PIN_INPUT, 7)
574*84943d6fSEmmanuel Vadot			/* (AA3) PRG0_PRU0_GPO12.GPIO1_12 */
575*84943d6fSEmmanuel Vadot			AM64X_IOPAD(0x0190, PIN_INPUT, 7)
576*84943d6fSEmmanuel Vadot			/* (R6) PRG0_PRU0_GPO13.GPIO1_13 */
577*84943d6fSEmmanuel Vadot			AM64X_IOPAD(0x0194, PIN_INPUT, 7)
578*84943d6fSEmmanuel Vadot			/* (V4) PRG0_PRU0_GPO14.GPIO1_14 */
579*84943d6fSEmmanuel Vadot			AM64X_IOPAD(0x0198, PIN_INPUT, 7)
580*84943d6fSEmmanuel Vadot			/* (T5) PRG0_PRU0_GPO15.GPIO1_15 */
581*84943d6fSEmmanuel Vadot			AM64X_IOPAD(0x019c, PIN_INPUT, 7)
582*84943d6fSEmmanuel Vadot			/* (U4) PRG0_PRU0_GPO16.GPIO1_16 */
583*84943d6fSEmmanuel Vadot			AM64X_IOPAD(0x01a0, PIN_INPUT, 7)
584*84943d6fSEmmanuel Vadot			/* (U1) PRG0_PRU0_GPO17.GPIO1_17 */
585*84943d6fSEmmanuel Vadot			AM64X_IOPAD(0x01a4, PIN_INPUT, 7)
586*84943d6fSEmmanuel Vadot			/* (V1) PRG0_PRU0_GPO18.GPIO1_18 */
587*84943d6fSEmmanuel Vadot			AM64X_IOPAD(0x01a8, PIN_INPUT, 7)
588*84943d6fSEmmanuel Vadot			/* (W1) PRG0_PRU0_GPO19.GPIO1_19 */
589*84943d6fSEmmanuel Vadot			AM64X_IOPAD(0x01ac, PIN_INPUT, 7)
590*84943d6fSEmmanuel Vadot			/* (Y2) PRG0_PRU1_GPO0.GPIO1_20 */
591*84943d6fSEmmanuel Vadot			AM64X_IOPAD(0x01b0, PIN_INPUT, 7)
592*84943d6fSEmmanuel Vadot			/* (W2) PRG0_PRU1_GPO1.GPIO1_21 */
593*84943d6fSEmmanuel Vadot			AM64X_IOPAD(0x01b4, PIN_INPUT, 7)
594*84943d6fSEmmanuel Vadot			/* (V3) PRG0_PRU1_GPO2.GPIO1_22 */
595*84943d6fSEmmanuel Vadot			AM64X_IOPAD(0x01b8, PIN_INPUT, 7)
596*84943d6fSEmmanuel Vadot			/* (T4) PRG0_PRU1_GPO3.GPIO1_23 */
597*84943d6fSEmmanuel Vadot			AM64X_IOPAD(0x01bc, PIN_INPUT, 7)
598*84943d6fSEmmanuel Vadot			/* (W3) PRG0_PRU1_GPO4.GPIO1_24 */
599*84943d6fSEmmanuel Vadot			AM64X_IOPAD(0x01c0, PIN_INPUT, 7)
600*84943d6fSEmmanuel Vadot			/* (P4) PRG0_PRU1_GPO5.GPIO1_25 */
601*84943d6fSEmmanuel Vadot			AM64X_IOPAD(0x01c4, PIN_INPUT, 7)
602*84943d6fSEmmanuel Vadot			/* (R5) PRG0_PRU1_GPO6.GPIO1_26 */
603*84943d6fSEmmanuel Vadot			AM64X_IOPAD(0x01c8, PIN_INPUT, 7)
604*84943d6fSEmmanuel Vadot			/* (R1) PRG0_PRU1_GPO8.GPIO1_28 */
605*84943d6fSEmmanuel Vadot			AM64X_IOPAD(0x01d0, PIN_INPUT, 7)
606*84943d6fSEmmanuel Vadot			/* (W4) PRG0_PRU1_GPO11.GPIO1_31 */
607*84943d6fSEmmanuel Vadot			AM64X_IOPAD(0x01dc, PIN_INPUT, 7)
608*84943d6fSEmmanuel Vadot			/* (Y4) PRG0_PRU1_GPO12.GPIO1_32 */
609*84943d6fSEmmanuel Vadot			AM64X_IOPAD(0x01e0, PIN_INPUT, 7)
610*84943d6fSEmmanuel Vadot			/* (T6) PRG0_PRU1_GPO13.GPIO1_33 */
611*84943d6fSEmmanuel Vadot			AM64X_IOPAD(0x01e4, PIN_INPUT, 7)
612*84943d6fSEmmanuel Vadot			/* (U6) PRG0_PRU1_GPO14.GPIO1_34 */
613*84943d6fSEmmanuel Vadot			AM64X_IOPAD(0x01e8, PIN_INPUT, 7)
614*84943d6fSEmmanuel Vadot			/* (U5) PRG0_PRU1_GPO15.GPIO1_35 */
615*84943d6fSEmmanuel Vadot			AM64X_IOPAD(0x01ec, PIN_INPUT, 7)
616*84943d6fSEmmanuel Vadot			/* (AA4) PRG0_PRU1_GPO16.GPIO1_36 */
617*84943d6fSEmmanuel Vadot			AM64X_IOPAD(0x01f0, PIN_INPUT, 7)
618*84943d6fSEmmanuel Vadot			/* (P2) PRG0_MDIO0_MDIO.GPIO1_40 */
619*84943d6fSEmmanuel Vadot			AM64X_IOPAD(0x0200, PIN_INPUT, 7)
620*84943d6fSEmmanuel Vadot			/* (P3) PRG0_MDIO0_MDC.GPIO1_41 */
621*84943d6fSEmmanuel Vadot			AM64X_IOPAD(0x0204, PIN_INPUT, 7)
622*84943d6fSEmmanuel Vadot		>;
623*84943d6fSEmmanuel Vadot	};
624*84943d6fSEmmanuel Vadot
625aa1a8ff2SEmmanuel Vadot	main_mcan0_pins: main-mcan0-pins {
626aa1a8ff2SEmmanuel Vadot		pinctrl-single,pins = <
627aa1a8ff2SEmmanuel Vadot			/* (B17) MCAN0_RX */
628aa1a8ff2SEmmanuel Vadot			AM64X_IOPAD(0x0254, PIN_INPUT, 0)
629aa1a8ff2SEmmanuel Vadot			/* (A17) MCAN0_TX */
630aa1a8ff2SEmmanuel Vadot			AM64X_IOPAD(0x0250, PIN_OUTPUT, 0)
631aa1a8ff2SEmmanuel Vadot		>;
632aa1a8ff2SEmmanuel Vadot	};
633aa1a8ff2SEmmanuel Vadot
634aa1a8ff2SEmmanuel Vadot	main_mcan1_pins: main-mcan1-pins {
635aa1a8ff2SEmmanuel Vadot		pinctrl-single,pins = <
636aa1a8ff2SEmmanuel Vadot			/* (D17) MCAN1_RX */
637aa1a8ff2SEmmanuel Vadot			AM64X_IOPAD(0x025c, PIN_INPUT, 0)
638aa1a8ff2SEmmanuel Vadot			/* (C17) MCAN1_TX */
639aa1a8ff2SEmmanuel Vadot			AM64X_IOPAD(0x0258, PIN_OUTPUT, 0)
640aa1a8ff2SEmmanuel Vadot		>;
641aa1a8ff2SEmmanuel Vadot	};
642aa1a8ff2SEmmanuel Vadot
643aa1a8ff2SEmmanuel Vadot	main_mmc1_pins: main-mmc1-pins {
644aa1a8ff2SEmmanuel Vadot		pinctrl-single,pins = <
645aa1a8ff2SEmmanuel Vadot			/* (J19) MMC1_CMD */
646aa1a8ff2SEmmanuel Vadot			AM64X_IOPAD(0x0294, PIN_INPUT, 0)
647aa1a8ff2SEmmanuel Vadot			/* (L20) MMC1_CLK */
648aa1a8ff2SEmmanuel Vadot			AM64X_IOPAD(0x028c, PIN_INPUT, 0)
649aa1a8ff2SEmmanuel Vadot			/* (K21) MMC1_DAT0 */
650aa1a8ff2SEmmanuel Vadot			AM64X_IOPAD(0x0288, PIN_INPUT, 0)
651aa1a8ff2SEmmanuel Vadot			/* (L21) MMC1_DAT1 */
652aa1a8ff2SEmmanuel Vadot			AM64X_IOPAD(0x0284, PIN_INPUT, 0)
653aa1a8ff2SEmmanuel Vadot			/* (K19) MMC1_DAT2 */
654aa1a8ff2SEmmanuel Vadot			AM64X_IOPAD(0x0280, PIN_INPUT, 0)
655aa1a8ff2SEmmanuel Vadot			/* (K18) MMC1_DAT3 */
656aa1a8ff2SEmmanuel Vadot			AM64X_IOPAD(0x027c, PIN_INPUT, 0)
657aa1a8ff2SEmmanuel Vadot			/* (D19) MMC1_SDCD.GPIO1_77 */
658aa1a8ff2SEmmanuel Vadot			AM64X_IOPAD(0x0298, PIN_INPUT, 7)
659aa1a8ff2SEmmanuel Vadot			/* (#N/A) MMC1_CLKLB */
660aa1a8ff2SEmmanuel Vadot			AM64X_IOPAD(0x0290, PIN_INPUT, 0)
661aa1a8ff2SEmmanuel Vadot		>;
662aa1a8ff2SEmmanuel Vadot	};
663aa1a8ff2SEmmanuel Vadot
664aa1a8ff2SEmmanuel Vadot	main_mmc1_reg_pins: main-mmc1-reg-pins {
665aa1a8ff2SEmmanuel Vadot		pinctrl-single,pins = <
666aa1a8ff2SEmmanuel Vadot			/* (C13) SPI0_CS1.GPIO1_43 - MMC1_SD_EN */
667aa1a8ff2SEmmanuel Vadot			AM64X_IOPAD(0x020c, PIN_OUTPUT, 7)
668aa1a8ff2SEmmanuel Vadot		>;
669aa1a8ff2SEmmanuel Vadot	};
670aa1a8ff2SEmmanuel Vadot
671aa1a8ff2SEmmanuel Vadot	main_mmc1_wifi_pwrseq_pins: main-mmc1-wifi-pwrseq-pins {
672aa1a8ff2SEmmanuel Vadot		pinctrl-single,pins = <
673aa1a8ff2SEmmanuel Vadot			/* (V19) GPMC0_AD8.GPIO0_23 - WIFI-BT_EN */
674aa1a8ff2SEmmanuel Vadot			AM64X_IOPAD(0x005c, PIN_OUTPUT, 7)
675aa1a8ff2SEmmanuel Vadot		>;
676aa1a8ff2SEmmanuel Vadot	};
677aa1a8ff2SEmmanuel Vadot
678aa1a8ff2SEmmanuel Vadot	main_spi0_pins: main-spi0-pins {
679aa1a8ff2SEmmanuel Vadot		pinctrl-single,pins = <
680aa1a8ff2SEmmanuel Vadot			/* (D13) SPI0_CLK */
681aa1a8ff2SEmmanuel Vadot			AM64X_IOPAD(0x0210, PIN_OUTPUT, 0)
682aa1a8ff2SEmmanuel Vadot			/* (D12) SPI0_CS0 */
683aa1a8ff2SEmmanuel Vadot			AM64X_IOPAD(0x0208, PIN_OUTPUT, 0)
684aa1a8ff2SEmmanuel Vadot			/* (A13) SPI0_D0 */
685aa1a8ff2SEmmanuel Vadot			AM64X_IOPAD(0x0214, PIN_OUTPUT, 0)
686aa1a8ff2SEmmanuel Vadot			/* (A14) SPI0_D1 */
687aa1a8ff2SEmmanuel Vadot			AM64X_IOPAD(0x0218, PIN_INPUT, 0)
688aa1a8ff2SEmmanuel Vadot		>;
689aa1a8ff2SEmmanuel Vadot	};
690aa1a8ff2SEmmanuel Vadot
691aa1a8ff2SEmmanuel Vadot	main_spi0_adc_pins: main-spi0-adc-pins {
692aa1a8ff2SEmmanuel Vadot		pinctrl-single,pins = <
693aa1a8ff2SEmmanuel Vadot			/* (A16) UART0_RTSn.GPIO1_55 - ADC_SYNC */
694aa1a8ff2SEmmanuel Vadot			AM64X_IOPAD(0x023c, PIN_INPUT, 7)
695aa1a8ff2SEmmanuel Vadot			/* (D16) UART1_CTSn.GPIO1_58 - ADC_RST# */
696aa1a8ff2SEmmanuel Vadot			AM64X_IOPAD(0x0248, PIN_OUTPUT, 7)
697aa1a8ff2SEmmanuel Vadot			/* (E16) UART1_RTSn.GPIO1_59 - ADC_DATA_RDY */
698aa1a8ff2SEmmanuel Vadot			AM64X_IOPAD(0x024c, PIN_INPUT, 7)
699aa1a8ff2SEmmanuel Vadot			/* (B19) I2C1_SDA.GPIO1_67 - ADC_INT# */
700aa1a8ff2SEmmanuel Vadot			AM64X_IOPAD(0x026c, PIN_INPUT, 7)
701aa1a8ff2SEmmanuel Vadot		>;
702aa1a8ff2SEmmanuel Vadot	};
703aa1a8ff2SEmmanuel Vadot
704aa1a8ff2SEmmanuel Vadot	main_uart0_pins: main-uart0-pins {
705aa1a8ff2SEmmanuel Vadot		pinctrl-single,pins = <
706aa1a8ff2SEmmanuel Vadot			/* (D15) UART0_RXD */
707aa1a8ff2SEmmanuel Vadot			AM64X_IOPAD(0x0230, PIN_INPUT, 0)
708aa1a8ff2SEmmanuel Vadot			/* (C16) UART0_TXD */
709aa1a8ff2SEmmanuel Vadot			AM64X_IOPAD(0x0234, PIN_OUTPUT, 0)
710aa1a8ff2SEmmanuel Vadot		>;
711aa1a8ff2SEmmanuel Vadot	};
712aa1a8ff2SEmmanuel Vadot
713aa1a8ff2SEmmanuel Vadot	main_uart1_pins: main-uart1-pins {
714aa1a8ff2SEmmanuel Vadot		pinctrl-single,pins = <
715aa1a8ff2SEmmanuel Vadot			/* (E15) UART1_RXD */
716aa1a8ff2SEmmanuel Vadot			AM64X_IOPAD(0x0240, PIN_INPUT, 0)
717aa1a8ff2SEmmanuel Vadot			/* (E14) UART1_TXD */
718aa1a8ff2SEmmanuel Vadot			AM64X_IOPAD(0x0244, PIN_OUTPUT, 0)
719aa1a8ff2SEmmanuel Vadot		>;
720aa1a8ff2SEmmanuel Vadot	};
721aa1a8ff2SEmmanuel Vadot
722aa1a8ff2SEmmanuel Vadot	main_uart2_pins: main-uart2-pins {
723aa1a8ff2SEmmanuel Vadot		pinctrl-single,pins = <
724aa1a8ff2SEmmanuel Vadot			/* (T18) GPMC0_AD2.UART2_RTSn */
725aa1a8ff2SEmmanuel Vadot			AM64X_IOPAD(0x0044, PIN_OUTPUT, 2)
726aa1a8ff2SEmmanuel Vadot			/* (T20) GPMC0_AD0.UART2_RXD */
727aa1a8ff2SEmmanuel Vadot			AM64X_IOPAD(0x003c, PIN_INPUT, 2)
728aa1a8ff2SEmmanuel Vadot			/* (U21) GPMC0_AD1.UART2_TXD */
729aa1a8ff2SEmmanuel Vadot			AM64X_IOPAD(0x0040, PIN_OUTPUT, 2)
730aa1a8ff2SEmmanuel Vadot		>;
731aa1a8ff2SEmmanuel Vadot	};
732aa1a8ff2SEmmanuel Vadot
733aa1a8ff2SEmmanuel Vadot	main_uart3_pins: main-uart3-pins {
734aa1a8ff2SEmmanuel Vadot		pinctrl-single,pins = <
735aa1a8ff2SEmmanuel Vadot			/* (T17) GPMC0_AD9.UART3_CTSn */
736aa1a8ff2SEmmanuel Vadot			AM64X_IOPAD(0x0060, PIN_INPUT, 2)
737aa1a8ff2SEmmanuel Vadot			/* (U19) GPMC0_AD5.UART3_RTSn */
738aa1a8ff2SEmmanuel Vadot			AM64X_IOPAD(0x0050, PIN_OUTPUT, 2)
739aa1a8ff2SEmmanuel Vadot			/* (U20) GPMC0_AD3.UART3_RXD */
740aa1a8ff2SEmmanuel Vadot			AM64X_IOPAD(0x0048, PIN_INPUT, 2)
741aa1a8ff2SEmmanuel Vadot			/* (U18) GPMC0_AD4.UART3_TXD */
742aa1a8ff2SEmmanuel Vadot			AM64X_IOPAD(0x004c, PIN_OUTPUT, 2)
743aa1a8ff2SEmmanuel Vadot		>;
744aa1a8ff2SEmmanuel Vadot	};
745aa1a8ff2SEmmanuel Vadot
746aa1a8ff2SEmmanuel Vadot	main_uart4_pins: main-uart4-pins {
747aa1a8ff2SEmmanuel Vadot		pinctrl-single,pins = <
748aa1a8ff2SEmmanuel Vadot			/* (R16) GPMC0_AD10.UART4_CTSn */
749aa1a8ff2SEmmanuel Vadot			AM64X_IOPAD(0x0064, PIN_INPUT, 2)
750aa1a8ff2SEmmanuel Vadot			/* (R17) GPMC0_CLK.UART4_RTSn */
751aa1a8ff2SEmmanuel Vadot			AM64X_IOPAD(0x007c, PIN_OUTPUT, 2)
752aa1a8ff2SEmmanuel Vadot			/* (V20) GPMC0_AD6.UART4_RXD */
753aa1a8ff2SEmmanuel Vadot			AM64X_IOPAD(0x0054, PIN_INPUT, 2)
754aa1a8ff2SEmmanuel Vadot			/* (V21) GPMC0_AD7.UART4_TXD */
755aa1a8ff2SEmmanuel Vadot			AM64X_IOPAD(0x0058, PIN_OUTPUT, 2)
756aa1a8ff2SEmmanuel Vadot
757aa1a8ff2SEmmanuel Vadot			/* Control GPIOs for IOT Module connected to UART4 */
758aa1a8ff2SEmmanuel Vadot			/* (D18) ECAP0_IN_APWM_OUT.GPIO1_68 - BG95_PWRKEY */
759aa1a8ff2SEmmanuel Vadot			AM64X_IOPAD(0x0270, PIN_OUTPUT, 7)
760aa1a8ff2SEmmanuel Vadot			/* (A19) EXT_REFCLK1.GPIO1_69 - BG95_RESET */
761aa1a8ff2SEmmanuel Vadot			AM64X_IOPAD(0x0274, PIN_OUTPUT, 7)
762aa1a8ff2SEmmanuel Vadot		>;
763aa1a8ff2SEmmanuel Vadot	};
764aa1a8ff2SEmmanuel Vadot
765aa1a8ff2SEmmanuel Vadot	main_uart5_pins: main-uart5-pins {
766aa1a8ff2SEmmanuel Vadot		pinctrl-single,pins = <
767aa1a8ff2SEmmanuel Vadot			/* (P16) GPMC0_ADVn_ALE.UART5_RXD */
768aa1a8ff2SEmmanuel Vadot			AM64X_IOPAD(0x0084, PIN_INPUT, 2)
769aa1a8ff2SEmmanuel Vadot			/* (R18) GPMC0_OEn_REn.UART5_TXD */
770aa1a8ff2SEmmanuel Vadot			AM64X_IOPAD(0x0088, PIN_OUTPUT, 2)
771aa1a8ff2SEmmanuel Vadot		>;
772aa1a8ff2SEmmanuel Vadot	};
773aa1a8ff2SEmmanuel Vadot
774aa1a8ff2SEmmanuel Vadot	main_usb0_pins: main-usb0-pins {
775aa1a8ff2SEmmanuel Vadot		pinctrl-single,pins = <
776aa1a8ff2SEmmanuel Vadot			/* (E19) USB0_DRVVBUS */
777aa1a8ff2SEmmanuel Vadot			AM64X_IOPAD(0x02a8, PIN_OUTPUT, 0)
778aa1a8ff2SEmmanuel Vadot		>;
779aa1a8ff2SEmmanuel Vadot	};
780aa1a8ff2SEmmanuel Vadot
781aa1a8ff2SEmmanuel Vadot	pru_icssg1_mdio_pins: pru-icssg1-mdio-pins {
782aa1a8ff2SEmmanuel Vadot		pinctrl-single,pins = <
783aa1a8ff2SEmmanuel Vadot			/* (A15) SPI1_D1.GPIO1_51 - RESET_PRG1_RGMII1# */
784aa1a8ff2SEmmanuel Vadot			AM64X_IOPAD(0x022c, PIN_OUTPUT, 7)
785aa1a8ff2SEmmanuel Vadot			/* (B14) SPI1_CS0.GPIO1_47 - RESET_PRG1_RGMII2# */
786aa1a8ff2SEmmanuel Vadot			AM64X_IOPAD(0x021c, PIN_OUTPUT, 7)
787aa1a8ff2SEmmanuel Vadot
788aa1a8ff2SEmmanuel Vadot			/* (Y6) PRG1_MDIO0_MDC */
789aa1a8ff2SEmmanuel Vadot			AM64X_IOPAD(0x015c, PIN_OUTPUT, 0)
790aa1a8ff2SEmmanuel Vadot			/* (AA6) PRG1_MDIO0_MDIO */
791aa1a8ff2SEmmanuel Vadot			AM64X_IOPAD(0x0158, PIN_INPUT, 0)
792aa1a8ff2SEmmanuel Vadot		>;
793aa1a8ff2SEmmanuel Vadot	};
794aa1a8ff2SEmmanuel Vadot
795aa1a8ff2SEmmanuel Vadot	pru_icssg1_rgmii1_pins: pru-icssg1-rgmii1-pins {
796aa1a8ff2SEmmanuel Vadot		pinctrl-single,pins = <
797aa1a8ff2SEmmanuel Vadot			/* (Y7) PRG1_PRU0_GPO0.PRG1_RGMII1_RD0 */
798aa1a8ff2SEmmanuel Vadot			AM64X_IOPAD(0x00b8, PIN_INPUT, 2)
799aa1a8ff2SEmmanuel Vadot			/* (U8) PRG1_PRU0_GPO1.PRG1_RGMII1_RD1 */
800aa1a8ff2SEmmanuel Vadot			AM64X_IOPAD(0x00bc, PIN_INPUT, 2)
801aa1a8ff2SEmmanuel Vadot			/* (W8) PRG1_PRU0_GPO2.PRG1_RGMII1_RD2 */
802aa1a8ff2SEmmanuel Vadot			AM64X_IOPAD(0x00c0, PIN_INPUT, 2)
803aa1a8ff2SEmmanuel Vadot			/* (V8) PRG1_PRU0_GPO3.PRG1_RGMII1_RD3 */
804aa1a8ff2SEmmanuel Vadot			AM64X_IOPAD(0x00c4, PIN_INPUT, 2)
805aa1a8ff2SEmmanuel Vadot			/* (AA7) PRG1_PRU0_GPO6.PRG1_RGMII1_RXC */
806aa1a8ff2SEmmanuel Vadot			AM64X_IOPAD(0x00d0, PIN_INPUT, 2)
807aa1a8ff2SEmmanuel Vadot			/* (Y8) PRG1_PRU0_GPO4.PRG1_RGMII1_RX_CTL */
808aa1a8ff2SEmmanuel Vadot			AM64X_IOPAD(0x00c8, PIN_INPUT, 2)
809aa1a8ff2SEmmanuel Vadot			/* (AA8) PRG1_PRU0_GPO11.PRG1_RGMII1_TD0 */
810aa1a8ff2SEmmanuel Vadot			AM64X_IOPAD(0x00e4, PIN_OUTPUT, 2)
811aa1a8ff2SEmmanuel Vadot			/* (U9) PRG1_PRU0_GPO12.PRG1_RGMII1_TD1 */
812aa1a8ff2SEmmanuel Vadot			AM64X_IOPAD(0x00e8, PIN_OUTPUT, 2)
813aa1a8ff2SEmmanuel Vadot			/* (W9) PRG1_PRU0_GPO13.PRG1_RGMII1_TD2 */
814aa1a8ff2SEmmanuel Vadot			AM64X_IOPAD(0x00ec, PIN_OUTPUT, 2)
815aa1a8ff2SEmmanuel Vadot			/* (AA9) PRG1_PRU0_GPO14.PRG1_RGMII1_TD3 */
816aa1a8ff2SEmmanuel Vadot			AM64X_IOPAD(0x00f0, PIN_OUTPUT, 2)
817aa1a8ff2SEmmanuel Vadot			/* (V9) PRG1_PRU0_GPO16.PRG1_RGMII1_TXC */
818aa1a8ff2SEmmanuel Vadot			AM64X_IOPAD(0x00f8, PIN_OUTPUT, 2)
819aa1a8ff2SEmmanuel Vadot			/* (Y9) PRG1_PRU0_GPO15.PRG1_RGMII1_TX_CTL */
820aa1a8ff2SEmmanuel Vadot			AM64X_IOPAD(0x00f4, PIN_OUTPUT, 2)
821aa1a8ff2SEmmanuel Vadot		>;
822aa1a8ff2SEmmanuel Vadot	};
823aa1a8ff2SEmmanuel Vadot
824aa1a8ff2SEmmanuel Vadot	pru_icssg1_rgmii2_pins: pru-icssg1-rgmii2-pins {
825aa1a8ff2SEmmanuel Vadot		pinctrl-single,pins = <
826aa1a8ff2SEmmanuel Vadot			/* (W11) PRG1_PRU1_GPO0.PRG1_RGMII2_RD0 */
827aa1a8ff2SEmmanuel Vadot			AM64X_IOPAD(0x0108, PIN_INPUT, 2)
828aa1a8ff2SEmmanuel Vadot			/* (V11) PRG1_PRU1_GPO1.PRG1_RGMII2_RD1 */
829aa1a8ff2SEmmanuel Vadot			AM64X_IOPAD(0x010c, PIN_INPUT, 2)
830aa1a8ff2SEmmanuel Vadot			/* (AA12) PRG1_PRU1_GPO2.PRG1_RGMII2_RD2 */
831aa1a8ff2SEmmanuel Vadot			AM64X_IOPAD(0x0110, PIN_INPUT, 2)
832aa1a8ff2SEmmanuel Vadot			/* (Y12) PRG1_PRU1_GPO3.PRG1_RGMII2_RD3 */
833aa1a8ff2SEmmanuel Vadot			AM64X_IOPAD(0x0114, PIN_INPUT, 2)
834aa1a8ff2SEmmanuel Vadot			/* (U11) PRG1_PRU1_GPO6.PRG1_RGMII2_RXC */
835aa1a8ff2SEmmanuel Vadot			AM64X_IOPAD(0x0120, PIN_INPUT, 2)
836aa1a8ff2SEmmanuel Vadot			/* (W12) PRG1_PRU1_GPO4.PRG1_RGMII2_RX_CTL */
837aa1a8ff2SEmmanuel Vadot			AM64X_IOPAD(0x0118, PIN_INPUT, 2)
838aa1a8ff2SEmmanuel Vadot			/* (AA10) PRG1_PRU1_GPO11.PRG1_RGMII2_TD0 */
839aa1a8ff2SEmmanuel Vadot			AM64X_IOPAD(0x0134, PIN_OUTPUT, 2)
840aa1a8ff2SEmmanuel Vadot			/* (V10) PRG1_PRU1_GPO12.PRG1_RGMII2_TD1 */
841aa1a8ff2SEmmanuel Vadot			AM64X_IOPAD(0x0138, PIN_OUTPUT, 2)
842aa1a8ff2SEmmanuel Vadot			/* (U10) PRG1_PRU1_GPO13.PRG1_RGMII2_TD2 */
843aa1a8ff2SEmmanuel Vadot			AM64X_IOPAD(0x013c, PIN_OUTPUT, 2)
844aa1a8ff2SEmmanuel Vadot			/* (AA11) PRG1_PRU1_GPO14.PRG1_RGMII2_TD3 */
845aa1a8ff2SEmmanuel Vadot			AM64X_IOPAD(0x0140, PIN_OUTPUT, 2)
846aa1a8ff2SEmmanuel Vadot			/* (Y10) PRG1_PRU1_GPO16.PRG1_RGMII2_TXC */
847aa1a8ff2SEmmanuel Vadot			AM64X_IOPAD(0x0148, PIN_OUTPUT, 2)
848aa1a8ff2SEmmanuel Vadot			/* (Y11) PRG1_PRU1_GPO15.PRG1_RGMII2_TX_CTL */
849aa1a8ff2SEmmanuel Vadot			AM64X_IOPAD(0x0144, PIN_OUTPUT, 2)
850aa1a8ff2SEmmanuel Vadot		>;
851aa1a8ff2SEmmanuel Vadot	};
852aa1a8ff2SEmmanuel Vadot
853aa1a8ff2SEmmanuel Vadot	pwm_fan_pins: pwm-fan-pins {
854aa1a8ff2SEmmanuel Vadot		pinctrl-single,pins = <
855aa1a8ff2SEmmanuel Vadot			/* (T19) GPMC0_BE1n.EHRPWM5_A */
856aa1a8ff2SEmmanuel Vadot			AM64X_IOPAD(0x0094, PIN_OUTPUT, 3)
857aa1a8ff2SEmmanuel Vadot			/* (C14) SPI1_CLK.GPIO1_49 - FAN_RPM */
858aa1a8ff2SEmmanuel Vadot			AM64X_IOPAD(0x0224, PIN_INPUT, 7)
859aa1a8ff2SEmmanuel Vadot		>;
860aa1a8ff2SEmmanuel Vadot	};
861aa1a8ff2SEmmanuel Vadot
862aa1a8ff2SEmmanuel Vadot	pwm_fan_reg_pins: pwm-fan-reg-pins {
863aa1a8ff2SEmmanuel Vadot		pinctrl-single,pins = <
864aa1a8ff2SEmmanuel Vadot			/* (D14) SPI1_CS1.GPIO1_48 - FAN_PWR */
865aa1a8ff2SEmmanuel Vadot			AM64X_IOPAD(0x0220, PIN_OUTPUT, 7)
866aa1a8ff2SEmmanuel Vadot		>;
867aa1a8ff2SEmmanuel Vadot	};
868aa1a8ff2SEmmanuel Vadot};
869aa1a8ff2SEmmanuel Vadot
870aa1a8ff2SEmmanuel Vadot&mcu_pmx0 {
871aa1a8ff2SEmmanuel Vadot	mcu_gpio_keys_pins: mcu-gpio-keys-pins {
872aa1a8ff2SEmmanuel Vadot		pinctrl-single,pins = <
873aa1a8ff2SEmmanuel Vadot			/* (A7) MCU_SPI1_CS0.MCU_GPIO0_5 */
874aa1a8ff2SEmmanuel Vadot			AM64X_MCU_IOPAD(0x0014, PIN_INPUT, 7)
875aa1a8ff2SEmmanuel Vadot		>;
876aa1a8ff2SEmmanuel Vadot	};
877aa1a8ff2SEmmanuel Vadot
878aa1a8ff2SEmmanuel Vadot	mcu_gpio_leds_pins: mcu-gpio-leds-pins {
879aa1a8ff2SEmmanuel Vadot		pinctrl-single,pins = <
880aa1a8ff2SEmmanuel Vadot			/* (C7) MCU_SPI1_D0.MCU_GPIO0_8 */
881aa1a8ff2SEmmanuel Vadot			AM64X_MCU_IOPAD(0x0020, PIN_OUTPUT, 7)
882aa1a8ff2SEmmanuel Vadot			/* (C8) MCU_SPI1_D1.MCU_GPIO0_9 */
883aa1a8ff2SEmmanuel Vadot			AM64X_MCU_IOPAD(0x0024, PIN_OUTPUT, 7)
884aa1a8ff2SEmmanuel Vadot		>;
885aa1a8ff2SEmmanuel Vadot	};
886aa1a8ff2SEmmanuel Vadot
887aa1a8ff2SEmmanuel Vadot	mcu_gpio0_pins: mcu-gpio0-pins {
888aa1a8ff2SEmmanuel Vadot		pinctrl-single,pins = <
889aa1a8ff2SEmmanuel Vadot			/* (E8) MCU_UART0_RTSn.MCU_GPIO0_0 */
890aa1a8ff2SEmmanuel Vadot			AM64X_MCU_IOPAD(0x0034, PIN_INPUT, 7)
891aa1a8ff2SEmmanuel Vadot			/* (D8) MCU_UART0_CTSn.MCU_GPIO0_1 */
892aa1a8ff2SEmmanuel Vadot			AM64X_MCU_IOPAD(0x0030, PIN_INPUT, 7)
893aa1a8ff2SEmmanuel Vadot			/* (B7) MCU_SPI1_CS1.MCU_GPIO0_6 */
894aa1a8ff2SEmmanuel Vadot			AM64X_MCU_IOPAD(0x0018, PIN_INPUT, 7)
895aa1a8ff2SEmmanuel Vadot			/* (D7) MCU_SPI1_CLK.MCU_GPIO0_7 */
896aa1a8ff2SEmmanuel Vadot			AM64X_MCU_IOPAD(0x001c, PIN_INPUT, 7)
897aa1a8ff2SEmmanuel Vadot			/* (A11) MCU_I2C1_SCL.MCU_GPIO0_20 */
898aa1a8ff2SEmmanuel Vadot			AM64X_MCU_IOPAD(0x0050, PIN_INPUT, 7)
899aa1a8ff2SEmmanuel Vadot			/* (B10) MCU_I2C1_SDA.MCU_GPIO0_21 */
900aa1a8ff2SEmmanuel Vadot			AM64X_MCU_IOPAD(0x0054, PIN_INPUT, 7)
901aa1a8ff2SEmmanuel Vadot		>;
902aa1a8ff2SEmmanuel Vadot	};
903aa1a8ff2SEmmanuel Vadot
904aa1a8ff2SEmmanuel Vadot	mcu_i2c0_pins: mcu-i2c0-pins {
905aa1a8ff2SEmmanuel Vadot		pinctrl-single,pins = <
906aa1a8ff2SEmmanuel Vadot			/* (E9) MCU_I2C0_SCL */
907aa1a8ff2SEmmanuel Vadot			AM64X_MCU_IOPAD(0x0048, PIN_INPUT, 0)
908aa1a8ff2SEmmanuel Vadot			/* (A10) MCU_I2C0_SDA */
909aa1a8ff2SEmmanuel Vadot			AM64X_MCU_IOPAD(0x004c, PIN_INPUT, 0)
910aa1a8ff2SEmmanuel Vadot		>;
911aa1a8ff2SEmmanuel Vadot	};
912aa1a8ff2SEmmanuel Vadot
913aa1a8ff2SEmmanuel Vadot	mcu_spi0_pins: mcu-spi0-pins {
914aa1a8ff2SEmmanuel Vadot		pinctrl-single,pins = <
915aa1a8ff2SEmmanuel Vadot			/* (E6) MCU_SPI0_CLK */
916aa1a8ff2SEmmanuel Vadot			AM64X_MCU_IOPAD(0x0008, PIN_OUTPUT, 0)
917aa1a8ff2SEmmanuel Vadot			/* (D6) MCU_SPI0_CS0 */
918aa1a8ff2SEmmanuel Vadot			AM64X_MCU_IOPAD(0x0000, PIN_OUTPUT, 0)
919aa1a8ff2SEmmanuel Vadot			/* (C6) MCU_SPI0_CS1 */
920aa1a8ff2SEmmanuel Vadot			AM64X_MCU_IOPAD(0x0004, PIN_OUTPUT, 0)
921aa1a8ff2SEmmanuel Vadot			/* (E7) MCU_SPI0_D0 */
922aa1a8ff2SEmmanuel Vadot			AM64X_MCU_IOPAD(0x000c, PIN_OUTPUT, 0)
923aa1a8ff2SEmmanuel Vadot			/* (B6) MCU_SPI0_D1 */
924aa1a8ff2SEmmanuel Vadot			AM64X_MCU_IOPAD(0x0010, PIN_INPUT, 0)
925aa1a8ff2SEmmanuel Vadot		>;
926aa1a8ff2SEmmanuel Vadot	};
927aa1a8ff2SEmmanuel Vadot
928aa1a8ff2SEmmanuel Vadot	mcu_uart0_pins: mcu-uart0-pins {
929aa1a8ff2SEmmanuel Vadot		pinctrl-single,pins = <
930aa1a8ff2SEmmanuel Vadot			/* (A9) MCU_UART0_RXD */
931aa1a8ff2SEmmanuel Vadot			AM64X_MCU_IOPAD(0x0028, PIN_INPUT, 0)
932aa1a8ff2SEmmanuel Vadot			/* (A8) MCU_UART0_TXD */
933aa1a8ff2SEmmanuel Vadot			AM64X_MCU_IOPAD(0x002c, PIN_OUTPUT, 0)
934aa1a8ff2SEmmanuel Vadot		>;
935aa1a8ff2SEmmanuel Vadot	};
936aa1a8ff2SEmmanuel Vadot
937aa1a8ff2SEmmanuel Vadot	mcu_uart1_pins: mcu-uart1-pins {
938aa1a8ff2SEmmanuel Vadot		pinctrl-single,pins = <
939aa1a8ff2SEmmanuel Vadot			/* (B8) MCU_UART1_CTSn */
940aa1a8ff2SEmmanuel Vadot			AM64X_MCU_IOPAD(0x0040, PIN_INPUT, 0)
941aa1a8ff2SEmmanuel Vadot			/* (B9) MCU_UART1_RTSn */
942aa1a8ff2SEmmanuel Vadot			AM64X_MCU_IOPAD(0x0044, PIN_OUTPUT, 0)
943aa1a8ff2SEmmanuel Vadot			/* (C9) MCU_UART1_RXD */
944aa1a8ff2SEmmanuel Vadot			AM64X_MCU_IOPAD(0x0038, PIN_INPUT, 0)
945aa1a8ff2SEmmanuel Vadot			/* (D9) MCU_UART1_TXD */
946aa1a8ff2SEmmanuel Vadot			AM64X_MCU_IOPAD(0x003c, PIN_OUTPUT, 0)
947aa1a8ff2SEmmanuel Vadot		>;
948aa1a8ff2SEmmanuel Vadot	};
949aa1a8ff2SEmmanuel Vadot};
950