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.

AM6548: USB Gadget Serial Issue

Part Number: AM6548

Tool/software:

I'm trying to enable the USB serial gadget function. When I load g_serial, it shows as "ready," but when I connect it to a PC, I can never detect the device (COM port) in Device Manager.

Also, after I connect the Type-C cable, the Kernel still shows "Disconnected," even though the related Vbus is detected as HIGH.

root@am65xx-evm:~# modprobe g_serial
[  195.827441] g_serial gadget.0: Gadget Serial v2.4
[  195.827461] g_serial gadget.0: g_serial ready
root@am65xx-evm:~# ls /dev/ttyGS*
/dev/ttyGS0
root@am65xx-evm:~#

root@am65xx-evm:/sys/kernel/config/usb_gadget/g1# gpioget gpiochip0 5

1

root@am65xx-evm:/sys/kernel/config/usb_gadget/g1# cat /sys/kernel/debug/usb/4010000.usb/link_state

Disconnected

The relevant device tree settings are below. Can someone tell me how to fix this?

&wkup_pmx0{

usb5vsignal_pins_default: usb5vsignal_pins_default {
		pinctrl-single,pins = <
			AM65X_WKUP_IOPAD(0x00c4, PIN_INPUT, 7) /* (AD3) WKUP_GPIO0_5 */
		>;
	};

}

&usb0_phy {
	status = "okay";
};

//typeC interface
&usb0 {
	status = "okay";
	pinctrl-names = "default";
	//pinctrl-0 = <&usb0_pins_default>;
	pinctrl-0 = <&usb5vsignal_pins_default>;
	vbus-gpios = <&wkup_gpio0 5 GPIO_ACTIVE_HIGH>;
	dr_mode = "peripheral";
};

&dwc3_0 {
	status = "okay";
};

  • Hi YunEn,

    Please attach the USB section of your board schematics, including all the connections from AM65x to the USB receptacle.

  • Hi Bin Liu , 

    I have a circuit diagram for a USB Type-C interface, as shown in the image as USB0. Can you tell me how to solve the problem?

  • When you connect AM65x USB0 type-C port to a PC, do you measure the USB0_VBUS pin on AM65x to have 5v?

  • My analysis is that the state is "not attached," which means the host has not detected the device. However, gpioget gpiochip0 5 returns 1, which is the VBUS detect pin, indicating that the hardware actually detects the host's 5V. Therefore, I believe the problem is that although there is power on the hardware, the Device Tree Source (DTS) does not properly inform the dwc3 driver about the VBUS detect GPIO or the regulator. As a result, the controller is permanently stuck in the "not attached" state.

    But I'm not sure how I should modify my Device Tree to fix this.

    root@am65xx-evm:~# cat /sys/class/udc/4010000.usb/state 
    not attached
    
    root@am65xx-evm:~# gpioget gpiochip0 5 
    1
    
    root@am65xx-evm:~# dmesg | grep -i -E 'dwc3|g_serial|udc|gadget' 
    [ 2321.461199] udc 4010000.usb: soft-connect without a gadget driver 
    [ 2373.249089] g_serial gadget.0: Gadget Serial v2.4 [ 2373.249109] g_serial gadget.0: g_serial ready 
    [ 2387.078122] udc 4010000.usb: UDC had already started

  • To provide additional context, I have upgraded from Kernel 5.x to Kernel 6.1 (the latest TI SDK 09_03_05_02). On the hardware side, I tested using the old BSP version, and everything worked correctly.

    However, when testing with the 6.1 DTS, issues appeared. Attached is the DTS file from the 5.x version.

    Currently, the device tree configuration related to typeC (USB0), including Pinctrl and usb0_phy dwc3_0, is identical to the 5.1 DTS. I have verified that USB0_VBUS indeed has 5V, and using gpioget gpiochip0 5 returns 1.

    However, the UDC status always shows:

    > cat /sys/kernel/debug/usb/4010000.usb/link_state
    Disconnected
    
    > cat /sys/class/udc/status
    not attached
    

    I suspect that the issue may be with dwc3 or that the kernel is not correctly using the GPIO I configured (AD3 WKUP_GPIO0_5) as VBUS. Perhaps it is simply being treated as a regular GPIO, and therefore cannot drive USB correctly.

    If there is a solution or if you need any additional information, please let me know. Thank you very much!

    Kernel 5.1 Dts :

    // SPDX-License-Identifier: GPL-2.0
    /*
     * Copyright (C) 2016-2018 Texas Instruments Incorporated - http://www.ti.com/
     */
    
    /dts-v1/;
    
    #include "k3-am654.dtsi"
    #include <dt-bindings/input/input.h>
    #include <dt-bindings/net/ti-dp83867.h>
    
    / {
    	compatible =  "ti,am654-evm", "ti,am654";
    	model = "Texas Instruments AM654 Base Board";
    
    	aliases {
    		ethernet1 = &pruss1_emac0; //Ethernet port 0
    		//ethernet2 = &pruss1_emac1; //EtherCAT port 1
    		ethernet2 = &pruss2_emac0; //Ethernet port 1
    	};
    
    	chosen {
    		stdout-path = "serial2:115200n8";
    		bootargs = "earlycon=ns16550a,mmio32,0x02800000";
    	};
    
    	memory@80000000 {
    		device_type = "memory";
    #if 0
    			/* 4G RAM */
    			reg = <0x00000000 0x80000000 0x00000000 0x80000000>,
    				<0x00000008 0x80000000 0x00000000 0x80000000>;
    #endif
    			/* 1G RAM */
    			reg = <0x00000000 0x80000000 0x00000000 0x40000000>;
            };
    
    	reserved_memory: reserved-memory {
    		#address-cells = <2>;
    		#size-cells = <2>;
    		ranges;
    
    		secure_ddr: secure_ddr@9e800000 {
    			reg = <0 0x9e800000 0 0x01800000>; /* for OP-TEE */
    			alignment = <0x1000>;
    			no-map;
    		};
    
    		mcu_r5fss0_core0_dma_memory_region: r5f-dma-memory@a0000000 {
    			compatible = "shared-dma-pool";
    			reg = <0 0xa0000000 0 0x100000>;
    			no-map;
    		};
    
    		mcu_r5fss0_core0_memory_region: r5f-memory@a0100000 {
    			compatible = "shared-dma-pool";
    			reg = <0 0xa0100000 0 0xf00000>;
    			no-map;
    		};
    
    		mcu_r5fss0_core1_dma_memory_region: r5f-dma-memory@a1000000 {
    			compatible = "shared-dma-pool";
    			reg = <0 0xa1000000 0 0x100000>;
    			no-map;
    		};
    
    		mcu_r5fss0_core1_memory_region: r5f-memory@a1100000 {
    			compatible = "shared-dma-pool";
    			reg = <0 0xa1100000 0 0xf00000>;
    			no-map;
    		};
    
    		rtos_ipc_memory_region: ipc-memories@a2000000 {
    			reg = <0x00 0xa2000000 0x00 0x00200000>;
    			alignment = <0x1000>;
    			no-map;
    		};
    	};
    
    	eeprom_gpio: eeprom_gpio {
    		compatible = "eeprom-gpio";
    		eeprom-gpio = <&wkup_gpio0 7 GPIO_ACTIVE_HIGH>;
    	};
    
    	clk_ov5640_fixed: fixed-clock-ov5640 {
    		compatible = "fixed-clock";
    		#clock-cells = <0>;
    		clock-frequency = <24000000>;
    	};
    
    	leds {
    		pinctrl-names = "default";
    		pinctrl-0 = <&ledgpio0_pins_default &ledgpio1_pins_default &ledgpio2_pins_default>;
    
    		compatible = "gpio-leds";
    
    		led1 {
    			label = "LED-RUN";
    			gpios = <&main_gpio0 27 GPIO_ACTIVE_LOW>;
    		};
    
    		led2 {
    			label = "LED-ERR";
    			gpios = <&main_gpio1 70 GPIO_ACTIVE_HIGH>;
    		};
    
    		led3 {
    			label = "LED-BUS";
    			gpios = <&main_gpio1 48 GPIO_ACTIVE_HIGH>;
    		};
    
    		led4 {
    			label = "LED-232TX";
    			gpios = <&main_gpio1 21 GPIO_ACTIVE_HIGH>;
    		};
    
    		led5 {
    			label = "LED-232RX";
    			gpios = <&main_gpio0 26 GPIO_ACTIVE_HIGH>;
    		};
    
    		led6 {
    			label = "LED-485TX";
    			gpios = <&main_gpio1 87 GPIO_ACTIVE_HIGH>;
    		};
    
    		led7 {
    			label = "LED-485RX";
    			gpios = <&main_gpio1 46 GPIO_ACTIVE_HIGH>;
    		};
    
    		led8 {
    			label = "LED-SD";
    			gpios = <&main_gpio0 23 GPIO_ACTIVE_HIGH>;
    		};
    	};
    
    	//Eric+{
    		/* Dual Ethernet application node on PRU-ICSSG1 */
    	pruss1_eth: pruss1_eth {
    		compatible = "ti,am654-icssg-prueth";
    		pinctrl-names = "default";
    		pinctrl-0 = <&ethernet0_pins_default>;
    		sram = <&msmc_ram>;
    		prus = <&pru1_0>, <&rtu1_0>, <&tx_pru1_0>,
    				<&pru1_1>, <&rtu1_1>, <&tx_pru1_1>;
    		firmware-name = "ti-pruss/am65x-sr2-pru0-prueth-fw.elf",
    				"ti-pruss/am65x-sr2-rtu0-prueth-fw.elf",
    				"ti-pruss/am65x-sr2-txpru0-prueth-fw.elf",
    				"ti-pruss/am65x-sr2-pru1-prueth-fw.elf",
    				"ti-pruss/am65x-sr2-rtu1-prueth-fw.elf",
    				"ti-pruss/am65x-sr2-txpru1-prueth-fw.elf";
    
    		ti,pruss-gp-mux-sel = <2>,      /* MII mode */
    						<2>,
    						<2>,
    						<2>,      /* MII mode */
    						<2>,
    						<2>;
    		mii-g-rt = <&icssg1_mii_g_rt>;
    		mii-rt = <&icssg1_mii_rt>;
    		dma-coherent;
    		dmas = <&main_udmap 0xc200>, /* egress slice 0 */
    			   <&main_udmap 0xc201>, /* egress slice 0 */
    			   <&main_udmap 0xc202>, /* egress slice 0 */
    			   <&main_udmap 0xc203>, /* egress slice 0 */
    			   <&main_udmap 0xc204>, /* egress slice 1 */
    			   <&main_udmap 0xc205>, /* egress slice 1 */
    			   <&main_udmap 0xc206>, /* egress slice 1 */
    			   <&main_udmap 0xc207>, /* egress slice 1 */
    
    			   <&main_udmap 0x4200>, /* ingress slice 0 */
    			   <&main_udmap 0x4201>, /* ingress slice 1 */
    			   <&main_udmap 0x4202>, /* mgmnt rsp slice 0 */
    			   <&main_udmap 0x4203>; /* mgmnt rsp slice 1 */
    		dma-names = "tx0-0", "tx0-1", "tx0-2", "tx0-3",
    					"tx1-0", "tx1-1", "tx1-2", "tx1-3",
    					"rx0", "rx1",
    					"rxmgm0", "rxmgm1";
    
            pruss1_emac0: ethernet-mii0 {
                    phy-handle = <&pruss1_eth0_phy>;
                    phy-mode = "rgmii-rxid";
                    ti,half-duplex-capable;
                    interrupts-extended = <&icssg1_intc 24>;
                    syscon-rgmii-delay = <&scm_conf 0x4110>;
                    iep = <&icssg1_iep0>;
                    /* Filled in by bootloader */
                    local-mac-address = [00 00 00 00 00 00];
            };
    #if 0
            pruss1_emac1: ethernet-mii1 {
                    phy-handle = <&pruss1_eth1_phy>;
                    phy-mode = "rgmii-rxid";
                    interrupts-extended = <&icssg1_intc 25>;
                    syscon-rgmii-delay = <&scm_conf 0x4114>;
                    /* Filled in by bootloader */
                    local-mac-address = [00 00 00 00 00 00];
            };
    #endif
    	};
    	//Eric+}
    
    	/* Single Ethernet application node on PRU-ICSSG2 */ 
    	pruss2_eth: pruss2_eth {
    		compatible = "ti,am654-icssg-prueth";
    		pinctrl-names = "default";
    		pinctrl-0 = <&ethernet1_pins_default>;
    		sram = <&msmc_ram>;
    		prus = <&pru2_0>, <&rtu2_0>, <&tx_pru2_0>,
    			<&pru2_1>, <&rtu2_1>, <&tx_pru2_1>;
    		firmware-name = "ti-pruss/am65x-sr2-pru0-prueth-fw.elf",
    				"ti-pruss/am65x-sr2-rtu0-prueth-fw.elf",
    				"ti-pruss/am65x-sr2-txpru0-prueth-fw.elf",
    				"ti-pruss/am65x-sr2-pru1-prueth-fw.elf",
    				"ti-pruss/am65x-sr2-rtu1-prueth-fw.elf",
    				"ti-pruss/am65x-sr2-txpru1-prueth-fw.elf";
    
    		ti,pruss-gp-mux-sel = <2>,      /* MII mode */
    				      <2>,
    				      <2>,
    				      <2>,	/* MII mode */
    				      <2>,
    				      <2>;
    		mii-g-rt = <&icssg2_mii_g_rt>;
    		mii-rt = <&icssg2_mii_rt>;
    		dma-coherent;
    		dmas = <&main_udmap 0xc300>, /* egress slice 0 */
    		       <&main_udmap 0xc301>, /* egress slice 0 */
    		       <&main_udmap 0xc302>, /* egress slice 0 */
    		       <&main_udmap 0xc303>, /* egress slice 0 */
    		       <&main_udmap 0xc304>, /* egress slice 1 */
    		       <&main_udmap 0xc305>, /* egress slice 1 */
    		       <&main_udmap 0xc306>, /* egress slice 1 */
    		       <&main_udmap 0xc307>, /* egress slice 1 */
    
    		       <&main_udmap 0x4300>, /* ingress slice 0 */
    		       <&main_udmap 0x4301>, /* ingress slice 1 */
    		       <&main_udmap 0x4302>, /* mgmnt rsp slice 0 */
    		       <&main_udmap 0x4303>; /* mgmnt rsp slice 1 */
    		dma-names = "tx0-0", "tx0-1", "tx0-2", "tx0-3",
    			    "tx1-0", "tx1-1", "tx1-2", "tx1-3",
    			    "rx0", "rx1",
    			    "rxmgm0", "rxmgm1";
    
    		pruss2_emac0: ethernet-mii0 {
    			phy-handle = <&pruss2_eth0_phy>;
    			phy-mode = "rgmii-rxid";
    			ti,half-duplex-capable;
    			interrupts-extended = <&icssg2_intc 24>;
    			syscon-rgmii-delay = <&scm_conf 0x4120>;
    			iep = <&icssg2_iep0>;
    			/* Filled in by bootloader */
    			local-mac-address = [00 00 00 00 00 00];
    		};
    	};
    };
    
    &wkup_pmx0 {
    	pinctrl-names = "default";
    	pinctrl-0 = <&eepromdone_pins_default &iovolctrl_pins_default &vbusctrl_pins_default &mcuboot_pins_default>;
    
    	phy2ax58100_pins_default: phy2ax58100_pins_default {
    		pinctrl-single,pins = <
    			AM65X_WKUP_IOPAD(0x0058, PIN_INPUT, 1) /* (N4) MCU_RGMII1_TX_CTL.MCU_RMII1_CRS_DV */
    			AM65X_WKUP_IOPAD(0x005c, PIN_INPUT, 1) /* (N5) MCU_RGMII1_RX_CTL.MCU_RMII1_RX_ER */
    			AM65X_WKUP_IOPAD(0x0068, PIN_OUTPUT, 1) /* (M4) MCU_RGMII1_TD1.MCU_RMII1_TXD1 */
    			AM65X_WKUP_IOPAD(0x006c, PIN_OUTPUT, 1) /* (M5) MCU_RGMII1_TD0.MCU_RMII1_TXD0 */
    			AM65X_WKUP_IOPAD(0x0080, PIN_INPUT, 1) /* (M6) MCU_RGMII1_RD1.MCU_RMII1_RXD1 */
    			AM65X_WKUP_IOPAD(0x0084, PIN_INPUT, 1) /* (L6) MCU_RGMII1_RD0.MCU_RMII1_RXD0 */
    			AM65X_WKUP_IOPAD(0x0070, PIN_OUTPUT, 1) /* (N1) MCU_RGMII1_TXC.MCU_RMII1_TX_EN */
    			AM65X_WKUP_IOPAD(0x0074, PIN_INPUT, 1) /* (M1) MCU_RGMII1_RXC.MCU_RMII1_REF_CLK */
    		>;
    	};
    
    	mcan0_pins_default: mcan0_pins_default {
    		pinctrl-single,pins = <
    			AM65X_WKUP_IOPAD(0x00ac, PIN_INPUT, 0) /* (W2) MCU_MCAN0_RX */
    			AM65X_WKUP_IOPAD(0x00a8, PIN_OUTPUT, 0) /* (W1) MCU_MCAN0_TX */
    		>;
    	};
    
    	phy2ax58100_mdio2_pins_default: phy2ax58100_mdio2_pins_default {
    		pinctrl-single,pins = <
    			AM65X_WKUP_IOPAD(0x008c, PIN_OUTPUT, 0) /* (L1) MCU_MDIO0_MDC */
    			AM65X_WKUP_IOPAD(0x0088, PIN_INPUT, 0) /* (L4) MCU_MDIO0_MDIO */
    		>;
    	};
    
    	usb5vsignal_pins_default: usb5vsignal_pins_default {
    		pinctrl-single,pins = <
    			AM65X_WKUP_IOPAD(0x00c4, PIN_INPUT, 7) /* (AD3) WKUP_GPIO0_5 */
    		>;
    	};
    
    	iovolctrl_pins_default: iovolctrl_pins_default {
    		pinctrl-single,pins = <
    			AM65X_WKUP_IOPAD(0x00c8, PIN_OUTPUT, 7) /* (AC2) WKUP_GPIO0_6 */ /*IO_VOLCTRL*/
    		>;
    	};
    
    	eepromdone_pins_default: eepromdone_pins_default {
    		pinctrl-single,pins = <
    			AM65X_WKUP_IOPAD(0x00cc, PIN_INPUT, 7) /* (AC1) WKUP_GPIO0_7 */ /*EEP_DONE*/
    		>;
    	};
    
    	vbusctrl_pins_default: vbusctrl_pins_default {
    		pinctrl-single,pins = <
    			AM65X_WKUP_IOPAD(0x00D8, PIN_OUTPUT, 7) /* (AB3) WKUP_GPIO0_10 */ /*USBVBUSCTRL*/
    		>;
    	};
    
        mcuboot_pins_default: mcuboot_pins_default {
    		pinctrl-single,pins = <
    			AM65X_WKUP_IOPAD(0x00B0, PIN_INPUT, 7) /* (AF4) WKUP_GPIO0_0 */ /*MCU-BOOT0*/
                AM65X_WKUP_IOPAD(0x00B4, PIN_INPUT, 7) /* (AF3) WKUP_GPIO0_1 */ /*MCU-BOOT1*/
                AM65X_WKUP_IOPAD(0x00B8, PIN_INPUT_PULLDOWN, 7) /* (AE3) WKUP_GPIO0_2 */ /*MCU-BOOT2*/
                AM65X_WKUP_IOPAD(0x00BC, PIN_INPUT_PULLDOWN, 7) /* (AD1) WKUP_GPIO0_3 */ /*MCU-BOOT3*/
                AM65X_WKUP_IOPAD(0x00C0, PIN_INPUT_PULLDOWN, 7) /* (AC3) WKUP_GPIO0_4 */ /*MCU-BOOT4*/
                AM65X_WKUP_IOPAD(0x00D0, PIN_INPUT_PULLDOWN, 7) /* (AC5) WKUP_GPIO0_8 */ /*MCU-BOOT8*/
                AM65X_WKUP_IOPAD(0x00D4, PIN_INPUT, 7) /* (AB4) WKUP_GPIO0_9 */ /*MCU-BOOT9*/
                AM65X_WKUP_IOPAD(0x0098, PIN_INPUT_PULLDOWN, 7) /* (Y2) */ /*MCU-BOOT5*/
                AM65X_WKUP_IOPAD(0x0090, PIN_INPUT_PULLDOWN, 7) /* (Y1) */ /*MCU-BOOT6*/
                AM65X_WKUP_IOPAD(0x0094, PIN_INPUT_PULLDOWN, 7) /* (Y3) */ /*MCU-BOOT7*/
    		>;
    	};
    };
    
    &main_pmx0 {
    	pinctrl-names = "default";
    	pinctrl-0 = <&gpio0_pins_default &gpio1_pins_default>;
    
    	gpio1_pins_default: gpio1_pins_default {
    		pinctrl-single,pins = <
    			AM65X_IOPAD(0x01ec, PIN_OUTPUT, 7)  /* (AG11) GPIO1_27 */ /*Latch*/
    			AM65X_IOPAD(0x01f0, PIN_INPUT, 7)   /* (AD11) GPIO1_28 */ /*/DO-FAULT*/
    			AM65X_IOPAD(0x01f4, PIN_INPUT, 1)   /* (V24) PRG0_PRU0_GPO0.GPIO1_29 */
    			AM65X_IOPAD(0x01f8, PIN_INPUT, 1)   /* (W25) PRG0_PRU0_GPO1.GPIO1_30 */
    			AM65X_IOPAD(0x01fc, PIN_INPUT, 1)   /* (W24) PRG0_PRU0_GPO2.GPIO1_31 */
    			AM65X_IOPAD(0x0200, PIN_INPUT, 1)   /* (AA27) PRG0_PRU0_GPO3.GPIO1_32 */
    			AM65X_IOPAD(0x0204, PIN_INPUT, 1)   /* (Y24) PRG0_PRU0_GPO4.GPIO1_33 */
    			AM65X_IOPAD(0x0208, PIN_INPUT, 1)   /* (V28) PRG0_PRU0_GPO5.GPIO1_34 */
    			AM65X_IOPAD(0x020c, PIN_INPUT, 1)   /* (Y25) PRG0_PRU0_GPO6.GPIO1_35 */
    			AM65X_IOPAD(0x0210, PIN_INPUT, 1)   /* (U27) PRG0_PRU0_GPO7.GPIO1_36 */
    			AM65X_IOPAD(0x0214, PIN_INPUT, 7)   /* (V27) PRG0_PRU0_GPO8.GPIO1_37 */
    			AM65X_IOPAD(0x0218, PIN_INPUT, 7)   /* (V26) PRG0_PRU0_GPO9.GPIO1_38 */
    			AM65X_IOPAD(0x021c, PIN_INPUT, 7)   /* (U25) PRG0_PRU0_GPO10.GPIO1_39 */
    			AM65X_IOPAD(0x0220, PIN_INPUT, 7)   /* (AB25) PRG0_PRU0_GPO11.GPIO1_40 */
    			AM65X_IOPAD(0x0224, PIN_INPUT, 7)   /* (AD27) PRG0_PRU0_GPO12.GPIO1_41 */
    			AM65X_IOPAD(0x0228, PIN_INPUT, 7)   /* (AC26) PRG0_PRU0_GPO13.GPIO1_42 */
    			AM65X_IOPAD(0x022c, PIN_INPUT, 7)   /* (AD26) PRG0_PRU0_GPO14.GPIO1_43 */
    			AM65X_IOPAD(0x0230, PIN_INPUT, 7)   /* (AA24) PRG0_PRU0_GPO15.GPIO1_44 */
    			AM65X_IOPAD(0x0234, PIN_INPUT, 1)   /* (AD28) GPIO1_45 */ /*HS_PRU0_LV*/
    			AM65X_IOPAD(0x023C, PIN_OUTPUT, 7)   /* (V25) GPIO1_47 */ /*HS_PRU0_IRQ*/
    			AM65X_IOPAD(0x0244, PIN_OUTPUT_PULLDOWN, 7) /* (AB28) PRG0_PRU1_GPO0.GPIO1_49 */ /*****************************************************************************/
    			AM65X_IOPAD(0x0248, PIN_OUTPUT_PULLDOWN, 7) /* (AC28) PRG0_PRU1_GPO1.GPIO1_50 */ /*We set the mode as 7 due to PRU cannot control default status of output pin*/
    			AM65X_IOPAD(0x024c, PIN_OUTPUT_PULLDOWN, 7) /* (AC27) PRG0_PRU1_GPO2.GPIO1_51 */ /*And we set the mode back to 0 using memdev2 after PRU init*/
    			AM65X_IOPAD(0x0250, PIN_OUTPUT_PULLDOWN, 7) /* (AB26) PRG0_PRU1_GPO3.GPIO1_52 */ /*****************************************************************************/
    			AM65X_IOPAD(0x0284, PIN_INPUT, 7)   /* (AC24) GPIO1_65 */
    			AM65X_IOPAD(0x0290, PIN_INPUT, 7)   /* (W26) GPIO1_68 */
    			AM65X_IOPAD(0x0294, PIN_INPUT, 7)   /* (AE26) GPIO1_69 */
    			AM65X_IOPAD(0x01d0, PIN_OUTPUT_PULLDOWN, 7) /* (AD12) GPIO1_20 */ /*SEL-OUT*/
    		>;
    	};
    
    	ledgpio1_pins_default: ledgpio1_pins_default {
    		pinctrl-single,pins = <
    			AM65X_IOPAD(0x01d4, PIN_OUTPUT, 7)  /* (AG12) GPIO1_21 */ /* RS232-TX-LED */
    			AM65X_IOPAD(0x0238, PIN_OUTPUT, 7)  /* (U26) GPIO1_46 */ /* RS485-RX-LED */
    			AM65X_IOPAD(0x0240, PIN_OUTPUT, 7)  /* (U24) GPIO1_48 */ /* BUSFAULT-LED */
    			AM65X_IOPAD(0x0298, PIN_OUTPUT, 7)  /* (AE28) GPIO1_70 */ /* ERROR-LED */
    		>;
    	};
    
    	gpio0_pins_default: gpio0_pins_default {
    		pinctrl-single,pins = <
    			AM65X_IOPAD(0x0040, PIN_OUTPUT, 7)  /* (R28) GPIO0_16 */ /*ETH1-PHY-RESET*/
    			AM65X_IOPAD(0x0058, PIN_INPUT, 7)   /* (R26) GPIO0_22 */ /*RUN/STOP SW*/
    			AM65X_IOPAD(0x005c, PIN_OUTPUT, 7)  /* (R23) GPIO0_23 */ /* SD-CARD-READY-LED */
    			AM65X_IOPAD(0x0060, PIN_OUTPUT, 7)  /* (T25) GPIO0_24 */ /*/AX58100-RST*/
    			AM65X_IOPAD(0x0064, PIN_OUTPUT, 7)  /* (T24) GPIO0_25 */ /*/AX58100-PYH-RST*/
    			AM65X_IOPAD(0x0068, PIN_OUTPUT, 7)  /* (R24) GPIO0_26 */ /* RS232-RX-LED */
    			AM65X_IOPAD(0x0070, PIN_OUTPUT, 7)  /* (R25) GPIO0_28 */ /*GPIO-eMMC-RST*/
    			AM65X_IOPAD(0x0074, PIN_INPUT, 7)   /* (T27) GPIO0_29 */ /*/24V-LV*/
    			AM65X_IOPAD(0x00ac, PIN_INPUT, 1)   /* (AH15) PRG2_PRU1_GPO0.GPIO0_43 */
    			AM65X_IOPAD(0x00b0, PIN_INPUT, 1)   /* (AC16) PRG2_PRU1_GPO1.GPIO0_44 */
    			AM65X_IOPAD(0x00b4, PIN_INPUT, 1)   /* (AD17) PRG2_PRU1_GPO2.GPIO0_45 */
    			AM65X_IOPAD(0x00b8, PIN_INPUT, 1)   /* (AH14) PRG2_PRU1_GPO3.GPIO0_46 */
    			AM65X_IOPAD(0x00d4, PIN_OUTPUT, 7)  /* (AC15) GPIO0_53 */ /*CAN-TERM*/
    			AM65X_IOPAD(0x00d8, PIN_INPUT, 1)   /* (AD14) GPIO0_54 */ /*HS_PRU2_LV*/
    			AM65X_IOPAD(0x00dc, PIN_OUTPUT, 7)   /* (AE14) GPIO0_55 */ /*HS_PRU2_IRQ*/
    			AM65X_IOPAD(0x00f4, PIN_INPUT | PIN_OUTPUT, 7)   /* (AF27) GPIO0_61 */ /*PRU0-IRQ*/
    			AM65X_IOPAD(0x00fc, PIN_INPUT | PIN_OUTPUT, 7)   /* (AG27) GPIO0_63 */ /*PRU2-IRQ*/
    			AM65X_IOPAD(0x0108, PIN_OUTPUT, 7)  /* (AH25) GPIO0_66 */ /*ETH0-PHY-RESET*/
    			AM65X_IOPAD(0x0124, PIN_OUTPUT, 7)  /* (AH26) GPIO0_73 */ /*ECAT2-PHY-RST*/
    
                AM65X_IOPAD(0x0000, PIN_INPUT_PULLDOWN, 7)  /* (M27) GPIO0_0 */
                AM65X_IOPAD(0x0004, PIN_INPUT, 7)  /* (M23) GPIO0_1 */
                AM65X_IOPAD(0x0008, PIN_INPUT, 7)  /* (M28) GPIO0_2 */
                AM65X_IOPAD(0x000C, PIN_INPUT_PULLDOWN, 7)  /* (M24) GPIO0_3 */
                AM65X_IOPAD(0x0010, PIN_INPUT_PULLDOWN, 7)  /* (N24) GPIO0_4 */
                AM65X_IOPAD(0x0014, PIN_INPUT_PULLDOWN, 7)  /* (N27) GPIO0_5 */
                AM65X_IOPAD(0x0018, PIN_INPUT, 7)  /* (N28) GPIO0_6 */
                AM65X_IOPAD(0x001C, PIN_INPUT_PULLDOWN, 7)  /* (M25) GPIO0_7 */
                AM65X_IOPAD(0x0020, PIN_INPUT_PULLDOWN, 7)  /* (N23) GPIO0_8 */
                AM65X_IOPAD(0x0024, PIN_INPUT_PULLDOWN, 7)  /* (M26) GPIO0_9 */
                AM65X_IOPAD(0x0028, PIN_INPUT_PULLDOWN, 7)  /* (P28) GPIO0_10 */
                AM65X_IOPAD(0x002C, PIN_INPUT_PULLDOWN, 7)  /* (P27) GPIO0_11 */
                AM65X_IOPAD(0x0030, PIN_INPUT_PULLDOWN, 7)  /* (N26) GPIO0_12 */
                AM65X_IOPAD(0x0034, PIN_INPUT, 7)  /* (N25) GPIO0_13 */
                AM65X_IOPAD(0x0038, PIN_INPUT_PULLDOWN, 7)  /* (P24) GPIO0_14 */
                AM65X_IOPAD(0x003C, PIN_INPUT_PULLDOWN, 7)  /* (R27) GPIO0_15 */
                AM65X_IOPAD(0x0044, PIN_INPUT_PULLDOWN, 7)  /* (P25) GPIO0_17 */
                AM65X_IOPAD(0x0048, PIN_INPUT, 7)  /* (P26) GPIO0_18 */
                AM65X_IOPAD(0x004C, PIN_INPUT, 7)  /* (U28) GPIO0_19 */
    		>;
    	};
    
    	ledgpio0_pins_default: ledgpio0_pins_default {
    		pinctrl-single,pins = <
    			AM65X_IOPAD(0x006c, PIN_OUTPUT | PIN_INPUT, 7) /* (T23) GPIO0_27 */ /* RUN-LED */
    		>;
    	};
    
    	main_mmc0_pins_default: main-mmc0-pins-default {
    		pinctrl-single,pins = <
    			AM65X_IOPAD(0x01a8, PIN_INPUT_PULLDOWN, 0) /* (B25) MMC0_CLK */
    			AM65X_IOPAD(0x01ac, PIN_INPUT_PULLUP, 0) /* (B27) MMC0_CMD */
    			AM65X_IOPAD(0x01a4, PIN_INPUT_PULLUP, 0) /* (A26) MMC0_DAT0 */
    			AM65X_IOPAD(0x01a0, PIN_INPUT_PULLUP, 0) /* (E25) MMC0_DAT1 */
    			AM65X_IOPAD(0x019c, PIN_INPUT_PULLUP, 0) /* (C26) MMC0_DAT2 */
    			AM65X_IOPAD(0x0198, PIN_INPUT_PULLUP, 0) /* (A25) MMC0_DAT3 */
    			AM65X_IOPAD(0x0194, PIN_INPUT_PULLUP, 0) /* (E24) MMC0_DAT4 */
    			AM65X_IOPAD(0x0190, PIN_INPUT_PULLUP, 0) /* (A24) MMC0_DAT5 */
    			AM65X_IOPAD(0x018c, PIN_INPUT_PULLUP, 0) /* (B26) MMC0_DAT6 */
    			AM65X_IOPAD(0x0188, PIN_INPUT_PULLUP, 0) /* (D25) MMC0_DAT7 */
    			AM65X_IOPAD(0x01b0, PIN_INPUT, 0) /* (C25) MMC0_DS */
    		>;
    	};
    
    	main_mmc1_pins_default: main-mmc1-pins-default {
    		pinctrl-single,pins = <
    			AM65X_IOPAD(0x02d4, PIN_INPUT_PULLDOWN, 0) /* (C27) MMC1_CLK */
    			AM65X_IOPAD(0x02d8, PIN_INPUT_PULLUP, 0) /* (C28) MMC1_CMD */
    			AM65X_IOPAD(0x02d0, PIN_INPUT_PULLUP, 0) /* (D28) MMC1_DAT0 */
    			AM65X_IOPAD(0x02cc, PIN_INPUT_PULLUP, 0) /* (E27) MMC1_DAT1 */
    			AM65X_IOPAD(0x02c8, PIN_INPUT_PULLUP, 0) /* (D26) MMC1_DAT2 */
    			AM65X_IOPAD(0x02c4, PIN_INPUT_PULLUP, 0) /* (D27) MMC1_DAT3 */
    			AM65X_IOPAD(0x02dc, PIN_INPUT_PULLUP, 0) /* (B24) MMC1_SDCD */
    			AM65X_IOPAD(0x02e0, PIN_INPUT, 0) /* (C24) MMC1_SDWP */
    		>;
    	};
    
    	icssg1_mdio_pins_default: icssg1_mdio_pins_default {
    		pinctrl-single,pins = <
    			AM65X_IOPAD(0x0180, PIN_INPUT, 0) /* (AD18) PRG1_MDIO0_MDIO */
    			AM65X_IOPAD(0x0184, PIN_OUTPUT, 0) /* (AH18) PRG1_MDIO0_MDC */
    		>;
    	};
    
    	ethernet0_pins_default: ethernet0_pins_default {
    		pinctrl-single,pins = <
    			AM65X_IOPAD(0x00e0, PIN_INPUT, 2) /* (AE22) PRG1_PRU0_GPO0.PRG1_RGMII1_RD0 */
    			AM65X_IOPAD(0x00e4, PIN_INPUT, 2) /* (AG24) PRG1_PRU0_GPO1.PRG1_RGMII1_RD1 */
    			AM65X_IOPAD(0x00e8, PIN_INPUT, 2) /* (AF23) PRG1_PRU0_GPO2.PRG1_RGMII1_RD2 */
    			AM65X_IOPAD(0x00ec, PIN_INPUT, 2) /* (AD21) PRG1_PRU0_GPO3.PRG1_RGMII1_RD3 */
    			AM65X_IOPAD(0x0110, PIN_OUTPUT, 2) /* (AH20) PRG1_PRU0_GPO12.PRG1_RGMII1_TD0 */
    			AM65X_IOPAD(0x0114, PIN_OUTPUT, 2) /* (AH21) PRG1_PRU0_GPO13.PRG1_RGMII1_TD1 */
    			AM65X_IOPAD(0x0118, PIN_OUTPUT, 2) /* (AG20) PRG1_PRU0_GPO14.PRG1_RGMII1_TD2 */
    			AM65X_IOPAD(0x011c, PIN_OUTPUT, 2) /* (AD19) PRG1_PRU0_GPO15.PRG1_RGMII1_TD3 */
    			AM65X_IOPAD(0x0120, PIN_INPUT, 2) /* (AD20) PRG1_PRU0_GPO16.PRG1_RGMII1_TXC */
    			AM65X_IOPAD(0x010c, PIN_OUTPUT, 2) /* (AF21) PRG1_PRU0_GPO11.PRG1_RGMII1_TX_CTL */
    			AM65X_IOPAD(0x00f8, PIN_INPUT, 2) /* (AF22) PRG1_PRU0_GPO6.PRG1_RGMII1_RXC */
    			AM65X_IOPAD(0x00f0, PIN_INPUT, 2) /* (AG23) PRG1_PRU0_GPO4.PRG1_RGMII1_RX_CTL */
    
    			//ethercat1_pins_default
    			AM65X_IOPAD(0x0130, PIN_INPUT, 2) /* (AH24) PRG1_PRU1_GPO0.PRG1_RGMII2_RD0 */
    			AM65X_IOPAD(0x0134, PIN_INPUT, 2) /* (AH23) PRG1_PRU1_GPO1.PRG1_RGMII2_RD1 */
    			AM65X_IOPAD(0x0138, PIN_INPUT, 2) /* (AG21) PRG1_PRU1_GPO2.PRG1_RGMII2_RD2 */
    			AM65X_IOPAD(0x013c, PIN_INPUT, 2) /* (AH22) PRG1_PRU1_GPO3.PRG1_RGMII2_RD3 */
    			AM65X_IOPAD(0x0160, PIN_OUTPUT, 2) /* (AE20) PRG1_PRU1_GPO12.PRG1_RGMII2_TD0 */
    			AM65X_IOPAD(0x0164, PIN_OUTPUT, 2) /* (AF19) PRG1_PRU1_GPO13.PRG1_RGMII2_TD1 */
    			AM65X_IOPAD(0x0168, PIN_OUTPUT, 2) /* (AH19) PRG1_PRU1_GPO14.PRG1_RGMII2_TD2 */
    			AM65X_IOPAD(0x016c, PIN_OUTPUT, 2) /* (AG19) PRG1_PRU1_GPO15.PRG1_RGMII2_TD3 */
    			AM65X_IOPAD(0x0170, PIN_INPUT, 2) /* (AE19) PRG1_PRU1_GPO16.PRG1_RGMII2_TXC */
    			AM65X_IOPAD(0x015c, PIN_OUTPUT, 2) /* (AC20) PRG1_PRU1_GPO11.PRG1_RGMII2_TX_CTL */
    			AM65X_IOPAD(0x0148, PIN_INPUT, 2) /* (AG22) PRG1_PRU1_GPO6.PRG1_RGMII2_RXC */
    			AM65X_IOPAD(0x0140, PIN_INPUT, 2) /* (AE21) PRG1_PRU1_GPO4.PRG1_RGMII2_RX_CTL */
    		>;
    	};
    
    	icssg2_mdio_pins_default: icssg2_mdio_pins_default {
    		pinctrl-single,pins = <
    			AM65X_IOPAD(0x0094, PIN_INPUT, 2) /* (AC19) PRG2_PRU0_GPO7.PRG2_MDIO0_MDIO */
    			AM65X_IOPAD(0x00c8, PIN_OUTPUT, 2) /* (AE15) PRG2_PRU1_GPO7.PRG2_MDIO0_MDC */
    		>;
    	};
    
    	ethernet1_pins_default: ethernet1_pins_default {
    		pinctrl-single,pins = <
    			AM65X_IOPAD(0x0078, PIN_INPUT, 2) /* (AF18) PRG2_PRU0_GPO0.PRG2_RGMII1_RD0 */
    			AM65X_IOPAD(0x007c, PIN_INPUT, 2) /* (AE18) PRG2_PRU0_GPO1.PRG2_RGMII1_RD1 */
    			AM65X_IOPAD(0x0080, PIN_INPUT, 2) /* (AH17) PRG2_PRU0_GPO2.PRG2_RGMII1_RD2 */
    			AM65X_IOPAD(0x0084, PIN_INPUT, 2) /* (AG18) PRG2_PRU0_GPO3.PRG2_RGMII1_RD3 */
    			AM65X_IOPAD(0x0098, PIN_OUTPUT, 2) /* (AH16) PRG2_PRU0_GPO8.PRG2_RGMII1_TD0 */
    			AM65X_IOPAD(0x009c, PIN_OUTPUT, 2) /* (AG16) PRG2_PRU0_GPO9.PRG2_RGMII1_TD1 */
    			AM65X_IOPAD(0x00a0, PIN_OUTPUT, 2) /* (AF16) PRG2_PRU0_GPO10.PRG2_RGMII1_TD2 */
    			AM65X_IOPAD(0x00a4, PIN_OUTPUT, 2) /* (AE16) PRG2_PRU0_GPO11.PRG2_RGMII1_TD3 */
    			AM65X_IOPAD(0x00a8, PIN_INPUT, 2) /* (AD16) PRG2_PRU0_GPO16.PRG2_RGMII1_TXC */
    			AM65X_IOPAD(0x0090, PIN_OUTPUT, 2) /* (AE17) PRG2_PRU0_GPO6.PRG2_RGMII1_TX_CTL */
    			AM65X_IOPAD(0x008c, PIN_INPUT, 2) /* (AF17) PRG2_PRU0_GPO5.PRG2_RGMII1_RXC */
    			AM65X_IOPAD(0x0088, PIN_INPUT, 2) /* (AG17) PRG2_PRU0_GPO4.PRG2_RGMII1_RX_CTL */
    		>;
    	};
    
    	main_spi0_pins_default: main-spi0-pins-default {
    		pinctrl-single,pins = <
    			AM65X_IOPAD(0x01c4, PIN_INPUT_PULLUP, 0)  /* (AH13) GPIO1_17 */ /*SPI0-CLK*/
    			AM65X_IOPAD(0x01c8, PIN_OUTPUT, 0)  /* (AE13) GPIO1_18 */ /*SPI0_D0*/
    			AM65X_IOPAD(0x01cc, PIN_INPUT, 0)   /* (AD13) GPIO1_19 */ /*SPI0_D1*/
    			AM65X_IOPAD(0x01bc, PIN_OUTPUT, 0)  /* (AG13) GPIO1_15 */ /*SPI0_CS0*/
    			AM65X_IOPAD(0x01c0, PIN_OUTPUT, 0)  /* (AF13) GPIO1_16 */ /*SPI0_CS1*/
    		>;
    	};
    
    	myspi2_pins_default: myspi2_pins_default {
    		pinctrl-single,pins = <
    			AM65X_IOPAD(0x01d8, PIN_OUTPUT, 0)  /* (AH12) GPIO1_22 */ /*SPI1_CLK*/
    			AM65X_IOPAD(0x01dc, PIN_OUTPUT, 0)  /* (AE12) GPIO1_23 */ /*SPI1_D0*/
    			AM65X_IOPAD(0x01e0, PIN_INPUT, 0)   /* (AF12) GPIO1_24 */ /*SPI1_D1*/
    		>;
    	};
    
    	main_uart0_pins_default: main-uart0-pins-default {
    		pinctrl-single,pins = <
    			AM65X_IOPAD(0x01e4, PIN_INPUT, 0)   /* (AF11) GPIO1_25 */ /*UART0_RXD*/
    			AM65X_IOPAD(0x01e8, PIN_OUTPUT, 0)  /* (AE11) GPIO1_26 */ /*UART0_TXD*/
    		>;
    	};
    
    	rs232_pins_default: rs232_pins_default {
    		pinctrl-single,pins = <
    			AM65X_IOPAD(0x0288, PIN_INPUT, 6)   /* (Y27) GPIO1_66 */ /*RS232-RXD*/
    			AM65X_IOPAD(0x0260, PIN_OUTPUT, 6)  /* (W28) GPIO1_56 */ /*RS232-TXD*/
    		>;
    	};
    
    	rs485_pins_default: rs485_pins_default {
    		pinctrl-single,pins = <
    			AM65X_IOPAD(0x0174, PIN_INPUT, 6)   /* (AE23) GPIO0_93 */ /*RS485-RXD*/
    			AM65X_IOPAD(0x014c, PIN_OUTPUT, 6)  /* (AD23) GPIO0_83 */ /*RS485-TXD*/
    			AM65X_IOPAD(0x017c, PIN_OUTPUT_PULLDOWN, 7) /* (AC21) GPIO0_95 */ /*RS485-DIR*/
    		>;
    	};
    
    	usb0_pins_default: usb0_pins_default {
    		pinctrl-single,pins = <
    			AM65X_IOPAD(0x02bc, PIN_OUTPUT, 0) /* (AD9) GPIO1_71 */ /*USB0_DRVVBUS*/
    		>;
    	};
    
    	usb20_host_pins_default: usb20_host_pins_default {
    		pinctrl-single,pins = <
    			AM65X_IOPAD(0x02c0, PIN_OUTPUT, 0) /* (AC8) GPIO1_72 */ /*USB1_DRVVBUS*/
    		>;
    	};
    };
    
    &main_pmx1 {
    	pinctrl-names = "default";
            pinctrl-0 = <&gpio2_pins_default>;
    
    	main_i2c0_pins_default: main-i2c0-pins-default {
    		pinctrl-single,pins = <
    			AM65X_IOPAD(0x0000, PIN_INPUT, 0) /* (D20) I2C0_SCL */
    			AM65X_IOPAD(0x0004, PIN_INPUT, 0) /* (C21) I2C0_SDA */
    		>;
    	};
    
    	main_i2c1_pins_default: main-i2c1-pins-default {
    		pinctrl-single,pins = <
    			AM65X_IOPAD(0x0008, PIN_INPUT_PULLUP, 0) /* (B21) I2C1_SCL */
    			AM65X_IOPAD(0x000c, PIN_INPUT_PULLUP, 0) /* (E21) I2C1_SDA */
    		>;
    	};
    
    	gpio2_pins_default: gpio2_pins_default {
    		pinctrl-single,pins = <
    			AM65X_IOPAD(0x0010, PIN_OUTPUT, 7)  /* (D21) GPIO1_86 */ /* SER-COMM-EN */
    			AM65X_IOPAD(0x0018, PIN_INPUT, 7)   /* (B22) GPIO1_88 */ /* DDR-TP0 */
    			AM65X_IOPAD(0x001c, PIN_INPUT, 7)   /* (C23) GPIO1_89 */ /* DDR-TP1 */
    		>;
    	};
    
    	ledgpio2_pins_default: ledgpio2_pins_default {
    		pinctrl-single,pins = <
    			AM65X_IOPAD(0x0014, PIN_OUTPUT, 7) /* (A22) GPIO1_87 */	/* RS485-TX-LED */
    		>;
    	};
    };
    
    &wkup_uart0 {
    	/* Wakeup UART is used by System firmware */
    	status = "disabled";
    };
    
    &main_uart0 {
    	pinctrl-names = "default";
    	pinctrl-0 = <&main_uart0_pins_default>;
    	power-domains = <&k3_pds 146 TI_SCI_PD_SHARED>;
    };
    
    //Eric+{
    &main_uart2 {
    	pinctrl-names = "default";
    	power-domains = <&k3_pds 148 TI_SCI_PD_SHARED>;
    	pinctrl-0 = <&rs232_pins_default>;
    	status = "okay";
    };
    
    &main_uart1 {
    	pinctrl-names = "default";
    	pinctrl-0 = <&rs485_pins_default>;
    	power-domains = <&k3_pds 147 TI_SCI_PD_SHARED>;
    	rts-gpios = <&main_gpio0 95 GPIO_ACTIVE_HIGH>;
    	rs485-rts-active-high;
    	rs485-rts-delay = <0 0>;
    	linux,rs485-enabled-at-boot-time;
    	status = "okay";
    };
    //Eric+}
    
    &main_i2c0 {
    	status = "okay";
    
    	pinctrl-names = "default";
    	pinctrl-0 = <&main_i2c0_pins_default>;
    	clock-frequency = <100000>;
    
    #if 0
    	rx8130:rtc@32{
    		compatible = "epson,rx8130-legacy";
    		reg = <0x32>;
    	};
    #endif
    
    	eeprom: eeprom@50 {
    		compatible = "atmel,24c16";
    		reg = <0x50>;
    		pagesize = <16>;
    	};
    };
    
    &main_i2c1 {
    	status = "okay";
    
    	pinctrl-names = "default";
    	pinctrl-0 = <&main_i2c1_pins_default>;
    	clock-frequency = <100000>;
    
    	s35390a:rtc@30{
    		compatible = "sii,s35390a";
    		reg = <0x30>;
    	};
    };
    
    &main_spi0 {
        status = "okay";
    	pinctrl-names = "default";
    	pinctrl-0 = <&main_spi0_pins_default>;
    	#address-cells = <1>;
    	#size-cells= <0>;
    	ti,pindir-d0-out-d1-in = <1>;
    
        spidev@0 {
            status = "okay";
            //compatible = "fairchild,74hc595";
            compatible = "linux,spidev";
            reg = <0>;
            spi-max-frequency = <1000000>;
        };
    };
    
    &main_spi1 {
        status = "okay";
    	pinctrl-names = "default";
    	pinctrl-0 = <&myspi2_pins_default>;
    	#address-cells = <1>;
    	#size-cells= <0>;
    	ti,pindir-d0-out-d1-in = <1>;
    
        spidev@0 {
            status = "okay";
            //compatible = "fairchild,74hc595";
            compatible = "linux,spidev";
            gpio-controller;
            #gpio-cells = <2>;
            reg = <0>;
            registers-number = <2>;
            registers-default = /bits/ 8 <0xb7>;
            spi-max-frequency = <100000>;
        };
    };
    
    &sdhci0 {
    	pinctrl-names = "default";
    	pinctrl-0 = <&main_mmc0_pins_default>;
    	bus-width = <8>;
    	non-removable;
    	ti,driver-strength-ohm = <50>;
    	disable-wp;
    };
    
    &sdhci1 {
    	pinctrl-names = "default";
    	pinctrl-0 = <&main_mmc1_pins_default>;
    	ti,driver-strength-ohm = <50>;
    	disable-wp;
    };
    
    &dwc3_1 {
    	status = "okay";
    };
    
    &usb1_phy {
    	status = "okay";
    };
    
    &usb1 {
    	pinctrl-names = "default";
    	pinctrl-0 = <&usb20_host_pins_default>;
    	dr_mode = "host";
    };
    
    &dwc3_0 {
    	status = "okay";
    };
    
    &usb0_phy {
    	status = "okay";
    };
    
    //Eric+{
    
    &m_can0 {
    	status = "okay";
    	pinctrl-names = "default";
    	pinctrl-0 = <&mcan0_pins_default>;
    	//stb-gpios = <&main_gpio1 47 GPIO_ACTIVE_HIGH>;
    	can-transceiver {
    		max-bitrate = <5000000>;
    	};
    };
    
    &usb0 {
    	pinctrl-names = "default";
    	//pinctrl-0 = <&usb0_pins_default>;
    	dr_mode = "peripheral";
    };
    //Eric+}
    
    &tscadc0 {
    	adc {
    		ti,adc-channels = <0 1 2 3 4 5 6 7>;
    	};
    };
    
    &tscadc1 {
    	adc {
    		ti,adc-channels = <0 1 2 3 4 5 6 7>;
    	};
    };
    
    &serdes0 {
    	status = "disabled";
    };
    
    &serdes1 {
    	status = "disabled";
    };
    
    &pcie0_rc {
    	status = "disabled";
    };
    
    &pcie0_ep {
    	status = "disabled";
    };
    
    &pcie1_rc {
    	status = "disabled";
    };
    
    &pcie1_ep {
    	status = "disabled";
    };
    
    &mailbox0_cluster0 {
    	interrupts = <436>;
    
    	mbox_mcu_r5fss0_core0: mbox-mcu-r5fss0-core0 {
    		ti,mbox-tx = <1 0 0>;
    		ti,mbox-rx = <0 0 0>;
    	};
    };
    
    &mailbox0_cluster1 {
    	interrupts = <432>;
    
    	mbox_mcu_r5fss0_core1: mbox-mcu-r5fss0-core1 {
    		ti,mbox-tx = <1 0 0>;
    		ti,mbox-rx = <0 0 0>;
    	};
    };
    
    &mailbox0_cluster2 {
    	status = "disabled";
    };
    
    &mailbox0_cluster3 {
    	status = "disabled";
    };
    
    &mailbox0_cluster4 {
    	status = "disabled";
    };
    
    &mailbox0_cluster5 {
    	status = "disabled";
    };
    
    &mailbox0_cluster6 {
    	status = "disabled";
    };
    
    &mailbox0_cluster7 {
    	status = "disabled";
    };
    
    &mailbox0_cluster8 {
    	status = "disabled";
    };
    
    &mailbox0_cluster9 {
    	status = "disabled";
    };
    
    &mailbox0_cluster10 {
    	status = "disabled";
    };
    
    &mailbox0_cluster11 {
    	status = "disabled";
    };
    
    &mcu_r5fss0_core0 {
    	memory-region = <&mcu_r5fss0_core0_dma_memory_region>,
    			<&mcu_r5fss0_core0_memory_region>;
    	mboxes = <&mailbox0_cluster0 &mbox_mcu_r5fss0_core0>;
    };
    
    &mcu_r5fss0_core1 {
    	memory-region = <&mcu_r5fss0_core1_dma_memory_region>,
    			<&mcu_r5fss0_core1_memory_region>;
    	mboxes = <&mailbox0_cluster1 &mbox_mcu_r5fss0_core1>;
    };
    
    &mcu_cpsw {
    	pinctrl-names = "default";
    	//Eric- pinctrl-0 = <&mcu_cpsw_pins_default &mcu_mdio_pins_default>;
    	pinctrl-0 = <&phy2ax58100_pins_default &phy2ax58100_mdio2_pins_default>;
    };
    
    &davinci_mdio {
    	reset = <&main_gpio0 25 GPIO_ACTIVE_LOW>;
    	reset-delay-us = <2>;   /* PHY datasheet states 1us min */
    
    	phy0: ethernet-phy@3 {
    		reg = <3>;
    	};
    };
    
    &cpsw_port1 {
    	phy-mode = "rmii";
    	phy-handle = <&phy0>;
    };
    
    //Eric+{
    &icssg1_mdio {
    	status = "okay";
    	pinctrl-names = "default";
    	pinctrl-0 = <&icssg1_mdio_pins_default>;
    
    	reset = <&main_gpio0 66 GPIO_ACTIVE_LOW>; /*83867*/
    	//reset = <&main_gpio0 73 GPIO_ACTIVE_LOW>; /*83822*/
    	reset-delay-us = <2>;
    
    	/*83867*/
    	pruss1_eth0_phy: ethernet-phy@1 {
    		reg = <1>;
    		ti,rx-internal-delay = <DP83867_RGMIIDCTL_2_00_NS>;
    		ti,fifo-depth = <DP83867_PHYCR_FIFO_DEPTH_4_B_NIB>;
    	};
    #if 0
    	/*83822*/
    	pruss1_eth1_phy: ethernet-phy@7 {
    		reg = <7>;
    	};
    #endif
    };
    //Eric+}
    
    &icssg2_mdio {
    	status = "okay";
    	pinctrl-names = "default";
    	pinctrl-0 = <&icssg2_mdio_pins_default>;
    
    	reset = <&main_gpio0 16 GPIO_ACTIVE_LOW>;
    	reset-delay-us = <2>;
    
    	/*83867*/
    	pruss2_eth0_phy: ethernet-phy@2 {
    		reg = <2>;
    		ti,rx-internal-delay = <DP83867_RGMIIDCTL_2_00_NS>;
    		ti,fifo-depth = <DP83867_PHYCR_FIFO_DEPTH_4_B_NIB>;
    	};
    };
    

  • I did not get a chance to review the details. I will look into it tomorrow.

  • Hi Yun-En:

    Have you read this linik for the USB section?

    https://software-dl.ti.com/processor-sdk-linux/esd/AM62X/latest/exports/docs/linux/Foundational_Components/U-Boot/UG-Memory-K3.html

    BR Rio

    There are two instances of USB on AM62 SoC.

    On the SK board, zeroth instance is brought out through a Type C port and the first instance is brought through a Type A port.

    By default, USB0 port is configured to be in peripheral mode.

    Since U-Boot does not support dynamic switching of USB roles,

    below DT fragment needs to be applied and U-Boot image needs to be rebuilt to make USB0 port to be USB 2.0 host port.

    diff --git a/arch/arm/dts/k3-am625-sk-u-boot.dtsi b/arch/arm/dts/k3-am625-sk-u-boot.dtsi
    index 20c24d2fa7a4..2b662653023f 100644
    --- a/arch/arm/dts/k3-am625-sk-u-boot.dtsi
    +++ b/arch/arm/dts/k3-am625-sk-u-boot.dtsi
    @@ -117,5 +117,5 @@
     };
    
     &usb0 {
    -       dr_mode = "peripheral";
    +       dr_mode = "host";
            u-boot,dm-spl;
  • Hi Rio , 

    In the Linux stage, I'm unable to get usb0 to operate in peripheral mode and establish USB Serial Gadget communication using g_serial. My understanding is that the device trees used by U-Boot and the Linux kernel are not related.

    After using modprobe g_serial to create /dev/ttyGS0, the PC is still unable to correctly detect a COM port.

    The current usb0 device tree in my Linux DTS is as follows:

    usb5vsignal_pins_default: usb5vsignal_pins_default {
    		pinctrl-single,pins = <
    			AM65X_WKUP_IOPAD(0x00c4, PIN_INPUT, 7) /* (AD3) WKUP_GPIO0_5 */
    		>;
    	};

    &usb0_phy {
    	status = "okay";
    };
    
    &usb0 {
    	status = "okay";
    	pinctrl-names = "default";
    	pinctrl-0 = <&usb5vsignal_pins_default>;
    	dr_mode = "peripheral";
    };
    
    &dwc3_0 {
    	status = "okay";
    };

  • Hi YunEn,

    [ 2321.461199] udc 4010000.usb: soft-connect without a gadget driver 

    I don't think I never saw this message. Do you see it as well in kernel 5.x when USB0 works in device mode?

  • I didn't see this message in version 5.1.

    The message appears to indicate that the UDC cannot find a related gadget driver to define its functionality,

    but I have already confirmed that the g_serial kernel config is enabled.

  • Please compare /proc/config.gz in both kernel builds to see if there are any USB related configs are different.

  • Below is my current Kernel Config. According to the documentation provided on the official website, the two should be consistent.

    Compared to the previous kernel, the configuration is consistent, and both use only the g_serial driver.

    https://software-dl.ti.com/processor-sdk-linux-rt/esd/AM65X/09_03_05_02/exports/docs/linux/Foundational_Components/Kernel/Kernel_Drivers/USB/DWC3.html

    root@am65xx-evm:~# zcat /proc/config.gz | grep CONFIG_USB_
    CONFIG_USB_NET_DRIVERS=y
    # CONFIG_USB_CATC is not set
    # CONFIG_USB_KAWETH is not set
    CONFIG_USB_PEGASUS=m
    CONFIG_USB_RTL8150=m
    CONFIG_USB_RTL8152=m
    CONFIG_USB_LAN78XX=m
    CONFIG_USB_USBNET=m
    CONFIG_USB_NET_AX8817X=m
    CONFIG_USB_NET_AX88179_178A=m
    CONFIG_USB_NET_CDCETHER=m
    # CONFIG_USB_NET_CDC_EEM is not set
    CONFIG_USB_NET_CDC_NCM=m
    # CONFIG_USB_NET_HUAWEI_CDC_NCM is not set
    # CONFIG_USB_NET_CDC_MBIM is not set
    CONFIG_USB_NET_DM9601=m
    # CONFIG_USB_NET_SR9700 is not set
    CONFIG_USB_NET_SR9800=m
    CONFIG_USB_NET_SMSC75XX=m
    CONFIG_USB_NET_SMSC95XX=m
    # CONFIG_USB_NET_GL620A is not set
    CONFIG_USB_NET_NET1080=m
    CONFIG_USB_NET_PLUSB=m
    CONFIG_USB_NET_MCS7830=m
    # CONFIG_USB_NET_RNDIS_HOST is not set
    CONFIG_USB_NET_CDC_SUBSET_ENABLE=m
    CONFIG_USB_NET_CDC_SUBSET=m
    # CONFIG_USB_ALI_M5632 is not set
    # CONFIG_USB_AN2720 is not set
    CONFIG_USB_BELKIN=y
    CONFIG_USB_ARMLINUX=y
    # CONFIG_USB_EPSON2888 is not set
    # CONFIG_USB_KC2190 is not set
    CONFIG_USB_NET_ZAURUS=m
    # CONFIG_USB_NET_CX82310_ETH is not set
    # CONFIG_USB_NET_KALMIA is not set
    # CONFIG_USB_NET_QMI_WWAN is not set
    # CONFIG_USB_HSO is not set
    # CONFIG_USB_NET_INT51X1 is not set
    # CONFIG_USB_IPHETH is not set
    # CONFIG_USB_SIERRA_NET is not set
    # CONFIG_USB_VL600 is not set
    # CONFIG_USB_NET_CH9200 is not set
    # CONFIG_USB_NET_AQC111 is not set
    CONFIG_USB_RTL8153_ECM=m
    # CONFIG_USB_PULSE8_CEC is not set
    # CONFIG_USB_RAINSHADOW_CEC is not set
    # CONFIG_USB_GSPCA is not set
    # CONFIG_USB_PWC is not set
    # CONFIG_USB_S2255 is not set
    CONFIG_USB_VIDEO_CLASS=m
    CONFIG_USB_VIDEO_CLASS_INPUT_EVDEV=y
    # CONFIG_USB_AIRSPY is not set
    # CONFIG_USB_HACKRF is not set
    # CONFIG_USB_MSI2500 is not set
    # CONFIG_USB_DSBR is not set
    # CONFIG_USB_KEENE is not set
    # CONFIG_USB_MA901 is not set
    # CONFIG_USB_MR800 is not set
    # CONFIG_USB_RAREMONO is not set
    CONFIG_USB_HID=y
    # CONFIG_USB_HIDDEV is not set
    CONFIG_USB_OHCI_LITTLE_ENDIAN=y
    CONFIG_USB_SUPPORT=y
    CONFIG_USB_COMMON=y
    # CONFIG_USB_LED_TRIG is not set
    CONFIG_USB_ULPI_BUS=y
    CONFIG_USB_CONN_GPIO=y
    CONFIG_USB_ARCH_HAS_HCD=y
    CONFIG_USB_PCI=y
    # CONFIG_USB_ANNOUNCE_NEW_DEVICES is not set
    CONFIG_USB_DEFAULT_PERSIST=y
    # CONFIG_USB_FEW_INIT_RETRIES is not set
    # CONFIG_USB_DYNAMIC_MINORS is not set
    CONFIG_USB_OTG=y
    # CONFIG_USB_OTG_PRODUCTLIST is not set
    # CONFIG_USB_OTG_DISABLE_EXTERNAL_HUB is not set
    # CONFIG_USB_OTG_FSM is not set
    # CONFIG_USB_LEDS_TRIGGER_USBPORT is not set
    CONFIG_USB_AUTOSUSPEND_DELAY=2
    # CONFIG_USB_MON is not set
    # CONFIG_USB_C67X00_HCD is not set
    CONFIG_USB_XHCI_HCD=y
    # CONFIG_USB_XHCI_DBGCAP is not set
    CONFIG_USB_XHCI_PCI=m
    CONFIG_USB_XHCI_PCI_RENESAS=m
    CONFIG_USB_XHCI_PLATFORM=m
    CONFIG_USB_EHCI_HCD=y
    CONFIG_USB_EHCI_ROOT_HUB_TT=y
    CONFIG_USB_EHCI_TT_NEWSCHED=y
    CONFIG_USB_EHCI_PCI=y
    # CONFIG_USB_EHCI_FSL is not set
    CONFIG_USB_EHCI_HCD_PLATFORM=y
    # CONFIG_USB_OXU210HP_HCD is not set
    # CONFIG_USB_ISP116X_HCD is not set
    # CONFIG_USB_FOTG210_HCD is not set
    # CONFIG_USB_MAX3421_HCD is not set
    CONFIG_USB_OHCI_HCD=y
    CONFIG_USB_OHCI_HCD_PCI=y
    CONFIG_USB_OHCI_HCD_PLATFORM=y
    # CONFIG_USB_UHCI_HCD is not set
    # CONFIG_USB_SL811_HCD is not set
    # CONFIG_USB_R8A66597_HCD is not set
    # CONFIG_USB_HCD_TEST_MODE is not set
    CONFIG_USB_ACM=m
    # CONFIG_USB_PRINTER is not set
    # CONFIG_USB_WDM is not set
    # CONFIG_USB_TMC is not set
    CONFIG_USB_STORAGE=y
    # CONFIG_USB_STORAGE_DEBUG is not set
    # CONFIG_USB_STORAGE_REALTEK is not set
    # CONFIG_USB_STORAGE_DATAFAB is not set
    # CONFIG_USB_STORAGE_FREECOM is not set
    # CONFIG_USB_STORAGE_ISD200 is not set
    # CONFIG_USB_STORAGE_USBAT is not set
    # CONFIG_USB_STORAGE_SDDR09 is not set
    # CONFIG_USB_STORAGE_SDDR55 is not set
    # CONFIG_USB_STORAGE_JUMPSHOT is not set
    # CONFIG_USB_STORAGE_ALAUDA is not set
    # CONFIG_USB_STORAGE_ONETOUCH is not set
    # CONFIG_USB_STORAGE_KARMA is not set
    # CONFIG_USB_STORAGE_CYPRESS_ATACB is not set
    # CONFIG_USB_STORAGE_ENE_UB6250 is not set
    # CONFIG_USB_UAS is not set
    # CONFIG_USB_MDC800 is not set
    # CONFIG_USB_MICROTEK is not set
    CONFIG_USB_CDNS_SUPPORT=m
    CONFIG_USB_CDNS_HOST=y
    CONFIG_USB_CDNS3=m
    CONFIG_USB_CDNS3_GADGET=y
    CONFIG_USB_CDNS3_HOST=y
    CONFIG_USB_CDNS3_TI=m
    # CONFIG_USB_MUSB_HDRC is not set
    CONFIG_USB_DWC3=m
    # CONFIG_USB_DWC3_ULPI is not set
    # CONFIG_USB_DWC3_HOST is not set
    # CONFIG_USB_DWC3_GADGET is not set
    CONFIG_USB_DWC3_DUAL_ROLE=y
    CONFIG_USB_DWC3_HAPS=m
    CONFIG_USB_DWC3_KEYSTONE=m
    CONFIG_USB_DWC3_OF_SIMPLE=m
    CONFIG_USB_DWC3_AM62=m
    # CONFIG_USB_DWC2 is not set
    # CONFIG_USB_CHIPIDEA is not set
    # CONFIG_USB_ISP1760 is not set
    CONFIG_USB_SERIAL=m
    # CONFIG_USB_SERIAL_GENERIC is not set
    # CONFIG_USB_SERIAL_SIMPLE is not set
    # CONFIG_USB_SERIAL_AIRCABLE is not set
    # CONFIG_USB_SERIAL_ARK3116 is not set
    # CONFIG_USB_SERIAL_BELKIN is not set
    # CONFIG_USB_SERIAL_CH341 is not set
    # CONFIG_USB_SERIAL_WHITEHEAT is not set
    # CONFIG_USB_SERIAL_DIGI_ACCELEPORT is not set
    CONFIG_USB_SERIAL_CP210X=m
    # CONFIG_USB_SERIAL_CYPRESS_M8 is not set
    # CONFIG_USB_SERIAL_EMPEG is not set
    CONFIG_USB_SERIAL_FTDI_SIO=m
    # CONFIG_USB_SERIAL_VISOR is not set
    # CONFIG_USB_SERIAL_IPAQ is not set
    # CONFIG_USB_SERIAL_IR is not set
    # CONFIG_USB_SERIAL_EDGEPORT is not set
    # CONFIG_USB_SERIAL_EDGEPORT_TI is not set
    # CONFIG_USB_SERIAL_F81232 is not set
    # CONFIG_USB_SERIAL_F8153X is not set
    # CONFIG_USB_SERIAL_GARMIN is not set
    # CONFIG_USB_SERIAL_IPW is not set
    # CONFIG_USB_SERIAL_IUU is not set
    # CONFIG_USB_SERIAL_KEYSPAN_PDA is not set
    # CONFIG_USB_SERIAL_KEYSPAN is not set
    # CONFIG_USB_SERIAL_KLSI is not set
    # CONFIG_USB_SERIAL_KOBIL_SCT is not set
    # CONFIG_USB_SERIAL_MCT_U232 is not set
    # CONFIG_USB_SERIAL_METRO is not set
    # CONFIG_USB_SERIAL_MOS7720 is not set
    # CONFIG_USB_SERIAL_MOS7840 is not set
    # CONFIG_USB_SERIAL_MXUPORT is not set
    # CONFIG_USB_SERIAL_NAVMAN is not set
    # CONFIG_USB_SERIAL_PL2303 is not set
    # CONFIG_USB_SERIAL_OTI6858 is not set
    # CONFIG_USB_SERIAL_QCAUX is not set
    # CONFIG_USB_SERIAL_QUALCOMM is not set
    # CONFIG_USB_SERIAL_SPCP8X5 is not set
    # CONFIG_USB_SERIAL_SAFE is not set
    # CONFIG_USB_SERIAL_SIERRAWIRELESS is not set
    # CONFIG_USB_SERIAL_SYMBOL is not set
    # CONFIG_USB_SERIAL_TI is not set
    # CONFIG_USB_SERIAL_CYBERJACK is not set
    CONFIG_USB_SERIAL_WWAN=m
    CONFIG_USB_SERIAL_OPTION=m
    # CONFIG_USB_SERIAL_OMNINET is not set
    # CONFIG_USB_SERIAL_OPTICON is not set
    # CONFIG_USB_SERIAL_XSENS_MT is not set
    # CONFIG_USB_SERIAL_WISHBONE is not set
    # CONFIG_USB_SERIAL_SSU100 is not set
    # CONFIG_USB_SERIAL_QT2 is not set
    # CONFIG_USB_SERIAL_UPD78F0730 is not set
    # CONFIG_USB_SERIAL_XR is not set
    # CONFIG_USB_SERIAL_DEBUG is not set
    # CONFIG_USB_EMI62 is not set
    # CONFIG_USB_EMI26 is not set
    # CONFIG_USB_ADUTUX is not set
    # CONFIG_USB_SEVSEG is not set
    # CONFIG_USB_LEGOTOWER is not set
    # CONFIG_USB_LCD is not set
    # CONFIG_USB_CYPRESS_CY7C63 is not set
    # CONFIG_USB_CYTHERM is not set
    # CONFIG_USB_IDMOUSE is not set
    # CONFIG_USB_FTDI_ELAN is not set
    # CONFIG_USB_APPLEDISPLAY is not set
    # CONFIG_USB_SISUSBVGA is not set
    # CONFIG_USB_LD is not set
    # CONFIG_USB_TRANCEVIBRATOR is not set
    # CONFIG_USB_IOWARRIOR is not set
    # CONFIG_USB_TEST is not set
    # CONFIG_USB_EHSET_TEST_FIXTURE is not set
    # CONFIG_USB_ISIGHTFW is not set
    # CONFIG_USB_YUREX is not set
    # CONFIG_USB_EZUSB_FX2 is not set
    # CONFIG_USB_HUB_USB251XB is not set
    # CONFIG_USB_HSIC_USB3503 is not set
    # CONFIG_USB_HSIC_USB4604 is not set
    # CONFIG_USB_LINK_LAYER_TEST is not set
    # CONFIG_USB_CHAOSKEY is not set
    # CONFIG_USB_ONBOARD_HUB is not set
    CONFIG_USB_PHY=y
    # CONFIG_USB_GPIO_VBUS is not set
    # CONFIG_USB_ISP1301 is not set
    CONFIG_USB_ULPI=y
    CONFIG_USB_ULPI_VIEWPORT=y
    CONFIG_USB_GADGET=y
    # CONFIG_USB_GADGET_DEBUG is not set
    # CONFIG_USB_GADGET_DEBUG_FILES is not set
    # CONFIG_USB_GADGET_DEBUG_FS is not set
    CONFIG_USB_GADGET_VBUS_DRAW=2
    CONFIG_USB_GADGET_STORAGE_NUM_BUFFERS=32
    # CONFIG_USB_FOTG210_UDC is not set
    # CONFIG_USB_GR_UDC is not set
    # CONFIG_USB_R8A66597 is not set
    # CONFIG_USB_PXA27X is not set
    # CONFIG_USB_MV_UDC is not set
    # CONFIG_USB_MV_U3D is not set
    CONFIG_USB_SNP_CORE=y
    CONFIG_USB_SNP_UDC_PLAT=y
    # CONFIG_USB_M66592 is not set
    CONFIG_USB_BDC_UDC=y
    # CONFIG_USB_AMD5536UDC is not set
    # CONFIG_USB_NET2272 is not set
    # CONFIG_USB_NET2280 is not set
    # CONFIG_USB_GOKU is not set
    # CONFIG_USB_EG20T is not set
    # CONFIG_USB_GADGET_XILINX is not set
    # CONFIG_USB_MAX3420_UDC is not set
    # CONFIG_USB_DUMMY_HCD is not set
    CONFIG_USB_LIBCOMPOSITE=m
    CONFIG_USB_F_ACM=m
    CONFIG_USB_F_SS_LB=m
    CONFIG_USB_U_SERIAL=m
    CONFIG_USB_U_ETHER=m
    CONFIG_USB_F_SERIAL=m
    CONFIG_USB_F_OBEX=m
    CONFIG_USB_F_NCM=m
    CONFIG_USB_F_ECM=m
    CONFIG_USB_F_EEM=m
    CONFIG_USB_F_SUBSET=m
    CONFIG_USB_F_RNDIS=m
    CONFIG_USB_F_MASS_STORAGE=m
    CONFIG_USB_F_FS=m
    CONFIG_USB_CONFIGFS=m
    CONFIG_USB_CONFIGFS_SERIAL=y
    CONFIG_USB_CONFIGFS_ACM=y
    CONFIG_USB_CONFIGFS_OBEX=y
    CONFIG_USB_CONFIGFS_NCM=y
    CONFIG_USB_CONFIGFS_ECM=y
    CONFIG_USB_CONFIGFS_ECM_SUBSET=y
    CONFIG_USB_CONFIGFS_RNDIS=y
    CONFIG_USB_CONFIGFS_EEM=y
    CONFIG_USB_CONFIGFS_MASS_STORAGE=y
    # CONFIG_USB_CONFIGFS_F_LB_SS is not set
    CONFIG_USB_CONFIGFS_F_FS=y
    # CONFIG_USB_CONFIGFS_F_UAC1 is not set
    # CONFIG_USB_CONFIGFS_F_UAC1_LEGACY is not set
    # CONFIG_USB_CONFIGFS_F_UAC2 is not set
    # CONFIG_USB_CONFIGFS_F_MIDI is not set
    # CONFIG_USB_CONFIGFS_F_HID is not set
    # CONFIG_USB_CONFIGFS_F_UVC is not set
    # CONFIG_USB_CONFIGFS_F_PRINTER is not set
    CONFIG_USB_ZERO=m
    # CONFIG_USB_ZERO_HNPTEST is not set
    # CONFIG_USB_AUDIO is not set
    CONFIG_USB_ETH=m
    CONFIG_USB_ETH_RNDIS=y
    # CONFIG_USB_ETH_EEM is not set
    CONFIG_USB_G_NCM=m
    # CONFIG_USB_GADGETFS is not set
    # CONFIG_USB_FUNCTIONFS is not set
    CONFIG_USB_MASS_STORAGE=m
    CONFIG_USB_G_SERIAL=m
    # CONFIG_USB_MIDI_GADGET is not set
    # CONFIG_USB_G_PRINTER is not set
    CONFIG_USB_CDC_COMPOSITE=m
    # CONFIG_USB_G_ACM_MS is not set
    CONFIG_USB_G_MULTI=m
    CONFIG_USB_G_MULTI_RNDIS=y
    CONFIG_USB_G_MULTI_CDC=y
    # CONFIG_USB_G_HID is not set
    # CONFIG_USB_G_DBGP is not set
    # CONFIG_USB_G_WEBCAM is not set
    # CONFIG_USB_RAW_GADGET is not set
    CONFIG_USB_ROLE_SWITCH=y
    

  • It won't be easy for me to tell from this long list. You just need to compare it on both kernel. You also need to compare CDNS config options.

    By the way, AM65x uses CDNS USB controller, not DWC3.

  • Based on the k3-am65-main.dtsi file, the dwc3_0 node uses snps,dwc3.

    May I ask if my understanding is incorrect?

    Additionally, I compared the Kernel Configs of both versions and found no significant differences. Both configurations are consistent with the settings in the official documentation:

    https://software-dl.ti.com/processor-sdk-linux-rt/esd/AM65X/09_03_05_02/exports/docs/linux/Foundational_Components/Kernel/Kernel_Drivers/USB/DWC3.html

    dwc3_0: dwc3@4000000 {
    		compatible = "ti,am654-dwc3";
    		reg = <0x0 0x4000000 0x0 0x4000>;
    		#address-cells = <1>;
    		#size-cells = <1>;
    		ranges = <0x0 0x0 0x4000000 0x20000>;
    		interrupts = <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>;
    		dma-coherent;
    		power-domains = <&k3_pds 151 TI_SCI_PD_EXCLUSIVE>;
    		clocks = <&k3_clks 151 2>, <&k3_clks 151 7>;
    		assigned-clocks = <&k3_clks 151 2>, <&k3_clks 151 7>;
    		assigned-clock-parents = <&k3_clks 151 4>,	/* set REF_CLK to 20MHz i.e. PER0_PLL/48 */
    					 <&k3_clks 151 9>;	/* set PIPE3_TXB_CLK to CLK_12M_RC/256 (for HS only) */
    
    		usb0: usb@10000 {
    			compatible = "snps,dwc3";
    			reg = <0x10000 0x10000>;
    			interrupts = <GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH>,
    				     <GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH>,
    				     <GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>;
    			interrupt-names = "peripheral",
    					  "host",
    					  "otg";
    			maximum-speed = "high-speed";
    			dr_mode = "otg";
    			phys = <&usb0_phy>;
    			phy-names = "usb2-phy";
    			snps,dis_u3_susphy_quirk;
    		};
    	};
    
    	usb0_phy: phy@4100000 {
    		compatible = "ti,am654-usb2", "ti,omap-usb2";
    		reg = <0x0 0x4100000 0x0 0x54>;
    		syscon-phy-power = <&scm_conf 0x4000>;
    		clocks = <&k3_clks 151 0>, <&k3_clks 151 1>;
    		clock-names = "wkupclk", "refclk";
    		#phy-cells = <0>;
    	};

  • Hi YunEn,

    Based on the k3-am65-main.dtsi file, the dwc3_0 node uses snps,dwc3.

    May I ask if my understanding is incorrect?

    Sorry, this is my bad. For whatever reasons, I thought AM65x uses CDNS USB controller. But you are right, it uses DWC3 controller.

    Do you see the same problem on AM65x EVM with the SDK9.3 prebuilt SD card WIC image?

  • I just tested it on the EVM with SDK 9.3 prebuilt image (linked below), but I am unable to see the problem. Note the EVM by default has usb0 disabled, so the g_serial gadget driver is bond to usb1.

    https://dr-download.ti.com/software-development/software-development-kit-sdk/MD-diW9VClvQJ/09.03.05.02/tisdk-default-image-am65xx-evm-09.03.05.02.wic.xz

    root@am65xx-evm:~# uname -a                                                                               
    Linux am65xx-evm 6.1.119-ti-gc490f4c0fe51 #1 SMP PREEMPT Wed Dec  4 17:16:52 UTC 2024 aarch64 aarch64 aarch64 GNU/Linux                                                                                              
    root@am65xx-evm:~# modprobe g_serial                                                                      
    [   33.808689] g_serial gadget.0: Gadget Serial v2.4                                                      
    [   33.813518] g_serial gadget.0: g_serial ready
    root@am65xx-evm:~# cat /sys/kernel/debug/usb/4030000.usb/link_state 
    On

    On Linux PC:

    [177557.162488] usb 1-1.1.3: new high-speed USB device number 21 using xhci_hcd
    [177557.252677] usb 1-1.1.3: New USB device found, idVendor=0525, idProduct=a4a7, bcdDevice= 6.01
    [177557.252684] usb 1-1.1.3: New USB device strings: Mfr=1, Product=2, SerialNumber=0
    [177557.252703] usb 1-1.1.3: Product: Gadget Serial v2.4
    [177557.252705] usb 1-1.1.3: Manufacturer: Linux 6.1.119-ti-gc490f4c0fe51 with dwc3-gadget
    [177557.255342] cdc_acm 1-1.1.3:2.0: ttyACM0: USB ACM device

  • 8345.config.gz

    For your reference, attached above is the kernel .config for this kernel build.

  • I will continue testing tomorrow. Additionally, I would like to ask if you can provide the device tree related to EVM USB1, or if I should just use USB0 for testing?

    I ask because when I modified it to use USB0, it stopped working even though I used the same configuration and set it as a peripheral.

    Thank you again for your help.

  • The device tree is in the kernel: k3-am654-base-board.dts

  • Understood. That should be consistent with my settings then. I'm currently using k3-am654-base-board.dts and modifying it, but for some reason, my USB0 isn't working correctly in peripheral mode.

    I'll check the config.gz in detail tomorrow for any discrepancies. I'll let you know if I find anything. Thanks again!

  • The EVM USB0 setting for USB2.0 is in device tree k3-am654-pcie-usb2.dtso file.

    As shown in this dtso file, please ensure you configured serdes0 and serdes1 to PCIe, not to USB0.

  • I have checked and disabled the relevant settings in k3-am654-base-board.dts as shown below. I am not certain if this is what you were referring to?

    &serdes0 {
    	status = "disabled";
    };
    
    &serdes1 {
    	status = "disabled";
    };
    
    &pcie0_rc {
    	status = "disabled";
    };
    
    &pcie0_ep {
    	status = "disabled";
    };
    
    &pcie1_rc {
    	status = "disabled";
    };
    
    &pcie1_ep {
    	status = "disabled";
    };

  • I compared the Kernel Config you provided with my current one. All USB-related settings are completely identical, but my USB0 still won't work in peripheral mode.

  • I have checked and disabled the relevant settings in k3-am654-base-board.dts as shown below. I am not certain if this is what you were referring to?

    No. Not to disable serdes, but please set the serdes configurations in k3-am654-pcie-usb2.dtso.

  • vbus-gpios = <&wkup_gpio0 5 GPIO_ACTIVE_HIGH>;

    What this gpio is doing to vbus?

  • My apologies, but I'm not sure how I should modify this part. Would it be possible for you to provide an example for me?

    My understanding is that I should rewrite the serdes node in k3-am654-base-board.dts. If I don't overlay it with a command, a .dtbo shouldn't take effect, correct?

  • I have now removed the vbus gpio. I believe the vbus property should not be included in the node's configuration when it's in peripheral mode.

    I have attached my current dts file for your reference. Thanks!

    // SPDX-License-Identifier: GPL-2.0
    /*
     * Copyright (C) 2016-2020 Texas Instruments Incorporated - https://www.ti.com/
     */
    
    /dts-v1/;
    
    #include "k3-am654.dtsi"
    #include <dt-bindings/input/input.h>
    #include <dt-bindings/net/ti-dp83867.h>
    
    / {
    	compatible = "ti,am654-evm", "ti,am654";
    	model = "Texas Instruments AM654 Base Board";
    
    	aliases {
    		ethernet1 = &icssg1_emac0;
    		ethernet2 = &icssg2_emac0;
    	};
    
    	chosen {
    		stdout-path = "serial2:115200n8";
    		bootargs = "earlycon=ns16550a,mmio32,0x02800000";
    	};
    
    	memory@80000000 {
    		device_type = "memory";
    
    		/*1G Ram*/
    		reg = <0x00000000 0x80000000 0x00000000 0x40000000>;
    	};
    
    	reserved-memory {
    		#address-cells = <2>;
    		#size-cells = <2>;
    		ranges;
    
    		secure_ddr: secure-ddr@9e800000 {
    			reg = <0 0x9e800000 0 0x01800000>; /* for OP-TEE */
    			alignment = <0x1000>;
    			no-map;
    		};
    
    		mcu_r5fss0_core0_dma_memory_region: r5f-dma-memory@a0000000 {
    			compatible = "shared-dma-pool";
    			reg = <0 0xa0000000 0 0x100000>;
    			no-map;
    		};
    
    		mcu_r5fss0_core0_memory_region: r5f-memory@a0100000 {
    			compatible = "shared-dma-pool";
    			reg = <0 0xa0100000 0 0xf00000>;
    			no-map;
    		};
    
    		mcu_r5fss0_core1_dma_memory_region: r5f-dma-memory@a1000000 {
    			compatible = "shared-dma-pool";
    			reg = <0 0xa1000000 0 0x100000>;
    			no-map;
    		};
    
    		mcu_r5fss0_core1_memory_region: r5f-memory@a1100000 {
    			compatible = "shared-dma-pool";
    			reg = <0 0xa1100000 0 0xf00000>;
    			no-map;
    		};
    
    		rtos_ipc_memory_region: ipc-memories@a2000000 {
    			reg = <0x00 0xa2000000 0x00 0x00100000>;
    			alignment = <0x1000>;
    			no-map;
    		};
    	};
    
    	eeprom_gpio: eeprom_gpio {
    		compatible = "eeprom-gpio";
    		eeprom-gpio = <&wkup_gpio0 7 GPIO_ACTIVE_HIGH>;
    	};
    
    	leds {
    		pinctrl-names = "default";
    		pinctrl-0 = <&ledgpio0_pins_default &ledgpio1_pins_default &ledgpio2_pins_default>;
    
    		compatible = "gpio-leds";
    
    		led1 {
    			label = "LED-RUN";
    			gpios = <&main_gpio0 27 GPIO_ACTIVE_LOW>;
    		};
    
    		led2 {
    			label = "LED-ERR";
    			gpios = <&main_gpio1 70 GPIO_ACTIVE_HIGH>;
    		};
    
    		led3 {
    			label = "LED-BUS";
    			gpios = <&main_gpio1 48 GPIO_ACTIVE_HIGH>;
    		};
    
    		led4 {
    			label = "LED-232TX";
    			gpios = <&main_gpio1 21 GPIO_ACTIVE_HIGH>;
    		};
    
    		led5 {
    			label = "LED-232RX";
    			gpios = <&main_gpio0 26 GPIO_ACTIVE_HIGH>;
    		};
    
    		led6 {
    			label = "LED-485TX";
    			gpios = <&main_gpio1 87 GPIO_ACTIVE_HIGH>;
    		};
    
    		led7 {
    			label = "LED-485RX";
    			gpios = <&main_gpio1 46 GPIO_ACTIVE_HIGH>;
    		};
    
    		led8 {
    			label = "LED-SD";
    			gpios = <&main_gpio0 23 GPIO_ACTIVE_HIGH>;
    		};
    	};
    
    	/* Dual Ethernet application node on PRU-ICSSG2 */
    	icssg1_eth: icssg1-eth {
    		compatible = "ti,am654-icssg-prueth";
    		pinctrl-names = "default";
    		pinctrl-0 = <&ethernet0_pins_default>;
    		sram = <&msmc_ram>;
    		ti,prus = <&pru1_0>, <&rtu1_0>, <&tx_pru1_0>,
    				<&pru1_1>, <&rtu1_1>, <&tx_pru1_1>;
    		firmware-name = "ti-pruss/am65x-sr2-pru0-prueth-fw.elf",
    				"ti-pruss/am65x-sr2-rtu0-prueth-fw.elf",
    				"ti-pruss/am65x-sr2-txpru0-prueth-fw.elf",
    				"ti-pruss/am65x-sr2-pru1-prueth-fw.elf",
    				"ti-pruss/am65x-sr2-rtu1-prueth-fw.elf",
    				"ti-pruss/am65x-sr2-txpru1-prueth-fw.elf";
    
    		ti,pruss-gp-mux-sel = <2>,      /* MII mode */
    				      <2>,
    				      <2>,
    				      <2>,	/* MII mode */
    				      <2>,
    				      <2>;
    
    		ti,mii-g-rt = <&icssg1_mii_g_rt>;
    		ti,mii-rt = <&icssg1_mii_rt>;
    		ti,pa-stats = <&icssg1_pa_stats>;
    		iep = <&icssg1_iep0>;
    
    		interrupt-parent = <&icssg1_intc>;
    		interrupts = <24 0 2>, <25 1 3>;
    		interrupt-names = "tx_ts0", "tx_ts1";
    
    		dma-coherent;
    		dmas = <&main_udmap 0xc200>, /* egress slice 0 */
    			   <&main_udmap 0xc201>, /* egress slice 0 */
    			   <&main_udmap 0xc202>, /* egress slice 0 */
    			   <&main_udmap 0xc203>, /* egress slice 0 */
    			   <&main_udmap 0xc204>, /* egress slice 1 */
    			   <&main_udmap 0xc205>, /* egress slice 1 */
    			   <&main_udmap 0xc206>, /* egress slice 1 */
    			   <&main_udmap 0xc207>, /* egress slice 1 */
    
    			   <&main_udmap 0x4200>, /* ingress slice 0 */
    			   <&main_udmap 0x4201>, /* ingress slice 1 */
    			   <&main_udmap 0x4202>, /* mgmnt rsp slice 0 */
    			   <&main_udmap 0x4203>; /* mgmnt rsp slice 1 */
    		dma-names = "tx0-0", "tx0-1", "tx0-2", "tx0-3",
    			    "tx1-0", "tx1-1", "tx1-2", "tx1-3",
    			    "rx0", "rx1";
    
    		ethernet-ports {
    			#address-cells = <1>;
    			#size-cells = <0>;
    			icssg1_emac0: port@0 {
    				reg = <0>;
    				phy-handle = <&icssg1_phy0>;
    				phy-mode = "rgmii-id";
    				//interrupts-extended = <&icssg1_intc 24 0 2>;
    				ti,syscon-rgmii-delay = <&scm_conf 0x4110>;
    				/* Filled in by bootloader */
    				local-mac-address = [00 00 00 00 00 00];
    			};
    		};
    	};
    
    	icssg2_eth: icssg2-eth {
    		compatible = "ti,am654-icssg-prueth";
    		pinctrl-names = "default";
    		pinctrl-0 = <&ethernet1_pins_default>;
    		sram = <&msmc_ram>;
    		ti,prus = <&pru2_0>, <&rtu2_0>, <&tx_pru2_0>,
    			<&pru2_1>, <&rtu2_1>, <&tx_pru2_1>;
    		firmware-name = "ti-pruss/am65x-sr2-pru0-prueth-fw.elf",
    				"ti-pruss/am65x-sr2-rtu0-prueth-fw.elf",
    				"ti-pruss/am65x-sr2-txpru0-prueth-fw.elf",
    				"ti-pruss/am65x-sr2-pru1-prueth-fw.elf",
    				"ti-pruss/am65x-sr2-rtu1-prueth-fw.elf",
    				"ti-pruss/am65x-sr2-txpru1-prueth-fw.elf";
    
    		ti,pruss-gp-mux-sel = <2>,      /* MII mode */
    				      <2>,
    				      <2>,
    				      <2>,	/* MII mode */
    				      <2>,
    				      <2>;
    
    		ti,mii-g-rt = <&icssg2_mii_g_rt>;
    		ti,mii-rt = <&icssg2_mii_rt>;
    		ti,pa-stats = <&icssg2_pa_stats>;
    		iep = <&icssg2_iep0>;
    
    		interrupt-parent = <&icssg2_intc>;
    		interrupts = <24 0 2>, <25 1 3>;
    		interrupt-names = "tx_ts0", "tx_ts1";
    
    		dmas = <&main_udmap 0xc300>, /* egress slice 0 */
    		       <&main_udmap 0xc301>, /* egress slice 0 */
    		       <&main_udmap 0xc302>, /* egress slice 0 */
    		       <&main_udmap 0xc303>, /* egress slice 0 */
    		       <&main_udmap 0xc304>, /* egress slice 1 */
    		       <&main_udmap 0xc305>, /* egress slice 1 */
    		       <&main_udmap 0xc306>, /* egress slice 1 */
    		       <&main_udmap 0xc307>, /* egress slice 1 */
    
    		       <&main_udmap 0x4300>, /* ingress slice 0 */
    		       <&main_udmap 0x4301>, /* ingress slice 1 */
    		       <&main_udmap 0x4302>, /* mgmnt rsp slice 0 */
    		       <&main_udmap 0x4303>; /* mgmnt rsp slice 1 */
    		dma-names = "tx0-0", "tx0-1", "tx0-2", "tx0-3",
    			    "tx1-0", "tx1-1", "tx1-2", "tx1-3",
    			    "rx0", "rx1";
    
    		ethernet-ports {
    			#address-cells = <1>;
    			#size-cells = <0>;
    			icssg2_emac0: port@0 {
    				reg = <0>;
    				phy-handle = <&icssg2_phy0>;
    				phy-mode = "rgmii-id";
    				ti,syscon-rgmii-delay = <&scm_conf 0x4120>;
    				/* Filled in by bootloader */
    				local-mac-address = [00 00 00 00 00 00];
    			};
    		};
    	};
    	
    };
    
    &wkup_pmx0 {
    	pinctrl-names = "default";
    	pinctrl-0 = <&eepromdone_pins_default &iovolctrl_pins_default &vbusctrl_pins_default &mcuboot_pins_default>;
    
    	phy2ax58100_pins_default: phy2ax58100_pins_default {
    		pinctrl-single,pins = <
    			AM65X_WKUP_IOPAD(0x0058, PIN_INPUT, 1) /* (N4) MCU_RGMII1_TX_CTL.MCU_RMII1_CRS_DV */
    			AM65X_WKUP_IOPAD(0x005c, PIN_INPUT, 1) /* (N5) MCU_RGMII1_RX_CTL.MCU_RMII1_RX_ER */
    			AM65X_WKUP_IOPAD(0x0068, PIN_OUTPUT, 1) /* (M4) MCU_RGMII1_TD1.MCU_RMII1_TXD1 */
    			AM65X_WKUP_IOPAD(0x006c, PIN_OUTPUT, 1) /* (M5) MCU_RGMII1_TD0.MCU_RMII1_TXD0 */
    			AM65X_WKUP_IOPAD(0x0080, PIN_INPUT, 1) /* (M6) MCU_RGMII1_RD1.MCU_RMII1_RXD1 */
    			AM65X_WKUP_IOPAD(0x0084, PIN_INPUT, 1) /* (L6) MCU_RGMII1_RD0.MCU_RMII1_RXD0 */
    			AM65X_WKUP_IOPAD(0x0070, PIN_OUTPUT, 1) /* (N1) MCU_RGMII1_TXC.MCU_RMII1_TX_EN */
    			AM65X_WKUP_IOPAD(0x0074, PIN_INPUT, 1) /* (M1) MCU_RGMII1_RXC.MCU_RMII1_REF_CLK */
    		>;
    	};
    
    	mcan0_pins_default: mcan0_pins_default {
    		pinctrl-single,pins = <
    			AM65X_WKUP_IOPAD(0x00ac, PIN_INPUT, 0) /* (W2) MCU_MCAN0_RX */
    			AM65X_WKUP_IOPAD(0x00a8, PIN_OUTPUT, 0) /* (W1) MCU_MCAN0_TX */
    		>;
    	};
    
    	phy2ax58100_mdio2_pins_default: phy2ax58100_mdio2_pins_default {
    		pinctrl-single,pins = <
    			AM65X_WKUP_IOPAD(0x008c, PIN_OUTPUT, 0) /* (L1) MCU_MDIO0_MDC */
    			AM65X_WKUP_IOPAD(0x0088, PIN_INPUT, 0) /* (L4) MCU_MDIO0_MDIO */
    		>;
    	};
    
    	usb5vsignal_pins_default: usb5vsignal_pins_default {
    		pinctrl-single,pins = <
    			AM65X_WKUP_IOPAD(0x00c4, PIN_INPUT, 7) /* (AD3) WKUP_GPIO0_5 */
    		>;
    	};
    
    	iovolctrl_pins_default: iovolctrl_pins_default {
    		pinctrl-single,pins = <
    			AM65X_WKUP_IOPAD(0x00c8, PIN_OUTPUT, 7) /* (AC2) WKUP_GPIO0_6 */ /*IO_VOLCTRL*/
    		>;
    	};
    
    	eepromdone_pins_default: eepromdone_pins_default {
    		pinctrl-single,pins = <
    			AM65X_WKUP_IOPAD(0x00cc, PIN_INPUT, 7) /* (AC1) WKUP_GPIO0_7 */ /*EEP_DONE*/
    		>;
    	};
    
    	vbusctrl_pins_default: vbusctrl_pins_default {
    		pinctrl-single,pins = <
    			AM65X_WKUP_IOPAD(0x00D8, PIN_OUTPUT, 7) /* (AB3) WKUP_GPIO0_10 */ /*USBVBUSCTRL*/
    		>;
    	};
    
        mcuboot_pins_default: mcuboot_pins_default {
    		pinctrl-single,pins = <
    			AM65X_WKUP_IOPAD(0x00B0, PIN_INPUT, 7) /* (AF4) WKUP_GPIO0_0 */ /*MCU-BOOT0*/
                AM65X_WKUP_IOPAD(0x00B4, PIN_INPUT, 7) /* (AF3) WKUP_GPIO0_1 */ /*MCU-BOOT1*/
                AM65X_WKUP_IOPAD(0x00B8, PIN_INPUT_PULLDOWN, 7) /* (AE3) WKUP_GPIO0_2 */ /*MCU-BOOT2*/
                AM65X_WKUP_IOPAD(0x00BC, PIN_INPUT_PULLDOWN, 7) /* (AD1) WKUP_GPIO0_3 */ /*MCU-BOOT3*/
                AM65X_WKUP_IOPAD(0x00C0, PIN_INPUT_PULLDOWN, 7) /* (AC3) WKUP_GPIO0_4 */ /*MCU-BOOT4*/
                AM65X_WKUP_IOPAD(0x00D0, PIN_INPUT_PULLDOWN, 7) /* (AC5) WKUP_GPIO0_8 */ /*MCU-BOOT8*/
                AM65X_WKUP_IOPAD(0x00D4, PIN_INPUT, 7) /* (AB4) WKUP_GPIO0_9 */ /*MCU-BOOT9*/
                AM65X_WKUP_IOPAD(0x0098, PIN_INPUT_PULLDOWN, 7) /* (Y2) */ /*MCU-BOOT5*/
                AM65X_WKUP_IOPAD(0x0090, PIN_INPUT_PULLDOWN, 7) /* (Y1) */ /*MCU-BOOT6*/
                AM65X_WKUP_IOPAD(0x0094, PIN_INPUT_PULLDOWN, 7) /* (Y3) */ /*MCU-BOOT7*/
    		>;
    	};
    };
    
    &main_pmx0 {
    	pinctrl-names = "default";
    	pinctrl-0 = <&gpio0_pins_default &gpio1_pins_default>;
    
    	gpio0_pins_default: gpio0_pins_default {
    		pinctrl-single,pins = <
    			AM65X_IOPAD(0x0040, PIN_OUTPUT, 7)  /* (R28) GPIO0_16 */ /*ETH1-PHY-RESET*/
    			AM65X_IOPAD(0x0058, PIN_INPUT, 7)   /* (R26) GPIO0_22 */ /*RUN/STOP SW*/
    			AM65X_IOPAD(0x005c, PIN_OUTPUT, 7)  /* (R23) GPIO0_23 */ /* SD-CARD-READY-LED */
    			AM65X_IOPAD(0x0060, PIN_OUTPUT, 7)  /* (T25) GPIO0_24 */ /*/AX58100-RST*/
    			AM65X_IOPAD(0x0064, PIN_OUTPUT, 7)  /* (T24) GPIO0_25 */ /*/AX58100-PYH-RST*/
    			AM65X_IOPAD(0x0068, PIN_OUTPUT, 7)  /* (R24) GPIO0_26 */ /* RS232-RX-LED */
    			AM65X_IOPAD(0x0070, PIN_OUTPUT, 7)  /* (R25) GPIO0_28 */ /*GPIO-eMMC-RST*/
    			AM65X_IOPAD(0x0074, PIN_INPUT, 7)   /* (T27) GPIO0_29 */ /*/24V-LV*/
    			AM65X_IOPAD(0x00ac, PIN_INPUT, 1)   /* (AH15) PRG2_PRU1_GPO0.GPIO0_43 */
    			AM65X_IOPAD(0x00b0, PIN_INPUT, 1)   /* (AC16) PRG2_PRU1_GPO1.GPIO0_44 */
    			AM65X_IOPAD(0x00b4, PIN_INPUT, 1)   /* (AD17) PRG2_PRU1_GPO2.GPIO0_45 */
    			AM65X_IOPAD(0x00b8, PIN_INPUT, 1)   /* (AH14) PRG2_PRU1_GPO3.GPIO0_46 */
    			AM65X_IOPAD(0x00d4, PIN_OUTPUT, 7)  /* (AC15) GPIO0_53 */ /*CAN-TERM*/
    			AM65X_IOPAD(0x00d8, PIN_INPUT, 1)   /* (AD14) GPIO0_54 */ /*HS_PRU2_LV*/
    			AM65X_IOPAD(0x00dc, PIN_OUTPUT, 7)   /* (AE14) GPIO0_55 */ /*HS_PRU2_IRQ*/
    			AM65X_IOPAD(0x00f4, PIN_INPUT | PIN_OUTPUT, 7)   /* (AF27) GPIO0_61 */ /*PRU0-IRQ*/
    			AM65X_IOPAD(0x00fc, PIN_INPUT | PIN_OUTPUT, 7)   /* (AG27) GPIO0_63 */ /*PRU2-IRQ*/
    			AM65X_IOPAD(0x0108, PIN_OUTPUT, 7)  /* (AH25) GPIO0_66 */ /*ETH0-PHY-RESET*/
    			AM65X_IOPAD(0x0124, PIN_OUTPUT, 7)  /* (AH26) GPIO0_73 */ /*ECAT2-PHY-RST*/
    
                AM65X_IOPAD(0x0000, PIN_INPUT_PULLDOWN, 7)  /* (M27) GPIO0_0 */
                AM65X_IOPAD(0x0004, PIN_INPUT, 7)  /* (M23) GPIO0_1 */
                AM65X_IOPAD(0x0008, PIN_INPUT, 7)  /* (M28) GPIO0_2 */
                AM65X_IOPAD(0x000C, PIN_INPUT_PULLDOWN, 7)  /* (M24) GPIO0_3 */
                AM65X_IOPAD(0x0010, PIN_INPUT_PULLDOWN, 7)  /* (N24) GPIO0_4 */
                AM65X_IOPAD(0x0014, PIN_INPUT_PULLDOWN, 7)  /* (N27) GPIO0_5 */
                AM65X_IOPAD(0x0018, PIN_INPUT, 7)  /* (N28) GPIO0_6 */
                AM65X_IOPAD(0x001C, PIN_INPUT_PULLDOWN, 7)  /* (M25) GPIO0_7 */
                AM65X_IOPAD(0x0020, PIN_INPUT_PULLDOWN, 7)  /* (N23) GPIO0_8 */
                AM65X_IOPAD(0x0024, PIN_INPUT_PULLDOWN, 7)  /* (M26) GPIO0_9 */
                AM65X_IOPAD(0x0028, PIN_INPUT_PULLDOWN, 7)  /* (P28) GPIO0_10 */
                AM65X_IOPAD(0x002C, PIN_INPUT_PULLDOWN, 7)  /* (P27) GPIO0_11 */
                AM65X_IOPAD(0x0030, PIN_INPUT_PULLDOWN, 7)  /* (N26) GPIO0_12 */
                AM65X_IOPAD(0x0034, PIN_INPUT, 7)  /* (N25) GPIO0_13 */
                AM65X_IOPAD(0x0038, PIN_INPUT_PULLDOWN, 7)  /* (P24) GPIO0_14 */
                AM65X_IOPAD(0x003C, PIN_INPUT_PULLDOWN, 7)  /* (R27) GPIO0_15 */
                AM65X_IOPAD(0x0044, PIN_INPUT_PULLDOWN, 7)  /* (P25) GPIO0_17 */
                AM65X_IOPAD(0x0048, PIN_INPUT, 7)  /* (P26) GPIO0_18 */
                AM65X_IOPAD(0x004C, PIN_INPUT, 7)  /* (U28) GPIO0_19 */
    		>;
    	};
    
    	gpio1_pins_default: gpio1_pins_default {
    		pinctrl-single,pins = <
    			AM65X_IOPAD(0x01ec, PIN_OUTPUT, 7)  /* (AG11) GPIO1_27 */ /*Latch*/
    			AM65X_IOPAD(0x01f0, PIN_INPUT, 7)   /* (AD11) GPIO1_28 */ /*/DO-FAULT*/
    			AM65X_IOPAD(0x01f4, PIN_INPUT, 1)   /* (V24) PRG0_PRU0_GPO0.GPIO1_29 */
    			AM65X_IOPAD(0x01f8, PIN_INPUT, 1)   /* (W25) PRG0_PRU0_GPO1.GPIO1_30 */
    			AM65X_IOPAD(0x01fc, PIN_INPUT, 1)   /* (W24) PRG0_PRU0_GPO2.GPIO1_31 */
    			AM65X_IOPAD(0x0200, PIN_INPUT, 1)   /* (AA27) PRG0_PRU0_GPO3.GPIO1_32 */
    			AM65X_IOPAD(0x0204, PIN_INPUT, 1)   /* (Y24) PRG0_PRU0_GPO4.GPIO1_33 */
    			AM65X_IOPAD(0x0208, PIN_INPUT, 1)   /* (V28) PRG0_PRU0_GPO5.GPIO1_34 */
    			AM65X_IOPAD(0x020c, PIN_INPUT, 1)   /* (Y25) PRG0_PRU0_GPO6.GPIO1_35 */
    			AM65X_IOPAD(0x0210, PIN_INPUT, 1)   /* (U27) PRG0_PRU0_GPO7.GPIO1_36 */
    			AM65X_IOPAD(0x0214, PIN_INPUT, 7)   /* (V27) PRG0_PRU0_GPO8.GPIO1_37 */
    			AM65X_IOPAD(0x0218, PIN_INPUT, 7)   /* (V26) PRG0_PRU0_GPO9.GPIO1_38 */
    			AM65X_IOPAD(0x021c, PIN_INPUT, 7)   /* (U25) PRG0_PRU0_GPO10.GPIO1_39 */
    			AM65X_IOPAD(0x0220, PIN_INPUT, 7)   /* (AB25) PRG0_PRU0_GPO11.GPIO1_40 */
    			AM65X_IOPAD(0x0224, PIN_INPUT, 7)   /* (AD27) PRG0_PRU0_GPO12.GPIO1_41 */
    			AM65X_IOPAD(0x0228, PIN_INPUT, 7)   /* (AC26) PRG0_PRU0_GPO13.GPIO1_42 */
    			AM65X_IOPAD(0x022c, PIN_INPUT, 7)   /* (AD26) PRG0_PRU0_GPO14.GPIO1_43 */
    			AM65X_IOPAD(0x0230, PIN_INPUT, 7)   /* (AA24) PRG0_PRU0_GPO15.GPIO1_44 */
    			AM65X_IOPAD(0x0234, PIN_INPUT, 1)   /* (AD28) GPIO1_45 */ /*HS_PRU0_LV*/
    			AM65X_IOPAD(0x023C, PIN_OUTPUT, 7)   /* (V25) GPIO1_47 */ /*HS_PRU0_IRQ*/
    			AM65X_IOPAD(0x0244, PIN_OUTPUT_PULLDOWN, 7) /* (AB28) PRG0_PRU1_GPO0.GPIO1_49 */ /*****************************************************************************/
    			AM65X_IOPAD(0x0248, PIN_OUTPUT_PULLDOWN, 7) /* (AC28) PRG0_PRU1_GPO1.GPIO1_50 */ /*We set the mode as 7 due to PRU cannot control default status of output pin*/
    			AM65X_IOPAD(0x024c, PIN_OUTPUT_PULLDOWN, 7) /* (AC27) PRG0_PRU1_GPO2.GPIO1_51 */ /*And we set the mode back to 0 using memdev2 after PRU init*/
    			AM65X_IOPAD(0x0250, PIN_OUTPUT_PULLDOWN, 7) /* (AB26) PRG0_PRU1_GPO3.GPIO1_52 */ /*****************************************************************************/
    			AM65X_IOPAD(0x0284, PIN_INPUT, 7)   /* (AC24) GPIO1_65 */
    			AM65X_IOPAD(0x0290, PIN_INPUT, 7)   /* (W26) GPIO1_68 */
    			AM65X_IOPAD(0x0294, PIN_INPUT, 7)   /* (AE26) GPIO1_69 */
    			AM65X_IOPAD(0x01d0, PIN_OUTPUT_PULLDOWN, 7) /* (AD12) GPIO1_20 */ /*SEL-OUT*/
    		>;
    	};
    
    	ledgpio1_pins_default: ledgpio1_pins_default {
    		pinctrl-single,pins = <
    			AM65X_IOPAD(0x01d4, PIN_OUTPUT, 7)  /* (AG12) GPIO1_21 */ /* RS232-TX-LED */
    			AM65X_IOPAD(0x0238, PIN_OUTPUT, 7)  /* (U26) GPIO1_46 */ /* RS485-RX-LED */
    			AM65X_IOPAD(0x0240, PIN_OUTPUT, 7)  /* (U24) GPIO1_48 */ /* BUSFAULT-LED */
    			AM65X_IOPAD(0x0298, PIN_OUTPUT, 7)  /* (AE28) GPIO1_70 */ /* ERROR-LED */
    		>;
    	};
    
    	ledgpio0_pins_default: ledgpio0_pins_default {
    		pinctrl-single,pins = <
    			AM65X_IOPAD(0x006c, PIN_OUTPUT | PIN_INPUT, 7) /* (T23) GPIO0_27 */ /* RUN-LED */
    		>;
    	};
    
    	main_mmc0_pins_default: main-mmc0-pins-default {
    		pinctrl-single,pins = <
    			AM65X_IOPAD(0x01a8, PIN_INPUT_PULLDOWN, 0) /* (B25) MMC0_CLK */
    			AM65X_IOPAD(0x01ac, PIN_INPUT_PULLUP, 0) /* (B27) MMC0_CMD */
    			AM65X_IOPAD(0x01a4, PIN_INPUT_PULLUP, 0) /* (A26) MMC0_DAT0 */
    			AM65X_IOPAD(0x01a0, PIN_INPUT_PULLUP, 0) /* (E25) MMC0_DAT1 */
    			AM65X_IOPAD(0x019c, PIN_INPUT_PULLUP, 0) /* (C26) MMC0_DAT2 */
    			AM65X_IOPAD(0x0198, PIN_INPUT_PULLUP, 0) /* (A25) MMC0_DAT3 */
    			AM65X_IOPAD(0x0194, PIN_INPUT_PULLUP, 0) /* (E24) MMC0_DAT4 */
    			AM65X_IOPAD(0x0190, PIN_INPUT_PULLUP, 0) /* (A24) MMC0_DAT5 */
    			AM65X_IOPAD(0x018c, PIN_INPUT_PULLUP, 0) /* (B26) MMC0_DAT6 */
    			AM65X_IOPAD(0x0188, PIN_INPUT_PULLUP, 0) /* (D25) MMC0_DAT7 */
    			AM65X_IOPAD(0x01b0, PIN_INPUT, 0) /* (C25) MMC0_DS */
    		>;
    	};
    
    	main_mmc1_pins_default: main-mmc1-pins-default {
    		pinctrl-single,pins = <
    			AM65X_IOPAD(0x02d4, PIN_INPUT_PULLDOWN, 0) /* (C27) MMC1_CLK */
    			AM65X_IOPAD(0x02d8, PIN_INPUT_PULLUP, 0) /* (C28) MMC1_CMD */
    			AM65X_IOPAD(0x02d0, PIN_INPUT_PULLUP, 0) /* (D28) MMC1_DAT0 */
    			AM65X_IOPAD(0x02cc, PIN_INPUT_PULLUP, 0) /* (E27) MMC1_DAT1 */
    			AM65X_IOPAD(0x02c8, PIN_INPUT_PULLUP, 0) /* (D26) MMC1_DAT2 */
    			AM65X_IOPAD(0x02c4, PIN_INPUT_PULLUP, 0) /* (D27) MMC1_DAT3 */
    			AM65X_IOPAD(0x02dc, PIN_INPUT_PULLUP, 0) /* (B24) MMC1_SDCD */
    			AM65X_IOPAD(0x02e0, PIN_INPUT, 0) /* (C24) MMC1_SDWP */
    		>;
    	};
    
    	icssg1_mdio_pins_default: icssg1_mdio_pins_default {
    		pinctrl-single,pins = <
    			AM65X_IOPAD(0x0180, PIN_INPUT, 0) /* (AD18) PRG1_MDIO0_MDIO */
    			AM65X_IOPAD(0x0184, PIN_OUTPUT, 0) /* (AH18) PRG1_MDIO0_MDC */
    		>;
    	};
    
    	ethernet0_pins_default: ethernet0_pins_default {
    		pinctrl-single,pins = <
    			AM65X_IOPAD(0x00e0, PIN_INPUT, 2) /* (AE22) PRG1_PRU0_GPO0.PRG1_RGMII1_RD0 */
    			AM65X_IOPAD(0x00e4, PIN_INPUT, 2) /* (AG24) PRG1_PRU0_GPO1.PRG1_RGMII1_RD1 */
    			AM65X_IOPAD(0x00e8, PIN_INPUT, 2) /* (AF23) PRG1_PRU0_GPO2.PRG1_RGMII1_RD2 */
    			AM65X_IOPAD(0x00ec, PIN_INPUT, 2) /* (AD21) PRG1_PRU0_GPO3.PRG1_RGMII1_RD3 */
    			AM65X_IOPAD(0x0110, PIN_OUTPUT, 2) /* (AH20) PRG1_PRU0_GPO12.PRG1_RGMII1_TD0 */
    			AM65X_IOPAD(0x0114, PIN_OUTPUT, 2) /* (AH21) PRG1_PRU0_GPO13.PRG1_RGMII1_TD1 */
    			AM65X_IOPAD(0x0118, PIN_OUTPUT, 2) /* (AG20) PRG1_PRU0_GPO14.PRG1_RGMII1_TD2 */
    			AM65X_IOPAD(0x011c, PIN_OUTPUT, 2) /* (AD19) PRG1_PRU0_GPO15.PRG1_RGMII1_TD3 */
    			AM65X_IOPAD(0x0120, PIN_INPUT, 2) /* (AD20) PRG1_PRU0_GPO16.PRG1_RGMII1_TXC */
    			AM65X_IOPAD(0x010c, PIN_OUTPUT, 2) /* (AF21) PRG1_PRU0_GPO11.PRG1_RGMII1_TX_CTL */
    			AM65X_IOPAD(0x00f8, PIN_INPUT, 2) /* (AF22) PRG1_PRU0_GPO6.PRG1_RGMII1_RXC */
    			AM65X_IOPAD(0x00f0, PIN_INPUT, 2) /* (AG23) PRG1_PRU0_GPO4.PRG1_RGMII1_RX_CTL */
    
    			//ethercat1_pins_default
    			AM65X_IOPAD(0x0130, PIN_INPUT, 2) /* (AH24) PRG1_PRU1_GPO0.PRG1_RGMII2_RD0 */
    			AM65X_IOPAD(0x0134, PIN_INPUT, 2) /* (AH23) PRG1_PRU1_GPO1.PRG1_RGMII2_RD1 */
    			AM65X_IOPAD(0x0138, PIN_INPUT, 2) /* (AG21) PRG1_PRU1_GPO2.PRG1_RGMII2_RD2 */
    			AM65X_IOPAD(0x013c, PIN_INPUT, 2) /* (AH22) PRG1_PRU1_GPO3.PRG1_RGMII2_RD3 */
    			AM65X_IOPAD(0x0160, PIN_OUTPUT, 2) /* (AE20) PRG1_PRU1_GPO12.PRG1_RGMII2_TD0 */
    			AM65X_IOPAD(0x0164, PIN_OUTPUT, 2) /* (AF19) PRG1_PRU1_GPO13.PRG1_RGMII2_TD1 */
    			AM65X_IOPAD(0x0168, PIN_OUTPUT, 2) /* (AH19) PRG1_PRU1_GPO14.PRG1_RGMII2_TD2 */
    			AM65X_IOPAD(0x016c, PIN_OUTPUT, 2) /* (AG19) PRG1_PRU1_GPO15.PRG1_RGMII2_TD3 */
    			AM65X_IOPAD(0x0170, PIN_INPUT, 2) /* (AE19) PRG1_PRU1_GPO16.PRG1_RGMII2_TXC */
    			AM65X_IOPAD(0x015c, PIN_OUTPUT, 2) /* (AC20) PRG1_PRU1_GPO11.PRG1_RGMII2_TX_CTL */
    			AM65X_IOPAD(0x0148, PIN_INPUT, 2) /* (AG22) PRG1_PRU1_GPO6.PRG1_RGMII2_RXC */
    			AM65X_IOPAD(0x0140, PIN_INPUT, 2) /* (AE21) PRG1_PRU1_GPO4.PRG1_RGMII2_RX_CTL */
    		>;
    	};
    
    	icssg2_mdio_pins_default: icssg2_mdio_pins_default {
    		pinctrl-single,pins = <
    			AM65X_IOPAD(0x0094, PIN_INPUT, 2) /* (AC19) PRG2_PRU0_GPO7.PRG2_MDIO0_MDIO */
    			AM65X_IOPAD(0x00c8, PIN_OUTPUT, 2) /* (AE15) PRG2_PRU1_GPO7.PRG2_MDIO0_MDC */
    		>;
    	};
    
    	ethernet1_pins_default: ethernet1_pins_default {
    		pinctrl-single,pins = <
    			AM65X_IOPAD(0x0078, PIN_INPUT, 2) /* (AF18) PRG2_PRU0_GPO0.PRG2_RGMII1_RD0 */
    			AM65X_IOPAD(0x007c, PIN_INPUT, 2) /* (AE18) PRG2_PRU0_GPO1.PRG2_RGMII1_RD1 */
    			AM65X_IOPAD(0x0080, PIN_INPUT, 2) /* (AH17) PRG2_PRU0_GPO2.PRG2_RGMII1_RD2 */
    			AM65X_IOPAD(0x0084, PIN_INPUT, 2) /* (AG18) PRG2_PRU0_GPO3.PRG2_RGMII1_RD3 */
    			AM65X_IOPAD(0x0098, PIN_OUTPUT, 2) /* (AH16) PRG2_PRU0_GPO8.PRG2_RGMII1_TD0 */
    			AM65X_IOPAD(0x009c, PIN_OUTPUT, 2) /* (AG16) PRG2_PRU0_GPO9.PRG2_RGMII1_TD1 */
    			AM65X_IOPAD(0x00a0, PIN_OUTPUT, 2) /* (AF16) PRG2_PRU0_GPO10.PRG2_RGMII1_TD2 */
    			AM65X_IOPAD(0x00a4, PIN_OUTPUT, 2) /* (AE16) PRG2_PRU0_GPO11.PRG2_RGMII1_TD3 */
    			AM65X_IOPAD(0x00a8, PIN_INPUT, 2) /* (AD16) PRG2_PRU0_GPO16.PRG2_RGMII1_TXC */
    			AM65X_IOPAD(0x0090, PIN_OUTPUT, 2) /* (AE17) PRG2_PRU0_GPO6.PRG2_RGMII1_TX_CTL */
    			AM65X_IOPAD(0x008c, PIN_INPUT, 2) /* (AF17) PRG2_PRU0_GPO5.PRG2_RGMII1_RXC */
    			AM65X_IOPAD(0x0088, PIN_INPUT, 2) /* (AG17) PRG2_PRU0_GPO4.PRG2_RGMII1_RX_CTL */
    		>;
    	};
    
    	main_spi0_pins_default: main-spi0-pins-default {
    		pinctrl-single,pins = <
    			AM65X_IOPAD(0x01c4, PIN_INPUT_PULLUP, 0)  /* (AH13) GPIO1_17 */ /*SPI0-CLK*/
    			AM65X_IOPAD(0x01c8, PIN_OUTPUT, 0)  /* (AE13) GPIO1_18 */ /*SPI0_D0*/
    			AM65X_IOPAD(0x01cc, PIN_INPUT, 0)   /* (AD13) GPIO1_19 */ /*SPI0_D1*/
    			AM65X_IOPAD(0x01bc, PIN_OUTPUT, 0)  /* (AG13) GPIO1_15 */ /*SPI0_CS0*/
    			AM65X_IOPAD(0x01c0, PIN_OUTPUT, 0)  /* (AF13) GPIO1_16 */ /*SPI0_CS1*/
    		>;
    	};
    
    	myspi2_pins_default: myspi2_pins_default {
    		pinctrl-single,pins = <
    			AM65X_IOPAD(0x01d8, PIN_OUTPUT, 0)  /* (AH12) GPIO1_22 */ /*SPI1_CLK*/
    			AM65X_IOPAD(0x01dc, PIN_OUTPUT, 0)  /* (AE12) GPIO1_23 */ /*SPI1_D0*/
    			AM65X_IOPAD(0x01e0, PIN_INPUT, 0)   /* (AF12) GPIO1_24 */ /*SPI1_D1*/
    		>;
    	};
    
    	main_uart0_pins_default: main-uart0-pins-default {
    		pinctrl-single,pins = <
    			AM65X_IOPAD(0x01e4, PIN_INPUT, 0)   /* (AF11) GPIO1_25 */ /*UART0_RXD*/
    			AM65X_IOPAD(0x01e8, PIN_OUTPUT, 0)  /* (AE11) GPIO1_26 */ /*UART0_TXD*/
    		>;
    	};
    
    	rs232_pins_default: rs232_pins_default {
    		pinctrl-single,pins = <
    			AM65X_IOPAD(0x0288, PIN_INPUT, 6)   /* (Y27) GPIO1_66 */ /*RS232-RXD*/
    			AM65X_IOPAD(0x0260, PIN_OUTPUT, 6)  /* (W28) GPIO1_56 */ /*RS232-TXD*/
    		>;
    	};
    
    	rs485_pins_default: rs485_pins_default {
    		pinctrl-single,pins = <
    			AM65X_IOPAD(0x0174, PIN_INPUT, 6)   /* (AE23) GPIO0_93 */ /*RS485-RXD*/
    			AM65X_IOPAD(0x014c, PIN_OUTPUT, 6)  /* (AD23) GPIO0_83 */ /*RS485-TXD*/
    			AM65X_IOPAD(0x017c, PIN_OUTPUT_PULLDOWN, 7) /* (AC21) GPIO0_95 */ /*RS485-DIR*/
    		>;
    	};
    
    	usb0_pins_default: usb0_pins_default {
    		pinctrl-single,pins = <
    			AM65X_IOPAD(0x02bc, PIN_OUTPUT, 0) /* (AD9) GPIO1_71 */ /*USB0_DRVVBUS*/
    		>;
    	};
    
    	usb20_host_pins_default: usb20_host_pins_default {
    		pinctrl-single,pins = <
    			AM65X_IOPAD(0x02c0, PIN_OUTPUT, 0) /* (AC8) GPIO1_72 */ /*USB1_DRVVBUS*/
    		>;
    	};
    };
    
    &main_pmx1 {
    	pinctrl-names = "default";
    	pinctrl-0 = <&gpio2_pins_default>;
    
    	main_i2c0_pins_default: main-i2c0-pins-default {
    		pinctrl-single,pins = <
    			AM65X_IOPAD(0x0000, PIN_INPUT, 0) /* (D20) I2C0_SCL */
    			AM65X_IOPAD(0x0004, PIN_INPUT, 0) /* (C21) I2C0_SDA */
    		>;
    	};
    
    	main_i2c1_pins_default: main-i2c1-pins-default {
    		pinctrl-single,pins = <
    			AM65X_IOPAD(0x0008, PIN_INPUT_PULLUP, 0) /* (B21) I2C1_SCL */
    			AM65X_IOPAD(0x000c, PIN_INPUT_PULLUP, 0) /* (E21) I2C1_SDA */
    		>;
    	};
    
    	gpio2_pins_default: gpio2_pins_default {
    		pinctrl-single,pins = <
    			AM65X_IOPAD(0x0010, PIN_OUTPUT, 7)  /* (D21) GPIO1_86 */ /* SER-COMM-EN */
    			AM65X_IOPAD(0x0018, PIN_INPUT, 7)   /* (B22) GPIO1_88 */ /* DDR-TP0 */
    			AM65X_IOPAD(0x001c, PIN_INPUT, 7)   /* (C23) GPIO1_89 */ /* DDR-TP1 */
    		>;
    	};
    
    	ledgpio2_pins_default: ledgpio2_pins_default {
    		pinctrl-single,pins = <
    			AM65X_IOPAD(0x0014, PIN_OUTPUT, 7) /* (A22) GPIO1_87 */	/* RS485-TX-LED */
    		>;
    	};
    };
    
    &wkup_uart0 {
    	/* Wakeup UART is used by System firmware */
    	status = "disabled";
    };
    
    /*&mcu_uart0 {
    	status = "disabled";
    }; */
    
    &main_uart0 {
    	status = "okay";
    	pinctrl-names = "default";
    	pinctrl-0 = <&main_uart0_pins_default>;
    	power-domains = <&k3_pds 146 TI_SCI_PD_SHARED>;
    };
    
    &main_uart1 {
    	status = "okay";
    	pinctrl-names = "default";
    	pinctrl-0 = <&rs485_pins_default>;
    	power-domains = <&k3_pds 147 TI_SCI_PD_SHARED>;
    	rts-gpios = <&main_gpio0 95 GPIO_ACTIVE_HIGH>;
    	rs485-rts-active-high;
    	rs485-rts-delay = <0 0>;
    	linux,rs485-enabled-at-boot-time;
    };
    
    &main_uart2 {
    	status = "okay";
    	pinctrl-names = "default";
    	pinctrl-0 = <&rs232_pins_default>;
    	power-domains = <&k3_pds 148 TI_SCI_PD_SHARED>;
    
    	current-speed = <115200>;
        fifo-size = <64>;
    };
    
    &main_i2c0 {
    	status = "okay";
    
    	pinctrl-names = "default";
    	pinctrl-0 = <&main_i2c0_pins_default>;
    	clock-frequency = <100000>;
    
    	eeprom: eeprom@50 {
    		compatible = "atmel,24c16";
    		reg = <0x50>;
    		pagesize = <16>;
    	};
    };
    
    &main_i2c1 {
    	status = "okay";
    
    	pinctrl-names = "default";
    	pinctrl-0 = <&main_i2c1_pins_default>;
    	clock-frequency = <100000>;
    
    	s35390a:rtc@30{
    		compatible = "sii,s35390a";
    		reg = <0x30>;
    	};
    };
    
    // 58100
    &main_spi0 {
        status = "okay";
    	pinctrl-names = "default";
    	pinctrl-0 = <&main_spi0_pins_default>;
    	#address-cells = <1>;
    	#size-cells= <0>;
    	ti,pindir-d0-out-d1-in = <1>;
    
        spidev@0 {
            status = "okay";
            compatible = "rohm,dh2228fv";
            reg = <0>;
            spi-max-frequency = <1000000>;
        };
    };
    
    // SN74HC595
    &main_spi1 {
        status = "okay";
    	pinctrl-names = "default";
    	pinctrl-0 = <&myspi2_pins_default>;
    	#address-cells = <1>;
    	#size-cells= <0>;
    	ti,pindir-d0-out-d1-in = <1>;
    
        spidev@0 {
            status = "okay";
            //compatible = "fairchild,74hc595";
            compatible = "rohm,dh2228fv";
            gpio-controller;
            #gpio-cells = <2>;
            reg = <0>;
            registers-number = <2>;
            registers-default = /bits/ 8 <0xb7>;
            spi-max-frequency = <100000>;
        };
    };
    
    &sdhci0 {
    	pinctrl-names = "default";
    	pinctrl-0 = <&main_mmc0_pins_default>;
    	bus-width = <8>;
    	non-removable;
    	ti,driver-strength-ohm = <50>;
    	disable-wp;
    };
    
    /*
     * Because of erratas i2025 and i2026 for silicon revision 1.0, the
     * SD card interface might fail. Boards with sr1.0 are recommended to
     * disable sdhci1
     */
    &sdhci1 {
    	//vmmc-supply = <&vdd_mmc1_sd>;
    	pinctrl-names = "default";
    	pinctrl-0 = <&main_mmc1_pins_default>;
    	ti,driver-strength-ohm = <50>;
    	disable-wp;
    };
    
    &usb1_phy {
    	status = "okay";
    };
    
    //typeA interface
    &usb1 {
    	status = "okay";
    	pinctrl-names = "default";
    	pinctrl-0 = <&usb20_host_pins_default>;
    	dr_mode = "host";
    };
    
    &dwc3_1 {
    	status = "okay";
    };
    
    &usb0_phy {
    	status = "okay";
    };
    
    &usb0 {
    	status = "okay";
    	pinctrl-names = "default";
    	pinctrl-0 = <&usb5vsignal_pins_default>;
    	dr_mode = "peripheral";
    };
    
    &dwc3_0 {
    	status = "okay";
    };
    
    
    &m_can0 {
    	status = "okay";
    	pinctrl-names = "default";
    	pinctrl-0 = <&mcan0_pins_default>;
    	//stb-gpios = <&main_gpio1 47 GPIO_ACTIVE_HIGH>;
    	can-transceiver {
    		max-bitrate = <5000000>;
    	};
    };
    
    &tscadc0 {
    	adc {
    		ti,adc-channels = <0 1 2 3 4 5 6 7>;
    	};
    };
    
    &tscadc1 {
    	adc {
    		ti,adc-channels = <0 1 2 3 4 5 6 7>;
    	};
    };
    
    &serdes0 {
    	status = "disabled";
    };
    
    &serdes1 {
    	status = "disabled";
    };
    
    &pcie0_rc {
    	status = "disabled";
    };
    
    &pcie0_ep {
    	status = "disabled";
    };
    
    &pcie1_rc {
    	status = "disabled";
    };
    
    &pcie1_ep {
    	status = "disabled";
    };
    
    
    &mailbox0_cluster0 {
    	status = "okay";
    	interrupts = <436>;
    
    	mbox_mcu_r5fss0_core0: mbox-mcu-r5fss0-core0 {
    		ti,mbox-tx = <1 0 0>;
    		ti,mbox-rx = <0 0 0>;
    	};
    };
    
    &mailbox0_cluster1 {
    	status = "okay";
    	interrupts = <432>;
    
    	mbox_mcu_r5fss0_core1: mbox-mcu-r5fss0-core1 {
    		ti,mbox-tx = <1 0 0>;
    		ti,mbox-rx = <0 0 0>;
    	};
    };
    
    
    &mailbox0_cluster2 {
    	status = "disabled";
    };
    
    &mailbox0_cluster3 {
    	status = "disabled";
    };
    
    &mailbox0_cluster4 {
    	status = "disabled";
    };
    
    &mailbox0_cluster5 {
    	status = "disabled";
    };
    
    &mailbox0_cluster6 {
    	status = "disabled";
    };
    
    &mailbox0_cluster7 {
    	status = "disabled";
    };
    
    &mailbox0_cluster8 {
    	status = "disabled";
    };
    
    &mailbox0_cluster9 {
    	status = "disabled";
    };
    
    &mailbox0_cluster10 {
    	status = "disabled";
    };
    
    &mailbox0_cluster11 {
    	status = "disabled";
    };
    
    
    &mcu_r5fss0_core0 {
    	memory-region = <&mcu_r5fss0_core0_dma_memory_region>,
    			<&mcu_r5fss0_core0_memory_region>;
    	mboxes = <&mailbox0_cluster0 &mbox_mcu_r5fss0_core0>;
    };
    
    
    
    &mcu_r5fss0_core1 {
    	memory-region = <&mcu_r5fss0_core1_dma_memory_region>,
    			<&mcu_r5fss0_core1_memory_region>;
    	mboxes = <&mailbox0_cluster1 &mbox_mcu_r5fss0_core1>;
    };
    
    
    /*
    &ospi0 {
    	pinctrl-names = "default";
    	pinctrl-0 = <&mcu_fss0_ospi0_pins_default>;
    
    	flash@0 {
    		compatible = "jedec,spi-nor";
    		reg = <0x0>;
    		spi-tx-bus-width = <8>;
    		spi-rx-bus-width = <8>;
    		spi-max-frequency = <25000000>;
    		cdns,tshsl-ns = <60>;
    		cdns,tsd2d-ns = <60>;
    		cdns,tchsh-ns = <60>;
    		cdns,tslch-ns = <60>;
    		cdns,read-delay = <0>;
    
    		partitions {
    			compatible = "fixed-partitions";
    			#address-cells = <1>;
    			#size-cells = <1>;
    
    			partition@0 {
    				label = "ospi.tiboot3";
    				reg = <0x0 0x80000>;
    			};
    
    			partition@80000 {
    				label = "ospi.tispl";
    				reg = <0x80000 0x200000>;
    			};
    
    			partition@280000 {
    				label = "ospi.u-boot";
    				reg = <0x280000 0x400000>;
    			};
    
    			partition@680000 {
    				label = "ospi.env";
    				reg = <0x680000 0x20000>;
    			};
    
    			partition@6a0000 {
    				label = "ospi.env.backup";
    				reg = <0x6a0000 0x20000>;
    			};
    
    			partition@6c0000 {
    				label = "ospi.sysfw";
    				reg = <0x6c0000 0x100000>;
    			};
    
    			partition@800000 {
    				label = "ospi.rootfs";
    				reg = <0x800000 0x37c0000>;
    			};
    
    			partition@3fe0000 {
    				label = "ospi.phypattern";
    				reg = <0x3fe0000 0x20000>;
    			};
    		};
    	};
    };
    */
    
    &mcu_cpsw {
    	pinctrl-names = "default";
    	//pinctrl-0 = <&mcu_cpsw_pins_default>;
    	pinctrl-0 = <&phy2ax58100_pins_default>, <&phy2ax58100_mdio2_pins_default>;
    };
    
    &davinci_mdio {
    	status = "okay";
    	reset-gpios = <&main_gpio0 25 GPIO_ACTIVE_LOW>;
    	reset-delay-us = <2>;   /* PHY datasheet states 1us min */
    
    	phy0: ethernet-phy@3 {
    		reg = <3>;
    	};
    };
    
    &cpsw_port1 {
    	phy-mode = "rmii";
    	phy-handle = <&phy0>;
    };
    
    &dss {
    	status = "disabled";
    };
    
    &icssg0_mdio {
    	status = "disabled";
    };
    
    &icssg1_mdio {
    	status = "okay";
    	pinctrl-names = "default";
    	pinctrl-0 = <&icssg1_mdio_pins_default>;
    
    	reset-gpios = <&main_gpio0 66 GPIO_ACTIVE_LOW>; /*83867*/
    	reset-delay-us = <2>;
    
    	icssg1_phy0: ethernet-phy@1 {
    		reg = <1>;
    		//interrupt-parent = <&main_gpio1>;
    		//interrupts = <87 0x2>;
    		ti,rx-internal-delay = <DP83867_RGMIIDCTL_2_00_NS>;
    		ti,fifo-depth = <DP83867_PHYCR_FIFO_DEPTH_4_B_NIB>;
    	};
    };
    
    &icssg2_mdio {
    	status = "okay";
    	pinctrl-names = "default";
    	pinctrl-0 = <&icssg2_mdio_pins_default>;
    	
    	reset-gpios = <&main_gpio0 16 GPIO_ACTIVE_LOW>; /*83867*/
    	reset-delay-us = <5>;
    
    	icssg2_phy0: ethernet-phy@2 {
    		reg = <2>;
    		//interrupt-parent = <&main_gpio1>;
    		//interrupts = <87 0x2>;
    		ti,rx-internal-delay = <DP83867_RGMIIDCTL_2_00_NS>;
    		ti,fifo-depth = <DP83867_PHYCR_FIFO_DEPTH_4_B_NIB>;
    	};
    };
    

  • I've made some modifications to my setup.

    &wkup_pmx0{
    
    ....
    usb5vsignal_pins_default: usb5vsignal_pins_default {
    		pinctrl-single,pins = <
    			AM65X_WKUP_IOPAD(0x00c4, PIN_INPUT, 7) /* (AD3) WKUP_GPIO0_5 */
    		>;
    	};
    ....
    
    }

    &usb0_phy {
    	status = "okay";
    };
    
    &usb0 {
    	status = "okay";
    	pinctrl-names = "default";
    	pinctrl-0 = <&usb5vsignal_pins_default>;
    	dr_mode = "peripheral";
    	maximum-speed = "high-speed";
    	vbus-gpios = <&wkup_gpio0 5 GPIO_ACTIVE_HIGH>;
    	phys = <&usb0_phy>;
    	phy-names = "usb2-phy";
    	snps,dis_u3_susphy_quirk;
    };
    
    &dwc3_0 {
    	status = "okay";
    };

    I'm able to use gpioget gpiochip0 5 to get the current 5V signal, and the state correctly changes from 0 to 1 when I plug in the USB cable. After using modprobe g_serial, the kernel logs appear to be normal. However, when I check the link_status, it consistently shows disconnected.

    root@am65xx-evm:~# gpioget gpiochip0 5
    0
    root@am65xx-evm:~# gpioget gpiochip0 5
    1
    root@am65xx-evm:~# modprobe g_serial
    [   43.518334] g_serial gadget.0: Gadget Serial v2.4
    [   43.518354] g_serial gadget.0: g_serial ready
    root@am65xx-evm:~#
    root@am65xx-evm:~# gpioget gpiochip0 5
    1
    root@am65xx-evm:~# cat /sys/kernel/debug/usb/4010000.usb/link_state
    Disconnected
    

    I've also checked the kernel logs with dmesg | grep dwc3 and found no relevant output. Is this related to the dwc3 and usbphy not starting up correctly?

    root@am65xx-evm:~# dmesg | grep usb
    [    0.689595] usbcore: registered new interface driver usbfs
    [    0.689650] usbcore: registered new interface driver hub
    [    0.689690] usbcore: registered new device driver usb
    [    0.854617] usbcore: registered new interface driver usb-storage
    [    0.858309] usbcore: registered new interface driver usbhid
    [    0.858314] usbhid: USB HID core driver
    [    8.067356] usb usb2: We don't know the algorithms for LPM for this host, disabling LPM.
    root@am65xx-evm:~# dmesg | grep dwc
    root@am65xx-evm:~# dmesg | grep dwc3
    root@am65xx-evm:~# dmesg | grep phy
    [    0.000000] Booting Linux on physical CPU 0x0000000000 [0x410fd034]
    [    0.000000] arch_timer: cp15 timer(s) running at 200.00MHz (phys).
    [    1.136772] davinci_mdio 46000f00.mdio: phy[3]: device 46000f00.mdio:03, driver TI DP83822
    [    5.985795] davinci_mdio b132400.mdio: phy[1]: device b132400.mdio:01, driver TI DP83867
    [    6.042527] davinci_mdio b232400.mdio: phy[2]: device b232400.mdio:02, driver TI DP83867
    [    7.679934] TI DP83867 b132400.mdio:01: attached PHY driver (mii_bus:phy_addr=b132400.mdio:01, irq=POLL)
    [    7.716448] TI DP83867 b232400.mdio:02: attached PHY driver (mii_bus:phy_addr=b232400.mdio:02, irq=POLL)
    [    9.171987] am65-cpsw-nuss 46000000.ethernet eth0: configuring for phy/rmii link mode
    root@am65xx-evm:~#
    

  • First of all, you should not need to manually control the VBUS (using a GPIO). The usb host provides VBUS 5v which should directly route to AM65x usb0 VBUS pin. 

    When you say GPIO turns on 5v on VBUS, did you check the voltage on usb0 VBUS pin next to AM65x? Then do you see usb0 DP pin goes high?

  • I removed the manual Vbus reading part, and I also confirmed that the pin has gone high. I re-tested the old kernel, and it can indeed correctly enable the USB Serial function. I have meticulously compared the device tree and the kernel differences, and they are identical.

  • Hi, I am out of office for 1.5 weeks. Please expect delayed response. 

  • As previously discussed, I modified the device tree as follows:

    &wkup_pmx0 {
    	pinctrl-names = "default";
    	pinctrl-0 = <&eepromdone_pins_default &iovolctrl_pins_default &vbusctrl_pins_default &mcuboot_pins_default>;
    	..................
    	usb5vsignal_pins_default: usb5vsignal_pins_default {
    		pinctrl-single,pins = <
    			AM65X_WKUP_IOPAD(0x00c4, PIN_INPUT, 7) /* (AD3) WKUP_GPIO0_5 */
    		>;
    	};
    	..................
    }
    
    
    &dwc3_0 {
    	status = "okay";
    };
    
    &usb0_phy {
    	status = "okay";
    };
    
    &usb0 {
    	status = "okay";
    	dr_mode = "peripheral";
    };

    This still doesn't work. Furthermore, if I don't explicitly use usb5vsignal_pins_default, gpioget reads 0 even when the USB cable is plugged in.

    I also have a question: if there's no need to configure pinctrl, how does usb0 dwc3 know which pin is the 5V input? And when does the handshake process start?

  • I've confirmed that 5v-single-default is only used for software to make a judgment and is not relevant to this issue.

    I've also confirmed that USB0-VBUS (AE7) is a dedicated pin for DM and DP, as shown in the previous schematic, and does not require special configuration.

    I've verified that USB0-VBUS is HIGH, but the PC still cannot correctly detect a new COM Port.

    At the same time, the state still shows "not attached" and link_state shows "Disconnected".

  • Hi TI-Bin:

    Plz continue to help this case, thanks.

    BR Rio

  • I am out of office but will be back tomorrow. Please allow me some time to catch up the work then review your updates. 

  • I cross-tested the previous image, and when connecting via USB Type-C, the DP line was pulled up. However, after switching to version 6.1, the DP pin shows no response.

    1. I believe the issue is not hardware-related.

    2. I measured VBUS and confirmed that there is indeed a 5V input, which is converted to 1V through the voltage divider circuit.

    3. The device tree configuration for dwc3 usbphy and usb0 is consistent with the previous version (as mentioned in my earlier response).

    Currently, I suspect the issue might be driver-related. Although the hardware measurement confirms that VBUS is present, the driver may not be detecting it, which prevents the subsequent process from being triggered.

  • According to the specification for the USB_VBUS_ID_STAT Register, I used devmem2 to read the corresponding address. When the USB cable is inserted, the value is 0x07, and when it is removed, the value changes to 0x08.

    root@am65xx-evm:~# devmem2 0x04000618 w
    /dev/mem opened.
    Memory mapped at address 0xffff9ff87000.
    Read at address  0x04000618 (0xffff9ff87618): 0x00000007
    
    
    root@am65xx-evm:~# devmem2 0x04000618 w
    /dev/mem opened.
    Memory mapped at address 0xffffaa1dd000.
    Read at address  0x04000618 (0xffffaa1dd618): 0x00000008
    

    This suggests that the usb_phy and VBUS detection are working correctly. The next step should be for the DWC3 controller to detect VBUS and start communicating with the PC host. I suspect the issue is that DWC3 is not properly receiving the VBUS signal, and therefore does not switch its state or trigger enumeration.

    When I run cat on the link_state and state files, they show "not attached" and "Disconnected", respectively.

    root@am65xx-evm:~# cat /sys/class/udc/4010000.usb/state
    not attached
    root@am65xx-evm:~# cat /sys/kernel/debug/usb/4010000.usb/link_state
    Disconnected
    

    However, I am not sure how the DWC3 driver actually retrieves the VBUS callback — is it by polling the register or through an interrupt?

    Which function in the source code should I look at for this?

  • Hi YunEn,

    I have tested USB device mode on AM65x EVM with SDK 9.3 two weeks ago before my time off, and didn't see any problem. So I don't think your issue could be any problem in the USB drivers.

    You have provided a lot of details in the last couple days, let me digest it along with catching up on my work after two weeks off, and will get back to you in a couple days.

  • I have reorganized the items that have been verified so far as follows:

    1. VBUS Detection

      • Reading from address 0x04000618:

        • With cable inserted → 0x07

        • With cable removed → 0x08

      • This confirms that VBUS input is correctly detected.

    2. UDC Registration

      • Running cat /sys/class/udc/ shows 4010000.usb, indicating that usb0 has been properly registered as a UDC.

    3. Driver Binding

      • Running cat /sys/class/udc/4010000.usb/function shows g_serial, which confirms that the g_serial driver is correctly bound.

    4. UDC State

      • Running cat /sys/class/udc/4010000.usb/state reports "not attached", meaning that the device is not enumerated by the host.

    5. Link State

      • Running cat /sys/kernel/debug/usb/4010000.usb/link_state shows "Disconnected", consistent with the UDC state.

    6. DP Line Behavior

      • When the USB-C cable is inserted, the DP pin is not being pulled up correctly, preventing the host from initiating enumeration.

  • Hi YunEn,

    I checked SDK 9.3 on AM65x EVM and looked into multiple factors, but was unable to identify what could cause the problem.

    VBUS Detection

    • Reading from address 0x04000618:

      • With cable inserted → 0x07

      • With cable removed → 0x08

    Do you see the same register values with kernel 5.x which doesn't have such enumeration problem?

    When the USB-C cable is inserted, the DP pin is not being pulled up correctly, preventing the host from initiating enumeration.

    Where on the board did you probe the DP pin, close to AM65x or close to the type-C connector?

    Please attach the full console boot log.

    1. In Kernel 5.X, using devmem2 to read the same address, the value also changes between 0x07 and 0x08.

    2. Both locations were measured, and in both cases the DP pin was not pulled up.

                The complete Kernel logs for both 5.X and 6.1 are attached.

    Starting kernel ...
    
    [    0.000000] Booting Linux on physical CPU 0x0000000000 [0x410fd034]
    [    0.000000] Linux version 6.1.119-rt45-ti-rt-gb0f9de804a16 (oe-user@oe-host) (aarch64-oe-linux-gcc (GCC) 11.5.0, GNU ld (GNU Binutils) 2.38.20220708) #1 SMP PREEMPT_RT Wed Dec  4 17:21:22 UTC 2024
    [    0.000000] Machine model: Texas Instruments AM654 Base Board
    [    0.000000] earlycon: ns16550a0 at MMIO32 0x0000000002800000 (options '')
    [    0.000000] printk: bootconsole [ns16550a0] enabled
    [    0.000000] efi: UEFI not found.
    [    0.000000] Reserved memory: created DMA memory pool at 0x00000000a0000000, size 1 MiB
    [    0.000000] OF: reserved mem: initialized node r5f-dma-memory@a0000000, compatible id shared-dma-pool
    [    0.000000] Reserved memory: created DMA memory pool at 0x00000000a0100000, size 15 MiB
    [    0.000000] OF: reserved mem: initialized node r5f-memory@a0100000, compatible id shared-dma-pool
    [    0.000000] Reserved memory: created DMA memory pool at 0x00000000a1000000, size 1 MiB
    [    0.000000] OF: reserved mem: initialized node r5f-dma-memory@a1000000, compatible id shared-dma-pool
    [    0.000000] Reserved memory: created DMA memory pool at 0x00000000a1100000, size 15 MiB
    [    0.000000] OF: reserved mem: initialized node r5f-memory@a1100000, compatible id shared-dma-pool
    [    0.000000] Zone ranges:
    [    0.000000]   DMA      [mem 0x0000000080000000-0x00000000bfffffff]
    [    0.000000]   DMA32    empty
    [    0.000000]   Normal   empty
    [    0.000000] Movable zone start for each node
    [    0.000000] Early memory node ranges
    [    0.000000]   node   0: [mem 0x0000000080000000-0x000000009e7fffff]
    [    0.000000]   node   0: [mem 0x000000009e800000-0x00000000a20fffff]
    [    0.000000]   node   0: [mem 0x00000000a2100000-0x00000000bfffffff]
    [    0.000000] Initmem setup node 0 [mem 0x0000000080000000-0x00000000bfffffff]
    [    0.000000] cma: Reserved 32 MiB at 0x00000000bce00000
    [    0.000000] psci: probing for conduit method from DT.
    [    0.000000] psci: PSCIv1.1 detected in firmware.
    [    0.000000] psci: Using standard PSCI v0.2 function IDs
    [    0.000000] psci: Trusted OS migration not required
    [    0.000000] psci: SMC Calling Convention v1.4
    [    0.000000] percpu: Embedded 20 pages/cpu s44864 r8192 d28864 u81920
    [    0.000000] Detected VIPT I-cache on CPU0
    [    0.000000] CPU features: detected: GIC system register CPU interface
    [    0.000000] CPU features: kernel page table isolation disabled by kernel configuration
    [    0.000000] CPU features: detected: ARM erratum 845719
    [    0.000000] alternatives: applying boot alternatives
    [    0.000000] Built 1 zonelists, mobility grouping on.  Total pages: 258048
    [    0.000000] Kernel command line: console=ttyS2,115200n8 earlycon=ns16550a,mmio32,0x02800000 root=PARTUUID=e1caf307-02 rw rootfstype=ext4 rootwait
    [    0.000000] Dentry cache hash table entries: 131072 (order: 8, 1048576 bytes, linear)
    [    0.000000] Inode-cache hash table entries: 65536 (order: 7, 524288 bytes, linear)
    [    0.000000] mem auto-init: stack:off, heap alloc:off, heap free:off
    [    0.000000] Memory: 923164K/1048576K available (9856K kernel code, 1194K rwdata, 2240K rodata, 1728K init, 420K bss, 92644K reserved, 32768K cma-reserved)
    [    0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=4, Nodes=1
    [    0.000000] rcu: Preemptible hierarchical RCU implementation.
    [    0.000000] rcu:     RCU restricting CPUs from NR_CPUS=256 to nr_cpu_ids=4.
    [    0.000000] rcu:     RCU_SOFTIRQ processing moved to rcuc kthreads.
    [    0.000000]  No expedited grace period (rcu_normal_after_boot).
    [    0.000000] rcu: RCU calculated value of scheduler-enlistment delay is 100 jiffies.
    [    0.000000] rcu: Adjusting geometry for rcu_fanout_leaf=16, nr_cpu_ids=4
    [    0.000000] NR_IRQS: 64, nr_irqs: 64, preallocated irqs: 0
    [    0.000000] GICv3: GIC: Using split EOI/Deactivate mode
    [    0.000000] GICv3: 960 SPIs implemented
    [    0.000000] GICv3: 0 Extended SPIs implemented
    [    0.000000] Root IRQ handler: 0xffff800008410060
    [    0.000000] GICv3: GICv3 features: 16 PPIs
    [    0.000000] GICv3: CPU0: found redistributor 0 region 0:0x0000000001880000
    [    0.000000] ITS [mem 0x01820000-0x0182ffff]
    [    0.000000] GIC: enabling workaround for ITS: Socionext Synquacer pre-ITS
    [    0.000000] ITS@0x0000000001820000: Devices Table too large, reduce ids 20->19
    [    0.000000] ITS@0x0000000001820000: allocated 524288 Devices @80800000 (flat, esz 8, psz 64K, shr 0)
    [    0.000000] ITS: using cache flushing for cmd queue
    [    0.000000] GICv3: using LPI property table @0x0000000080030000
    [    0.000000] GIC: using cache flushing for LPI property table
    [    0.000000] GICv3: CPU0: using allocated LPI pending table @0x0000000080040000
    [    0.000000] rcu: srcu_init: Setting srcu_struct sizes based on contention.
    [    0.000000] arch_timer: cp15 timer(s) running at 200.00MHz (phys).
    [    0.000000] clocksource: arch_sys_counter: mask: 0x3ffffffffffffff max_cycles: 0x2e2049d3e8, max_idle_ns: 440795210634 ns
    [    0.000001] sched_clock: 58 bits at 200MHz, resolution 5ns, wraps every 4398046511102ns
    [    0.000382] Console: colour dummy device 80x25
    [    0.421529] Calibrating delay loop (skipped), value calculated using timer frequency.. 400.00 BogoMIPS (lpj=200000)
    [    0.421543] pid_max: default: 32768 minimum: 301
    [    0.421652] LSM: Security Framework initializing
    [    0.421780] Mount-cache hash table entries: 2048 (order: 2, 16384 bytes, linear)
    [    0.421796] Mountpoint-cache hash table entries: 2048 (order: 2, 16384 bytes, linear)
    [    0.423808] rcu: Hierarchical SRCU implementation.
    [    0.423814] rcu:     Max phase no-delay instances is 400.
    [    0.423862] printk: bootconsole [ns16550a0] printing thread started
    I[/ T  C :0 .S4ec7o6n63da5r]y  PlCPaUt f1or imn iMStiIa:l misziin-gco
    gtrI/oTllCe:r S@1ec8o2n0d00ar0 y dComPUai n1  scwreitactehdin
    I:[ to   n 0o.rm4a76l8 w8o2]r ldPC bI/ooMtS
       /bus@100000/interrupt-controller@1800000/msi-controller@1820000 domain created
    [    0.476991] EFI services will not be available.
    [    0.477250] smp: Bringing up secondary CPUs ...
    [    0.494366] Detected VIPT I-cache on CPU1
    [    0.494497] GICv3: CPU1: found redistributor 1 region 0:0x00000000018a0000
    [    0.494516] GICv3: CPU1: using allocated LPI pending table @0x0000000080050000
    [    0.494577] CPU1: Booted secondary processor 0x0000000001 [0x410fd034]
    I/TC: Secondary CPU 2 initializing
    I/TC: Secondary CPU 2 switching to normal world boot
    [    0.545465] Detected VIPT I-cache on CPU2
    [    0.545688] GICv3: CPU2: found redistributor 100 region 0:0x00000000018c0000
    [    0.545708] GICv3: CPU2: using allocated LPI pending table @0x0000000080060000
    [    0.545769] CPU2: Booted secondary processor 0x0000000100 [0x410fd034]
    I/TC: Secondary CPU 3 initializing
    I/TC: Secondary CPU 3 switching to normal world boot
    [    0.580556] Detected VIPT I-cache on CPU3
    [    0.580660] GICv3: CPU3: found redistributor 101 region 0:0x00000000018e0000
    [    0.580675] GICv3: CPU3: using allocated LPI pending table @0x0000000080070000
    [    0.580709] CPU3: Booted secondary processor 0x0000000101 [0x410fd034]
    [    0.580818] smp: Brought up 1 node, 4 CPUs
    [    0.580830] SMP: Total of 4 processors activated.
    [    0.615318] CPU features: detected: 32-bit EL0 Support
    [    0.615323] CPU features: detected: CRC32 instructions
    [    0.615392] CPU: All CPU(s) started at EL2
    [    0.615395] alternatives: applying system-wide alternatives
    [    0.616786] devtmpfs: initialized
    [    0.632864] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 1911260446275000 ns
    [    0.632889] futex hash table entries: 1024 (order: 4, 65536 bytes, linear)
    [    0.634599] pinctrl core: initialized pinctrl subsystem
    [    0.635338] DMI not present or invalid.
    [    0.635974] NET: Registered PF_NETLINK/PF_ROUTE protocol family
    [    0.650474] DMA: preallocated 128 KiB GFP_KERNEL pool for atomic allocations
    [    0.650838] DMA: preallocated 128 KiB GFP_KERNEL|GFP_DMA pool for atomic allocations
    [    0.651062] DMA: preallocated 128 KiB GFP_KERNEL|GFP_DMA32 pool for atomic allocations
    [    0.651132] audit: initializing netlink subsys (disabled)
    [    0.651337] audit: type=2000 audit(0.648:1): state=initialized audit_enabled=0 res=1
    [    0.652069] thermal_sys: Registered thermal governor 'step_wise'
    [    0.652344] ASID allocator initialised with 65536 entries
    [    0.660432] platform 4301c000.pinctrl: Fixed dependency cycle(s) with /bus@100000/bus@28380000/bus@42040000/pinctrl@4301c000/mcuboot_pins_default
    [    0.660459] platform 4301c000.pinctrl: Fixed dependency cycle(s) with /bus@100000/bus@28380000/bus@42040000/pinctrl@4301c000/vbusctrl_pins_default
    [    0.660479] platform 4301c000.pinctrl: Fixed dependency cycle(s) with /bus@100000/bus@28380000/bus@42040000/pinctrl@4301c000/iovolctrl_pins_default
    [    0.660498] platform 4301c000.pinctrl: Fixed dependency cycle(s) with /bus@100000/bus@28380000/bus@42040000/pinctrl@4301c000/eepromdone_pins_default
    [    0.664756] platform 11c000.pinctrl: Fixed dependency cycle(s) with /bus@100000/pinctrl@11c000/gpio1_pins_default
    [    0.664774] platform 11c000.pinctrl: Fixed dependency cycle(s) with /bus@100000/pinctrl@11c000/gpio0_pins_default
    [    0.664931] platform 11c2e8.pinctrl: Fixed dependency cycle(s) with /bus@100000/pinctrl@11c2e8/gpio2_pins_default
    [    0.670011] platform 310d0000.cpts: Fixed dependency cycle(s) with /bus@100000/bus@30800000/cpts@310d0000/refclk-mux
    [    0.684978] HugeTLB: registered 1.00 GiB page size, pre-allocated 0 pages
    [    0.684987] HugeTLB: 0 KiB vmemmap can be freed for a 1.00 GiB page
    [    0.684994] HugeTLB: registered 32.0 MiB page size, pre-allocated 0 pages
    [    0.684998] HugeTLB: 0 KiB vmemmap can be freed for a 32.0 MiB page
    [    0.685004] HugeTLB: registered 2.00 MiB page size, pre-allocated 0 pages
         0.685008] HugeTLBI:/ T0C :K iRBe sevmrveemdma sp hacaren d bme efmroerye di fs oren aa b2l.e0d0
    DMiIB /TpCa:ge
     yn[a m i c 0 s.h68ar5e01d4 ]m emHuorgye TiLBs :e rneagbilsetde
    dedI /6T4C.: 0N KorimBa pla Wogre lsd ivzei,rt upareli-azaltloiocnat esdu p0p orpat giess
    .6s[ a b le 0d
    a 850I/1T8]C : HuAsgeynTLchB:ro 0no uKis B novtmiemfimacap tcioann s bea rfer edeids abfolerd
      64.0 KiB page
    [    0.687907] k3-chipinfo 43000014.chipid: Family:AM65X rev:SR2.0 JTAGID[0x1bb5a02f] Detected
    [    0.688686] iommu: Default domain type: Translated
    [    0.688692] iommu: DMA domain TLB invalidation policy: strict mode
    [    0.689130] SCSI subsystem initialized
    [    0.689620] usbcore: registered new interface driver usbfs
    [    0.689675] usbcore: registered new interface driver hub
    [    0.689713] usbcore: registered new device driver usb
    [    0.690224] pps_core: LinuxPPS API ver. 1 registered
    [    0.690228] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
    [    0.690248] PTP clock support registered
    [    0.690443] EDAC MC: Ver: 3.0.0
    [    0.691483] FPGA manager framework
    [    0.691639] Advanced Linux Sound Architecture Driver Initialized.
    [    0.692855] clocksource: Switched to clocksource arch_sys_counter
    [    0.693153] VFS: Disk quotas dquot_6.6.0
    [    0.693205] VFS: Dquot-cache hash table entries: 512 (order 0, 4096 bytes)
    [    0.702890] NET: Registered PF_INET protocol family
    [    0.703144] IP idents hash table entries: 16384 (order: 5, 131072 bytes, linear)
    [    0.704695] tcp_listen_portaddr_hash hash table entries: 512 (order: 2, 20480 bytes, linear)
    [    0.704730] Table-perturb hash table entries: 65536 (order: 6, 262144 bytes, linear)
    [    0.704747] TCP established hash table entries: 8192 (order: 4, 65536 bytes, linear)
    [    0.704925] TCP bind hash table entries: 8192 (order: 7, 655360 bytes, linear)
    [    0.705678] TCP: Hash tables configured (established 8192 bind 8192)
    [    0.705896] UDP hash table entries: 512 (order: 3, 49152 bytes, linear)
    [    0.705975] UDP-Lite hash table entries: 512 (order: 3, 49152 bytes, linear)
    [    0.706244] NET: Registered PF_UNIX/PF_LOCAL protocol family
    [    0.706789] RPC: Registered named UNIX socket transport module.
    [    0.706796] RPC: Registered udp transport module.
    [    0.706799] RPC: Registered tcp transport module.
    [    0.706803] RPC: Registered tcp NFSv4.1 backchannel transport module.
    [    0.706815] PCI: CLS 0 bytes, default 64
    [    0.718130] workingset: timestamp_bits=62 max_order=18 bucket_order=0
    [    0.725587] squashfs: version 4.0 (2009/01/31) Phillip Lougher
    [    0.726213] NFS: Registering the id_resolver key type
    [    0.726257] Key type id_resolver registered
    [    0.726261] Key type id_legacy registered
    [    0.726364] nfs4filelayout_init: NFSv4 File Layout Driver Registering...
    [    0.726371] nfs4flexfilelayout_init: NFSv4 Flexfile Layout Driver Registering...
    [    0.780479] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 245)
    [    0.780499] io scheduler mq-deadline registered
    [    0.780505] io scheduler kyber registered
    [    0.798297] pinctrl-single 4301c000.pinctrl: 70 pins, size 280
    [    0.799369] pinctrl-single 11c000.pinctrl: 185 pins, size 740
    [    0.800764] pinctrl-single 11c2e8.pinctrl: 9 pins, size 36
    [    0.811055] Serial: 8250/16550 driver, 12 ports, IRQ sharing enabled
    [    0.839295] loop: module loaded
    [    0.840809] megasas: 07.719.03.00-rc1
    [    0.846008] tun: Universal TUN/TAP device driver, 1.6
    [    0.847030] VFIO - User Level meta-driver version: 0.3
    [    0.847967] usbcore: registered new interface driver usb-storage
    [    0.848810] i2c_dev: i2c /dev entries driver
    [    0.849566] sdhci: Secure Digital Host Controller Interface driver
    [    0.849570] sdhci: Copyright(c) Pierre Ossman
    [    0.849892] sdhci-pltfm: SDHCI platform and OF driver helper
    [    0.851099] SMCCC: SOC_ID: ARCH_SOC_ID not implemented, skipping ....
    [    0.851539] usbcore: registered new interface driver usbhid
    [    0.851544] usbhid: USB HID core driver
    [    0.852831] optee: probing for conduit method.
    [    0.852876] optee: revision 4.1 (012cdca4)
    [    0.885884] optee: dynamic shared memory is enabled
    [    0.886487] optee: initialized driver
    [    0.888916] Initializing XFRM netlink socket
    [    0.888957] NET: Registered PF_PACKET protocol family
    [    0.889067] Key type dns_resolver registered
    [    0.889348] registered taskstats version 1
    [    0.903777] ti-sci 44083000.system-controller: ABI: 4.0 (firmware rev 0x000a '10.1.8--v10.01.08 (Fiery Fox)')
    [    0.974562] omap_i2c 2000000.i2c: bus 2 rev0.12 at 100 kHz
    [    1.501574] rtc-s35390a 3-0030: registered as rtc0
    [    1.502610] rtc-s35390a 3-0030: setting system clock to 2000-01-01T00:00:33 UTC (946684833)
    [    1.502685] omap_i2c 2010000.i2c: bus 3 rev0.12 at 100 kHz
    [    1.503054] ti-sci-intr 42200000.interrupt-controller: Interrupt Router 156 domain created
    [ [   1.529778] printk: console [ttyS2] printing thread started
        1.503298] ti-sci-intr bus@100000:interrupt-controller@a00000: Interrupt Router 100 domain created
    [    1.529794] printk: console [ttyS2] enabled
    [    1.529801] printk: bootconsole [ns16550a0] disabled
    [    1.544666] printk: bootconsole [ns16550a0] printing thread stopped
    [    1.546143] 2820000.serial: ttyS4 at MMIO 0x2820000 (irq = 150, base_baud = 3000000) is a 8250
    [    1.552008] am65-cpsw-nuss 46000000.ethernet: initializing am65 cpsw nuss version 0x6BA00102, cpsw version 0x6BA80102 Ports: 2 quirks:00000000
    [    1.552161] am65-cpsw-nuss 46000000.ethernet: initialized cpsw ale version 1.4
    [    1.552170] am65-cpsw-nuss 46000000.ethernet: ALE Table size 64
    [    1.553273] am65-cpsw-nuss 46000000.ethernet: CPTS ver 0x4e8a010b, freq:200000000, add_val:4 pps:0
    [    1.556286] am65-cpts 310d0000.cpts: CPTS ver 0x4e8a010b, freq:200000000, add_val:4 pps:0
    [    1.558635] mmc1: CQHCI version 5.10
    [    1.559824] mmc0: CQHCI version 5.10
    [    1.572837] omap-mailbox 31f80000.mailbox: omap mailbox rev 0x66fc7100
    [    1.573361] omap-mailbox 31f81000.mailbox: omap mailbox rev 0x66fc7100
    [    1.575457] ti-udma 285c0000.dma-controller: Channels: 28 (tchan: 14, rchan: 14, gp-rflow: 16)
    [    1.583396] ti-udma 31150000.dma-controller: Channels: 119 (tchan: 53, rchan: 66, gp-rflow: 64)
    [    1.593405] 2810000.serial: ttyS3 at MMIO 0x2810000 (irq = 564, base_baud = 3000000) is a 8250
    [    1.601142] mmc0: SDHCI controller on 4f80000.mmc [4f80000.mmc] using ADMA 64-bit
    [    1.601141] mmc1: SDHCI controller on 4fa0000.mmc [4fa0000.mmc] using ADMA 64-bit
    [    1.604090] davinci_mdio 46000f00.mdio: Configuring MDIO in manual mode
    [    1.637899] davinci_mdio 46000f00.mdio: davinci mdio revision 9.7, bus freq 1000000
    [    1.640755] davinci_mdio 46000f00.mdio: phy[3]: device 46000f00.mdio:03, driver TI DP83822
    [    1.640816] am65-cpsw-nuss 46000000.ethernet: initializing am65 cpsw nuss version 0x6BA00102, cpsw version 0x6BA80102 Ports: 2 quirks:00000000
    [    1.640987] am65-cpsw-nuss 46000000.ethernet: initialized cpsw ale version 1.4
    [    1.640996] am65-cpsw-nuss 46000000.ethernet: ALE Table size 64
    [    1.641906] am65-cpsw-nuss 46000000.ethernet: CPTS ver 0x4e8a010b, freq:200000000, add_val:4 pps:0
    [    1.673163] mmc0: Command Queue Engine enabled
    [    1.673180] mmc0: new high speed MMC card at address 0001
    [    1.673877] mmcblk0: mmc0:0001 8GTF4R 7.28 GiB
    [    1.676005] mmcblk0boot0: mmc0:0001 8GTF4R 4.00 MiB
    [    1.677442] mmcblk0boot1: mmc0:0001 8GTF4R 4.00 MiB
    [    1.678743] mmcblk0rpmb: mmc0:0001 8GTF4R 512 KiB, chardev (240:0)
    [    1.679896] am65-cpsw-nuss 46000000.ethernet: set new flow-id-base 48
    [    1.689233] clk: Disabling unused clocks
    [    1.706832] ALSA device list:
    [    1.706870]   No soundcards found.
    [    1.720672] mmc1: new high speed SDXC card at address aaaa
    [    1.721537] mmcblk1: mmc1:aaaa SD512 477 GiB
    [    1.725005]  mmcblk1: p1 p2
    [    2.515994] EXT4-fs (mmcblk1p2): recovery complete
    [    2.517578] EXT4-fs (mmcblk1p2): mounted filesystem with ordered data mode. Quota mode: none.
    [    2.517692] VFS: Mounted root (ext4 filesystem) on device 179:98.
    [    2.555182] devtmpfs: mounted
    [    2.556559] Freeing unused kernel memory: 1728K
    [    2.556716] Run /sbin/init as init process
    [    3.139923] systemd[1]: System time before build time, advancing clock.
    [    3.229322] NET: Registered PF_INET6 protocol family
    [    3.230887] Segment Routing with IPv6
    [    3.230936] In-situ OAM (IOAM) with IPv6
    [    3.252892] systemd[1]: systemd 250.5+ running in system mode (+PAM -AUDIT -SELINUX -APPARMOR +IMA -SMACK +SECCOMP -GCRYPT -GNUTLS -OPENSSL +ACL +BLKID -CURL -ELFUTILS -FIDO2 -IDN2 -IDN -IPTC +KMOD -LIBCRYPTSETUP +LIBFDISK -PCRE2 -PWQUALITY -P11KIT -QRENCODE -BZIP2 -LZ4 -XZ -ZLIB +ZSTD -BPF_FRAMEWORK -XKBCOMMON +UTMP +SYSVINIT default-hierarchy=hybrid)
    
    Welcome to Arago 2023.10!
    
    [    3.253606] systemd[1]: Detected architecture arm64.
    [    3.294869] systemd[1]: Hostname set to <am65xx-evm>.
    [    3.425116] systemd-sysv-generator[180]: SysV service '/etc/init.d/thermal-zone-init' lacks a native systemd unit file. Automatically generating a unit file for compatibility. Please update package to include a native systemd unit file, in order to make it more safe and robust.
    [    3.946700] systemd[1]: /etc/systemd/system/sync-clocks.service:11: Standard output type syslog is obsolete, automatically updating to journal. Please update your unit file, and consider removing the setting altogether.
    [    4.037574] systemd[1]: Queued start job for default target Multi-User System.
    [  OK  ] Created slice Slice /system/getty    4.073395] systemd[1]: Created slice Slice /system/getty.
    0m.
    [  OK  ] Created slice Slice /system/modprob[    4.090117] systemd[1]: Created slice Slice /system/modprobe.
    e.
    [    4.105770] systemd[1]: Created slice Slice /system/serial-getty.
    [  OK  ] Created slice Slice /system/serial-getty.
    [  OK  ] Created slice User and Session Slic[    4.121112] systemd[1]: Created slice User and Session Slice.
    e.
    [  OK  ] Started Dispatch Password …ts to [    4.135421] systemd[1]: Started Dispatch Password Requests to Console Directory Watch.
    Console Directory Watch.
    [  OK  ] Started Forward Password R…uests [    4.152250] systemd[1]: Started Forward Password Requests to Wall Directory Watch.
    to Wall Directory Watch.
    [  OK  ] Reached target Path Units.
    [    4.171354] systemd[1]: Reached target Path Units.
    [  OK  ] Reached target Remote File Systems systemd[1]: Reached target Remote File Systems.
    [0m.
    [  OK  ] Reached target Slice Units.
    [    4.196068] systemd[1]: Reached target Slice Units.
    [    4.206715] systemd[1]: Reached target Swaps.
    [  OK  ] Reached target Swaps.
    [    4.230692] systemd[1]: Listening on RPCbind Server Activation Socket.
    [  OK  ] Listening on RPCbind Server Activation Socket.
    [  OK  ] Reached target RPC Port Mapper.[    4.246075] systemd[1]: Reached target RPC Port Mapper.
    
    [  OK  ] Listening on Process Core Dump Sock[    4.268833] systemd[1]: Listening on Process Core Dump Socket.
    et.
    [  OK  ] Listening on initctl Compatibility [    4.283422] systemd[1]: Listening on initctl Compatibility Named Pipe.
    Named Pipe.
    [  OK  ] Listening on Journal Audit Socket    4.298998] systemd[1]: Listening on Journal Audit Socket.
    0m.
    [  OK  ] Listening on Journal Socket (/dev/l[    4.313641] systemd[1]: Listening on Journal Socket (/dev/log).
    og).
    [  OK  ] Listening on Journal Socket.
    [    4.328627] systemd[1]: Listening on Journal Socket.
    [  OK  ] Listening on Network Service Netlin[    4.340413] systemd[1]: Listening on Network Service Netlink Socket.
    k Socket.
    [  OK  ] Listening on udev Control Socket    4.368949] systemd[1]: Listening on udev Control Socket.
    m.
    [  OK  ] Listening on udev Kernel Socket[    4.383608] systemd[1]: Listening on udev Kernel Socket.
    .
    [  OK  ] Listening on User Database Manager [    4.397656] systemd[1]: Listening on User Database Manager Socket.
    Socket.
             Mounting Huge Pages File System...
    [    4.427424] systemd[1]: Mounting Huge Pages File System...
             Mounting POSIX Message Queue File System..[    4.442471] systemd[1]: Mounting POSIX Message Queue File System...
    .
             Mounting Kernel Debug File System...
    [    4.461228] systemd[1]: Mounting Kernel Debug File System...
    [    4.473276] systemd[1]: Kernel Trace File System was skipped because of a failed condition check (ConditionPathExists=/sys/kernel/tracing).
             Mounting Temporary Directory /tmp...
    [    4.486105] systemd[1]: Mounting Temporary Directory /tmp...
    [    4.518709] systemd[1]: Starting Create List of Static Device Nodes...
             Starting Create List of Static Device Nodes...
             Starting Load Kernel Module configfs...[    4.539008] systemd[1]: Starting Load Kernel Module configfs...
    
    [    4.566730] systemd[1]: Starting Load Kernel Module drm...
             Starting Load Kernel Module drm...
             Starting Load Kernel Module fuse...[    4.583578] systemd[1]: Starting Load Kernel Module fuse...
    
    [    4.641665] fuse: init (API version 7.38)
             Starting Start psplash boot splash screen.[    4.647099] systemd[1]: Starting Start psplash boot splash screen...
    ..
    [    4.673813] systemd[1]: Starting RPC Bind...
             Starting RPC Bind...
    [    4.684282] systemd[1]: File System Check on Root Device was skipped because of a failed condition check (ConditionPathIsReadWrite=!/).
    [    4.685520] systemd[1]: systemd-journald.service: unit configures an IP firewall, but the local system does not support BPF/cgroup firewalling.
    [    4.685539] systemd[1]: (This warning is only shown for the first unit using IP firewalling.)
             Starting Journal Service...
    [    4.720918] systemd[1]: Starting Journal Service...
             Starting Load Kernel Modules...[    4.738533] systemd[1]: Starting Load Kernel Modules...
    
             Starting Generate network …ts from Kernel co[    4.765109] systemd[1]: Starting Generate network units from Kernel command line...
    mmand line...
    [    4.766542] cryptodev: loading out-of-tree module taints kernel.
    [    4.768126] cryptodev: driver 1.12 loaded.
             Starting Remount Root and Kernel File Systems systemd[1]: Starting Remount Root and Kernel File Systems...
    [0m...
    [    4.820943] EXT4-fs (mmcblk1p2): re-mounted. Quota mode: none.
             Starting Coldplug All udev Devices...[    4.824036] systemd[1]: Starting Coldplug All udev Devices...
    
    [  OK  ] Started RPC Bind.
    [    4.856882] systemd[1]: Started RPC Bind.
    [  OK  ] Started Journal Service.
    [    4.866500] systemd[1]: Started Journal Service.
    [  OK  ] Mounted Huge Pages File System.
    [  OK  ] Mounted POSIX Message Queue File System.
    [  OK  ] Mounted Kernel Debug File System.
    [  OK  ] Mounted Temporary Directory /tmp.
    [  OK  ] Finished Create List of Static Device Nodes.
    [  OK  ] Finished Load Kernel Module configfs.
    [  OK  ] Finished Load Kernel Module drm.
    [  OK  ] Finished Load Kernel Module fuse.
    [FAILED] Failed to start Start psplash boot splash screen.
    See 'systemctl status psplash-start.service' for details.
    [DEPEND] Dependency failed for Star…progress communication helper.
    [  OK  ] Finished Load Kernel Modules.
    [  OK  ] Finished Generate network units from Kernel command line.
    [  OK  ] Finished Remount Root and Kernel File Systems.
             Mounting FUSE Control File System...
             Mounting Kernel Configuration File System...
             Starting Flush Journal to Persistent Storage...
             Starting Apply Kernel Variables...[    5.111359] systemd-journald[191]: Received client request to flush runtime journal.
    
             Starting Create Static Device Nodes in /dev...
    [  OK  ] Mounted FUSE Control File System.
    [  OK  ] Mounted Kernel Configuration File System.
    [  OK  ] Finished Flush Journal to Persistent Storage.
    [  OK  ] Finished Apply Kernel Variables.
    [  OK  ] Finished Create Static Device Nodes in /dev.
    [  OK  ] Reached target Preparation for Local File Systems.
             Mounting /media/ram...
             Mounting /var/volatile...
             Starting Rule-based Manage…for Device Events and Files...
    [  OK  ] Mounted /media/ram.
    [  OK  ] Mounted /var/volatile.
             Starting Load/Save Random Seed...
    [  OK  ] Reached target Local File Systems.
             Starting Create Volatile Files and Directories...
    [  OK  ] Finished Create Volatile Files and Directories.
             Starting Network Time Synchronization...
             Starting Record System Boot/Shutdown in UTMP...
    [  OK  ] Started Rule-based Manager for Device Events and Files.
    [  OK  ] Finished Coldplug All udev Devices.
    [  OK  ] Finished Record System Boot/Shutdown in UTMP.
    [    5.668905] random: crng init done
    [  OK  ] Finished Load/Save Random Seed.
    [    5.810076] at24 2-0050: supply vcc not found, using dummy regulator
    [  OK  ] Found device /dev/ttyS2.
    [    5.943383] CAN device driver interface
    [    5.972401] davinci_mdio b132400.mdio: Configuring MDIO in manual mode
    [    5.977385] m_can_platform 40528000.mcan: m_can device registered (irq=578, version=32)
    [  OK  ] Started Network Time Synchronization.
    [  OK  ] Reached target System Initialization.
    [    6.006905] davinci_mdio b132400.mdio: davinci mdio revision 1.7, bus freq 1000000
    [  OK  ] Started Daily Cleanup of Temporary [    6.019177] davinci_mdio b132400.mdio: phy[1]: device b132400.mdio:01, driver TI DP83867
    Directories.
    [  OK  ] Reached target System Time Set.[    6.038019] davinci_mdio b232400.mdio: Configuring MDIO in manual mode
    
    [  OK  ] Reached target Timer Units.
    [  OK  ] Listening on Avahi mDNS/DNS-SD Stack Activation Socket.
    [  OK  ] Listening on D-Bus System Message B[    6.073949] davinci_mdio b232400.mdio: davinci mdio revision 1.7, bus freq 1000000
    us Socket.
             Starting Docker Socket for the API...
    [    6.104021] davinci_mdio b232400.mdio: phy[2]: device b232400.mdio:02, driver TI DP83867
    [  OK  ] Listening on dropbear.socket.
             Starting D-Bus System Message Bus...
    [  OK  ] Listening on Docker Socket for the API.
    [  OK  ] Reached target Socket Units.
    [    6.176600] platform 41000000.r5f: configured R5F for remoteproc mode
    [    6.176741] k3_r5_rproc bus@100000:bus@28380000:r5fss@41000000: lockstep mode not permitted, force configuring for split-mode
    [    6.177214] platform 41000000.r5f: assigned reserved memory node r5f-dma-memory@a0000000
    [    6.177665] remoteproc remoteproc0: 41000000.r5f is available
    [    6.180232] remoteproc remoteproc0: Direct firmware load for am65x-mcu-r5f0_0-fw failed with error -2
    [    6.180262] remoteproc remoteproc0: powering up 41000000.r5f
    [    6.180327] remoteproc remoteproc0: Direct firmware load for am65x-mcu-r5f0_0-fw failed with error -2
    [    6.180339] remoteproc remoteproc0: request_firmware failed: -2
    [    6.670348] remoteproc remoteproc1: b00a000.txpru is available
    [    6.671104] remoteproc remoteproc2: b00c000.txpru is available
    [  OK  ] Started D-Bus System Message Bus    6.671691] remoteproc remoteproc3: b10a000.txpru is available
    m.
    [    6.672254] remoteproc remoteproc4: b10c000.txpru is available
    [    6.672826] remoteproc remoteproc5: b20a000.txpru is available
    [    6.673305] remoteproc remoteproc6: b20c000.txpru is available
    [  OK  ] Reached target Basic System.
             Starting Print notice about GPLv3 packages...
             Starting IPv6 Packet Filtering Framework...
             Starting IPv4 Packet Filtering Framework...
             Starting Expand the rootfs…ll size of the boot device....
    [    6.881916] omap_i2c 2000000.i2c: controller timed out
             Starting User Login Management...
    [  OK  ] Started TEE Supplicant.
             Starting Telnet Server...
    [  OK  ] Finished IPv6 Packet Filtering Framework.
    [  OK  ] Finished IPv4 Packet Filtering Framework.
    [  OK  ] Finished Telnet Server.
    [  OK  ] Reached target Preparation for Network.
             Starting Network Configuration...
    [    7.288545] remoteproc remoteproc7: b004000.rtu is available
    [    7.289381] remoteproc remoteproc8: b038000.pru is available
    [    7.290041] icssg-prueth icssg1-eth: Processing child node: /icssg1-eth/ethernet-ports/port@0
    [    7.290063] icssg-prueth icssg1-eth: Found port with reg = 0
    [    7.290073] icssg-prueth icssg1-eth: eth0_node: 00000000f6059eff, eth1_node: 0000000000000000
    [    7.291414] remoteproc remoteproc9: b138000.pru is available
    [    7.293171] remoteproc remoteproc10: b106000.rtu is available
    [    7.297881] remoteproc remoteproc11: b006000.rtu is available
    [    7.299500] remoteproc remoteproc12: b034000.pru is available
    [    7.303101] remoteproc remoteproc13: b234000.pru is available
    [    7.304274] remoteproc remoteproc14: b204000.rtu is available
    [    7.309879] remoteproc remoteproc15: b134000.pru is available
    [    7.311824] remoteproc remoteproc16: b104000.rtu is available
    [    7.314037] remoteproc remoteproc17: b238000.pru is available
    [    7.315057] remoteproc remoteproc18: b206000.rtu is available
    [    7.315812] icssg-prueth icssg1-eth: Processing child node: /icssg1-eth/ethernet-ports/port@0
    [    7.315834] icssg-prueth icssg1-eth: Found port with reg = 0
    [    7.315892] icssg-prueth icssg1-eth: eth0_node: 00000000f6059eff, eth1_node: 0000000000000000
    [    7.316297] icssg-prueth icssg1-eth: iep1 not available, continuing with iep0 only (by Charlie modify in icssg_prueth.c)
    [    7.323304] icssg-prueth icssg1-eth: port 1: using random MAC addr: da:4a:d5:d6:5c:7c
    [    7.332432] TI DP83867 b132400.mdio:01: attached PHY driver (mii_bus:phy_addr=b132400.mdio:01, irq=POLL)
    [    7.332470] icssg-prueth icssg1-eth: TI PRU ethernet driver initialized: single EMAC mode
    [    7.333637] icssg-prueth icssg2-eth: Processing child node: /icssg2-eth/ethernet-ports/port@0
    [    7.333659] icssg-prueth icssg2-eth: Found port with reg = 0
    [    7.333669] icssg-prueth icssg2-eth: eth0_node: 0000000055d3f8f9, eth1_node: 0000000000000000
    [    7.334440] icssg-prueth icssg2-eth: iep1 not available, continuing with iep0 only (by Charlie modify in icssg_prueth.c)
    [    7.341319] icssg-prueth icssg2-eth: port 1: using random MAC addr: 56:2c:3e:31:d7:a6
    [    7.348890] TI DP83867 b232400.mdio:02: attached PHY driver (mii_bus:phy_addr=b232400.mdio:02, irq=POLL)
    [    7.348928] icssg-prueth icssg2-eth: TI PRU ethernet driver initialized: single EMAC mode
    [  OK  ] Reached target Hardware activated USB gadget.
    [    7.601395] xhci-hcd xhci-hcd.2.auto: xHCI Host Controller
    [    7.601443] xhci-hcd xhci-hcd.2.auto: new USB bus registered, assigned bus number 1
    [    7.601577] xhci-hcd xhci-hcd.2.auto: hcc params 0x0298fe6d hci version 0x110 quirks 0x0000008000010010
    [    7.601913] xhci-hcd xhci-hcd.2.auto: irq 580, io mem 0x04030000
    [    7.602199] xhci-hcd xhci-hcd.2.auto: xHCI Host Controller
    [    7.602220] xhci-hcd xhci-hcd.2.auto: new USB bus registered, assigned bus number 2
    [    7.602242] xhci-hcd xhci-hcd.2.auto: Host supports USB 3.0 SuperSpeed
    [    7.603380] hub 1-0:1.0: USB hub found
    [    7.603423] hub 1-0:1.0: 1 port detected
    [    7.604388] usb usb2: We don't know the algorithms for LPM for this host, disabling LPM.
    [    7.605195] hub 2-0:1.0: USB hub found
    [    7.605229] hub 2-0:1.0: 1 port detected
    [  OK  ] Finished Expand the rootfs…full size of the boot device..
    [  OK  ] Started User Login Management.
    [    7.884890] omap_i2c 2000000.i2c: timeout waiting for bus ready
    [    8.225902] k3_r5_rproc bus@100000:bus@28380000:r5fss@41000000: Timed out waiting for 41000000.r5f core to power up!
    [    8.240294] remoteproc remoteproc0: releasing 41000000.r5f
    [  OK  ] Started Network Configuration.
             Starting Network Name Resolution...
    [    8.681747] remoteproc remoteproc13: powering up b234000.pru
    [    8.746780] remoteproc remoteproc13: Booting fw image ti-pruss/am65x-sr2-pru0-prueth-fw.elf, size 39636
    [    8.746820] remoteproc remoteproc13: unsupported resource 5
    [    8.746938] remoteproc remoteproc13: remote processor b234000.pru is now up
    [    8.746986] remoteproc remoteproc14: powering up b204000.rtu
    [    8.804915] remoteproc remoteproc14: Booting fw image ti-pruss/am65x-sr2-rtu0-prueth-fw.elf, size 30444
    [    8.804969] remoteproc remoteproc14: remote processor b204000.rtu is now up
    [    8.805011] remoteproc remoteproc5: powering up b20a000.txpru
    [    8.852733] remoteproc remoteproc5: Booting fw image ti-pruss/am65x-sr2-txpru0-prueth-fw.elf, size 39080
    [    8.852796] remoteproc remoteproc5: remote processor b20a000.txpru is now up
    [    8.854805] pps pps0: new PPS source ptp2
    [    8.913789] remoteproc remoteproc15: powering up b134000.pru
    [    8.914120] remoteproc remoteproc15: Booting fw image ti-pruss/am65x-sr2-pru0-prueth-fw.elf, size 39636
    [    8.914148] remoteproc remoteproc15: unsupported resource 5
    [    8.914183] remoteproc remoteproc15: remote processor b134000.pru is now up
    [    8.914217] remoteproc remoteproc16: powering up b104000.rtu
    [    8.914359] remoteproc remoteproc16: Booting fw image ti-pruss/am65x-sr2-rtu0-prueth-fw.elf, size 30444
    [    8.914392] remoteproc remoteproc16: remote processor b104000.rtu is now up
    [    8.914415] remoteproc remoteproc3: powering up b10a000.txpru
    [    8.914597] remoteproc remoteproc3: Booting fw image ti-pruss/am65x-sr2-txpru0-prueth-fw.elf, size 39080
    [    8.914638] remoteproc remoteproc3: remote processor b10a000.txpru is now up
    [    8.916317] pps pps1: new PPS source ptp3
    [    8.966039] am65-cpsw-nuss 46000000.ethernet eth0: PHY [46000f00.mdio:03] driver [TI DP83822] (irq=POLL)
    [    8.966072] am65-cpsw-nuss 46000000.ethernet eth0: configuring for phy/rmii link mode
    [  OK  ] Started Network Name Resolution.
    [  OK  ] Reached target Network.
    [  OK  ] Reached target Host and Network Name Lookups.
             Starting Avahi mDNS/DNS-SD Stack...
             Starting containerd container runtime...
    [  OK  ] Started Netperf Benchmark Server.
    [  OK  ] Started NFS status monitor for NFSv2/3 locking..
             Starting Permit User Sessions...
    [  OK  ] Finished Permit User Sessions.
    [  OK  ] Started Getty on tty1.
    [  OK  ] Started Serial Getty on ttyS2.
    [  OK  ] Reached target Login Prompts.
             Starting Synchronize System and HW clocks...
    [  OK  ] Finished Synchronize System and HW clocks.
    [  OK  ] Started Avahi mDNS/DNS-SD Stack.
    [  OK  ] Created slice Slice /system/systemd-fsck.
    [  OK  ] Found device /dev/mmcblk1p1.
             Starting File System Check on /dev/mmcblk1p1...
    [  OK  ] Finished File System Check on /dev/mmcblk1p1.
             Mounting /run/media/boot-mmcblk1p1...
    [  OK  ] Mounted /run/media/boot-mmcblk1p1.
    
     _____                    _____           _         _
    |  _  |___ ___ ___ ___   |  _  |___ ___  |_|___ ___| |_
    |     |  _| .'| . | . |  |   __|  _| . | | | -_|  _|  _|
    |__|__|_| |__,|_  |___|  |__|  |_| |___|_| |___|___|_|
                  |___|                    |___|
    
    Arago Project am65xx-evm -
    
    Arago 2023.10 am65xx-evm -
    
    am65xx-evm login: ***************************************************************
    ***************************************************************
    NOTICE: This file system contains the following GPL-3.0 packages:
            bash
            cifs-utils
            dosfstools
            grub-common
            grub-editenv
            grub-efi
            less
            libdw1
            libelf1
            libgcc1
            libreadline8
            libstdc++6
            parted
    
    If you do not wish to distribute GPL-3.0 components please remove
    the above packages prior to distribution.  This can be done using
    the opkg remove command.  i.e.:
        opkg remove <package>
    Where <package> is the name printed in the list above
    
    NOTE: If the package is a dependency of another package you
          will be notified of the dependent packages.  You should
          use the --force-removal-of-dependent-packages option to
          also remove the dependent packages as well
    ***************************************************************
    ***************************************************************
    
    am65xx-evm login: root
    [  109.030349] audit: type=1006 audit(1653065875.419:2): pid=579 uid=0 old-auid=4294967295 auid=0 tty=(none) old-ses=4294967295 ses=1 res=1
    [  109.030385] audit: type=1300 audit(1653065875.419:2): arch=c00000b7 syscall=64 success=yes exit=1 a0=8 a1=ffffda989408 a2=1 a3=0 items=0 ppid=1 pid=579 auid=0 uid=0 gid=0 euid=0 suid=0 fsuid=0 egid=0 sgid=0 fsgid=0 tty=(none) ses=1 comm="(systemd)" exe="/lib/systemd/systemd" key=(null)
    [  109.030405] audit: type=1327 audit(1653065875.419:2): proctitle="(systemd)"
    root@am65xx-evm:~#
    root@am65xx-evm:~#
    root@am65xx-evm:~# modprobe g_serial
    [  117.367423] g_serial gadget.0: Gadget Serial v2.4
    [  117.367444] g_serial gadget.0: g_serial ready
    root@am65xx-evm:~# devmem2 0x04000618 w
    /dev/mem opened.
    Memory mapped at address 0xffffb8860000.
    Read at address  0x04000618 (0xffffb8860618): 0x00000008
    root@am65xx-evm:~# devmem2 0x04000618 w
    /dev/mem opened.
    Memory mapped at address 0xffffb8a38000.
    Read at address  0x04000618 (0xffffb8a38618): 0x00000007
    root@am65xx-evm:~# dmesg | grep udc
    root@am65xx-evm:~# dmesg | grep usb
    [    0.689620] usbcore: registered new interface driver usbfs
    [    0.689675] usbcore: registered new interface driver hub
    [    0.689713] usbcore: registered new device driver usb
    [    0.847967] usbcore: registered new interface driver usb-storage
    [    0.851539] usbcore: registered new interface driver usbhid
    [    0.851544] usbhid: USB HID core driver
    [    7.604388] usb usb2: We don't know the algorithms for LPM for this host, disabling LPM.
    root@am65xx-evm:~#
    
    Starting kernel ...
    
    ERROR:   GTC_CNTFID0 is 0! Assuming 200000000 Hz. Fix Bootloader
    ERROR:   GTC_CNTFID0 is 0! Assuming 200000000 Hz. Fix Bootloader
    ERROR:   GTC_CNTFID0 is 0! Assuming 200000000 Hz. Fix Bootloader
    mounting FS: proc /proc
    mounting FS: sysfs /sys
    mounting FS: tmpfs /tmp
    mounting FS: tmpfs /run
    /dev/mmcblk0p5
    No fluxdata expansion.
    TPM subsystem is not enabled.
    No tpm 2.0 found or not working, restoring partition label...
    LUKS init done.
    /init[1]: Moving /dev to new rootfs
    /init[1]: Moving /proc to new rootfs
    /init[1]: Moving /sys to new rootfs
    
    Welcome to Wind River Linux LTS 19.45 Update 20!
    
    [  OK  ] Created slice system-getty.slice.
    [  OK  ] Created slice system-serial\x2dgetty.slice.
    [  OK  ] Created slice User and Session Slice.
    [  OK  ] Started Dispatch Password …ts to Console Directory Watch.
    [  OK  ] Started Forward Password R…uests to Wall Directory Watch.
    [  OK  ] Reached target Paths.
    [  OK  ] Reached target Remote File Systems.
    [  OK  ] Reached target Slices.
    [  OK  ] Reached target Swap.
    [  OK  ] Listening on Syslog Socket.
    [  OK  ] Listening on initctl Compatibility Named Pipe.
    [  OK  ] Listening on Journal Socket (/dev/log).
    [  OK  ] Listening on Journal Socket.
    [  OK  ] Listening on Network Service Netlink Socket.
    [  OK  ] Listening on udev Control Socket.
    [  OK  ] Listening on udev Kernel Socket.
             Mounting POSIX Message Queue File System...
             Mounting Kernel Debug File System...
             Mounting Temporary Directory (/tmp)...
             Starting Create list of st…odes for the current kernel...
             Starting Journal Service...
             Starting Load Kernel Modules...
             Starting Remount Root and Kernel File Systems...
             Starting udev Coldplug all Devices...
    [  OK  ] Mounted POSIX Message Queue File System.
    [  OK  ] Mounted Kernel Debug File System.
    [  OK  ] Mounted Temporary Directory (/tmp).
    [  OK  ] Started Create list of sta… nodes for the current kernel.
    [  OK  ] Started Load Kernel Modules.
    [  OK  ] Started Remount Root and Kernel File Systems.
    [  OK  ] Started Journal Service.
             Mounting FUSE Control File System...
             Mounting Kernel Configuration File System...
             Starting OSTree Remount OS/ Bind Mounts...
             Starting Apply Kernel Variables...
             Starting Create Static Device Nodes in /dev...
    [  OK  ] Mounted FUSE Control File System.
    [  OK  ] Mounted Kernel Configuration File System.
    [  OK  ] Started OSTree Remount OS/ Bind Mounts.
    [  OK  ] Started Apply Kernel Variables.
    [  OK  ] Started Create Static Device Nodes in /dev.
    [  OK  ] Reached target Local File Systems (Pre).
             Starting udev Kernel Device Manager...
    [  OK  ] Started udev Kernel Device Manager.
             Starting Network Service...
    [  OK  ] Started Network Service.
    [  OK  ] Found device /dev/disk/by-label/otaboot.
    [  OK  ] Found device /dev/mmcblk0p5.
    [  OK  ] Found device /dev/disk/by-label/fluxdata.
             Mounting /var...
    [  OK  ] Started udev Coldplug all Devices.
    [  OK  ] Mounted /var.
             Mounting /var/volatile...
             Starting Flush Journal to Persistent Storage...
    [  OK  ] Mounted /var/volatile.
    [  OK  ] Started Flush Journal to Persistent Storage.
             Starting Load/Save Random Seed...
    [  OK  ] Reached target Local File Systems.
             Starting Create Volatile Files and Directories...
    [  OK  ] Started Create Volatile Files and Directories.
    [  OK  ] Listening on Load/Save RF …itch Status /dev/rfkill Watch.
             Starting Network Name Resolution...
             Starting Network Time Synchronization...
             Starting Update UTMP about System Boot/Shutdown...
    [  OK  ] Started Update UTMP about System Boot/Shutdown.
    [  OK  ] Started Network Name Resolution.
    [  OK  ] Reached target Host and Network Name Lookups.
    [  OK  ] Started Network Time Synchronization.
    [  OK  ] Reached target System Initialization.
    [  OK  ] Started Daily Cleanup of Temporary Directories.
    [  OK  ] Reached target System Time Set.
    [  OK  ] Reached target System Time Synchronized.
    [  OK  ] Started Daily rotation of log files.
    [  OK  ] Reached target Timers.
    [  OK  ] Listening on D-Bus System Message Bus Socket.
             Starting sshd.socket.
    [  OK  ] Listening on sshd.socket.
    [  OK  ] Reached target Sockets.
    [  OK  ] Reached target Basic System.
    [  OK  ] Started D-Bus System Message Bus.
    [  OK  ] Started Dynamic Host Configuration Protocol (DHCP).
    [  OK  ] Reached target Network.
             Starting /etc/rc.local Compatibility...
             Starting System Logging Service...
             Starting Login Service...
             Starting Permit User Sessions...
    [  OK  ] Started System Logging Service.
    [  OK  ] Started Permit User Sessions.
    [  OK  ] Started Login Service.
    [  OK  ] Started Load/Save Random Seed.
    [  OK  ] Started /etc/rc.local Compatibility.
    [  OK  ] Started Getty on tty1.
    [  OK  ] Started Serial Getty on ttyS2.
    [  OK  ] Reached target Login Prompts.
    [  OK  ] Reached target Multi-User System.
             Starting Update UTMP about System Runlevel Changes...
             Starting watchdog daemon...
    [  OK  ] Started Update UTMP about System Runlevel Changes.
    [  OK  ] Started watchdog daemon.
    
    Wind River Linux LTS 19.45 Update 20 AX-564EB0MB1T ttyS2
    AX-564EB0MB1T login: root
    Password:
    root@AX-564EB0MB1T:~#
    root@AX-564EB0MB1T:~# devmem2
    
    Usage:  devmem2 { address } [ type [ data ] ]
            address : memory address to act upon
            type    : access operation type : [b]yte, [h]alfword, [w]ord, [l]ong
            data    : data to be written
    
    root@AX-564EB0MB1T:~# devmem2 0x04000618 W
    /dev/mem opened.
    Memory mapped at address 0x7f95e3a000.
    Read at address  0x04000618 (0x7f95e3a618): 0x00000008
    root@AX-564EB0MB1T:~# devmem2 0x04000618 W
    /dev/mem opened.
    Memory mapped at address 0x7fa25d1000.
    Read at address  0x04000618 (0x7fa25d1618): 0x00000007
    root@AX-564EB0MB1T:~#
    
    root@AX-564EB0MB1T:~# dmesg | grep udc
    [    1.400402] udc-core: couldn't find an available UDC - added [g_serial] to list of pending drivers
    root@AX-564EB0MB1T:~# dmesg | grep usb
    [    0.116744] usbcore: registered new interface driver usbfs
    [    0.116795] usbcore: registered new interface driver hub
    [    0.116868] usbcore: registered new device driver usb
    [    1.399031] usbcore: registered new interface driver asix
    [    1.399082] usbcore: registered new interface driver ax88179_178a
    [    1.399114] usbcore: registered new interface driver cdc_ether
    [    1.399153] usbcore: registered new interface driver net1080
    [    1.399186] usbcore: registered new interface driver cdc_subset
    [    1.399217] usbcore: registered new interface driver zaurus
    [    1.399268] usbcore: registered new interface driver cdc_ncm
    [    1.400144] usbcore: registered new interface driver usb-storage
    [    1.400252] usbcore: registered new interface driver cp210x
    [    1.400276] usbserial: USB Serial support registered for cp210x
    [    2.101161] dwc3 4010000.usb: Failed to get clk 'ref': -2
    [    2.110745] dwc3 4030000.usb: Failed to get clk 'ref': -2
    [   11.097764] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002, bcdDevice= 5.02
    [   11.097774] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
    [   11.097780] usb usb1: Product: xHCI Host Controller
    [   11.097785] usb usb1: Manufacturer: Linux 5.2.60-rt15-yocto-preempt-rt xhci-hcd
    [   11.097790] usb usb1: SerialNumber: xhci-hcd.0.auto
    [   11.116216] usb usb2: We don't know the algorithms for LPM for this host, disabling LPM.
    [   11.116403] usb usb2: New USB device found, idVendor=1d6b, idProduct=0003, bcdDevice= 5.02
    [   11.116411] usb usb2: New USB device strings: Mfr=3, Product=2, SerialNumber=1
    [   11.116417] usb usb2: Product: xHCI Host Controller
    [   11.116422] usb usb2: Manufacturer: Linux 5.2.60-rt15-yocto-preempt-rt xhci-hcd
    [   11.116426] usb usb2: SerialNumber: xhci-hcd.0.auto
    root@AX-564EB0MB1T:~#
    
    

  • The kernel 5.x log doesn't have much of the boot messages. Please boot with kernel 5.x and run command 'dmesg' (without grep) and save it to a log file. 

  • I have updated the Kernel 5.X log as follows:

    Starting kernel ...
    
    ERROR:   GTC_CNTFID0 is 0! Assuming 200000000 Hz. Fix Bootloader
    ERROR:   GTC_CNTFID0 is 0! Assuming 200000000 Hz. Fix Bootloader
    ERROR:   GTC_CNTFID0 is 0! Assuming 200000000 Hz. Fix Bootloader
    mounting FS: proc /proc
    mounting FS: sysfs /sys
    mounting FS: tmpfs /tmp
    mounting FS: tmpfs /run
    /dev/mmcblk0p5
    No fluxdata expansion.
    TPM subsystem is not enabled.
    No tpm 2.0 found or not working, restoring partition label...
    LUKS init done.
    /init[1]: Moving /dev to new rootfs
    /init[1]: Moving /proc to new rootfs
    /init[1]: Moving /sys to new rootfs
    
    Welcome to Wind River Linux LTS 19.45 Update 20!
    
    [  OK  ] Created slice system-getty.slice.
    [  OK  ] Created slice system-serial\x2dgetty.slice.
    [  OK  ] Created slice User and Session Slice.
    [  OK  ] Started Dispatch Password …ts to Console Directory Watch.
    [  OK  ] Started Forward Password R…uests to Wall Directory Watch.
    [  OK  ] Reached target Paths.
    [  OK  ] Reached target Remote File Systems.
    [  OK  ] Reached target Slices.
    [  OK  ] Reached target Swap.
    [  OK  ] Listening on Syslog Socket.
    [  OK  ] Listening on initctl Compatibility Named Pipe.
    [  OK  ] Listening on Journal Socket (/dev/log).
    [  OK  ] Listening on Journal Socket.
    [  OK  ] Listening on Network Service Netlink Socket.
    [  OK  ] Listening on udev Control Socket.
    [  OK  ] Listening on udev Kernel Socket.
             Mounting POSIX Message Queue File System...
             Mounting Kernel Debug File System...
             Mounting Temporary Directory (/tmp)...
             Starting Create list of st…odes for the current kernel...
             Starting Journal Service...
             Starting Load Kernel Modules...
             Starting Remount Root and Kernel File Systems...
             Starting udev Coldplug all Devices...
    [  OK  ] Mounted POSIX Message Queue File System.
    [  OK  ] Mounted Kernel Debug File System.
    [  OK  ] Mounted Temporary Directory (/tmp).
    [  OK  ] Started Create list of sta… nodes for the current kernel.
    [  OK  ] Started Load Kernel Modules.
    [  OK  ] Started Remount Root and Kernel File Systems.
    [  OK  ] Started Journal Service.
             Mounting FUSE Control File System...
             Mounting Kernel Configuration File System...
             Starting OSTree Remount OS/ Bind Mounts...
             Starting Apply Kernel Variables...
             Starting Create Static Device Nodes in /dev...
    [  OK  ] Mounted FUSE Control File System.
    [  OK  ] Mounted Kernel Configuration File System.
    [  OK  ] Started OSTree Remount OS/ Bind Mounts.
    [  OK  ] Started Apply Kernel Variables.
    [  OK  ] Started Create Static Device Nodes in /dev.
    [  OK  ] Reached target Local File Systems (Pre).
             Starting udev Kernel Device Manager...
    [  OK  ] Started udev Kernel Device Manager.
             Starting Network Service...
    [  OK  ] Started Network Service.
    [  OK  ] Found device /dev/disk/by-label/otaboot.
    [  OK  ] Found device /dev/mmcblk0p5.
    [  OK  ] Found device /dev/disk/by-label/fluxdata.
             Mounting /var...
    [  OK  ] Started udev Coldplug all Devices.
    [  OK  ] Mounted /var.
             Mounting /var/volatile...
             Starting Flush Journal to Persistent Storage...
    [  OK  ] Mounted /var/volatile.
    [  OK  ] Started Flush Journal to Persistent Storage.
             Starting Load/Save Random Seed...
    [  OK  ] Reached target Local File Systems.
             Starting Create Volatile Files and Directories...
    [  OK  ] Started Create Volatile Files and Directories.
    [  OK  ] Listening on Load/Save RF …itch Status /dev/rfkill Watch.
             Starting Network Name Resolution...
             Starting Network Time Synchronization...
             Starting Update UTMP about System Boot/Shutdown...
    [  OK  ] Started Update UTMP about System Boot/Shutdown.
    [  OK  ] Started Network Name Resolution.
    [  OK  ] Reached target Host and Network Name Lookups.
    [  OK  ] Started Network Time Synchronization.
    [  OK  ] Reached target System Initialization.
    [  OK  ] Started Daily Cleanup of Temporary Directories.
    [  OK  ] Reached target System Time Set.
    [  OK  ] Reached target System Time Synchronized.
    [  OK  ] Started Daily rotation of log files.
    [  OK  ] Reached target Timers.
    [  OK  ] Listening on D-Bus System Message Bus Socket.
             Starting sshd.socket.
    [  OK  ] Listening on sshd.socket.
    [  OK  ] Reached target Sockets.
    [  OK  ] Reached target Basic System.
    [  OK  ] Started D-Bus System Message Bus.
    [  OK  ] Started Dynamic Host Configuration Protocol (DHCP).
    [  OK  ] Reached target Network.
             Starting /etc/rc.local Compatibility...
             Starting System Logging Service...
             Starting Login Service...
             Starting Permit User Sessions...
    [  OK  ] Started System Logging Service.
    [  OK  ] Started Permit User Sessions.
    [  OK  ] Started Login Service.
    [  OK  ] Started Load/Save Random Seed.
    [  OK  ] Started /etc/rc.local Compatibility.
    [  OK  ] Started Getty on tty1.
    [  OK  ] Started Serial Getty on ttyS2.
    [  OK  ] Reached target Login Prompts.
    [  OK  ] Reached target Multi-User System.
             Starting Update UTMP about System Runlevel Changes...
             Starting watchdog daemon...
    [  OK  ] Started Update UTMP about System Runlevel Changes.
    [  OK  ] Started watchdog daemon.
    
    Wind River Linux LTS 19.45 Update 20 AX-564EB0MB1T ttyS2
    AX-564EB0MB1T login: root
    Password:
    root@AX-564EB0MB1T:~#
    root@AX-564EB0MB1T:~# devmem2
    
    Usage:  devmem2 { address } [ type [ data ] ]
            address : memory address to act upon
            type    : access operation type : [b]yte, [h]alfword, [w]ord, [l]ong
            data    : data to be written
    
    root@AX-564EB0MB1T:~# devmem2 0x04000618 W
    /dev/mem opened.
    Memory mapped at address 0x7f95e3a000.
    Read at address  0x04000618 (0x7f95e3a618): 0x00000008
    root@AX-564EB0MB1T:~# devmem2 0x04000618 W
    /dev/mem opened.
    Memory mapped at address 0x7fa25d1000.
    Read at address  0x04000618 (0x7fa25d1618): 0x00000007
    root@AX-564EB0MB1T:~#
    
    root@AX-564EB0MB1T:~# dmesg | grep udc
    [    1.400402] udc-core: couldn't find an available UDC - added [g_serial] to list of pending drivers
    root@AX-564EB0MB1T:~# dmesg | grep usb
    [    0.116744] usbcore: registered new interface driver usbfs
    [    0.116795] usbcore: registered new interface driver hub
    [    0.116868] usbcore: registered new device driver usb
    [    1.399031] usbcore: registered new interface driver asix
    [    1.399082] usbcore: registered new interface driver ax88179_178a
    [    1.399114] usbcore: registered new interface driver cdc_ether
    [    1.399153] usbcore: registered new interface driver net1080
    [    1.399186] usbcore: registered new interface driver cdc_subset
    [    1.399217] usbcore: registered new interface driver zaurus
    [    1.399268] usbcore: registered new interface driver cdc_ncm
    [    1.400144] usbcore: registered new interface driver usb-storage
    [    1.400252] usbcore: registered new interface driver cp210x
    [    1.400276] usbserial: USB Serial support registered for cp210x
    [    2.101161] dwc3 4010000.usb: Failed to get clk 'ref': -2
    [    2.110745] dwc3 4030000.usb: Failed to get clk 'ref': -2
    [   11.097764] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002, bcdDevice= 5.02
    [   11.097774] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
    [   11.097780] usb usb1: Product: xHCI Host Controller
    [   11.097785] usb usb1: Manufacturer: Linux 5.2.60-rt15-yocto-preempt-rt xhci-hcd
    [   11.097790] usb usb1: SerialNumber: xhci-hcd.0.auto
    [   11.116216] usb usb2: We don't know the algorithms for LPM for this host, disabling LPM.
    [   11.116403] usb usb2: New USB device found, idVendor=1d6b, idProduct=0003, bcdDevice= 5.02
    [   11.116411] usb usb2: New USB device strings: Mfr=3, Product=2, SerialNumber=1
    [   11.116417] usb usb2: Product: xHCI Host Controller
    [   11.116422] usb usb2: Manufacturer: Linux 5.2.60-rt15-yocto-preempt-rt xhci-hcd
    [   11.116426] usb usb2: SerialNumber: xhci-hcd.0.auto
    
    
    root@AX-564EB0MB1T:~# dmesg
    [    0.000000] Booting Linux on physical CPU 0x0000000000 [0x410fd034]
    [    0.000000] Linux version 5.2.60-rt15-yocto-preempt-rt (oe-user@oe-host) (gcc version 9.2.0 (GCC)) #1 SMP PREEMPT RT Thu Sep 18 03:54:40 UTC 2025
    [    0.000000] Machine model: Texas Instruments AM654 Base Board
    [    0.000000] efi: Getting EFI parameters from FDT:
    [    0.000000] efi: UEFI not found.
    [    0.000000] Reserved memory: created DMA memory pool at 0x00000000a0000000, size 1 MiB
    [    0.000000] OF: reserved mem: initialized node r5f-dma-memory@a0000000, compatible id shared-dma-pool
    [    0.000000] Reserved memory: created DMA memory pool at 0x00000000a0100000, size 15 MiB
    [    0.000000] OF: reserved mem: initialized node r5f-memory@a0100000, compatible id shared-dma-pool
    [    0.000000] Reserved memory: created DMA memory pool at 0x00000000a1000000, size 1 MiB
    [    0.000000] OF: reserved mem: initialized node r5f-dma-memory@a1000000, compatible id shared-dma-pool
    [    0.000000] Reserved memory: created DMA memory pool at 0x00000000a1100000, size 15 MiB
    [    0.000000] OF: reserved mem: initialized node r5f-memory@a1100000, compatible id shared-dma-pool
    [    0.000000] On node 0 totalpages: 247296
    [    0.000000]   DMA32 zone: 4096 pages used for memmap
    [    0.000000]   DMA32 zone: 0 pages reserved
    [    0.000000]   DMA32 zone: 247296 pages, LIFO batch:63
    [    0.000000] psci: probing for conduit method from DT.
    [    0.000000] psci: PSCIv1.1 detected in firmware.
    [    0.000000] psci: Using standard PSCI v0.2 function IDs
    [    0.000000] psci: Trusted OS migration not required
    [    0.000000] psci: SMC Calling Convention v1.0
    [    0.000000] percpu: Embedded 28 pages/cpu s74432 r8192 d32064 u114688
    [    0.000000] pcpu-alloc: s74432 r8192 d32064 u114688 alloc=28*4096
    [    0.000000] pcpu-alloc: [0] 0 [0] 1 [0] 2 [0] 3
    [    0.000000] Detected VIPT I-cache on CPU0
    [    0.000000] CPU features: detected: GIC system register CPU interface
    [    0.000000] Built 1 zonelists, mobility grouping on.  Total pages: 243200
    [    0.000000] Kernel command line:  ostree_boot=LABEL=otaboot ostree=/ostree/1 ostree_root=LABEL=otaroot console=ttyS2,115200n8,115200  flux=fluxdata isolcpus=2-3 rcu_nocbs=2 nohz_full=2  irqaffinity=0-1,3
    [    0.000000] Housekeeping: nohz_full= must match isolcpus=
    [    0.000000] Dentry cache hash table entries: 131072 (order: 9, 2097152 bytes)
    [    0.000000] Inode-cache hash table entries: 65536 (order: 7, 524288 bytes)
    [    0.000000] Memory: 933724K/989184K available (7932K kernel code, 4308K rwdata, 1932K rodata, 896K init, 350K bss, 55460K reserved, 0K cma-reserved)
    [    0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=4, Nodes=1
    [    0.000000] ftrace: allocating 27674 entries in 109 pages
    [    0.000000] rcu: Preemptible hierarchical RCU implementation.
    [    0.000000] rcu:     RCU restricting CPUs from NR_CPUS=256 to nr_cpu_ids=4.
    [    0.000000] rcu:     RCU priority boosting: priority 1 delay 500 ms.
    [    0.000000] rcu:     RCU_SOFTIRQ processing moved to rcuc kthreads.
    [    0.000000]  No expedited grace period (rcu_normal_after_boot).
    [    0.000000]  Tasks RCU enabled.
    [    0.000000] rcu: RCU calculated value of scheduler-enlistment delay is 100 jiffies.
    [    0.000000] rcu: Adjusting geometry for rcu_fanout_leaf=16, nr_cpu_ids=4
    [    0.000000] NR_IRQS: 64, nr_irqs: 64, preallocated irqs: 0
    [    0.000000] GICv3: GIC: Using split EOI/Deactivate mode
    [    0.000000] GICv3: Distributor has no Range Selector support
    [    0.000000] GICv3: no VLPI support, no direct LPI support
    [    0.000000] GICv3: CPU0: found redistributor 0 region 0:0x0000000001880000
    [    0.000000] ITS [mem 0x01820000-0x0182ffff]
    [    0.000000] GIC: enabling workaround for ITS: Socionext Synquacer pre-ITS
    [    0.000000] ITS@0x0000000001820000: Devices Table too large, reduce ids 20->19
    [    0.000000] ITS@0x0000000001820000: allocated 524288 Devices @be000000 (flat, esz 8, psz 64K, shr 0)
    [    0.000000] ITS: using cache flushing for cmd queue
    [    0.000000] GICv3: using LPI property table @0x00000000a2320000
    [    0.000000] GIC: using cache flushing for LPI property table
    [    0.000000] GICv3: CPU0: using allocated LPI pending table @0x00000000a2330000
    [    0.000000] rcu:     Offload RCU callbacks from CPUs: 2.
    [    0.000000] random: get_random_bytes called from start_kernel+0x31c/0x4a0 with crng_init=0
    [    0.000000] arch_timer: cp15 timer(s) running at 200.00MHz (phys).
    [    0.000000] clocksource: arch_sys_counter: mask: 0xffffffffffffff max_cycles: 0x2e2049d3e8, max_idle_ns: 440795210634 ns
    [    0.000001] sched_clock: 56 bits at 200MHz, resolution 5ns, wraps every 4398046511102ns
    [    0.000362] Console: colour dummy device 80x25
    [    0.000401] Calibrating delay loop (skipped), value calculated using timer frequency.. 400.00 BogoMIPS (lpj=200000)
    [    0.000412] pid_max: default: 32768 minimum: 301
    [    0.000545] LSM: Security Framework initializing
    [    0.000601] Mount-cache hash table entries: 2048 (order: 2, 16384 bytes)
    [    0.000614] Mountpoint-cache hash table entries: 2048 (order: 2, 16384 bytes)
    [    0.008053] ASID allocator initialised with 32768 entries
    [    0.010029] rcu: Hierarchical SRCU implementation.
    [    0.016224] Platform MSI: gic-its@1820000 domain created
    [    0.016386] EFI services will not be available.
    [    0.018127] smp: Bringing up secondary CPUs ...
    [    0.036568] Detected VIPT I-cache on CPU1
    [    0.036607] GICv3: CPU1: found redistributor 1 region 0:0x00000000018a0000
    [    0.036623] GICv3: CPU1: using allocated LPI pending table @0x00000000a2340000
    [    0.036663] CPU1: Booted secondary processor 0x0000000001 [0x410fd034]
    [    0.054941] Detected VIPT I-cache on CPU2
    [    0.054987] GICv3: CPU2: found redistributor 100 region 0:0x00000000018c0000
    [    0.055003] GICv3: CPU2: using allocated LPI pending table @0x00000000a2350000
    [    0.055049] CPU2: Booted secondary processor 0x0000000100 [0x410fd034]
    [    0.072885] Detected VIPT I-cache on CPU3
    [    0.072914] GICv3: CPU3: found redistributor 101 region 0:0x00000000018e0000
    [    0.072926] GICv3: CPU3: using allocated LPI pending table @0x00000000a2360000
    [    0.072956] CPU3: Booted secondary processor 0x0000000101 [0x410fd034]
    [    0.073125] smp: Brought up 1 node, 4 CPUs
    [    0.073135] SMP: Total of 4 processors activated.
    [    0.073142] CPU features: detected: 32-bit EL0 Support
    [    0.073150] CPU features: detected: CRC32 instructions
    [    0.073215] CPU: All CPU(s) started at EL2
    [    0.073243] alternatives: patching kernel code
    [    0.074438] devtmpfs: initialized
    [    0.087911] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 1911260446275000 ns
    [    0.087940] futex hash table entries: 1024 (order: 5, 131072 bytes)
    [    0.088307] pinctrl core: initialized pinctrl subsystem
    [    0.088639] DMI not present or invalid.
    [    0.089050] NET: Registered protocol family 16
    [    0.090216] hw-breakpoint: found 6 breakpoint and 4 watchpoint registers.
    [    0.090426] DMA: preallocated 256 KiB pool for atomic allocations
    [    0.116557] SCSI subsystem initialized
    [    0.116790] usbcore: registered new interface driver usbfs
    [    0.116842] usbcore: registered new interface driver hub
    [    0.116916] usbcore: registered new device driver usb
    [    0.117565] pps_core: LinuxPPS API ver. 1 registered
    [    0.117569] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
    [    0.117583] PTP clock support registered
    [    0.120003] clocksource: Switched to clocksource arch_sys_counter
    [    0.235713] NET: Registered protocol family 2
    [    0.236617] tcp_listen_portaddr_hash hash table entries: 512 (order: 3, 32768 bytes)
    [    0.236678] TCP established hash table entries: 8192 (order: 4, 65536 bytes)
    [    0.236789] TCP bind hash table entries: 8192 (order: 6, 458752 bytes)
    [    0.237433] TCP: Hash tables configured (established 8192 bind 8192)
    [    0.237676] UDP hash table entries: 512 (order: 4, 65536 bytes)
    [    0.237780] UDP-Lite hash table entries: 512 (order: 4, 65536 bytes)
    [    0.238296] NET: Registered protocol family 1
    [    0.238608] Trying to unpack rootfs image as initramfs...
    [    1.356684] Freeing initrd memory: 18156K
    [    1.357911] hw perfevents: enabled with armv8_pmuv3 PMU driver, 7 counters available
    [    1.359932] Initialise system trusted keyrings
    [    1.360214] workingset: timestamp_bits=46 max_order=18 bucket_order=0
    [    1.371763] Key type asymmetric registered
    [    1.371776] Asymmetric key parser 'x509' registered
    [    1.371824] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 249)
    [    1.371830] io scheduler mq-deadline registered
    [    1.371835] io scheduler kyber registered
    [    1.374840] pinctrl-single 4301c000.pinmux: 70 pins, size 280
    [    1.375649] pinctrl-single 11c000.pinmux: 185 pins, size 740
    [    1.376185] pinctrl-single 11c2e8.pinmux: 9 pins, size 36
    [    1.378860] k3-ringacc 2b800000.ringacc: Failed to get MSI domain
    [    1.379018] k3-ringacc 3c000000.ringacc: Failed to get MSI domain
    [    1.379971] Serial: 8250/16550 driver, 4 ports, IRQ sharing disabled
    [    1.394137] brd: module loaded
    [    1.397067] libphy: Fixed MDIO Bus: probed
    [    1.398110] usbcore: registered new interface driver asix
    [    1.398160] usbcore: registered new interface driver ax88179_178a
    [    1.398191] usbcore: registered new interface driver cdc_ether
    [    1.398231] usbcore: registered new interface driver net1080
    [    1.398263] usbcore: registered new interface driver cdc_subset
    [    1.398294] usbcore: registered new interface driver zaurus
    [    1.398345] usbcore: registered new interface driver cdc_ncm
    [    1.399224] usbcore: registered new interface driver usb-storage
    [    1.399332] usbcore: registered new interface driver cp210x
    [    1.399355] usbserial: USB Serial support registered for cp210x
    [    1.399488] udc-core: couldn't find an available UDC - added [g_serial] to list of pending drivers
    [    1.399494] i2c /dev entries driver
    [    1.400534] device-mapper: ioctl: 4.40.0-ioctl (2019-01-18) initialised: dm-devel@redhat.com
    [    1.401385] sdhci: Secure Digital Host Controller Interface driver
    [    1.401390] sdhci: Copyright(c) Pierre Ossman
    [    1.401968] sdhci-pltfm: SDHCI platform and OF driver helper
    [    1.402476] ti-sci bus@100000:bus@28380000:bus@42040000:dmsc: invalid resource
    [    1.404222] u32 classifier
    [    1.404228]     Actions configured
    [    1.404969] NET: Registered protocol family 10
    [    1.406225] Segment Routing with IPv6
    [    1.406296] sit: IPv6, IPv4 and MPLS over IPv4 tunneling driver
    [    1.406948] NET: Registered protocol family 17
    [    1.407156] 9pnet: Installing 9P2000 support
    [    1.407965] registered taskstats version 1
    [    1.407969] Loading compiled-in X.509 certificates
    [    1.416963] Key type encrypted registered
    [    1.421199] k3-ringacc 2b800000.ringacc: Failed to get MSI domain
    [    1.421360] k3-ringacc 3c000000.ringacc: Failed to get MSI domain
    [    1.425695] ti-sci bus@100000:bus@28380000:bus@42040000:dmsc: invalid resource
    [    1.426263] ti-sci bus@100000:bus@28380000:bus@42040000:dmsc: ABI: 3.1 (firmware rev 0x0015 '21.1.1--v2021.01a (Terrific Lla')
    [    1.479971] random: fast init done
    [    1.486220] omap_i2c_recover_bus
    [    1.486228] omap_i2c_recover_bus bus seems to be fine
    [    1.486540] omap_i2c 2000000.i2c: omap_i2c_probe i2c_generic_scl_recovery
    [    1.486546] [i2c-core-base]i2c_generic_scl_recovery set_scl
    [    1.486559] [i2c-core-base]i2c_generic_scl_recovery i=1
    [    1.486563] i2c recovery set_scl
    [    1.486571] [i2c-core-base]i2c_generic_scl_recovery i=2
    [    1.486574] i2c recovery set_scl
    [    1.487109] omap_i2c 2000000.i2c: bus 2 rev0.12 at 100 kHz
    [    1.487501] omap_i2c_recover_bus
    [    1.487504] omap_i2c_recover_bus bus seems to be fine
    [    1.487694] omap_i2c 2010000.i2c: omap_i2c_probe i2c_generic_scl_recovery
    [    1.487700] [i2c-core-base]i2c_generic_scl_recovery set_scl
    [    1.487711] [i2c-core-base]i2c_generic_scl_recovery i=1
    [    1.487715] i2c recovery set_scl
    [    1.487722] [i2c-core-base]i2c_generic_scl_recovery i=2
    [    1.487725] i2c recovery set_scl
    [    2.012731] rtc-s35390a 3-0030: registered as rtc0
    [    2.012774] omap_i2c 2010000.i2c: bus 3 rev0.12 at 100 kHz
    [    2.013499] ti-sci-intr bus@100000:bus@28380000:bus@42040000:interrupt-controller2: Interrupt Router 156 domain created
    [    2.013710] ti-sci-intr bus@100000:interrupt-controller0: Interrupt Router 100 domain created
    [    2.013906] ti-sci-intr bus@100000:navss@30800000:interrupt-controller1: Interrupt Router 182 domain created
    [    2.014301] ti-sci-inta 33d00000.interrupt-controller: Interrupt Aggregator domain -1 created
    [    2.021571] k3-ringacc 2b800000.ringacc: Ring Accelerator probed rings:286, gp-rings[96,160] sci-dev-id:195
    [    2.021585] k3-ringacc 2b800000.ringacc: dma-ring-reset-quirk: disabled
    [    2.021590] k3-ringacc 2b800000.ringacc: RA Proxy rev. 66348100, num_proxies:64
    [    2.039334] k3-ringacc 3c000000.ringacc: Ring Accelerator probed rings:818, gp-rings[304,464] sci-dev-id:187
    [    2.039350] k3-ringacc 3c000000.ringacc: dma-ring-reset-quirk: disabled
    [    2.039355] k3-ringacc 3c000000.ringacc: RA Proxy rev. 66348100, num_proxies:64
    [    2.040425] 40a00000.serial: ttyS1 at MMIO 0x40a00000 (irq = 7, base_baud = 6000000) is a 8250
    [    2.041665] 2800000.serial: ttyS2 at MMIO 0x2800000 (irq = 17, base_baud = 3000000) is a 8250
    [    2.041901] printk: console [ttyS2]: printing thread started
    [    2.041915] printk: console [ttyS2] enabled
    [    2.043321] omap8250 2810000.serial: unable to register 8250 port
    [    2.043338] omap8250 2810000.serial: PM domain pd:147 will not be powered off
    [    2.044242] 2820000.serial: ttyS0 at MMIO 0x2820000 (irq = 19, base_baud = 3000000) is a 8250
    [    2.058102] davinci_mdio 46000f00.mdio: Configuring MDIO in manual mode
    [    2.092022] davinci_mdio 46000f00.mdio: davinci mdio revision 9.7, bus freq 1000000
    [    2.092035] libphy: 46000f00.mdio: probed
    [    2.096555] davinci_mdio 46000f00.mdio: phy[3]: device 46000f00.mdio:03, driver TI DP83822
    [    2.096608] am65-cpsw-nuss 46000000.ethernet: initializing am65 cpsw nuss version 0x6BA00102, cpsw version 0x6BA80102 Ports: 2 quirks:00000000
    [    2.096660] am65-cpsw-nuss 46000000.ethernet: Failed to request tx dma channel -517
    [    2.099259] am65-cpts 310d0000.cpts: CPTS ver 0x4e8a010b, freq:200000000, add_val:4 pps:0
    [    2.101390] dwc3 4010000.usb: Failed to get clk 'ref': -2
    [    2.102502] g_serial gadget: Gadget Serial v2.4
    [    2.102510] g_serial gadget: g_serial ready
    [    2.111113] dwc3 4030000.usb: Failed to get clk 'ref': -2
    [    2.112509] clk: failed to reparent clk:130:1 to clk:130:5: -22
    [    2.113967] mmc0: CQHCI version 5.10
    [    2.155492] mmc0: SDHCI controller on 4f80000.sdhci [4f80000.sdhci] using ADMA 64-bit
    [    2.156441] mmc1: CQHCI version 5.10
    [    2.256946] mmc0: Command Queue Engine enabled
    [    2.256961] mmc0: new HS200 MMC card at address 0001
    [    2.257980] mmcblk0: mmc0:0001 S40008 7.28 GiB
    [    2.258607] mmcblk0boot0: mmc0:0001 S40008 partition 1 4.00 MiB
    [    2.259241] mmcblk0boot1: mmc0:0001 S40008 partition 2 4.00 MiB
    [    2.259590] mmcblk0rpmb: mmc0:0001 S40008 partition 3 4.00 MiB, chardev (247:0)
    [    2.262375]  mmcblk0: p1 p2 < p5 p6 > p3
    [    3.665080] sdhci-am654 4fa0000.sdhci: Power on failed
    [    3.695741] mmc1: SDHCI controller on 4fa0000.sdhci [4fa0000.sdhci] using ADMA 64-bit
    [    3.710595] omap-mailbox 31f80000.mailbox: omap mailbox rev 0x66fc7100
    [    3.711123] omap-mailbox 31f81000.mailbox: omap mailbox rev 0x66fc7100
    [    3.715661] ti-udma 285c0000.dma-controller: Channels: 96 (tchan: 48, rchan: 48, gp-rflow: 48)
    [    3.734079] ti-udma 31150000.dma-controller: Channels: 267 (tchan: 119, rchan: 148, gp-rflow: 150)
    [    3.754323] 2810000.serial: ttyS3 at MMIO 0x2810000 (irq = 18, base_baud = 3000000) is a 8250
    [    3.768062] davinci_mdio 46000f00.mdio: Configuring MDIO in manual mode
    [    3.802022] davinci_mdio 46000f00.mdio: davinci mdio revision 9.7, bus freq 1000000
    [    3.802035] libphy: 46000f00.mdio: probed
    [    3.806441] davinci_mdio 46000f00.mdio: phy[3]: device 46000f00.mdio:03, driver TI DP83822
    [    3.806493] am65-cpsw-nuss 46000000.ethernet: initializing am65 cpsw nuss version 0x6BA00102, cpsw version 0x6BA80102 Ports: 2 quirks:00000000
    [    3.807740] am65-cpsw-nuss 46000000.ethernet: set new flow-id-base 48
    [    3.808571] am65-cpsw-nuss 46000000.ethernet: initialized cpsw ale version 1.4
    [    3.808578] am65-cpsw-nuss 46000000.ethernet: ALE Table size 64
    [    3.809794] am65-cpsw-nuss 46000000.ethernet: CPTS ver 0x4e8a010b, freq:200000000, add_val:4 pps:0
    [    3.817432] printk: console [netcon0]: printing thread started
    [    3.817461] printk: console [netcon0] enabled
    [    3.817465] netconsole: network logging started
    [    3.818737] rtc-s35390a 3-0030: setting system clock to 2000-01-01T00:00:47 UTC (946684847)
    [    3.839490] Freeing unused kernel memory: 896K
    [    3.839610] Run /init as init process
    [    4.395852] EXT4-fs (mmcblk0p6): recovery complete
    [    4.396767] EXT4-fs (mmcblk0p6): mounted filesystem with ordered data mode. Opts: (null)
    [    4.430544] EXT4-fs (mmcblk0p5): recovery complete
    [    4.430580] EXT4-fs (mmcblk0p5): mounted filesystem with ordered data mode. Opts: (null)
    [    4.685694] systemd[1]: System time before build time, advancing clock.
    [    4.698856] systemd[1]: systemd 243-51-gfab6f01+ running in system mode. (+PAM -AUDIT -SELINUX +IMA -APPARMOR +SMACK +SYSVINIT +UTMP -LIBCRYPTSETUP -GCRYPT -GNUTLS +ACL +XZ -LZ4 -SECCOMP +BLKID -ELFUTILS +KMOD -IDN2 -IDN -PCRE2 default-hierarchy=hybrid)
    [    4.699516] systemd[1]: Detected architecture arm64.
    [    4.713609] systemd[1]: Set hostname to <AX-564EB0MB1T>.
    [    5.093400] systemd[1]: Unnecessary job for /dev/mmcblk0p5 was removed.
    [    5.094072] systemd[1]: Unnecessary job for /dev/disk/by-label/otaboot was removed.
    [    5.095334] random: systemd: uninitialized urandom read (16 bytes read)
    [    5.095540] systemd[1]: system-getty.slice: unit configures an IP firewall, but the local system does not support BPF/cgroup firewalling.
    [    5.095552] systemd[1]: (This warning is only shown for the first unit using IP firewalling.)
    [    5.099546] systemd[1]: Created slice system-getty.slice.
    [    5.107201] random: systemd: uninitialized urandom read (16 bytes read)
    [    5.108889] systemd[1]: Created slice system-serial\x2dgetty.slice.
    [    5.117170] random: systemd: uninitialized urandom read (16 bytes read)
    [    5.118565] systemd[1]: Created slice User and Session Slice.
    [    5.383814] fuse: init (API version 7.31)
    [    5.420404] EXT4-fs (mmcblk0p6): re-mounted. Opts: (null)
    [    6.940851] davinci_mdio b132400.mdio: Configuring MDIO in manual mode
    [    6.982062] davinci_mdio b132400.mdio: davinci mdio revision 1.7, bus freq 1000000
    [    6.982087] libphy: b132400.mdio: probed
    [    7.040792] davinci_mdio b132400.mdio: phy[1]: device b132400.mdio:01, driver TI DP83867
    [    7.149957] davinci_mdio b232400.mdio: Configuring MDIO in manual mode
    [    7.188068] davinci_mdio b232400.mdio: davinci mdio revision 1.7, bus freq 1000000
    [    7.188094] libphy: b232400.mdio: probed
    [    7.209566] davinci_mdio b232400.mdio: phy[2]: device b232400.mdio:02, driver TI DP83867
    [    7.310714] remoteproc remoteproc0: b034000.pru is available
    [    7.310877] pru-rproc b034000.pru: PRU rproc node /bus@100000/icssg@b000000/pru@34000 probed successfully
    [    7.319019] remoteproc remoteproc1: b004000.rtu is available
    [    7.319168] pru-rproc b004000.rtu: PRU rproc node /bus@100000/icssg@b000000/rtu@4000 probed successfully
    [    7.319893] pru-rproc b00a000.txpru: IRQ vring not found
    [    7.319903] pru-rproc b00a000.txpru: IRQ kick not found
    [    7.322499] remoteproc remoteproc2: b00a000.txpru is available
    [    7.322607] pru-rproc b00a000.txpru: PRU rproc node /bus@100000/icssg@b000000/txpru@a000 probed successfully
    [    7.329272] remoteproc remoteproc3: b038000.pru is available
    [    7.329431] pru-rproc b038000.pru: PRU rproc node /bus@100000/icssg@b000000/pru@38000 probed successfully
    [    7.337155] remoteproc remoteproc4: b006000.rtu is available
    [    7.337300] pru-rproc b006000.rtu: PRU rproc node /bus@100000/icssg@b000000/rtu@6000 probed successfully
    [    7.338091] pru-rproc b00c000.txpru: IRQ vring not found
    [    7.338100] pru-rproc b00c000.txpru: IRQ kick not found
    [    7.343186] remoteproc remoteproc5: b00c000.txpru is available
    [    7.343306] pru-rproc b00c000.txpru: PRU rproc node /bus@100000/icssg@b000000/txpru@c000 probed successfully
    [    7.351294] remoteproc remoteproc6: b134000.pru is available
    [    7.351453] pru-rproc b134000.pru: PRU rproc node /bus@100000/icssg@b100000/pru@34000 probed successfully
    [    7.362563] remoteproc remoteproc7: b104000.rtu is available
    [    7.362686] pru-rproc b104000.rtu: PRU rproc node /bus@100000/icssg@b100000/rtu@4000 probed successfully
    [    7.363476] pru-rproc b10a000.txpru: IRQ vring not found
    [    7.363485] pru-rproc b10a000.txpru: IRQ kick not found
    [    7.367222] remoteproc remoteproc8: b10a000.txpru is available
    [    7.367382] pru-rproc b10a000.txpru: PRU rproc node /bus@100000/icssg@b100000/txpru@a000 probed successfully
    [    7.378059] remoteproc remoteproc9: b138000.pru is available
    [    7.378183] pru-rproc b138000.pru: PRU rproc node /bus@100000/icssg@b100000/pru@38000 probed successfully
    [    7.393837] remoteproc remoteproc10: b106000.rtu is available
    [    7.393971] pru-rproc b106000.rtu: PRU rproc node /bus@100000/icssg@b100000/rtu@6000 probed successfully
    [    7.394785] pru-rproc b10c000.txpru: IRQ vring not found
    [    7.394796] pru-rproc b10c000.txpru: IRQ kick not found
    [    7.398022] remoteproc remoteproc11: b10c000.txpru is available
    [    7.398176] pru-rproc b10c000.txpru: PRU rproc node /bus@100000/icssg@b100000/txpru@c000 probed successfully
    [    7.408768] remoteproc remoteproc12: b234000.pru is available
    [    7.408904] pru-rproc b234000.pru: PRU rproc node /bus@100000/icssg@b200000/pru@34000 probed successfully
    [    7.415806] remoteproc remoteproc13: b204000.rtu is available
    [    7.415960] pru-rproc b204000.rtu: PRU rproc node /bus@100000/icssg@b200000/rtu@4000 probed successfully
    [    7.416838] pru-rproc b20a000.txpru: IRQ vring not found
    [    7.416851] pru-rproc b20a000.txpru: IRQ kick not found
    [    7.421333] remoteproc remoteproc14: b20a000.txpru is available
    [    7.421484] pru-rproc b20a000.txpru: PRU rproc node /bus@100000/icssg@b200000/txpru@a000 probed successfully
    [    7.430764] remoteproc remoteproc15: b238000.pru is available
    [    7.430892] pru-rproc b238000.pru: PRU rproc node /bus@100000/icssg@b200000/pru@38000 probed successfully
    [    7.436504] remoteproc remoteproc16: b206000.rtu is available
    [    7.436657] pru-rproc b206000.rtu: PRU rproc node /bus@100000/icssg@b200000/rtu@6000 probed successfully
    [    7.437337] pru-rproc b20c000.txpru: IRQ vring not found
    [    7.437346] pru-rproc b20c000.txpru: IRQ kick not found
    [    7.439204] remoteproc remoteproc17: b20c000.txpru is available
    [    7.439336] pru-rproc b20c000.txpru: PRU rproc node /bus@100000/icssg@b200000/txpru@c000 probed successfully
    [    7.590660] EXT4-fs (mmcblk0p3): recovery complete
    [    7.591705] EXT4-fs (mmcblk0p3): mounted filesystem with ordered data mode. Opts: (null)
    [    8.313441] systemd-journald[240]: Received client request to flush runtime journal.
    [    8.783695] icssg-prueth pruss1_eth: port 1: using random MAC addr: fe:da:07:e0:85:6d
    [    8.872898] icssg-prueth pruss1_eth: TI PRU ethernet driver initialized: single EMAC mode
    [    8.944311] icssg-prueth pruss2_eth: port 1: using random MAC addr: 46:28:be:1b:2a:b1
    [    8.959262] icssg-prueth pruss2_eth: TI PRU ethernet driver initialized: single EMAC mode
    [    9.977059] random: crng init done
    [    9.977074] random: 7 urandom warning(s) missed due to ratelimiting
    [   10.069180] TI DP83822 46000f00.mdio:03: attached PHY driver [TI DP83822] (mii_bus:phy_addr=46000f00.mdio:03, irq=POLL)
    [   10.074154] am65-cpsw-nuss 46000000.ethernet eth0: Link is Down
    [   10.974699] am65-cpsw-nuss 46000000.ethernet EtherCAT: renamed from eth0
    [   11.004809] TI DP83822 46000f00.mdio:03: attached PHY driver [TI DP83822] (mii_bus:phy_addr=46000f00.mdio:03, irq=POLL)
    [   11.009593] am65-cpsw-nuss 46000000.ethernet EtherCAT: Link is Down
    [   11.024456] icssg-prueth pruss1_eth EthernetX1: renamed from eth1
    [   11.059432] remoteproc remoteproc6: powering up b134000.pru
    [   11.062315] remoteproc remoteproc6: Booting fw image ti-pruss/am65x-sr2-pru0-prueth-fw.elf, size 35544
    [   11.062523] pru-rproc b134000.pru: configured system_events[159-0] = 00000000,00000000,00000000,00000000,01000000
    [   11.062533] pru-rproc b134000.pru: configured intr_channels = 0x00000001 host_intr = 0x00000004
    [   11.062541] remoteproc remoteproc6: remote processor b134000.pru is now up
    [   11.062581] remoteproc remoteproc7: powering up b104000.rtu
    [   11.063521] remoteproc remoteproc7: Booting fw image ti-pruss/am65x-sr2-rtu0-prueth-fw.elf, size 29080
    [   11.063548] remoteproc remoteproc7: remote processor b104000.rtu is now up
    [   11.063581] remoteproc remoteproc8: powering up b10a000.txpru
    [   11.064489] remoteproc remoteproc8: Booting fw image ti-pruss/am65x-sr2-txpru0-prueth-fw.elf, size 32536
    [   11.064521] remoteproc remoteproc8: remote processor b10a000.txpru is now up
    [   11.070851] TI DP83867 b132400.mdio:01: attached PHY driver [TI DP83867] (mii_bus:phy_addr=b132400.mdio:01, irq=POLL)
    [   11.071399] net EthernetX1: started
    [   11.088382] icssg-prueth pruss2_eth EthernetX2: renamed from eth2
    [   11.122297] remoteproc remoteproc12: powering up b234000.pru
    [   11.122501] remoteproc remoteproc12: Booting fw image ti-pruss/am65x-sr2-pru0-prueth-fw.elf, size 35544
    [   11.122711] pru-rproc b234000.pru: configured system_events[159-0] = 00000000,00000000,00000000,00000000,01000000
    [   11.122721] pru-rproc b234000.pru: configured intr_channels = 0x00000001 host_intr = 0x00000004
    [   11.122730] remoteproc remoteproc12: remote processor b234000.pru is now up
    [   11.122765] remoteproc remoteproc13: powering up b204000.rtu
    [   11.122918] remoteproc remoteproc13: Booting fw image ti-pruss/am65x-sr2-rtu0-prueth-fw.elf, size 29080
    [   11.122940] remoteproc remoteproc13: remote processor b204000.rtu is now up
    [   11.122961] remoteproc remoteproc14: powering up b20a000.txpru
    [   11.127200] remoteproc remoteproc14: Booting fw image ti-pruss/am65x-sr2-txpru0-prueth-fw.elf, size 32536
    [   11.127235] remoteproc remoteproc14: remote processor b20a000.txpru is now up
    [   11.129487] TI DP83867 b232400.mdio:02: attached PHY driver [TI DP83867] (mii_bus:phy_addr=b232400.mdio:02, irq=POLL)
    [   11.129665] net EthernetX2: started
    [   11.215520] CAN device driver interface
    [   11.242136] m_can_platform 40528000.mcan: m_can device registered (irq=13, version=32)
    [   11.319342] xhci-hcd xhci-hcd.0.auto: xHCI Host Controller
    [   11.319389] xhci-hcd xhci-hcd.0.auto: new USB bus registered, assigned bus number 1
    [   11.319530] xhci-hcd xhci-hcd.0.auto: hcc params 0x0298fe6d hci version 0x110 quirks 0x0000000000010010
    [   11.323985] xhci-hcd xhci-hcd.0.auto: irq 661, io mem 0x04030000
    [   11.324679] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002, bcdDevice= 5.02
    [   11.324690] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
    [   11.324697] usb usb1: Product: xHCI Host Controller
    [   11.324701] usb usb1: Manufacturer: Linux 5.2.60-rt15-yocto-preempt-rt xhci-hcd
    [   11.324706] usb usb1: SerialNumber: xhci-hcd.0.auto
    [   11.334847] hub 1-0:1.0: USB hub found
    [   11.334922] hub 1-0:1.0: 1 port detected
    [   11.339582] xhci-hcd xhci-hcd.0.auto: xHCI Host Controller
    [   11.339608] xhci-hcd xhci-hcd.0.auto: new USB bus registered, assigned bus number 2
    [   11.339630] xhci-hcd xhci-hcd.0.auto: Host supports USB 3.0 SuperSpeed
    [   11.339732] usb usb2: We don't know the algorithms for LPM for this host, disabling LPM.
    [   11.339910] usb usb2: New USB device found, idVendor=1d6b, idProduct=0003, bcdDevice= 5.02
    [   11.339918] usb usb2: New USB device strings: Mfr=3, Product=2, SerialNumber=1
    [   11.339924] usb usb2: Product: xHCI Host Controller
    [   11.339928] usb usb2: Manufacturer: Linux 5.2.60-rt15-yocto-preempt-rt xhci-hcd
    [   11.339933] usb usb2: SerialNumber: xhci-hcd.0.auto
    [   11.346201] hub 2-0:1.0: USB hub found
    [   11.346260] hub 2-0:1.0: 1 port detected
    [   11.580426] can: controller area network core (rev 20170425 abi 9)
    [   11.580580] NET: Registered protocol family 29
    [   11.594887] can: raw protocol (rev 20170425)
    [   12.167259] remoteproc remoteproc0: powering up b034000.pru
    [   12.170234] remoteproc remoteproc0: Booting fw image am65x-pru0_0-fw, size 139748
    [   12.170274] remoteproc remoteproc0: remote processor b034000.pru is now up
    [   12.190307] remoteproc remoteproc1: powering up b004000.rtu
    [   12.192513] remoteproc remoteproc1: Booting fw image am65x-rtu0_0-fw, size 138820
    [   12.192553] remoteproc remoteproc1: remote processor b004000.rtu is now up
    [   12.211330] remoteproc remoteproc2: powering up b00a000.txpru
    [   12.213890] remoteproc remoteproc2: Booting fw image am65x-txpru0_0-fw, size 136064
    [   12.213930] remoteproc remoteproc2: remote processor b00a000.txpru is now up
    [   12.234209] remoteproc remoteproc3: powering up b038000.pru
    [   12.236412] remoteproc remoteproc3: Booting fw image am65x-pru0_1-fw, size 151576
    [   12.236454] remoteproc remoteproc3: remote processor b038000.pru is now up
    [   12.255947] remoteproc remoteproc4: powering up b006000.rtu
    [   12.259844] remoteproc remoteproc4: Booting fw image am65x-rtu0_1-fw, size 145720
    [   12.259889] remoteproc remoteproc4: remote processor b006000.rtu is now up
    [   12.279438] remoteproc remoteproc5: powering up b00c000.txpru
    [   12.282176] remoteproc remoteproc5: Booting fw image am65x-txpru0_1-fw, size 145848
    [   12.282220] remoteproc remoteproc5: remote processor b00c000.txpru is now up
    [   12.302317] remoteproc remoteproc15: powering up b238000.pru
    [   12.304446] remoteproc remoteproc15: Booting fw image am65x-pru2_1-fw, size 139692
    [   12.304485] remoteproc remoteproc15: remote processor b238000.pru is now up
    [   12.322950] remoteproc remoteproc16: powering up b206000.rtu
    [   12.325695] remoteproc remoteproc16: Booting fw image am65x-rtu2_1-fw, size 138612
    [   12.325736] remoteproc remoteproc16: remote processor b206000.rtu is now up
    [   14.113637] am65-cpsw-nuss 46000000.ethernet EtherCAT: Link is Up - 100Mbps/Full - flow control off
    [   14.113701] IPv6: ADDRCONF(NETDEV_CHANGE): EtherCAT: link becomes ready
    [   15.013292] tun: Universal TUN/TAP device driver, 1.6
    [   15.026810] device EtherCAT entered promiscuous mode
    root@AX-564EB0MB1T:~#
    
    
    

  • I don't see any issue in sw. I reviewed again your 6.1 kernel .config and device tree but don't see any thing obvious.

    Do you measure 5V on the USB0_VBUS pin next to AM65x? I am not a hw guy, but with these resisters dividing the 5v of VBUS_C on the left side, is it still 5v on USB0_VBUS on the right side?

  • I have resolved this issue.

    For some reason, usb0 seems to depend on the SERDES (PCIe). When the PCIe node is disabled in the device tree, no clock is provided to usb0. This also explains why you did not encounter any problems when testing with usb1, but I suspect that using usb0 would likely result in the same issue.

    According to the CTRLMMR_SERDES0_CTRL register description, the default value is indeed 0x00 (USB3). However, we need to change it to 0x01 (PCIe0 Lane0) in order for it to work properly.

    My assumption is that since SERDES relies on PCIe, we need to configure this register to PCIe mode so that SERDES can function correctly and provide the clock to USB3.

  • Hi YE:

    Glad to know you resolved the issue.

    Please note: on the AM64 DS told the below.

    *************************

    USB SuperSpeed and PCIe share a common SerDes PHY.

    Therefore, USB will be limited to non-SuperSpeed modes when using the SerDes PHY for PCIe.

    *************************

    BR Rio