This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

AM69: SGMII not working (with DP83867IS)

Part Number: AM69
Other Parts Discussed in Thread: DP83867IS

Tool/software:

Hello,

We are using kernel ti-linux-6.1.y, SDK version 09.02.00.010 and we applied a patch proposed on this forum question: e2e.ti.com/.../

We are trying to communicate over SGMII with TI DP83867IS, without any success.
We are able to communicate through MDIO with the PHY and we are able to read and write PHY registers from linux (using phytool).
We see the relevant sw interface (eth1), link up/down are detected, but packet trasmitted are not sent over the ethernet and we are not able to receive any packet.
Communication with the phy, on ethernet, is working because if we activate reverse loopback mode on the phy we are able to loop back packets coming from my notebook (link at 1 Gb).

About SGMII we know that PHY reports SGMII_ANEG_STS 0x0000 which means no SGMII page receive / SGMII Auto-Neg not complete.

I read out the values of some registers on the main_cpsw0:

0x0C000100: 0x4EC21102
0x0C000200: 0x4EC21102
0x0C000204: 0x00000000
0x0C000210: 0x00000001
0x0C000214: 0x00000030
0x0C000218: 0x00000001
0x0C00021C: 0x00000000
0x0C000220: 0x00004000
0x0C000224: 0x00000000
0x0C000240: 0x00000000
0x0C000244: 0x00000000
0x0C000248: 0x00000F91
0x0C03A000: 0x000001BF
0x0C03A004: 0x00000178
0x0C03A008: 0x00000047
0x0C03A00C: 0x00000000
0x0C03A010: 0x00000000
0x0C03A014: 0x00000000
0x0C03A018: 0x00000000
0x0C03A01C: 0x00000000
0x0C03A020: 0x00000000
0x0C03A024: 0x00000000
0x0C03A028: 0x00000000
0x0C03A02C: 0x00000000
0x0C03A030: 0x0002FF1A
0x0C03A034: 0x00000000
0x0C03A038: 0x00000000
0x0C03A03C: 0x00000000
0x0C03A040: 0x00000000
0x0C03A044: 0x00000000
0x0C03A048: 0x00000000
0x0C03A04C: 0x00000000
0x0C03A050: 0x00000000
0x0C03A054: 0x00000000
0x0C03A058: 0x00000000
0x0C03A05C: 0x00000000
0x0C03A060: 0x00000000
0x0C03A064: 0x00000000
0x0C03A400: 0x00000000
0x0C03A434: 0x00000000
0x0C03A234: 0x00000000
0x0C03A634: 0x00000000
0x0C03A404: 0x00000000
0x0C03A408: 0x00000000
0x0C03A40C: 0x00000000
0x0C03A410: 0x00000000
0x0C03A414: 0x00000000
0x0C03A418: 0x00000000
0x0C03A41C: 0x00000000
0x0C03A420: 0x00000000
0x0C03A424: 0x00000000
0x0C03A428: 0x00000000
0x0C03A42C: 0x00000000
0x0C03A430: 0x00000000
0x0C03A434: 0x00000000
0x0C03A438: 0x00000000
0x0C03A43C: 0x00000000
0x0C03A440: 0x00000000

This is an excerpt of the device tree:

/ {
	aliases {
		ethernet0 = &mcu_cpsw_port1; /* Not relevant -- it is working! */
		ethernet1 = &main_cpsw0_port2;
	};

	mdio_eth2: mdio {
		compatible = "virtual,mdio-gpio";
		pinctrl-names = "default";
		pinctrl-0 = <&pinctrl_main_mdio0>;
		#address-cells = <1>;
		#size-cells = <0>;
		gpios = <&main_gpio0 48 GPIO_ACTIVE_HIGH>, /* MDC */
			<&main_gpio0 47 GPIO_ACTIVE_HIGH>; /* MDIO */

		cpsw0_port2_phy4: ethernet-phy@4 {
			reg = <4>;
			device_type = "ethernet-phy";
			pinctrl-names = "default";
			pinctrl-0 = <&pinctrl_eth2_int>;
			interrupt-parent = <&main_gpio0>;
			interrupts = <44 IRQ_TYPE_EDGE_FALLING>;
		};
	};
};

&main_pmx0 {
	pinctrl_eth2_int: main-gpio0-44-default-pins {
		pinctrl-single,pins = <
			J784S4_IOPAD(0x0b0, PIN_INPUT_PULLUP, 7) /* (AL33) MCASP1_AXR3.GPIO0_44 */ /* AQUILA B81 */
		>;
	};
};

&serdes1 {
	status = "okay";

	serdes1_pcie0_2l_link: phy@0 {
		reg = <0>;
		#phy-cells = <0>;
		resets = <&serdes_wiz1 1>, <&serdes_wiz1 2>;
		cdns,num-lanes = <2>;
		cdns,phy-type = <PHY_TYPE_PCIE>;
	};

	serdes1_pcie2_1l_link: phy@2 {
		reg = <2>;
		#phy-cells = <0>;
		resets = <&serdes_wiz1 3>;
		cdns,num-lanes = <1>;
		cdns,phy-type = <PHY_TYPE_PCIE>;
	};

	serdes1_sgmii_link: phy@3 {
		reg = <3>;
		#phy-cells = <0>;
		resets = <&serdes_wiz1 4>;
		cdns,num-lanes = <1>;
		cdns,phy-type = <PHY_TYPE_SGMII>;
	};
};

&serdes_refclk {
	clock-frequency = <100000000>;
};

&serdes_ln_ctrl {
	idle-states = <J784S4_SERDES0_LANE0_PCIE1_LANE0>,     /* Aquila PCIE_2 L0          */
		      <J784S4_SERDES0_LANE1_PCIE1_LANE1>,     /* Aquila PCIE_2 L1          */
		      <J784S4_SERDES0_LANE2_PCIE3_LANE0>,     /* On-module PCIe Wi-Fi      */
		      <J784S4_SERDES0_LANE3_USB>,             /* Aquila USB0 SS            */
		      <J784S4_SERDES1_LANE0_PCIE0_LANE0>,     /* Aquila PCIE_1 L0          */
		      <J784S4_SERDES1_LANE1_PCIE0_LANE1>,     /* Aquila PCIE_1 L1          */
		      <J784S4_SERDES1_LANE2_PCIE2_LANE0>,     /* On-module PCIe USB Bridge */
		      <J784S4_SERDES1_LANE3_QSGMII_LANE2>,    /* Aquila ETH_2 xGMII        */
		      <J784S4_SERDES2_LANE0_IP4_UNUSED>,    /* Aquila SGMII MSP_6        */
		      <J784S4_SERDES2_LANE1_IP4_UNUSED>,    /* Aquila SGMII MSP_7        */
		      <J784S4_SERDES2_LANE2_IP4_UNUSED>,    /* Aquila SGMII MSP_8        */
		      <J784S4_SERDES2_LANE3_IP4_UNUSED>,    /* Aquila SGMII MSP_9        */
		      <J784S4_SERDES4_LANE0_EDP_LANE0>,       /* Aquila DP L0              */
		      <J784S4_SERDES4_LANE1_EDP_LANE1>,       /* Aquila DP L1              */
		      <J784S4_SERDES4_LANE2_EDP_LANE2>,       /* Aquila DP L2              */
		      <J784S4_SERDES4_LANE3_EDP_LANE3>;       /* Aquila DP L3              */
};

&serdes_wiz1 {
	status = "okay";
};

&main_cpsw0_port2 {
	phy-mode = "sgmii";
	phys = <&cpsw0_phy_gmii_sel 2>, <&serdes1_sgmii_link>;
	phy-names = "mac", "serdes";
	phy-handle = <&cpsw0_port2_phy4>;
	status = "okay";
};

&main_cpsw0 {
	status = "okay";
};

Any idea?

Best regards,

Emanuele

  • Hi Emanuele,

    Can you read out the following registers:

    • 0x0507E000
    • 0x05070404
    • 0x05070408
    • 0x0507040C
    • 0x05070480 and next 4 registers  (0x05070484, 0x05070488, 0x0507048C)
    • 0x050704C0 and next 4 registers
    • 0x05070500 and next 4 registers
    • 0x05070540 and next 4 registers

    Regards,
    Tanmay

  • Hi Tanmay,

    thank you.

    These are the values:

    0x0507E000: 0x00C30011
    0x05070404: 0x00000000
    0x05070408: 0x18100000
    0x0507040C: 0xA2800000
    0x05070480: 0x70000000
    0x05070484: 0x00000000
    0x05070488: 0x00000000
    0x0507048C: 0x00000012
    0x050704C0: 0x70000000
    0x050704C4: 0x00000000
    0x050704C8: 0x00000000
    0x050704CC: 0x00000010
    0x05070500: 0x70000000
    0x05070504: 0x00000000
    0x05070508: 0x00000000
    0x0507050C: 0x00000022
    0x05070540: 0x70000000
    0x05070544: 0x00010002
    0x05070548: 0x00000109
    0x0507054C: 0x00000002

    Regards,

    Emanuele

  • Hi Tanmay,

    I acquired signals from SGMII N lines: https://share.toradex.com/mcictd4cw3nzgsr

    I think there is communication on both sides but PHY and SoC do not understand each other.

    The serdes seem to be correctly configured (SGMII one lane)

    [    2.917618] cdns-torrent-phy 5060000.serdes: Multi-link configuration:
    [    2.917623] cdns-torrent-phy 5060000.serdes: PCIe (2 lanes)
    [    2.917627] cdns-torrent-phy 5060000.serdes: PCIe (1 lanes)
    [    2.917630] cdns-torrent-phy 5060000.serdes: USB (1 lanes)
    [    2.918547] cdns-torrent-phy 5070000.serdes: Multi-link configuration:
    [    2.918550] cdns-torrent-phy 5070000.serdes: PCIe (2 lanes)
    [    2.918553] cdns-torrent-phy 5070000.serdes: PCIe (1 lanes)
    [    2.918556] cdns-torrent-phy 5070000.serdes: SGMII (1 lanes)
    [    2.919443] cdns-torrent-phy 5050000.serdes: DP max bit rate 2.700 Gbps
    [    2.919449] cdns-torrent-phy 5050000.serdes: Single-link configuration:
    [    2.919452] cdns-torrent-phy 5050000.serdes: DisplayPort (4 lanes)

    If I read registers like the STATUS register:
    0x0C000214 0x00000030

    I know that Link indicator is zero, and I have lock and FIB_SIG_DETECT to one. No error on autoneg, but it is also not complete. And Next Page is not received.

    Can I use the TEST_PATTERN_EN in CPSGMII_CONTROL_REG to test the link in some way?

    Can I use the LOOPBACK mode (which kind of loopback?) to test the switch in some way?

    Can I have a detailed description of these register?

    cpsw_9xuss_j7am_CPSGMII_DIAG_CLEAR_REG_j

    cpsw_9xuss_j7am_CPSGMII_DIAG_CONTROL_REG_j

    cpsw_9xuss_j7am_CPSGMII_DIAG_STATUS_REG_j

    Kind regards,

    Emanuele

  • Hello,

    I have enabled LOOPBACK on CPSGMII_CONTROL_REG and, at least, I readback LINK bit at 1 on CPSGMII_STATUS_REG.

    I do not know if this help in some way.

    Can I use the PCSR registers to do additional test?

    I do not understand how PCRS (from the excel it seems they are only two) map to the 8 external switch ports.

    Regards,

    Emanuele

  • Hi ,

    I have done all relevant checks on phy side and it seems ok: e2e.ti.com/.../5301761

    Can you help me on SoC side?

    Thank you.

    Regards,

    Emanuele

  • Hi Emanuele,

    Can you share the main.dtsi file used by you.

    Can you also try with the following patch:

    j784s4-sgmii-wiz-update.patch

    Regards,
    Tanmay

  • Hi Tanmay,
    thank you. I will test the patch soon today.

    This is k3-am69-aquila-dev.dts (the main dts):

    // SPDX-License-Identifier: GPL-2.0-or-later OR MIT
    /*
     * Copyright 2024 Toradex
     *
     * Device tree for Toradex Aquila AM69 SoM on Aquila development carrier board
     *
     * https://www.toradex.com/computer-on-modules/aquila-arm-family/ti-am69
     * https://www.toradex.com/products/carrier-board/aquila-development-board-kit
     */
    
    /dts-v1/;
    
    #include "k3-j784s4.dtsi"
    #include "k3-am69-aquila.dtsi"
    
    / {
    	model = "Toradex Aquila AM69 on Aquila Development Board";
    	compatible = "toradex,aquila-am69-dev",
    		     "toradex,aquila-am69",
    		     "ti,j784s4";
    
    	reg_3v3_dp: regulator-3v3-dp {
    		compatible = "regulator-fixed";
    		pinctrl-names = "default";
    		pinctrl-0 = <&pinctrl_gpio_21_dp>;
    		enable-active-high;
    		/* Aquila GPIO_21_DP (AQUILA B57) */
    		gpio = <&main_gpio0 37 GPIO_ACTIVE_HIGH>;
    		regulator-min-microvolt = <3300000>;
    		regulator-max-microvolt = <3300000>;
    		regulator-name = "DP_3V3";
    		startup-delay-us = <10000>;
    	};
    
    	dp0-connector {
    		compatible = "dp-connector";
    		dp-pwr-supply = <&reg_3v3_dp>;
    		label = "Display Port";
    		type = "full-size";
    
    		port {
    			dp0_connector_in: endpoint {
    				remote-endpoint = <&dp0_out>;
    			};
    		};
    	};
    };
    
    /* Aquila CTRL_PWR_BTN_MICO# */
    &aquila_key_power {
    	status = "okay";
    };
    
    /* Aquila CTRL_WAKE1_MICO# */
    &aquila_key_wake {
    	status = "okay";
    };
    
    /* On-module ETH_1 MDIO */
    &davinci_mdio {
    	status = "okay";
    };
    
    &dp0_ports {
    	port@4 {
    		reg = <4>;
    		dp0_out: endpoint {
    			remote-endpoint = <&dp0_connector_in>;
    		};
    	};
    };
    
    &dss {
    	status = "okay";
    };
    
    &main_cpsw1 {
    	status = "okay";
    };
    
    &main_cpsw1_port1 {
    	status = "okay";
    	phy-mode = "rgmii-rxid";
    	phy-handle = <&main_phy0>;
    };
    
    /* Aquila ETH_2 MDIO */
    &main_cpsw1_mdio {
    	status = "okay";
    
    	cpsw0_port2_phy4: ethernet-phy@4 {
    		reg = <4>;
    		device_type = "ethernet-phy";
    		pinctrl-names = "default";
    		pinctrl-0 = <&pinctrl_eth2_int>;
    		interrupt-parent = <&main_gpio0>;
    		interrupts = <44 IRQ_TYPE_EDGE_FALLING>;
    		status = "okay";
    		ti,dp83867-rxctrl-strap-quirk;
    	};
    
    	main_phy0: ethernet-phy@0 {
    		reg = <0>;
    		status = "okay";
    	};
    };
    
    &main_cpsw0 {
    	status = "okay";
    };
    
    /* Aquila ETH_2 SGMII PHY */
    &main_cpsw0_port2 {
    	phy-handle = <&cpsw0_port2_phy4>;
    	status = "okay";
    };
    
    /* Aquila PWM_1 */
    &main_ehrpwm0 {
    	status = "okay";
    };
    
    /* Aquila PWM_4_DP */
    &main_ehrpwm2 {
    	status = "okay";
    };
    
    /* Aquila PWM_2 */
    &main_ehrpwm3 {
    	status = "okay";
    };
    
    /* Aquila PWM_3_DSI */
    &main_ehrpwm5 {
    	status = "okay";
    };
    
    &main_gpio0 {
    	pinctrl-names = "default";
    	pinctrl-0 = <&pinctrl_gpio_01>,  /* Aquila GPIO_01 */
    		    <&pinctrl_gpio_02>,  /* Aquila GPIO_02 */
    		    <&pinctrl_gpio_03>;  /* Aquila GPIO_03 */
    };
    
    /* Aquila I2C_3_DSI1 */
    &main_i2c0 {
    	status = "okay";
    };
    
    /* Aquila I2C_4_CSI1 */
    &main_i2c1 {
    	status = "okay";
    };
    
    /* Aquila I2C_5_CSI2 */
    &main_i2c2 {
    	status = "okay";
    };
    
    /* Aquila I2C_6 */
    &main_i2c5 {
    	status = "okay";
    };
    
    /* Aquila CAN_1 */
    &main_mcan10 {
    	status = "okay";
    };
    
    /* Aquila CAN_3 */
    &main_mcan13 {
    	status = "okay";
    };
    
    /* Aquila SD_1 */
    &main_sdhci1 {
    	status = "okay";
    };
    
    /* Aquila SPI_2 */
    &main_spi0 {
    	status = "okay";
    };
    
    /* Aquila SPI_1 */
    &main_spi2 {
    	status = "okay";
    };
    
    /* Aquila UART_1 */
    &main_uart1 {
    	status = "okay";
    };
    
    /* Aquila UART_3, used as the Linux console */
    &main_uart8 {
    	status = "okay";
    };
    
    &mcu_cpsw {
    	status = "okay";
    };
    
    /* On-module ETH_1 RGMII */
    &mcu_cpsw_port1 {
    	status = "okay";
    };
    
    /* Aquila I2C_1 */
    &mcu_i2c0 {
    	clock-frequency = <100000>;
    	status = "okay";
    
    	/* Fan controller */
    	fan@18 {
    		compatible = "ti,amc6821";
    		reg = <0x18>;
    	};
    
    	/* Current measurement into module VCC */
    	hwmon@41 {
    		compatible = "ti,ina226";
    		reg = <0x41>;
    		shunt-resistor = <5000>;
    	};
    
    	/* Temperature sensor */
    	sensor@4f {
    		compatible = "ti,tmp1075";
    		reg = <0x4f>;
    	};
    
    	/* USB-C OTG (TCPC USB PD PHY) */
    	ptn5110@52 {
    		compatible = "nxp,ptn5110", "tcpci";
    		reg = <0x52>;
    		pinctrl-names = "default";
    		pinctrl-0 = <&pinctrl_usb1_int>;
    		interrupt-parent = <&main_gpio0>;
    		interrupts = <28 IRQ_TYPE_EDGE_FALLING>;
    
    		connector {
    			compatible = "usb-c-connector";
    			data-role = "dual";
    			label = "USB-C OTG";
    			power-role = "source";
    			source-pdos = <PDO_FIXED(5000, 3000, PDO_FIXED_USB_COMM)>;
    
    			ports {
    				#address-cells = <1>;
    				#size-cells = <0>;
    
    				port@0 {
    					reg = <0>;
    
    					usb_1_con_hs: endpoint {
    						remote-endpoint = <&usb0_hs>;
    					};
    				};
    
    				port@1 {
    					reg = <1>;
    
    					usb_1_con_ss: endpoint {
    						remote-endpoint = <&usb0_ss_mux>;
    					};
    				};
    			};
    		};
    	};
    
    	/* EEPROM */
    	eeprom@57 {
    		compatible = "st,24c02", "atmel,24c02";
    		reg = <0x57>;
    		pagesize = <16>;
    	};
    };
    
    /* Aquila I2C_2 */
    &mcu_i2c1 {
    	status = "okay";
    };
    
    /* Aquila CAN_2 */
    &mcu_mcan0 {
    	status = "okay";
    };
    
    /* Aquila CAN_4 */
    &mcu_mcan1 {
    	status = "okay";
    };
    
    /* Aquila UART_4 */
    &mcu_uart0 {
    	status = "okay";
    };
    
    &mhdp {
    	status = "okay";
    };
    
    /* Aquila QSPI_1 */
    &ospi0 {
    	pinctrl-names = "default";
    	pinctrl-0 = <&pinctrl_mcu_ospi0_4bit>, <&pinctrl_mcu_ospi0_cs0>;
    	status = "okay";
    
    	flash@0 {
    		compatible = "jedec,spi-nor";
    		reg = <0x0>;
    		spi-max-frequency = <50000000>;
    		spi-rx-bus-width = <4>;
    		spi-tx-bus-width = <4>;
    		cdns,read-delay = <0>;
    		cdns,tchsh-ns = <3>;
    		cdns,tsd2d-ns = <10>;
    		cdns,tshsl-ns = <30>;
    		cdns,tslch-ns = <8>;
    	};
    };
    
    /* Aquila PCIE_1 */
    &pcie0_rc {
    	status = "okay";
    };
    
    /* Aquila PCIE_2 */
    &pcie1_rc {
    	status = "okay";
    };
    
    &serdes4 {
    	status = "okay";
    };
    
    &serdes_wiz4 {
    	status = "okay";
    };
    
    /* Aquila ADC_[1-4] */
    &tscadc0 {
    	status = "okay";
    };
    
    &usbss0 {
    	status = "okay";
    };
    
    &usb0ss_mux {
    	status = "okay";
    
    	port {
    		usb0_ss_mux: endpoint {
    			remote-endpoint = <&usb_1_con_ss>;
    		};
    	};
    };
    
    &usb0 {
    	status = "okay";
    
    	port {
    		usb0_hs: endpoint {
    			remote-endpoint = <&usb_1_con_hs>;
    		};
    	};
    };
    
    &wkup_gpio0 {
    	pinctrl-names = "default";
    	pinctrl-0 = <&pinctrl_gpio_04>,       /* Aquila GPIO_04 */
    		    <&pinctrl_gpio_05>,       /* Aquila GPIO_05 */
    		    <&pinctrl_gpio_06>,       /* Aquila GPIO_06 */
    		    <&pinctrl_gpio_07>,       /* Aquila GPIO_07 */
    		    <&pinctrl_gpio_08>;       /* Aquila GPIO_08 */
    };
    
    /* Aquila UART_2, through RS485 transceiver */
    &wkup_uart0 {
    	linux,rs485-enabled-at-boot-time;
    	rs485-rx-during-tx;
    	status = "okay";
    };
    

    and this is k3-am69-aquila.dtsi (include file):

    // SPDX-License-Identifier: GPL-2.0-or-later OR MIT
    /*
     * Copyright 2024 Toradex
     *
     * Common dtsi for Toradex Aquila AM69 SoM
     *
     * https://www.toradex.com/computer-on-modules/aquila-arm-family/ti-am69
     */
    
    #include <dt-bindings/gpio/gpio.h>
    #include <dt-bindings/input/input.h>
    #include <dt-bindings/net/ti-dp83867.h>
    #include <dt-bindings/usb/pd.h>
    #include "k3-j784s4.dtsi"
    
    / {
    	chosen {
    		stdout-path = "serial2:115200n8";
    	};
    
    	aliases {
    		can0 = &main_mcan10;
    		can1 = &mcu_mcan0;
    		can2 = &main_mcan13;
    		can3 = &mcu_mcan1;
    		ethernet0 = &mcu_cpsw_port1;
    		ethernet1 = &main_cpsw0_port2;
    		i2c0 = &wkup_i2c0;
    		i2c1 = &mcu_i2c0;
    		i2c2 = &mcu_i2c1;
    		i2c3 = &main_i2c0;
    		i2c4 = &main_i2c1;
    		i2c5 = &main_i2c2;
    		i2c6 = &main_i2c5;
    		mmc0 = &main_sdhci0;
    		mmc1 = &main_sdhci1;
    		rtc0 = &rtc_i2c;
    		serial0 = &main_uart1;
    		serial1 = &wkup_uart0;
    		serial2 = &main_uart8;
    		serial3 = &mcu_uart0;
    		usb0 = &usb0;
    	};
    
    	aquila_key_power: gpio-key-power {
    		compatible = "gpio-keys";
    		pinctrl-names = "default";
    		pinctrl-0 = <&pinctrl_pwr_btn_int>;
    		status = "disabled";
    
    		key-power {
    			/* Aquila CTRL_PWR_BTN_MICO# (AQUILA B93) */
    			gpios = <&wkup_gpio0 36 GPIO_ACTIVE_LOW>;
    			label = "Power Button";
    			linux,code = <KEY_POWER>;
    		};
    	};
    
    	aquila_key_wake: gpio-key-wakeup {
    		compatible = "gpio-keys";
    		pinctrl-names = "default";
    		pinctrl-0 = <&pinctrl_ctrl_wake1_mico>;
    		status = "disabled";
    
    		key-wakeup {
    			/* Aquila CTRL_WAKE1_MICO# (AQUILA D6) */
    			gpios = <&wkup_gpio0 49 GPIO_ACTIVE_LOW>;
    			label = "Wake Up";
    			linux,code = <KEY_WAKEUP>;
    			wakeup-source;
    		};
    	};
    
    	/* Aquila CTRL_RESET_MICO# (AQUILA B92) */
    	gpio-restart {
    		compatible = "gpio-restart";
    		/* COLD_RESET_REQ */
    		gpios = <&som_gpio_expander 1 GPIO_ACTIVE_HIGH>;
    		priority = <128>;
    	};
    
    	/* PWR_DOWN_REQ */
    	gpio-poweroff {
    		compatible = "gpio-poweroff";
    		/* PWR_DOWN_REQ */
    		gpios = <&som_gpio_expander 2 GPIO_ACTIVE_HIGH>;
    		timeout-ms = <3000>;
    	};
    
    	memory@80000000 {
    		device_type = "memory";
    		/* 32G RAM */
    		reg = <0x00 0x80000000 0x00 0x80000000>,
    		      <0x08 0x80000000 0x07 0x80000000>;
    	};
    
    	reserved_memory: reserved-memory {
    		#address-cells = <2>;
    		#size-cells = <2>;
    		ranges;
    
    		/* global cma region */
    		linux,cma {
    			compatible = "shared-dma-pool";
    			reusable;
    			size = <0x00 0x70000000>;
    			linux,cma-default;
    		};
    
    		secure_ddr: optee@9e800000 {
    			reg = <0x00 0x9e800000 0x00 0x01800000>;
    			no-map;
    		};
    
    		mcu_r5fss0_core0_dma_memory_region: r5f-dma-memory@a0000000 {
    			compatible = "shared-dma-pool";
    			reg = <0x00 0xa0000000 0x00 0x100000>;
    			no-map;
    		};
    
    		mcu_r5fss0_core0_memory_region: r5f-memory@a0100000 {
    			compatible = "shared-dma-pool";
    			reg = <0x00 0xa0100000 0x00 0xf00000>;
    			no-map;
    		};
    
    		mcu_r5fss0_core1_dma_memory_region: r5f-dma-memory@a1000000 {
    			compatible = "shared-dma-pool";
    			reg = <0x00 0xa1000000 0x00 0x100000>;
    			no-map;
    		};
    
    		mcu_r5fss0_core1_memory_region: r5f-memory@a1100000 {
    			compatible = "shared-dma-pool";
    			reg = <0x00 0xa1100000 0x00 0xf00000>;
    			no-map;
    		};
    
    		main_r5fss0_core0_dma_memory_region: r5f-dma-memory@a2000000 {
    			compatible = "shared-dma-pool";
    			reg = <0x00 0xa2000000 0x00 0x100000>;
    			no-map;
    		};
    
    		main_r5fss0_core0_memory_region: r5f-memory@a2100000 {
    			compatible = "shared-dma-pool";
    			reg = <0x00 0xa2100000 0x00 0xf00000>;
    			no-map;
    		};
    
    		main_r5fss0_core1_dma_memory_region: r5f-dma-memory@a3000000 {
    			compatible = "shared-dma-pool";
    			reg = <0x00 0xa3000000 0x00 0x100000>;
    			no-map;
    		};
    
    		main_r5fss0_core1_memory_region: r5f-memory@a3100000 {
    			compatible = "shared-dma-pool";
    			reg = <0x00 0xa3100000 0x00 0xf00000>;
    			no-map;
    		};
    
    		main_r5fss1_core0_dma_memory_region: r5f-dma-memory@a4000000 {
    			compatible = "shared-dma-pool";
    			reg = <0x00 0xa4000000 0x00 0x100000>;
    			no-map;
    		};
    
    		main_r5fss1_core0_memory_region: r5f-memory@a4100000 {
    			compatible = "shared-dma-pool";
    			reg = <0x00 0xa4100000 0x00 0xf00000>;
    			no-map;
    		};
    
    		main_r5fss1_core1_dma_memory_region: r5f-dma-memory@a5000000 {
    			compatible = "shared-dma-pool";
    			reg = <0x00 0xa5000000 0x00 0x100000>;
    			no-map;
    		};
    
    		main_r5fss1_core1_memory_region: r5f-memory@a5100000 {
    			compatible = "shared-dma-pool";
    			reg = <0x00 0xa5100000 0x00 0xf00000>;
    			no-map;
    		};
    
    		main_r5fss2_core0_dma_memory_region: r5f-dma-memory@a6000000 {
    			compatible = "shared-dma-pool";
    			reg = <0x00 0xa6000000 0x00 0x100000>;
    			no-map;
    		};
    
    		main_r5fss2_core0_memory_region: r5f-memory@a6100000 {
    			compatible = "shared-dma-pool";
    			reg = <0x00 0xa6100000 0x00 0xf00000>;
    			no-map;
    		};
    
    		main_r5fss2_core1_dma_memory_region: r5f-dma-memory@a7000000 {
    			compatible = "shared-dma-pool";
    			reg = <0x00 0xa7000000 0x00 0x100000>;
    			no-map;
    		};
    
    		main_r5fss2_core1_memory_region: r5f-memory@a7100000 {
    			compatible = "shared-dma-pool";
    			reg = <0x00 0xa7100000 0x00 0xf00000>;
    			no-map;
    		};
    
    		c71_0_dma_memory_region: c71-dma-memory@a8000000 {
    			compatible = "shared-dma-pool";
    			reg = <0x00 0xa8000000 0x00 0x100000>;
    			no-map;
    		};
    
    		c71_0_memory_region: c71-memory@a8100000 {
    			compatible = "shared-dma-pool";
    			reg = <0x00 0xa8100000 0x00 0xf00000>;
    			no-map;
    		};
    
    		c71_1_dma_memory_region: c71-dma-memory@a9000000 {
    			compatible = "shared-dma-pool";
    			reg = <0x00 0xa9000000 0x00 0x100000>;
    			no-map;
    		};
    
    		c71_1_memory_region: c71-memory@a9100000 {
    			compatible = "shared-dma-pool";
    			reg = <0x00 0xa9100000 0x00 0xf00000>;
    			no-map;
    		};
    
    		c71_2_dma_memory_region: c71-dma-memory@aa000000 {
    			compatible = "shared-dma-pool";
    			reg = <0x00 0xaa000000 0x00 0x100000>;
    			no-map;
    		};
    
    		c71_2_memory_region: c71-memory@aa100000 {
    			compatible = "shared-dma-pool";
    			reg = <0x00 0xaa100000 0x00 0xf00000>;
    			no-map;
    		};
    
    		c71_3_dma_memory_region: c71-dma-memory@ab000000 {
    			compatible = "shared-dma-pool";
    			reg = <0x00 0xab000000 0x00 0x100000>;
    			no-map;
    		};
    
    		c71_3_memory_region: c71-memory@ab100000 {
    			compatible = "shared-dma-pool";
    			reg = <0x00 0xab100000 0x00 0xf00000>;
    			no-map;
    		};
    	};
    
    	/* Module Power Supply (VCC) */
    	reg_vin: regulator-vin {
    		compatible = "regulator-fixed";
    		regulator-name = "+V_IN";
    	};
    
    	/* Enabled by EN_3V3_VIO (PMIC_GPIO_9) */
    	reg_3v3_vio: regulator-3v3-vio {
    		compatible = "regulator-fixed";
    		regulator-max-microvolt = <3300000>;
    		regulator-min-microvolt = <3300000>;
    		regulator-name = "+V3.3_VIO";
    		vin-supply = <&reg_vin>;
    	};
    
    	/* Enabled by +V1.8_MCU_IO */
    	reg_1v0_eth: regulator-1v0-eth {
    		compatible = "regulator-fixed";
    		regulator-max-microvolt = <1000000>;
    		regulator-min-microvolt = <1000000>;
    		regulator-name = "+V1.0_VIO";
    		vin-supply = <&reg_3v3_vio>;
    	};
    
    	/* Enabled by +V1.8_MCU_IO */
    	reg_2v5_eth: regulator-2v5-eth {
    		compatible = "regulator-fixed";
    		regulator-max-microvolt = <2500000>;
    		regulator-min-microvolt = <2500000>;
    		regulator-name = "+V2.5_VIO";
    		vin-supply = <&reg_3v3_vio>;
    	};
    
    	/* Enabled by EN_3V3_VIO (PMIC_GPIO_9) */
    	reg_1v1_usb_bridge: regulator-1v1-vio {
    		compatible = "regulator-fixed";
    		regulator-max-microvolt = <1100000>;
    		regulator-min-microvolt = <1100000>;
    		regulator-name = "+V1.1_VIO";
    		vin-supply = <&reg_vin>;
    	};
    
    	/* Enabled by EN_3V3_VIO (PMIC_GPIO_9) */
    	reg_3v3_wifi: regulator-3v3-wifi {
    		compatible = "regulator-fixed";
    		regulator-max-microvolt = <3300000>;
    		regulator-min-microvolt = <3300000>;
    		regulator-name = "+V3.3_WIFI";
    		vin-supply = <&reg_vin>;
    	};
    
    	reg_1v8_stby: regulator-1v8-stby {
    		compatible = "regulator-fixed";
    		regulator-max-microvolt = <1800000>;
    		regulator-min-microvolt = <1800000>;
    		regulator-name = "+V1.8_STBY";
    		vin-supply = <&reg_vin>;
    	};
    
    	/* Aquila SD_1_PWR_EN */
    	reg_sdhc1_vmmc: regulator-sdhci1 {
    		compatible = "regulator-fixed";
    		pinctrl-names = "default";
    		pinctrl-0 = <&pinctrl_sd1_pwr_en>;
    		enable-active-high;
    		/* Aquila SD_1_PWR_EN (AQUILA A6) */
    		gpio = <&main_gpio0 52 GPIO_ACTIVE_HIGH>;
    		off-on-delay-us = <100000>;
    		regulator-max-microvolt = <3300000>;
    		regulator-min-microvolt = <3300000>;
    		regulator-name = "+3V3_SD";
    		startup-delay-us = <5000>;
    	};
    
    	reg_sdhc1_vqmmc: regulator-sdhci1-vqmmc {
    		compatible = "regulator-gpio";
    		/* SDIO_PWR_SEL_3.3V */
    		gpios = <&som_gpio_expander 7 GPIO_ACTIVE_HIGH>;
    		regulator-name = "+VDD_SD_DV";
    		regulator-min-microvolt = <1800000>;
    		regulator-max-microvolt = <3300000>;
    		states = <1800000 0x0>,
    			 <3300000 0x1>;
    	};
    
    	/* On-module USB_1_SS mux */
    	usb0ss_mux: gpio-sbu-mux {
    		compatible = "ti,tmuxhs4212", "gpio-sbu-mux";
    		/* USB_MUX_SEL */
    		select-gpios = <&som_gpio_expander 0 GPIO_ACTIVE_HIGH>;
    		orientation-switch;
    		status = "disabled";
    	};
    };
    
    &main_pmx0 {
    	/* Aquila DP_1_HPD */
    	pinctrl_main_dp0_hpd: main-dp0-hpd-default-pins {
    		pinctrl-single,pins = <
    			J784S4_IOPAD(0x014, PIN_INPUT, 13) /* (AG33) MCAN14_TX.DP0_HPD */ /* AQUILA B59 */
    		>;
    	};
    
    	/* Aquila PWM_1 */
    	pinctrl_main_ehrpwm0_b: main-ehrpwm0b-default-pins {
    		pinctrl-single,pins = <
    			J784S4_IOPAD(0x064, PIN_OUTPUT, 9) /* (AF38) MCAN0_TX.EHRPWM0_B */ /* AQUILA C25 */
    		>;
    	};
    
    	/* Aquila PWM_2 */
    	pinctrl_main_ehrpwm3_a: main-ehrpwm3a-default-pins {
    		pinctrl-single,pins = <
    			J784S4_IOPAD(0x08c, PIN_OUTPUT, 9) /* (AE35) MCASP0_AXR7.EHRPWM3_A */ /* AQUILA C26 */
    		>;
    	};
    
    	/* Aquila PWM_3_DSI */
    	pinctrl_main_ehrpwm5_a: main-ehrpwm5a-default-pins {
    		pinctrl-single,pins = <
    			J784S4_IOPAD(0x084, PIN_OUTPUT, 9) /* (AG38) MCASP0_AXR5.EHRPWM5_A */ /* AQUILA B46 */
    		>;
    	};
    
    	/* Aquila PWM_4_DP */
    	pinctrl_main_ehrpwm2_a: main-ehrpwm2a-default-pins {
    		pinctrl-single,pins = <
    			J784S4_IOPAD(0x040, PIN_INPUT, 9) /* (AF37) MCASP0_AXR0.EHRPWM2_A */ /* AQUILA B58 */
    		>;
    	};
    
    	/* PMIC_INT# */
    	pinctrl_pmic_int: main-gpio0-0-default-pins {
    		pinctrl-single,pins = <
    			J784S4_IOPAD(0x000, PIN_INPUT, 7) /* (AN35) EXTINTn.GPIO0_0 */
    		>;
    	};
    
    	/* Aquila GPIO_09_CSI_1 */
    	pinctrl_gpio_09_csi_1: main-gpio0-1-default-pins {
    		pinctrl-single,pins = <
    			J784S4_IOPAD(0x004, PIN_INPUT, 7) /* (AG36) MCAN12_TX.GPIO0_1 */ /* AQUILA B17 */
    		>;
    	};
    
    	/* Aquila GPIO_10_CSI_1 */
    	pinctrl_gpio_10_csi_1: main-gpio0-2-default-pins {
    		pinctrl-single,pins = <
    			J784S4_IOPAD(0x008, PIN_INPUT, 7) /* (AJ33) MCAN12_RX.GPIO0_2 */ /* AQUILA B18 */
    		>;
    	};
    
    	/* Aquila USB_1_OC# */
    	pinctrl_usb1_oc: main-gpio0-10-default-pins {
    		pinctrl-single,pins = <
    			J784S4_IOPAD(0x028, PIN_INPUT, 7) /* (AE33) MCAN16_RX.GPIO0_10 */ /* AQUILA B75 */
    		>;
    	};
    
    	/* Aquila GPIO_17_DSI_1 */
    	pinctrl_gpio_17_dsi_1: main-gpio0-12-default-pins {
    		pinctrl-single,pins = <
    			J784S4_IOPAD(0x030, PIN_INPUT, 7) /* (AK37) GPIO0_12 */ /* AQUILA B42 */
    		>;
    	};
    
    	/* Aquila GPIO_19_DSI_1 */
    	pinctrl_gpio_19_dsi_1: main-gpio0-13-default-pins {
    		pinctrl-single,pins = <
    			J784S4_IOPAD(0x034, PIN_INPUT, 7) /* (AJ34) PMIC_WAKE0n.GPIO0_13 */ /* AQUILA B44 */
    		>;
    	};
    
    	/* Aquila GPIO_02 */
    	pinctrl_gpio_02: main-gpio0-17-default-pins {
    		pinctrl-single,pins = <
    			J784S4_IOPAD(0x044, PIN_INPUT, 7) /* (AG37) MCASP0_AXR1.GPIO0_17 */ /* AQUILA D24 */
    		>;
    	};
    
    	/* Aquila GPIO_20_DSI_1 */
    	pinctrl_gpio_20_dsi_1: main-gpio0-18-default-pins {
    		pinctrl-single,pins = <
    			J784S4_IOPAD(0x048, PIN_INPUT, 7) /* (AK33) MCASP0_AXR2.GPIO0_18 */ /* AQUILA B45 */
    		>;
    	};
    
    	/* Aquila USB_1_INT# */
    	pinctrl_usb1_int: main-gpio0-28-default-pins {
    		pinctrl-single,pins = <
    			J784S4_IOPAD(0x070, PIN_INPUT, 7) /* (AH38) MCAN1_RX.GPIO0_28 */ /* AQUILA B74 */
    		>;
    	};
    
    	/* Aquila GPIO_03 */
    	pinctrl_gpio_03: main-gpio0-29-default-pins {
    		pinctrl-single,pins = <
    			J784S4_IOPAD(0x074, PIN_INPUT, 7) /* (AC33) MCAN2_TX.GPIO0_29 */ /* AQUILA D25 */
    		>;
    	};
    
    	/* Aquila GPIO_18_DSI_1 */
    	pinctrl_gpio_18_dsi_1: main-gpio0-31-default-pins {
    		pinctrl-single,pins = <
    			J784S4_IOPAD(0x07c, PIN_INPUT, 7) /* (AJ38) MCASP0_AXR3.GPIO0_31 */ /* AQUILA B43 */
    		>;
    	};
    
    	/* Aquila PCIE_1_RESET# */
    	pinctrl_pcie0_reset: main-gpio0-32-default-pins {
    		pinctrl-single,pins = <
    			J784S4_IOPAD(0x080, PIN_INPUT, 7) /* (AK34) MCASP0_AXR4.GPIO0_32 */ /* AQUILA C38 */
    		>;
    	};
    
    	/* Aquila PWM_3_DSI as GPIO */
    	pinctrl_pwm3_dsi_gpio: main-gpio0-33-default-pins {
    		pinctrl-single,pins = <
    			J784S4_IOPAD(0x084, PIN_INPUT, 7) /* (AG38) MCASP0_AXR5.GPIO0_33 */ /* AQUILA B46 */
    		>;
    	};
    
    	/* Aquila GPIO_01 */
    	pinctrl_gpio_01: main-gpio0-34-default-pins {
    		pinctrl-single,pins = <
    			J784S4_IOPAD(0x088, PIN_INPUT, 7) /* (AF36) MCASP0_AXR6.GPIO0_34 */ /* AQUILA D23 */
    		>;
    	};
    
    	/* Aquila GPIO_11_CSI_1 */
    	pinctrl_gpio_11_csi_1: main-gpio0-36-default-pins {
    		pinctrl-single,pins = <
    			J784S4_IOPAD(0x090, PIN_INPUT, 7) /* (AC35) MCASP0_AXR8.GPIO0_36 */ /* AQUILA A11 */
    		>;
    	};
    
    	/* Aquila GPIO_21_DP */
    	pinctrl_gpio_21_dp: main-gpio0-37-default-pins {
    		pinctrl-single,pins = <
    			J784S4_IOPAD(0x094, PIN_INPUT, 7) /* (AG35) MCASP0_AXR9.GPIO0_37 */ /* AQUILA B57 */
    		>;
    	};
    
    	/* Aquila GPIO_12_CSI_1 */
    	pinctrl_gpio_12_csi_1: main-gpio0-38-default-pins {
    		pinctrl-single,pins = <
    			J784S4_IOPAD(0x098, PIN_INPUT, 7) /* (AH36) MCASP0_AXR10.GPIO0_38 */ /* AQUILA B19 */
    		>;
    	};
    
    	/* Aquila PCIE_2_RESET# */
    	pinctrl_pcie1_reset: main-gpio0-41-default-pins {
    		pinctrl-single,pins = <
    			J784S4_IOPAD(0x0a4, PIN_INPUT, 7) /* (AJ36) MCASP0_AXR13.GPIO0_41 */ /* AQUILA C35 */
    		>;
    	};
    
    	/* Aquila ETH_2_xGMII_INT# */
    	pinctrl_eth2_int: main-gpio0-44-default-pins {
    		pinctrl-single,pins = <
    			J784S4_IOPAD(0x0b0, PIN_INPUT_PULLUP, 7) /* (AL33) MCASP1_AXR3.GPIO0_44 */ /* AQUILA B81 */
    		>;
    	};
    
    	/* Aquila SD_1_PWR_EN */
    	pinctrl_sd1_pwr_en: main-gpio0-52-default-pins {
    		pinctrl-single,pins = <
    			J784S4_IOPAD(0x0d0, PIN_INPUT, 7) /* (AP38) SPI0_CS1.GPIO0_52 */ /* AQUILA A6 */
    		>;
    	};
    
    	/* Aquila SD_1_CD# as GPIO */
    	pinctrl_sd1_cd_gpio: main-gpio0-58-default-pins {
    		pinctrl-single,pins = <
    			J784S4_IOPAD(0x0e8, PIN_INPUT_PULLUP, 7) /* (AR38) TIMER_IO0.GPIO0_58 */ /* AQUILA A1 */
    		>;
    	};
    
    	/* Aquila I2C_3_DSI1 */
    	pinctrl_main_i2c0: main-i2c0-default-pins {
    		pinctrl-single,pins = <
    			J784S4_IOPAD(0x0e0, PIN_INPUT, 0) /* (AN36) I2C0_SCL */ /* AQUILA B41 */
    			J784S4_IOPAD(0x0e4, PIN_INPUT, 0) /* (AP37) I2C0_SDA */ /* AQUILA B40 */
    			>;
    	};
    
    	/* Aquila I2C_4_CSI1 */
    	pinctrl_main_i2c1: main-i2c1-default-pins {
    		pinctrl-single,pins = <
    			J784S4_IOPAD(0x020, PIN_INPUT, 12) /* (AJ35) MCAN15_RX.I2C1_SCL */ /* AQUILA A13 */
    			J784S4_IOPAD(0x024, PIN_INPUT, 12) /* (AH34) MCAN16_TX.I2C1_SDA */ /* AQUILA A12 */
    			>;
    	};
    
    	/* Aquila I2C_5_CSI2 */
    	pinctrl_main_i2c2: main-i2c2-default-pins {
    		pinctrl-single,pins = <
    			J784S4_IOPAD(0x04c, PIN_INPUT, 13) /* (AC32) MCASP1_AXR1.I2C2_SCL */ /* AQUILA C6 */
    			J784S4_IOPAD(0x050, PIN_INPUT, 13) /* (AC37) MCASP1_AXR2.I2C2_SDA */ /* AQUILA C5 */
    			>;
    	};
    
    	/* Aquila I2C_6 */
    	pinctrl_main_i2c5: main-i2c5-default-pins {
    		pinctrl-single,pins = <
    			J784S4_IOPAD(0x01c, PIN_INPUT, 8) /* (AG34) MCAN15_TX.I2C5_SCL */ /* AQUILA C19 */
    			J784S4_IOPAD(0x018, PIN_INPUT, 8) /* (AK36) MCAN14_RX.I2C5_SDA */ /* AQUILA C18 */
    			>;
    	};
    
    	/* Aquila CAN_1 */
    	pinctrl_main_mcan10: main-mcan10-default-pins {
    		pinctrl-single,pins = <
    			J784S4_IOPAD(0x0b8, PIN_INPUT, 0)  /* (AC34) MCASP1_ACLKX.MCAN10_RX */ /* AQUILA B49 */
    			J784S4_IOPAD(0x0b4, PIN_OUTPUT, 0) /* (AL34) MCASP1_AXR4.MCAN10_TX  */ /* AQUILA B48 */
    		>;
    	};
    
    	/* Aquila CAN_3 */
    	pinctrl_main_mcan13: main-mcan13-default-pins {
    		pinctrl-single,pins = <
    			J784S4_IOPAD(0x010, PIN_INPUT, 0)  /* (AH33) MCAN13_RX */ /* AQUILA B54 */
    			J784S4_IOPAD(0x00c, PIN_OUTPUT, 0) /* (AF33) MCAN13_TX */ /* AQUILA B53 */
    		>;
    	};
    
    	/* Aquila ETH_2 MDIO */
    	pinctrl_main_mdio0: main-mdio0-default-pins {
    		pinctrl-single,pins = <
    			J784S4_IOPAD(0x0c0, PIN_OUTPUT, 6) /* (AD38) MCASP1_AXR0.MDIO0_MDC  */ /* AQUILA B90 */
    			J784S4_IOPAD(0x0bc, PIN_INPUT, 6)  /* (AD33) MCASP1_AFSX.MDIO0_MDIO */ /* AQUILA B89 */
    		>;
    	};
    
    	/* Aquila SD_1 */
    	pinctrl_main_mmc1: main-mmc1-default-pins {
    		pinctrl-single,pins = <
    			J784S4_IOPAD(0x104, PIN_INPUT, 0) /* (AB38) MMC1_CLK  */ /* AQUILA A5  */
    			J784S4_IOPAD(0x108, PIN_INPUT, 0) /* (AB36) MMC1_CMD  */ /* AQUILA A7  */
    			J784S4_IOPAD(0x100, PIN_INPUT, 0) /* (No Pin) MMC1_CLKLB */
    			J784S4_IOPAD(0x0fc, PIN_INPUT, 0) /* (AA33) MMC1_DAT0 */ /* AQUILA A3  */
    			J784S4_IOPAD(0x0f8, PIN_INPUT, 0) /* (AB34) MMC1_DAT1 */ /* AQUILA A2  */
    			J784S4_IOPAD(0x0f4, PIN_INPUT, 0) /* (AA32) MMC1_DAT2 */ /* AQUILA A10 */
    			J784S4_IOPAD(0x0f0, PIN_INPUT, 0) /* (AC38) MMC1_DAT3 */ /* AQUILA A8  */
    		>;
    	};
    
    	/* Aquila SPI_2 */
    	pinctrl_main_spi0: main-spi0-default-pins {
    		pinctrl-single,pins = <
    			J784S4_IOPAD(0x0d4, PIN_OUTPUT, 0) /* (AN38) SPI0_CLK */ /* AQUILA D14 */
    			J784S4_IOPAD(0x0d8, PIN_INPUT, 0)  /* (AM35) SPI0_D0  */ /* AQUILA D15 */
    			J784S4_IOPAD(0x0dc, PIN_OUTPUT, 0) /* (AM36) SPI0_D1  */ /* AQUILA D17 */
    		>;
    	};
    
    	/* Aquila SPI_2 CS */
    	pinctrl_main_spi0_cs0: main-spi0-cs0-default-pins {
    		pinctrl-single,pins = <
    			J784S4_IOPAD(0x0cc, PIN_OUTPUT, 0) /* (AM37) SPI0_CS0 */ /* AQUILA D16 */
    		>;
    	};
    
    	/* Aquila SPI_1 */
    	pinctrl_main_spi2: main-spi2-default-pins {
    		pinctrl-single,pins = <
    			J784S4_IOPAD(0x0a0, PIN_OUTPUT, 10) /* (AD34) MCASP0_AXR12.SPI2_CLK */ /* AQUILA D12 */
    			J784S4_IOPAD(0x0a8, PIN_INPUT, 10)  /* (AF34) MCASP0_AXR14.SPI2_D0  */ /* AQUILA D10 */
    			J784S4_IOPAD(0x0ac, PIN_OUTPUT, 10) /* (AE34) MCASP0_AXR15.SPI2_D1  */ /* AQUILA D11 */
    			>;
    	};
    
    	/* Aquila SPI_1 CS */
    	pinctrl_main_spi2_cs0: main-spi2-cs0-default-pins {
    		pinctrl-single,pins = <
    			J784S4_IOPAD(0x09c, PIN_OUTPUT, 10) /* (AF35) MCASP0_AXR11.SPI2_CS1 */ /* AQUILA D9 */
    		>;
    	};
    
    	/* Aquila UART_1 */
    	pinctrl_main_uart1: main-uart1-default-pins {
    		pinctrl-single,pins = <
    			J784S4_IOPAD(0x05c, PIN_INPUT, 11)  /* (AC36) MCASP2_AXR0.UART1_CTSn */ /* AQUILA B36 */
    			J784S4_IOPAD(0x060, PIN_OUTPUT, 11) /* (AE36) MCASP2_AXR1.UART1_RTSn */ /* AQUILA B38 */
    			J784S4_IOPAD(0x054, PIN_INPUT, 11)  /* (AD37) MCASP2_ACLKX.UART1_RXD */ /* AQUILA B35 */
    			J784S4_IOPAD(0x058, PIN_OUTPUT, 11) /* (AE37) MCASP2_AFSX.UART1_TXD  */ /* AQUILA B37 */
    		>;
    	};
    
    	/* Aquila UART_3, used as the Linux console */
    	pinctrl_main_uart8: main-uart8-default-pins {
    		pinctrl-single,pins = <
    			J784S4_IOPAD(0x038, PIN_INPUT, 11)  /* (AK35) MCASP0_ACLKX.UART8_RXD */ /* AQUILA D19 */
    			J784S4_IOPAD(0x03c, PIN_OUTPUT, 11) /* (AK38) MCASP0_AFSX.UART8_TXD  */ /* AQUILA D20 */
    		>;
    	};
    
    	/* Aquila USB_1_EN */
    	pinctrl_main_usb0ss: main-usb0ss-default-pins {
    		pinctrl-single,pins = <
    			J784S4_IOPAD(0x02c, PIN_INPUT, 14) /* (AL32) GPIO0_11.USB0_DRVVBUS */ /* AQUILA B77 */
    		>;
    	};
    };
    
    &wkup_pmx0 {
    	/* Aquila QSPI_1 (4-bit) */
    	pinctrl_mcu_ospi0_4bit: mcu-ospi0-4bit-default-pins {
    		pinctrl-single,pins = <
    			J784S4_WKUP_IOPAD(0x000, PIN_OUTPUT, 0) /* (E32) MCU_OSPI0_CLK  */ /* AQUILA B65 */
    			J784S4_WKUP_IOPAD(0x00c, PIN_INPUT, 0)  /* (B33) MCU_OSPI0_D0   */ /* AQUILA B68 */
    			J784S4_WKUP_IOPAD(0x010, PIN_INPUT, 0)  /* (B32) MCU_OSPI0_D1   */ /* AQUILA B67 */
    			J784S4_WKUP_IOPAD(0x014, PIN_INPUT, 0)  /* (C33) MCU_OSPI0_D2   */ /* AQUILA B61 */
    			J784S4_WKUP_IOPAD(0x018, PIN_INPUT, 0)  /* (C35) MCU_OSPI0_D3   */ /* AQUILA B60 */
    			J784S4_WKUP_IOPAD(0x008, PIN_INPUT, 0)  /* (C34) MCU_OSPI0_DQS  */ /* AQUILA B63 */
    		>;
    	};
    
    	/* Aquila QSPI_1 (8-bit) */
    	pinctrl_mcu_ospi0_8bit: mcu-ospi0-8bit-default-pins {
    		pinctrl-single,pins = <
    			J784S4_WKUP_IOPAD(0x000, PIN_OUTPUT, 0) /* (E32) MCU_OSPI0_CLK  */ /* AQUILA B65 */
    			J784S4_WKUP_IOPAD(0x00c, PIN_INPUT, 0)  /* (B33) MCU_OSPI0_D0   */ /* AQUILA B68 */
    			J784S4_WKUP_IOPAD(0x010, PIN_INPUT, 0)  /* (B32) MCU_OSPI0_D1   */ /* AQUILA B67 */
    			J784S4_WKUP_IOPAD(0x014, PIN_INPUT, 0)  /* (C33) MCU_OSPI0_D2   */ /* AQUILA B61 */
    			J784S4_WKUP_IOPAD(0x018, PIN_INPUT, 0)  /* (C35) MCU_OSPI0_D3   */ /* AQUILA B60 */
    			J784S4_WKUP_IOPAD(0x01c, PIN_INPUT, 0)  /* (D33) MCU_OSPI0_D4   */ /* AQUILA B70 */
    			J784S4_WKUP_IOPAD(0x020, PIN_INPUT, 0)  /* (D34) MCU_OSPI0_D5   */ /* AQUILA B71 */
    			J784S4_WKUP_IOPAD(0x024, PIN_INPUT, 0)  /* (E34) MCU_OSPI0_D6   */ /* AQUILA B72 */
    			J784S4_WKUP_IOPAD(0x028, PIN_INPUT, 0)  /* (E33) MCU_OSPI0_D7   */ /* AQUILA B73 */
    			J784S4_WKUP_IOPAD(0x008, PIN_INPUT, 0)  /* (C34) MCU_OSPI0_DQS  */ /* AQUILA B63 */
    		>;
    	};
    
    	/* Aquila QSPI_1_CS1# */
    	pinctrl_mcu_ospi0_cs0: mcu-ospi0-cs0-default-pins {
    		pinctrl-single,pins = <
    			J784S4_WKUP_IOPAD(0x02c, PIN_OUTPUT, 0) /* (A32) MCU_OSPI0_CSn0 */ /* AQUILA B66 */
    		>;
    	};
    
    	/* Aquila QSPI_1_CS2# */
    	pinctrl_mcu_ospi0_cs1: mcu-ospi0-cs1-default-pins {
    		pinctrl-single,pins = <
    			J784S4_WKUP_IOPAD(0x030, PIN_OUTPUT, 0) /* (A33) MCU_OSPI0_CSn1 */ /* AQUILA B62 */
    		>;
    	};
    
    	/* Aquila QSPI_1_SCK as GPIO */
    	pinctrl_wkup_gpio_16: wkup-gpio0-16-default-pins {
    		pinctrl-single,pins = <
    			J784S4_WKUP_IOPAD(0x000, PIN_INPUT, 7) /* (E32) MCU_OSPI0_CLK.WKUP_GPIO0_16 */ /* AQUILA B65 */
    		>;
    	};
    
    	/* Aquila GPIO_04 */
    	pinctrl_gpio_04: wkup-gpio0-17-default-pins {
    		pinctrl-single,pins = <
    			J784S4_WKUP_IOPAD(0x004, PIN_INPUT, 7) /* (D32) MCU_OSPI0_LBCLKO.WKUP_GPIO0_17 */ /* AQUILA C20 */
    		>;
    	};
    
    	/* Aquila QSPI_1_DQS as GPIO */
    	pinctrl_wkup_gpio_18: wkup-gpio0-18-default-pins {
    		pinctrl-single,pins = <
    			J784S4_WKUP_IOPAD(0x008, PIN_INPUT, 7) /* (C34) MCU_OSPI0_DQS.WKUP_GPIO0_18 */ /* AQUILA B63 */
    		>;
    	};
    
    	/* Aquila QSPI_1_IO0 as GPIO */
    	pinctrl_wkup_gpio_19: wkup-gpio0-19-default-pins {
    		pinctrl-single,pins = <
    			J784S4_WKUP_IOPAD(0x00c, PIN_INPUT, 7) /* (B33) MCU_OSPI0_D0.WKUP_GPIO0_19 */ /* AQUILA B68 */
    		>;
    	};
    
    	/* Aquila QSPI_1_IO1 as GPIO */
    	pinctrl_wkup_gpio_20: wkup-gpio0-20-default-pins {
    		pinctrl-single,pins = <
    			J784S4_WKUP_IOPAD(0x010, PIN_INPUT, 7) /* (B32) MCU_OSPI0_D1.WKUP_GPIO0_20 */ /* AQUILA B67 */
    		>;
    	};
    
    	/* Aquila QSPI_1_IO2 as GPIO */
    	pinctrl_wkup_gpio_21: wkup-gpio0-21-default-pins {
    		pinctrl-single,pins = <
    			J784S4_WKUP_IOPAD(0x014, PIN_INPUT, 7) /* (C33) MCU_OSPI0_D2.WKUP_GPIO0_21 */ /* AQUILA B61 */
    		>;
    	};
    
    	/* Aquila QSPI_1_IO3 as GPIO */
    	pinctrl_wkup_gpio_22: wkup-gpio0-22-default-pins {
    		pinctrl-single,pins = <
    			J784S4_WKUP_IOPAD(0x018, PIN_INPUT, 7) /* (C35) MCU_OSPI0_D3.WKUP_GPIO0_22 */ /* AQUILA B60 */
    		>;
    	};
    
    	/* Aquila QSPI_1_IO4 as GPIO */
    	pinctrl_wkup_gpio_23: wkup-gpio0-23-default-pins {
    		pinctrl-single,pins = <
    			J784S4_WKUP_IOPAD(0x01c, PIN_INPUT, 7) /* (D33) MCU_OSPI0_D4.WKUP_GPIO0_23 */ /* AQUILA B70 */
    		>;
    	};
    
    	/* Aquila QSPI_1_IO5 as GPIO */
    	pinctrl_wkup_gpio_24: wkup-gpio0-24-default-pins {
    		pinctrl-single,pins = <
    			J784S4_WKUP_IOPAD(0x020, PIN_INPUT, 7) /* (D34) MCU_OSPI0_D5.WKUP_GPIO0_24 */ /* AQUILA B71 */
    		>;
    	};
    
    	/* Aquila QSPI_1_IO6 as GPIO */
    	pinctrl_wkup_gpio_25: wkup-gpio0-25-default-pins {
    		pinctrl-single,pins = <
    			J784S4_WKUP_IOPAD(0x024, PIN_INPUT, 7) /* (E34) MCU_OSPI0_D6.WKUP_GPIO0_25 */ /* AQUILA B72 */
    		>;
    	};
    
    	/* Aquila QSPI_1_IO7 as GPIO */
    	pinctrl_wkup_gpio_26: wkup-gpio0-26-default-pins {
    		pinctrl-single,pins = <
    			J784S4_WKUP_IOPAD(0x028, PIN_INPUT, 7) /* (E33) MCU_OSPI0_D7.WKUP_GPIO0_26 */ /* AQUILA B73 */
    		>;
    	};
    
    	/* Aquila QSPI_1_CS#1 as GPIO */
    	pinctrl_wkup_gpio_27: wkup-gpio0-27-default-pins {
    		pinctrl-single,pins = <
    			J784S4_WKUP_IOPAD(0x02c, PIN_INPUT, 7) /* (A32) MCU_OSPI0_CSn0.WKUP_GPIO0_27 */ /* AQUILA B66 */
    		>;
    	};
    
    	/* Aquila QSPI_1_CS#2 as GPIO */
    	pinctrl_wkup_gpio_28: wkup-gpio0-28-default-pins {
    		pinctrl-single,pins = <
    			J784S4_WKUP_IOPAD(0x030, PIN_INPUT, 7) /* (A33) MCU_OSPI0_CSn1.WKUP_GPIO0_28 */ /* AQUILA B62 */
    		>;
    	};
    };
    
    &wkup_pmx1 {
    	/* Aquila UART_4 (RXD) */
    	pinctrl_mcu_uart0_rx: mcu-uart0-rx-default-pins {
    		pinctrl-single,pins = <
    			J784S4_WKUP_IOPAD(0x018, PIN_INPUT, 4)  /* (D31) MCU_OSPI1_D1.MCU_UART0_RXD */ /* AQUILA D21 */
    		>;
    	};
    
    	/* Aquila GPIO_05 */
    	pinctrl_gpio_05: wkup-gpio0-29-default-pins {
    		pinctrl-single,pins = <
    			J784S4_WKUP_IOPAD(0x000, PIN_INPUT, 7) /* (B34) MCU_OSPI0_CSn2.WKUP_GPIO0_29 */ /* AQUILA C21 */
    		>;
    	};
    
    	/* Aquila GPIO_06 */
    	pinctrl_gpio_06: wkup-gpio0-30-default-pins {
    		pinctrl-single,pins = <
    			J784S4_WKUP_IOPAD(0x004, PIN_INPUT, 7) /* (C32) MCU_OSPI0_CSn3.WKUP_GPIO0_30 */ /* AQUILA C22 */
    		>;
    	};
    
    	/* Aquila GPIO_07 */
    	pinctrl_gpio_07: wkup-gpio0-31-default-pins {
    		pinctrl-single,pins = <
    			J784S4_WKUP_IOPAD(0x008, PIN_INPUT, 7) /* (F32) MCU_OSPI1_CLK.WKUP_GPIO0_31 */ /* AQUILA C23 */
    		>;
    	};
    
    	/* Aquila GPIO_13_CSI_2 */
    	pinctrl_gpio_13_csi_2: wkup-gpio0-32-default-pins {
    		pinctrl-single,pins = <
    			J784S4_WKUP_IOPAD(0x00c, PIN_INPUT, 7) /* (C31) MCU_OSPI1_LBCLKO.WKUP_GPIO0_32 */ /* AQUILA C1 */
    		>;
    	};
    
    	/* Aquila GPIO_14_CSI_2 */
    	pinctrl_gpio_14_csi_2: wkup-gpio0-33-default-pins {
    		pinctrl-single,pins = <
    			J784S4_WKUP_IOPAD(0x010, PIN_INPUT, 7) /* (F31) MCU_OSPI1_DQS.WKUP_GPIO0_33 */ /* AQUILA C2 */
    		>;
    	};
    
    	/* RTC_IRQ# */
    	pinctrl_rtc_irq: wkup-gpio0-34-default-pins {
    		pinctrl-single,pins = <
    			J784S4_WKUP_IOPAD(0x014, PIN_INPUT, 7) /* (E35) MCU_OSPI1_D0.WKUP_GPIO0_34 */
    		>;
    	};
    
    	/* Aquila CTRL_PWR_BTN_MICO# (PWR_BTN_INT#) */
    	pinctrl_pwr_btn_int: wkup-gpio0-36-default-pins {
    		pinctrl-single,pins = <
    			J784S4_WKUP_IOPAD(0x01c, PIN_INPUT_PULLUP, 7) /* (G31) MCU_OSPI1_D2.WKUP_GPIO0_36 */ /* AQUILA B92 */
    		>;
    	};
    
    	/* Aquila GPIO_15_CSI_2 */
    	pinctrl_gpio_15_csi_2: wkup-gpio0-37-default-pins {
    		pinctrl-single,pins = <
    			J784S4_WKUP_IOPAD(0x020, PIN_INPUT, 7) /* (F33) MCU_OSPI1_D3.WKUP_GPIO0_37 */ /* AQUILA C3 */
    		>;
    	};
    
    	/* Aquila GPIO_08 */
    	pinctrl_gpio_08: wkup-gpio0-38-default-pins {
    		pinctrl-single,pins = <
    			J784S4_WKUP_IOPAD(0x024, PIN_INPUT, 7) /* (G32) MCU_OSPI1_CSn0.WKUP_GPIO0_38 */ /* AQUILA C24 */
    		>;
    	};
    
    	/* Aquila GPIO_16_CSI_2 */
    	pinctrl_gpio_16_csi_2: wkup-gpio0-39-default-pins {
    		pinctrl-single,pins = <
    			J784S4_WKUP_IOPAD(0x028, PIN_INPUT, 7) /* (G33) MCU_OSPI1_CSn1.WKUP_GPIO0_39 */ /* AQUILA C4 */
    		>;
    	};
    };
    
    &wkup_pmx2 {
    	/* Aquila ADC_[1-4] */
    	pinctrl_mcu_adc0: mcu-adc0-default-pins {
    		pinctrl-single,pins = <
    			J784S4_WKUP_IOPAD(0x0cc, PIN_OUTPUT, 0) /* (P36) MCU_ADC0_AIN0 */ /* AQUILA D1 */
    			J784S4_WKUP_IOPAD(0x0d0, PIN_OUTPUT, 0) /* (V36) MCU_ADC0_AIN1 */ /* AQUILA D2 */
    			J784S4_WKUP_IOPAD(0x0d4, PIN_OUTPUT, 0) /* (T34) MCU_ADC0_AIN2 */ /* AQUILA D3 */
    			J784S4_WKUP_IOPAD(0x0d8, PIN_OUTPUT, 0) /* (T36) MCU_ADC0_AIN3 */ /* AQUILA D4 */
    		>;
    	};
    
    	/* ETH_1_25MHZ_CLK (Aquila CTRL_MCLK_MOCI) */
    	pinctrl_mcu_clkout0: mcu-clkout0-default-pins {
    		pinctrl-single,pins = <
    			J784S4_WKUP_IOPAD(0x084, PIN_OUTPUT, 6) /* (M38) WKUP_GPIO0_11.MCU_CLKOUT0 */ /* AQUILA A14 */
    		>;
    	};
    
    	/* Aquila I2C_1 */
    	pinctrl_mcu_i2c0: mcu-i2c0-default-pins {
    		pinctrl-single,pins = <
    			J784S4_WKUP_IOPAD(0x0a0, PIN_INPUT, 0) /* (M35) MCU_I2C0_SCL */ /* AQUILA D8 */
    			J784S4_WKUP_IOPAD(0x0a4, PIN_INPUT, 0) /* (G34) MCU_I2C0_SDA */ /* AQUILA D7 */
    		>;
    	};
    
    	/* Aquila I2C_2 */
    	pinctrl_mcu_i2c1: mcu-i2c1-default-pins {
    		pinctrl-single,pins = <
    			J784S4_WKUP_IOPAD(0x078, PIN_INPUT, 0) /* (L35) WKUP_GPIO0_8.MCU_I2C1_SCL */ /* AQUILA C17 */
    			J784S4_WKUP_IOPAD(0x07c, PIN_INPUT, 0) /* (L34) WKUP_GPIO0_9.MCU_I2C1_SDA */ /* AQUILA C16 */
    		>;
    	};
    
    	/* Aquila CAN_2 */
    	pinctrl_mcu_mcan0: mcu-mcan0-default-pins {
    		pinctrl-single,pins = <
    			J784S4_WKUP_IOPAD(0x054, PIN_INPUT, 0)  /* (F38) MCU_MCAN0_RX  */ /* AQUILA B51 */
    			J784S4_WKUP_IOPAD(0x050, PIN_OUTPUT, 0) /* (K33) MCU_MCAN0_TX  */ /* AQUILA B50 */
    		>;
    	};
    
    	/* Aquila CAN_4 */
    	pinctrl_mcu_mcan1: mcu-mcan1-default-pins {
    		pinctrl-single,pins = <
    			J784S4_WKUP_IOPAD(0x06c, PIN_INPUT, 0)  /* (K36) WKUP_GPIO0_5.MCU_MCAN1_RX */ /* AQUILA B56 */
    			J784S4_WKUP_IOPAD(0x068, PIN_OUTPUT, 0) /* (H35) WKUP_GPIO0_4.MCU_MCAN1_TX */ /* AQUILA B55 */
    		>;
    	};
    
    	/* On-module ETH_1 MDIO */
    	pinctrl_mcu_mdio: mcu-mdio-default-pins {
    		pinctrl-single,pins = <
    			J784S4_WKUP_IOPAD(0x034, PIN_OUTPUT, 0) /* (A36) MCU_MDIO0_MDC  */
    			J784S4_WKUP_IOPAD(0x030, PIN_INPUT, 0)  /* (B35) MCU_MDIO0_MDIO */
    		>;
    	};
    
    	/* On-module ETH_1 RGMII */
    	pinctrl_mcu_rgmii1: mcu-rgmii1-default-pins {
    		pinctrl-single,pins = <
    			J784S4_WKUP_IOPAD(0x02c, PIN_INPUT, 0)  /* (A35) MCU_RGMII1_RD0    */
    			J784S4_WKUP_IOPAD(0x028, PIN_INPUT, 0)  /* (B36) MCU_RGMII1_RD1    */
    			J784S4_WKUP_IOPAD(0x024, PIN_INPUT, 0)  /* (C36) MCU_RGMII1_RD2    */
    			J784S4_WKUP_IOPAD(0x020, PIN_INPUT, 0)  /* (D36) MCU_RGMII1_RD3    */
    			J784S4_WKUP_IOPAD(0x01c, PIN_INPUT, 0)  /* (B37) MCU_RGMII1_RXC    */
    			J784S4_WKUP_IOPAD(0x004, PIN_INPUT, 0)  /* (C37) MCU_RGMII1_RX_CTL */
    			J784S4_WKUP_IOPAD(0x014, PIN_OUTPUT, 0) /* (D37) MCU_RGMII1_TD0    */
    			J784S4_WKUP_IOPAD(0x010, PIN_OUTPUT, 0) /* (D38) MCU_RGMII1_TD1    */
    			J784S4_WKUP_IOPAD(0x00c, PIN_OUTPUT, 0) /* (E37) MCU_RGMII1_TD2    */
    			J784S4_WKUP_IOPAD(0x008, PIN_OUTPUT, 0) /* (E38) MCU_RGMII1_TD3    */
    			J784S4_WKUP_IOPAD(0x018, PIN_OUTPUT, 0) /* (E36) MCU_RGMII1_TXC    */
    			J784S4_WKUP_IOPAD(0x000, PIN_OUTPUT, 0) /* (C38) MCU_RGMII1_TX_CTL */
    		>;
    	};
    
    	/* On-module SPI (TPM_SPI) */
    	pinctrl_mcu_spi0: mcu-spi0-default-pins {
    		pinctrl-single,pins = <
    			J784S4_WKUP_IOPAD(0x038, PIN_OUTPUT, 0) /* (G38) MCU_SPI0_CLK */
    			J784S4_WKUP_IOPAD(0x044, PIN_OUTPUT, 0) /* (F37) MCU_SPI0_CS0 */
    			J784S4_WKUP_IOPAD(0x03c, PIN_INPUT, 0)  /* (H36) MCU_SPI0_D0  */
    			J784S4_WKUP_IOPAD(0x040, PIN_OUTPUT, 0) /* (J38) MCU_SPI0_D1  */
    		>;
    	};
    
    	/* Aquila UART_4 (TX) */
    	pinctrl_mcu_uart0_tx: mcu-uart0-tx-default-pins {
    		pinctrl-single,pins = <
    			J784S4_WKUP_IOPAD(0x080, PIN_OUTPUT, 2) /* (L33) WKUP_GPIO0_10.MCU_UART0_TXD */ /* AQUILA D22 */
    		>;
    	};
    
    	/* On-module TPM IRQ# */
    	pinctrl_tpm_irq: wkup-gpio0-81-default-pins {
    		pinctrl-single,pins = <
    			J784S4_WKUP_IOPAD(0x0f4, PIN_INPUT, 7) /* (V34) MCU_ADC1_AIN2.WKUP_GPIO0_81 */
    		>;
    	};
    
    	/* On-module I2C - WKUP_I2C0 */
    	pinctrl_wkup_i2c0: wkup-i2c0-default-pins {
    		pinctrl-single,pins = <
    			J784S4_WKUP_IOPAD(0x098, PIN_INPUT, 0) /* (N33) WKUP_I2C0_SCL */
    			J784S4_WKUP_IOPAD(0x09c, PIN_INPUT, 0) /* (N35) WKUP_I2C0_SDA */
    		>;
    	};
    
    	/* Aquila UART_2 */
    	pinctrl_wkup_uart0: wkup-uart0-default-pins {
    		pinctrl-single,pins = <
    			J784S4_WKUP_IOPAD(0x070, PIN_INPUT, 0)  /* (L37) WKUP_GPIO0_6.WKUP_UART0_CTSn */ /* AQUILA B32 */
    			J784S4_WKUP_IOPAD(0x074, PIN_OUTPUT, 0) /* (L36) WKUP_GPIO0_7.WKUP_UART0_RTSn */ /* AQUILA B34 */
    			J784S4_WKUP_IOPAD(0x048, PIN_INPUT, 0)  /* (K35) WKUP_UART0_RXD               */ /* AQUILA B31 */
    			J784S4_WKUP_IOPAD(0x04c, PIN_OUTPUT, 0) /* (K34) WKUP_UART0_TXD               */ /* AQUILA B33 */
    		>;
    	};
    };
    
    &wkup_pmx3 {
    	/* Aquila CTRL_WAKE1_MICO# */
    	pinctrl_ctrl_wake1_mico: wkup-gpio0-49-default-pins {
    		pinctrl-single,pins = <
    			J784S4_WKUP_IOPAD(0x000, PIN_INPUT_PULLUP, 7) /* (M33) WKUP_GPIO0_49 */ /* AQUILA D6 */
    		>;
    	};
    };
    
    &c71_0 {
    	mboxes = <&mailbox0_cluster4 &mbox_c71_0>;
    	memory-region = <&c71_0_dma_memory_region>,
    			<&c71_0_memory_region>;
    	status = "okay";
    };
    
    &c71_1 {
    	mboxes = <&mailbox0_cluster4 &mbox_c71_1>;
    	memory-region = <&c71_1_dma_memory_region>,
    			<&c71_1_memory_region>;
    	status = "okay";
    };
    
    &c71_2 {
    	mboxes = <&mailbox0_cluster5 &mbox_c71_2>;
    	memory-region = <&c71_2_dma_memory_region>,
    			<&c71_2_memory_region>;
    	status = "okay";
    };
    
    &c71_3 {
    	mboxes = <&mailbox0_cluster5 &mbox_c71_3>;
    	memory-region = <&c71_3_dma_memory_region>,
    			<&c71_3_memory_region>;
    	status = "okay";
    };
    
    /* On-module ETH_1 MDIO */
    &davinci_mdio {
    	assigned-clocks = <&k3_clks 157 174>;
    	assigned-clock-parents = <&k3_clks 157 176>;
    	assigned-clock-rates = <25000000>;
    	pinctrl-names = "default";
    	pinctrl-0 = <&pinctrl_mcu_clkout0>, <&pinctrl_mcu_mdio>;
    	status = "disabled";
    
    	mcu_phy0: ethernet-phy@0 {
    		reg = <0>;
    		interrupt-parent = <&wkup_gpio0>;
    		interrupts = <79 IRQ_TYPE_EDGE_FALLING>;
    		ti,rx-internal-delay = <DP83867_RGMIIDCTL_2_00_NS>;
    		ti,fifo-depth = <DP83867_PHYCR_FIFO_DEPTH_4_B_NIB>;
    	};
    };
    
    &dss {
    	/* TODO: Validate the functionality without this. If found redundant, remove */
    	assigned-clocks = <&k3_clks 218 2>,
    			  <&k3_clks 218 5>,
    			  <&k3_clks 218 14>,
    			  <&k3_clks 218 18>;
    	assigned-clock-parents = <&k3_clks 218 3>,
    				 <&k3_clks 218 7>,
    				 <&k3_clks 218 16>,
    				 <&k3_clks 218 22>;
    	status = "disabled";
    };
    
    &dss_ports {
    	#address-cells = <1>;
    	#size-cells = <0>;
    
    	port@0 {
    		reg = <0>;
    		dpi0_out: endpoint {
    			remote-endpoint = <&dp0_in>;
    		};
    	};
    };
    
    &dp0_ports {
    	#address-cells = <1>;
    	#size-cells = <0>;
    
    	port@0 {
    		reg = <0>;
    		dp0_in: endpoint {
    			remote-endpoint = <&dpi0_out>;
    		};
    	};
    };
    
    /* Aquila ETH_2 MDIO */
    &main_cpsw1_mdio {
    	pinctrl-names = "default";
    	pinctrl-0 = <&pinctrl_main_mdio0>;
    };
    
    /* Aquila ETH_2 SGMII PHY */
    &main_cpsw0_port2 {
    	phy-mode = "sgmii";
    	phys = <&cpsw0_phy_gmii_sel 2>, <&serdes1_sgmii_link>;
    	phy-names = "mac", "serdes";
    	status = "disabled";
    };
    
    /* Aquila PWM_1 */
    &main_ehrpwm0 {
    	pinctrl-names = "default";
    	pinctrl-0 = <&pinctrl_main_ehrpwm0_b>;
    	status = "disabled";
    };
    
    /* Aquila PWM_4_DP */
    &main_ehrpwm2 {
    	pinctrl-names = "default";
    	pinctrl-0 = <&pinctrl_main_ehrpwm2_a>;
    	status = "disabled";
    };
    
    /* Aquila PWM_2 */
    &main_ehrpwm3 {
    	pinctrl-names = "default";
    	pinctrl-0 = <&pinctrl_main_ehrpwm3_a>;
    	status = "disabled";
    };
    
    /* Aquila PWM_3_DSI */
    &main_ehrpwm5 {
    	pinctrl-names = "default";
    	pinctrl-0 = <&pinctrl_main_ehrpwm5_a>;
    	status = "disabled";
    };
    
    &main_gpio0 {
    	gpio-line-names =
    		"", /* 0 */
    		"AQUILA_B17",
    		"AQUILA_B18",
    		"AQUILA_B53",
    		"AQUILA_B54",
    		"AQUILA_B59",
    		"AQUILA_C18",
    		"AQUILA_C19",
    		"AQUILA_A13",
    		"AQUILA_A12",
    		"AQUILA_B75", /* 10 */
    		"AQUILA_B77",
    		"AQUILA_B42",
    		"AQUILA_B44",
    		"AQUILA_D19",
    		"AQUILA_D20",
    		"AQUILA_B58",
    		"AQUILA_D24",
    		"AQUILA_B45",
    		"AQUILA_C06",
    		"AQUILA_C05", /* 20 */
    		"AQUILA_B35",
    		"AQUILA_B37",
    		"AQUILA_B36",
    		"AQUILA_B38",
    		"AQUILA_C25",
    		"AQUILA_B22",
    		"AQUILA_B21",
    		"AQUILA_B74",
    		"AQUILA_D25",
    		"AQUILA_B24", /* 30 */
    		"AQUILA_B43",
    		"AQUILA_C38",
    		"AQUILA_B46",
    		"AQUILA_D23",
    		"AQUILA_C26",
    		"AQUILA_A11",
    		"AQUILA_B57",
    		"AQUILA_B19",
    		"AQUILA_D09",
    		"AQUILA_D12", /* 40 */
    		"AQUILA_C35",
    		"AQUILA_D10",
    		"AQUILA_D11",
    		"AQUILA_B81",
    		"AQUILA_B48",
    		"AQUILA_B49",
    		"AQUILA_B89",
    		"AQUILA_B90",
    		"AQUILA_B23",
    		"AQUILA_B20", /* 50 */
    		"AQUILA_D16",
    		"AQUILA_A06",
    		"AQUILA_D14",
    		"AQUILA_D15",
    		"AQUILA_D17",
    		"AQUILA_B41",
    		"AQUILA_B40",
    		"AQUILA_A01",
    		"",
    		"AQUILA_A08", /* 60 */
    		"AQUILA_A10",
    		"AQUILA_A02",
    		"AQUILA_A03",
    		"AQUILA_A05",
    		"AQUILA_A07";
    
    	status = "okay";
    };
    
    /* Aquila I2C_3_DSI1 */
    &main_i2c0 {
    	pinctrl-names = "default";
    	pinctrl-0 = <&pinctrl_main_i2c0>;
    	clock-frequency = <400000>;
    	status = "disabled";
    };
    
    /* Aquila I2C_4_CSI1 */
    &main_i2c1 {
    	pinctrl-names = "default";
    	pinctrl-0 = <&pinctrl_main_i2c1>;
    	clock-frequency = <400000>;
    	status = "disabled";
    };
    
    /* Aquila I2C_5_CSI2 */
    &main_i2c2 {
    	pinctrl-names = "default";
    	pinctrl-0 = <&pinctrl_main_i2c2>;
    	clock-frequency = <400000>;
    	status = "disabled";
    };
    
    /* Aquila I2C_6 */
    &main_i2c5 {
    	pinctrl-names = "default";
    	pinctrl-0 = <&pinctrl_main_i2c5>;
    	clock-frequency = <400000>;
    	status = "disabled";
    };
    
    &mailbox0_cluster0 {
    	interrupts = <436>;
    	status = "okay";
    
    	mbox_mcu_r5fss0_core0: mbox-mcu-r5fss0-core0 {
    		ti,mbox-rx = <0 0 0>;
    		ti,mbox-tx = <1 0 0>;
    	};
    
    	mbox_mcu_r5fss0_core1: mbox-mcu-r5fss0-core1 {
    		ti,mbox-rx = <2 0 0>;
    		ti,mbox-tx = <3 0 0>;
    	};
    };
    
    &mailbox0_cluster1 {
    	interrupts = <432>;
    	status = "okay";
    
    	mbox_main_r5fss0_core0: mbox-main-r5fss0-core0 {
    		ti,mbox-rx = <0 0 0>;
    		ti,mbox-tx = <1 0 0>;
    	};
    
    	mbox_main_r5fss0_core1: mbox-main-r5fss0-core1 {
    		ti,mbox-rx = <2 0 0>;
    		ti,mbox-tx = <3 0 0>;
    	};
    };
    
    &mailbox0_cluster2 {
    	interrupts = <428>;
    	status = "okay";
    
    	mbox_main_r5fss1_core0: mbox-main-r5fss1-core0 {
    		ti,mbox-rx = <0 0 0>;
    		ti,mbox-tx = <1 0 0>;
    	};
    
    	mbox_main_r5fss1_core1: mbox-main-r5fss1-core1 {
    		ti,mbox-rx = <2 0 0>;
    		ti,mbox-tx = <3 0 0>;
    	};
    };
    
    &mailbox0_cluster3 {
    	interrupts = <424>;
    	status = "okay";
    
    	mbox_main_r5fss2_core0: mbox-main-r5fss2-core0 {
    		ti,mbox-rx = <0 0 0>;
    		ti,mbox-tx = <1 0 0>;
    	};
    
    	mbox_main_r5fss2_core1: mbox-main-r5fss2-core1 {
    		ti,mbox-rx = <2 0 0>;
    		ti,mbox-tx = <3 0 0>;
    	};
    };
    
    &mailbox0_cluster4 {
    	interrupts = <420>;
    	status = "okay";
    
    	mbox_c71_0: mbox-c71-0 {
    		ti,mbox-rx = <0 0 0>;
    		ti,mbox-tx = <1 0 0>;
    	};
    
    	mbox_c71_1: mbox-c71-1 {
    		ti,mbox-rx = <2 0 0>;
    		ti,mbox-tx = <3 0 0>;
    	};
    };
    
    &mailbox0_cluster5 {
    	interrupts = <416>;
    	status = "okay";
    
    	mbox_c71_2: mbox-c71-2 {
    		ti,mbox-rx = <0 0 0>;
    		ti,mbox-tx = <1 0 0>;
    	};
    
    	mbox_c71_3: mbox-c71-3 {
    		ti,mbox-rx = <2 0 0>;
    		ti,mbox-tx = <3 0 0>;
    	};
    };
    
    /* Aquila CAN_1 */
    &main_mcan10 {
    	pinctrl-names = "default";
    	pinctrl-0 = <&pinctrl_main_mcan10>;
    	status = "disabled";
    };
    
    /* Aquila CAN_3 */
    &main_mcan13 {
    	pinctrl-names = "default";
    	pinctrl-0 = <&pinctrl_main_mcan13>;
    	status = "disabled";
    };
    
    &main_r5fss0_core1 {
    	mboxes = <&mailbox0_cluster1 &mbox_main_r5fss0_core1>;
    	memory-region = <&main_r5fss0_core1_dma_memory_region>,
    			<&main_r5fss0_core1_memory_region>;
    	status = "okay";
    };
    
    &main_r5fss1_core0 {
    	mboxes = <&mailbox0_cluster2 &mbox_main_r5fss1_core0>;
    	memory-region = <&main_r5fss1_core0_dma_memory_region>,
    			<&main_r5fss1_core0_memory_region>;
    	status = "okay";
    };
    
    &main_r5fss1_core1 {
    	mboxes = <&mailbox0_cluster2 &mbox_main_r5fss1_core1>;
    	memory-region = <&main_r5fss1_core1_dma_memory_region>,
    			<&main_r5fss1_core1_memory_region>;
    	status = "okay";
    };
    
    &main_r5fss2_core0 {
    	mboxes = <&mailbox0_cluster3 &mbox_main_r5fss2_core0>;
    	memory-region = <&main_r5fss2_core0_dma_memory_region>,
    			<&main_r5fss2_core0_memory_region>;
    	status = "okay";
    };
    
    &main_r5fss2_core1 {
    	mboxes = <&mailbox0_cluster3 &mbox_main_r5fss2_core1>;
    	memory-region = <&main_r5fss2_core1_dma_memory_region>,
    			<&main_r5fss2_core1_memory_region>;
    	status = "okay";
    };
    
    /* On-module eMMC */
    &main_sdhci0 {
    	disable-wp;
    	non-removable;
    	ti,driver-strength-ohm = <50>;
    	status = "okay";
    };
    
    /* Aquila SD_1 */
    &main_sdhci1 {
    	pinctrl-names = "default";
    	pinctrl-0 = <&pinctrl_main_mmc1>, <&pinctrl_sd1_cd_gpio>;
    	cd-gpios = <&main_gpio0 58 GPIO_ACTIVE_LOW>;
    	disable-wp;
    	vmmc-supply = <&reg_sdhc1_vmmc>;
    	vqmmc-supply = <&reg_sdhc1_vqmmc>;
    	ti,driver-strength-ohm = <50>;
    	ti,fails-without-test-cd;
    	status = "disabled";
    };
    
    /* Aquila SPI_2 */
    &main_spi0 {
    	pinctrl-names = "default";
    	pinctrl-0 = <&pinctrl_main_spi0>, <&pinctrl_main_spi0_cs0>;
    	status = "disabled";
    };
    
    /* Aquila SPI_1 */
    &main_spi2 {
    	pinctrl-names = "default";
    	pinctrl-0 = <&pinctrl_main_spi2>, <&pinctrl_main_spi2_cs0>;
    	status = "disabled";
    };
    
    /* Aquila UART_1 */
    &main_uart1 {
    	pinctrl-names = "default";
    	pinctrl-0 = <&pinctrl_main_uart1>;
    	status = "disabled";
    };
    
    /* Aquila UART_3, used as the Linux console */
    &main_uart8 {
    	pinctrl-names = "default";
    	pinctrl-0 = <&pinctrl_main_uart8>;
    	status = "disabled";
    };
    
    &mcu_cpsw {
    	pinctrl-names = "default";
    	pinctrl-0 = <&pinctrl_mcu_rgmii1>;
    	status = "disabled";
    };
    
    /* On-module ETH_1 RGMII */
    &mcu_cpsw_port1 {
    	phy-handle = <&mcu_phy0>;
    	phy-mode = "rgmii-rxid";
    	status = "disabled";
    };
    
    /* Aquila I2C_1 */
    &mcu_i2c0 {
    	pinctrl-names = "default";
    	pinctrl-0 = <&pinctrl_mcu_i2c0>;
    	clock-frequency = <400000>;
    	status = "disabled";
    };
    
    /* Aquila I2C_2 */
    &mcu_i2c1 {
    	pinctrl-names = "default";
    	pinctrl-0 = <&pinctrl_mcu_i2c1>;
    	clock-frequency = <400000>;
    	status = "disabled";
    };
    
    /* Aquila CAN_2 */
    &mcu_mcan0 {
    	pinctrl-names = "default";
    	pinctrl-0 = <&pinctrl_mcu_mcan0>;
    	status = "disabled";
    };
    
    /* Aquila CAN_4 */
    &mcu_mcan1 {
    	pinctrl-names = "default";
    	pinctrl-0 = <&pinctrl_mcu_mcan1>;
    	status = "disabled";
    };
    
    &mcu_r5fss0_core0 {
    	mboxes = <&mailbox0_cluster0 &mbox_mcu_r5fss0_core0>;
    	memory-region = <&mcu_r5fss0_core0_dma_memory_region>,
    			<&mcu_r5fss0_core0_memory_region>;
    	status = "okay";
    };
    
    &mcu_r5fss0_core1 {
    	mboxes = <&mailbox0_cluster0 &mbox_mcu_r5fss0_core1>;
    	memory-region = <&mcu_r5fss0_core1_dma_memory_region>,
    			<&mcu_r5fss0_core1_memory_region>;
    	status = "okay";
    };
    
    /* On-module SPI (TPM_SPI) */
    &mcu_spi0 {
    	pinctrl-names = "default";
    	pinctrl-0 = <&pinctrl_mcu_spi0>;
    	status = "okay";
    
    	tpm@0 {
    		compatible = "st,st33htpm-spi", "tcg,tpm_tis-spi";
    		reg = <0>;
    		pinctrl-names = "default";
    		pinctrl-0 = <&pinctrl_tpm_irq>;
    		interrupt-parent = <&wkup_gpio0>;
    		interrupts = <81 IRQ_TYPE_EDGE_FALLING>;
    		spi-max-frequency = <33000000>;
    	};
    };
    
    /* Aquila UART_4 */
    &mcu_uart0 {
    	pinctrl-names = "default";
    	pinctrl-0 = <&pinctrl_mcu_uart0_rx>, <&pinctrl_mcu_uart0_tx>;
    	status = "disabled";
    };
    
    &mhdp {
    	pinctrl-names = "default";
    	pinctrl-0 = <&pinctrl_main_dp0_hpd>;
    	phy-names = "dpphy";
    	phys = <&serdes4_dp0_link>;
    	status = "disabled";
    };
    
    /* Aquila QSPI_1 */
    &ospi0 {
    	pinctrl-names = "default";
    	pinctrl-0 = <&pinctrl_mcu_ospi0_8bit>, <&pinctrl_mcu_ospi0_cs0>;
    	status = "disabled";
    };
    
    /* Aquila PCIE_1 */
    &pcie0_rc {
    	pinctrl-names = "default";
    	pinctrl-0 = <&pinctrl_pcie0_reset>;
    	num-lanes = <2>;
    	phy-names = "pcie-phy";
    	phys = <&serdes1_pcie0_2l_link>;
    	reset-gpios = <&main_gpio0 32 GPIO_ACTIVE_HIGH>;
    	status = "disabled";
    };
    
    /* Aquila PCIE_2 */
    &pcie1_rc {
    	pinctrl-names = "default";
    	pinctrl-0 = <&pinctrl_pcie1_reset>;
    	num-lanes = <2>;
    	phy-names = "pcie-phy";
    	phys = <&serdes0_pcie1_2l_link>;
    	reset-gpios = <&main_gpio0 41 GPIO_ACTIVE_HIGH>;
    	status = "disabled";
    };
    
    /* On-module PCIe USB Bridge */
    &pcie2_rc {
    	num-lanes = <1>;
    	phy-names = "pcie-phy";
    	phys = <&serdes1_pcie2_1l_link>;
    	reset-gpios = <&som_gpio_expander 3 GPIO_ACTIVE_HIGH>;
    	status = "okay";
    };
    
    /* PCIE for On-module Wi-Fi */
    &pcie3_rc {
    	num-lanes = <1>;
    	phy-names = "pcie-phy";
    	phys = <&serdes0_pcie3_1l_link>;
    	reset-gpios = <&som_gpio_expander 4 GPIO_ACTIVE_HIGH>;
    	status = "okay";
    };
    
    &serdes0 {
    	status = "okay";
    
    	/* Aquila PCIE_2 */
    	serdes0_pcie1_2l_link: phy@0 {
    		reg = <0>;
    		#phy-cells = <0>;
    		resets = <&serdes_wiz0 1>, <&serdes_wiz0 2>;
    		cdns,num-lanes = <2>;
    		cdns,phy-type = <PHY_TYPE_PCIE>;
    	};
    
    	/* On-module PCIe Wi-Fi */
    	serdes0_pcie3_1l_link: phy@2 {
    		reg = <2>;
    		#phy-cells = <0>;
    		resets = <&serdes_wiz0 3>;
    		cdns,num-lanes = <1>;
    		cdns,phy-type = <PHY_TYPE_PCIE>;
    	};
    
    	/* Aquila USB0 SS */
    	serdes0_usb0_ss_link: phy@3 {
    		reg = <3>;
    		#phy-cells = <0>;
    		resets = <&serdes_wiz0 4>;
    		cdns,num-lanes = <1>;
    		cdns,phy-type = <PHY_TYPE_USB3>;
    	};
    };
    
    &serdes1 {
    	status = "okay";
    
    	/* Aquila PCIE_1 */
    	serdes1_pcie0_2l_link: phy@0 {
    		reg = <0>;
    		#phy-cells = <0>;
    		resets = <&serdes_wiz1 1>, <&serdes_wiz1 2>;
    		cdns,num-lanes = <2>;
    		cdns,phy-type = <PHY_TYPE_PCIE>;
    	};
    
    	/* On-module PCIe USB Bridge */
    	serdes1_pcie2_1l_link: phy@2 {
    		reg = <2>;
    		#phy-cells = <0>;
    		resets = <&serdes_wiz1 3>;
    		cdns,num-lanes = <1>;
    		cdns,phy-type = <PHY_TYPE_PCIE>;
    	};
    
    	/* Aquila ETH_2 xGMII */
    	serdes1_sgmii_link: phy@3 {
    		reg = <3>;
    		#phy-cells = <0>;
    		resets = <&serdes_wiz1 4>;
    		cdns,num-lanes = <1>;
    		cdns,phy-type = <PHY_TYPE_SGMII>;
    	};
    };
    
    &serdes4 {
    	status = "disabled";
    
    	/* Aquila DP_1 */
    	serdes4_dp0_link: phy@0 {
    		reg = <0>;
    		#phy-cells = <0>;
    		resets = <&serdes_wiz4 1>, <&serdes_wiz4 2>,
    			 <&serdes_wiz4 3>, <&serdes_wiz4 4>;
    		cdns,max-bit-rate = <2700>;
    		cdns,num-lanes = <4>;
    		cdns,phy-type = <PHY_TYPE_DP>;
    	};
    };
    
    &serdes_refclk {
    	clock-frequency = <100000000>;
    };
    
    &serdes_ln_ctrl {
    	idle-states = <J784S4_SERDES0_LANE0_PCIE1_LANE0>,     /* Aquila PCIE_2 L0          */
    		      <J784S4_SERDES0_LANE1_PCIE1_LANE1>,     /* Aquila PCIE_2 L1          */
    		      <J784S4_SERDES0_LANE2_PCIE3_LANE0>,     /* On-module PCIe Wi-Fi      */
    		      <J784S4_SERDES0_LANE3_USB>,             /* Aquila USB0 SS            */
    		      <J784S4_SERDES1_LANE0_PCIE0_LANE0>,     /* Aquila PCIE_1 L0          */
    		      <J784S4_SERDES1_LANE1_PCIE0_LANE1>,     /* Aquila PCIE_1 L1          */
    		      <J784S4_SERDES1_LANE2_PCIE2_LANE0>,     /* On-module PCIe USB Bridge */
    		      <J784S4_SERDES1_LANE3_QSGMII_LANE2>,    /* Aquila ETH_2 xGMII        */
    		      <J784S4_SERDES2_LANE0_QSGMII_LANE5>,    /* Aquila SGMII MSP_6        */
    		      <J784S4_SERDES2_LANE1_QSGMII_LANE6>,    /* Aquila SGMII MSP_7        */
    		      <J784S4_SERDES2_LANE2_QSGMII_LANE7>,    /* Aquila SGMII MSP_8        */
    		      <J784S4_SERDES2_LANE3_QSGMII_LANE8>,    /* Aquila SGMII MSP_9        */
    		      <J784S4_SERDES4_LANE0_EDP_LANE0>,       /* Aquila DP L0              */
    		      <J784S4_SERDES4_LANE1_EDP_LANE1>,       /* Aquila DP L1              */
    		      <J784S4_SERDES4_LANE2_EDP_LANE2>,       /* Aquila DP L2              */
    		      <J784S4_SERDES4_LANE3_EDP_LANE3>;       /* Aquila DP L3              */
    };
    
    &serdes_wiz0 {
    	status = "okay";
    };
    
    &serdes_wiz1 {
    	status = "okay";
    };
    
    &serdes_wiz4 {
    	status = "disabled";
    };
    
    /* Aquila ADC_[1-4] */
    &tscadc0 {
    	pinctrl-names = "default";
    	pinctrl-0 = <&pinctrl_mcu_adc0>;
    	status = "disabled";
    
    	adc {
    		ti,adc-channels = <0 1 2 3>;
    	};
    };
    
    &usb0 {
    	phys = <&serdes0_usb0_ss_link>;
    	phy-names = "cdns3,usb3-phy";
    	dr_mode = "otg";
    	maximum-speed = "super-speed";
    	status = "disabled";
    };
    
    &usb_serdes_mux {
    	idle-states = <0>; /* USB0 to SERDES lane 3 */
    };
    
    &usbss0 {
    	pinctrl-names = "default";
    	pinctrl-0 = <&pinctrl_main_usb0ss>;
    	ti,vbus-divider;
    	status = "disabled";
    };
    
    &wkup_gpio0 {
    	gpio-line-names =
    		"", /* 0 */
    		"",
    		"",
    		"AQUILA_C53",
    		"AQUILA_B55",
    		"AQUILA_B56",
    		"AQUILA_B32",
    		"AQUILA_B34",
    		"AQUILA_C17",
    		"AQUILA_C16",
    		"AQUILA_D22", /* 10 */
    		"",
    		"",
    		"",
    		"",
    		"",
    		"AQUILA_B65",
    		"AQUILA_C20",
    		"AQUILA_B63",
    		"AQUILA_B68",
    		"AQUILA_B67", /* 20 */
    		"AQUILA_B61",
    		"AQUILA_B60",
    		"AQUILA_B70",
    		"AQUILA_B71",
    		"AQUILA_B72",
    		"AQUILC_B73",
    		"AQUILA_B66",
    		"AQUILA_B62",
    		"AQUILA_C21",
    		"AQUILA_C22", /* 30 */
    		"AQUILA_C23",
    		"AQUILA_C01",
    		"AQUILA_C02",
    		"",
    		"AQUILA_D21",
    		"",
    		"AQUILA_C03",
    		"AQUILA_C24",
    		"AQUILA_C04",
    		"AQUILA_B84", /* 40 */
    		"",
    		"AQUILA_B86",
    		"AQUILA_B87",
    		"",
    		"",
    		"AQUILA_B83",
    		"",
    		"",
    		"",
    		"", /* 50 */
    		"",
    		"",
    		"",
    		"",
    		"",
    		"",
    		"",
    		"AQUILA_B31",
    		"AQUILA_B33",
    		"AQUILA_B50", /* 60 */
    		"AQUILA_B51",
    		"",
    		"",
    		"",
    		"AQUILA_D08",
    		"",
    		"",
    		"",
    		"",
    		"", /* 70 */
    		"AQUILA_D01",
    		"AQUILA_D02",
    		"AQUILA_D03",
    		"AQUILA_D04",
    		"AQUILA_D54",
    		"AQUILA_D55",
    		"AQUILA_C55",
    		"AQUILA_C56",
    		"",
    		"AQUILA_C36", /* 80 */
    		"",
    		"",
    		"",
    		"",
    		"",
    		"",
    		"AQUILA_D07",
    		"";
    
    	status = "okay";
    };
    
    /* On-module I2C - WKUP_I2C0 */
    &wkup_i2c0 {
    	pinctrl-names = "default";
    	pinctrl-0 = <&pinctrl_wkup_i2c0>;
    	clock-frequency = <400000>;
    	status = "okay";
    
    	som_gpio_expander: gpio@21 {
    		compatible = "ti,tca6408";
    		reg = <0x21>;
    		#gpio-cells = <2>;
    		gpio-controller;
    		gpio-line-names =
    			"USB_MUX_SEL",
    			"COLD_RESET_REQ",
    			"PWR_DOWN_REQ",
    			"PCIE_3_RESET#",
    			"PCIE_4_RESET#",
    			"WIFI_DISABLE",
    			"BT_DISABLE",
    			"SDIO_PWR_SEL_3.3V";
    	};
    
    	rtc_i2c: rtc@32 {
    		compatible = "epson,rx8130";
    		reg = <0x32>;
    	};
    
    	pmic_tps6594: pmic@48 {
    		compatible = "ti,tps6594-q1";
    		reg = <0x48>;
    		pinctrl-names = "default";
    		pinctrl-0 = <&pinctrl_pmic_int>;
    		/* TODO : Explore option to use EXTINTN internal IRQ# */
    		interrupt-parent = <&main_gpio0>;
    		interrupts = <0 IRQ_TYPE_EDGE_FALLING>;
    
    		#gpio-cells = <2>;
    		gpio-controller;
    
    		buck12-supply = <&reg_vin>;
    		buck3-supply = <&reg_vin>;
    		buck4-supply = <&reg_vin>;
    		buck5-supply = <&reg_vin>;
    		ldo1-supply = <&reg_vin>;
    		ldo2-supply = <&reg_vin>;
    		ldo3-supply = <&reg_vin>;
    		ldo4-supply = <&reg_vin>;
    		system-power-controller;
    		ti,primary-pmic;
    
    		regulators {
    			reg_vdd_ddr: buck12 {
    				regulator-always-on;
    				regulator-boot-on;
    				regulator-max-microvolt = <1100000>;
    				regulator-min-microvolt = <1100000>;
    				regulator-name = "+V1.1_VDD_DDR (PMIC BUCK12)";
    			};
    
    			reg_vdd_ram: buck3 {
    				regulator-always-on;
    				regulator-boot-on;
    				regulator-max-microvolt = <850000>;
    				regulator-min-microvolt = <850000>;
    				regulator-name = "+V0.85_VDD_RAM (PMIC BUCK3)";
    			};
    
    			reg_vdd_io: buck4 {
    				regulator-always-on;
    				regulator-boot-on;
    				regulator-max-microvolt = <1800000>;
    				regulator-min-microvolt = <1800000>;
    				regulator-name = "+V1.8_VDD_IO (PMIC BUCK4)";
    			};
    
    			reg_vdd_mcu: buck5 {
    				regulator-always-on;
    				regulator-boot-on;
    				regulator-max-microvolt = <850000>;
    				regulator-min-microvolt = <850000>;
    				regulator-name = "+V0.85_VDD_MCU (PMIC BUCK5)";
    			};
    
    			reg_vda_phy: ldo1 {
    				regulator-always-on;
    				regulator-boot-on;
    				regulator-max-microvolt = <1800000>;
    				regulator-min-microvolt = <1800000>;
    				regulator-name = "+V1.8_VDA_PHY (PMIC LDO1)";
    			};
    
    			reg_mcu_io: ldo2 {
    				regulator-always-on;
    				regulator-boot-on;
    				regulator-min-microvolt = <1800000>;
    				regulator-max-microvolt = <1800000>;
    				regulator-name = "+V1.8_MCU_IO (PMIC LDO2)";
    			};
    
    			reg_vda_dll: ldo3 {
    				regulator-always-on;
    				regulator-boot-on;
    				regulator-min-microvolt = <800000>;
    				regulator-max-microvolt = <800000>;
    				regulator-name = "+V0.8_VDA_DLL (PMIC LDO3)";
    			};
    
    			reg_vda_pll: ldo4 {
    				regulator-always-on;
    				regulator-boot-on;
    				regulator-min-microvolt = <1800000>;
    				regulator-max-microvolt = <1800000>;
    				regulator-name = "+V0.8_VDA_PLL (PMIC LDO4)";
    			};
    		};
    	};
    
    	sensor@4f {
    		compatible = "ti,tmp1075";
    		reg = <0x4f>;
    	};
    
    	eeprom@50 {
    		compatible = "st,24c02", "atmel,24c02";
    		pagesize = <16>;
    		reg = <0x50>;
    	};
    };
    
    &wkup_gpio_intr {
    	status = "okay";
    };
    
    /* Aquila UART_2 */
    &wkup_uart0 {
    	pinctrl-names = "default";
    	pinctrl-0 = <&pinctrl_wkup_uart0>;
    	status = "disabled";
    };
    

    Kind regards,
    Emanuele

  • Hi Tanmay,

    it is working!


    I have just realized that the patch was already added to mainline kernel: https://lore.kernel.org/all/20231221102956.754617-2-c-vankar@ti.com/

    I'm just saying that cause I effectively checked the mainline patches but missed this one.

    Thank you and kind regards,
    Emanuele