AM6422: linux ICSSG0 MII

Part Number: AM6422
Other Parts Discussed in Thread: DP83620, , AM6442

Tool/software:

Hi,

We are currently using our own hardware to make the MII interface Ethernet of ICSSG0. The PHY chip is DP83620. I think the PHY driver does not need special processing at present. We use emac0 as a network port. How should the corresponding device tree be modified? Can you provide an example? Thank you!

  • Hello,

    Which processor core is controlling the PRU Ethernet? What OS is running on that processor core?

    Regards,

    Nick

  • Wait, I see that you specified Linux controlling the interface. It would still be helpful to hear what version of the SDK you are running.

    You can get started by referring to the Linux SDK docs here: https://software-dl.ti.com/processor-sdk-linux/esd/AM64X/09_02_01_09/exports/docs/linux/Foundational_Components/PRU-ICSS/Linux_Drivers/PRU_ICSSG_Ethernet.html

    Specifically, you can find information about selecting the MII version of the devicetree file here:
    https://software-dl.ti.com/processor-sdk-linux/esd/AM64X/09_02_01_09/exports/docs/linux/Foundational_Components/PRU-ICSS/Linux_Drivers/PRU_ICSSG_Ethernet.html#mii-support

    I would refer to the dualemac-mii version of the devicetree file for guidance on setting up an MII interface in the Linux devicetree file.

    Regards,

    Nick

  • Hi,

    The version I use is 8.06.Currently, there are three network ports on our hardware, two CPSWs and one MII interface emac0 of ICSSG0. How should the device tree be modified in this case? The original device tree file only defines two Ethernets. If I use three Ethernets, what should I add directly to the device tree? Can you provide an example? Thank you very much!

  • Hello,

    Is the existing AM64x Linux devicetree files not enough of an example for you? The AM64x EVM has 3 ports, and you can set them to either be 2 CPSW & 1 ICSSG, or 1 CPSW and 2 ICSSG.

    Those files are at arch/arm64/boot/dts/ti/k3-am64*

    Regards,

    Nick

  • Hi,

    I added the Ethernet of ICSSG0 to the device tree according to some suggestions from the forum. Now the Ethernet can be recognized, but ping is not possible. I have uploaded the device tree file. Please help me analyze it. 

    I currently have 3 network ports, 2 CPSW, and one is the EMAC0 of ICSSG0. The interface with PHY is the MII interface. The Ethernet can be recognized by plugging and unplugging the network cable. Through the ifconfig command,At this time, the IP address has not been set yet, just connect the network cable to the computer, and then there will be data received。


    eth2: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 metric 1
    inet6 fe80::344a:d0ff:fe55:b715 prefixlen 64 scopeid 0x20<link>
    ether 36:4a:d0:55:b7:15 txqueuelen 1000 (Ethernet)
    RX packets 237 bytes 70094 (68.4 KiB)
    RX errors 0 dropped 0 overruns 0 frame 0
    TX packets 25 bytes 4078 (3.9 KiB)
    TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

    When I set the IP address and use the ping command, the following information appears

    root@am64xx-evm:~# [  234.031501] ------------[ cut here ]------------
    [  234.031521] NETDEV WATCHDOG: eth2 (icssg-prueth): transmit queue 0 timed out
    [  234.031595] WARNING: CPU: 0 PID: 11 at net/sched/sch_generic.c:467 dev_watchdog+0x374/0x380
    [  234.031625] Modules linked in: xt_conntrack xt_MASQUERADE xt_addrtype iptable_filter iptable_nat nf_nat nf_conntrack nf_defrag_ipv6 nf_defrag_ipv4 libcrc32c ip_tables x_tables br_netfilter bridge stp llc overlay xfrm_user xfrm_algo md5 ecb aes_neon_bs aes_neon_blk des_generic libdes cbc wlcore_sdio wl18xx wlcore mac80211 cfg80211 rfkill libarc4 cdns3 udc_core roles usbcore usb_common rpmsg_char irq_pruss_intc icssg_prueth crct10dif_ce pru_rproc icss_iep phy_can_transceiver cdns3_ti rti_wdt ti_k3_r5_remoteproc ti_k3_m4_remoteproc virtio_rpmsg_bus sa2ul sha512_generic authenc pruss m_can_platform m_can can_dev optee_rng rng_core sch_fq_codel cryptodev(O) ipv6
    [  234.031813] CPU: 0 PID: 11 Comm: ksoftirqd/0 Tainted: G        W  O      5.10.168-rt83-gc1a1291911 #1
    [  234.031823] Hardware name: Texas Instruments AM642 EVM (DT)
    [  234.031828] pstate: 40000005 (nZcv daif -PAN -UAO -TCO BTYPE=--)
    [  234.031837] pc : dev_watchdog+0x374/0x380
    [  234.031846] lr : dev_watchdog+0x374/0x380
    [  234.031853] sp : ffff8000113d3c20
    [  234.031856] x29: ffff8000113d3c20 x28: ffff0000065af500
    [  234.031865] x27: 0000000000000004 x26: 0000000000000180
    [  234.031873] x25: 00000000ffffffff x24: 0000000000000000
    [  234.031881] x23: ffff000001a663e0 x22: ffff000001a66000
    [  234.031889] x21: ffff000001a664b0 x20: ffff8000110d9000
    [  234.031897] x19: 0000000000000000 x18: 0000000000000000
    [  234.031904] x17: 0000000000000000 x16: 0000000000000000
    [  234.031912] x15: ffff0000000da360 x14: ffffffffffffffff
    [  234.031920] x13: ffff800011210974 x12: ffff800011210967
    [  234.031927] x11: 0000000000000000 x10: ffff8000110fbe48
    [  234.031935] x9 : 00000000fffffffe x8 : 6f2064656d697420
    [  234.031943] x7 : 3020657565757120 x6 : ffff8000113d3a70
    [  234.031951] x5 : ffff00007fbddb38 x4 : 0000000000000000
    [  234.031958] x3 : 0000000000000027 x2 : 0000000100000000
    [  234.031966] x1 : 594dd8518e957000 x0 : 0000000000000000
    [  234.031975] Call trace:
    [  234.031978]  dev_watchdog+0x374/0x380
    [  234.031987]  call_timer_fn.isra.0+0x24/0x80
    [  234.032001]  run_timer_softirq+0x4d4/0x548
    [  234.032010]  efi_header_end+0x110/0x214
    [  234.032019]  run_ksoftirqd+0x50/0xb8
    [  234.032028]  smpboot_thread_fn+0x2e4/0x330
    [  234.032037]  kthread+0x174/0x198
    [  234.032046]  ret_from_fork+0x10/0x30
    [  234.032056] ---[ end trace 0000000000000003 ]---
    [  235.035603] icssg-prueth icssg0-eth eth2: xmit timeout
    

    After that, I kept brushing “icssg-prueth icssg0-eth eth2: xmit timeout”

    I do not know where the problem is, please help me analyze the possibility of the error, thank you very much!

    // SPDX-License-Identifier: GPL-2.0
    /*
     * Copyright (C) 2020-2021 Texas Instruments Incorporated - https://www.ti.com/
     */
    
    /dts-v1/;
    
    #include <dt-bindings/phy/phy.h>
    #include <dt-bindings/mux/ti-serdes.h>
    #include <dt-bindings/leds/common.h>
    #include <dt-bindings/gpio/gpio.h>
    #include <dt-bindings/net/ti-dp83867.h>
    #include "k3-am642.dtsi"
    
    / {
    	compatible =  "ti,am642-evm", "ti,am642";
    	model = "Texas Instruments AM642 EVM";
    
    	chosen {
    		stdout-path = "serial2:115200n8";
    		bootargs = "console=ttyS2,115200n8 earlycon=ns16550a,mmio32,0x02800000";
    	};
    
    	aliases {
    		ethernet0 = &cpsw_port1;
    		ethernet1 = &cpsw_port2;
    		ethernet3 = &icssg0_emac0;
    	};
    	memory@80000000 {
    		device_type = "memory";
    		/* 2G RAM */
    		reg = <0x00000000 0x80000000 0x00000000 0x80000000>;
    
    	};
    
    	reserved-memory {
    		#address-cells = <2>;
    		#size-cells = <2>;
    		ranges;
    
    		secure_ddr: optee@9e800000 {
    			reg = <0x00 0x9e800000 0x00 0x01800000>; /* for OP-TEE */
    			alignment = <0x1000>;
    			no-map;
    		};
    
    		main_r5fss0_core0_dma_memory_region: r5f-dma-memory@a0000000 {
    			compatible = "shared-dma-pool";
    			reg = <0x00 0xa0000000 0x00 0x100000>;
    			no-map;
    		};
    
    		main_r5fss0_core0_memory_region: r5f-memory@a0100000 {
    			compatible = "shared-dma-pool";
    			reg = <0x00 0xa0100000 0x00 0xf00000>;
    			no-map;
    		};
    
    		main_r5fss0_core1_dma_memory_region: r5f-dma-memory@a1000000 {
    			compatible = "shared-dma-pool";
    			reg = <0x00 0xa1000000 0x00 0x100000>;
    			no-map;
    		};
    
    		main_r5fss0_core1_memory_region: r5f-memory@a1100000 {
    			compatible = "shared-dma-pool";
    			reg = <0x00 0xa1100000 0x00 0xf00000>;
    			no-map;
    		};
    
    		main_r5fss1_core0_dma_memory_region: r5f-dma-memory@a2000000 {
    			compatible = "shared-dma-pool";
    			reg = <0x00 0xa2000000 0x00 0x100000>;
    			no-map;
    		};
    
    		main_r5fss1_core0_memory_region: r5f-memory@a2100000 {
    			compatible = "shared-dma-pool";
    			reg = <0x00 0xa2100000 0x00 0xf00000>;
    			no-map;
    		};
    
    		main_r5fss1_core1_dma_memory_region: r5f-dma-memory@a3000000 {
    			compatible = "shared-dma-pool";
    			reg = <0x00 0xa3000000 0x00 0x100000>;
    			no-map;
    		};
    
    		main_r5fss1_core1_memory_region: r5f-memory@a3100000 {
    			compatible = "shared-dma-pool";
    			reg = <0x00 0xa3100000 0x00 0xf00000>;
    			no-map;
    		};
    
    		mcu_m4fss_dma_memory_region: m4f-dma-memory@a4000000 {
    			compatible = "shared-dma-pool";
    			reg = <0x00 0xa4000000 0x00 0x100000>;
    			no-map;
    		};
    
    		mcu_m4fss_memory_region: m4f-memory@a4100000 {
    			compatible = "shared-dma-pool";
    			reg = <0x00 0xa4100000 0x00 0xf00000>;
    			no-map;
    		};
    
    		rtos_ipc_memory_region: ipc-memories@a5000000 {
    			reg = <0x00 0xa5000000 0x00 0x00800000>;
    			alignment = <0x1000>;
    			no-map;
    		};
    	};
    
    	transceiver1: can-phy0 {
    		compatible = "ti,tcan1042";
    		#phy-cells = <0>;
    		max-bitrate = <5000000>;
    	};
    	
    	transceiver2: can-phy1 {
    		compatible = "ti,tcan1042";
    		#phy-cells = <0>;
    		max-bitrate = <5000000>;
    	};
    
    	icssg0_eth: icssg0-eth {
    		compatible = "ti,am642-icssg-prueth";
    		pinctrl-names = "default";
    		pinctrl-0 = <&pru_icssg0_mii_g_rt_pins_default>;
    
    		sram = <&oc_sram>;
    		ti,prus = <&pru0_0>, <&rtu0_0>, <&tx_pru0_0>, <&pru0_1>, <&rtu0_1>, <&tx_pru0_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 = <&icssg0_mii_g_rt>;
    		mii-rt = <&icssg0_mii_rt>;
    		iep = <&icssg0_iep0>,  <&icssg0_iep1>;
    
    		interrupt-parent = <&icssg0_intc>;
    		interrupts = <24 0 2>, <25 1 3>;
    		interrupt-names = "tx_ts0", "tx_ts1";
    
    		dmas = <&main_pktdma 0xc100 15>, /* egress slice 0 */
    		       <&main_pktdma 0xc101 15>, /* egress slice 0 */
    		       <&main_pktdma 0xc102 15>, /* egress slice 0 */
    		       <&main_pktdma 0xc103 15>, /* egress slice 0 */
    		       <&main_pktdma 0xc104 15>, /* egress slice 1 */
    		       <&main_pktdma 0xc105 15>, /* egress slice 1 */
    		       <&main_pktdma 0xc106 15>, /* egress slice 1 */
    		       <&main_pktdma 0xc107 15>, /* egress slice 1 */
    		       <&main_pktdma 0x4100 15>, /* ingress slice 0 */
    		       <&main_pktdma 0x4101 15>, /* ingress slice 1 */
    		       <&main_pktdma 0x4102 0>, /* mgmnt rsp slice 0 */
    		       <&main_pktdma 0x4103 0>; /* 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";
    
    			icssg0_emac0: ethernet-mii0 {
    				phy-handle = <&icssg0_phy0>;
    				phy-mode = "mii";
    				/*ti,syscon-rgmii-delay = <&main_conf 0x4110>;*/
    				/* Filled in by bootloader */
    				local-mac-address = [00 00 00 00 00 00];
    		};
    		icssg0_emac1: ethernet-mii1 {
    			status = "disabled";
    		};
    	};
    };
    &main_r5fss0_core0 {
    	mboxes = <&mailbox0_cluster2 &mbox_main_r5fss0_core0>;
    	memory-region = <&main_r5fss0_core0_dma_memory_region>,
    			<&main_r5fss0_core0_memory_region>;
    };
    
    &main_r5fss0_core1 {
    	mboxes = <&mailbox0_cluster2 &mbox_main_r5fss0_core1>;
    	memory-region = <&main_r5fss0_core1_dma_memory_region>,
    			<&main_r5fss0_core1_memory_region>;
    };
    
    &main_r5fss1_core0 {
    	mboxes = <&mailbox0_cluster4 &mbox_main_r5fss1_core0>;
    	memory-region = <&main_r5fss1_core0_dma_memory_region>,
    			<&main_r5fss1_core0_memory_region>;
    };
    
    &main_r5fss1_core1 {
    	mboxes = <&mailbox0_cluster4 &mbox_main_r5fss1_core1>;
    	memory-region = <&main_r5fss1_core1_dma_memory_region>,
    			<&main_r5fss1_core1_memory_region>;
    };
    
    &mcu_m4fss {
    	mboxes = <&mailbox0_cluster6 &mbox_m4_0>;
    	memory-region = <&mcu_m4fss_dma_memory_region>,
    			<&mcu_m4fss_memory_region>;
    };
    
    &main_pmx0 {
    	main_mmc1_pins_default: main-mmc1-pins-default {
    		pinctrl-single,pins = <
    			AM64X_IOPAD(0x0294, PIN_INPUT, 0) /* (J19) MMC1_CMD */
    			AM64X_IOPAD(0x0290, PIN_INPUT, 0) /* (#N/A) MMC1_CLKLB */
    			AM64X_IOPAD(0x028c, PIN_INPUT, 0) /* (L20) MMC1_CLK */
    			AM64X_IOPAD(0x0288, PIN_INPUT, 0) /* (K21) MMC1_DAT0 */
    			AM64X_IOPAD(0x0284, PIN_INPUT, 0) /* (L21) MMC1_DAT1 */
    			AM64X_IOPAD(0x0280, PIN_INPUT, 0) /* (K19) MMC1_DAT2 */
    			AM64X_IOPAD(0x027c, PIN_INPUT, 0) /* (K18) MMC1_DAT3 */
    			AM64X_IOPAD(0x0298, PIN_INPUT, 0) /* (D19) MMC1_SDCD */
    		>;
    	};
    
    	main_uart0_pins_default: main-uart0-pins-default {
    		pinctrl-single,pins = <
    			AM64X_IOPAD(0x0230, PIN_INPUT, 0) /* (D15) UART0_RXD */
    			AM64X_IOPAD(0x0234, PIN_OUTPUT, 0) /* (C16) UART0_TXD */
    		>;
    	};
    
    	main_uart1_pins_default: main-uart1-pins-default {
    		pinctrl-single,pins = <
    			AM64X_IOPAD(0x0248, PIN_INPUT, 0) /* (D16) UART1_CTSn */
    			AM64X_IOPAD(0x024c, PIN_OUTPUT, 0) /* (E16) UART1_RTSn */
    			AM64X_IOPAD(0x0240, PIN_INPUT, 0) /* (E15) UART1_RXD */
    			AM64X_IOPAD(0x0244, PIN_OUTPUT, 0) /* (E14) UART1_TXD */
    		>;
    	};
    	
    	main_uart2_pins_default: main-uart2-pins-default {
    		pinctrl-single,pins = <
    			AM64X_IOPAD(0x0238, PIN_INPUT, 3) /* (B16) UART2_RXD  UART0_CTSn*/
    			AM64X_IOPAD(0x023c, PIN_OUTPUT, 3) /* (A16) UART2_TXD  UART0_RTSn*/
    		>;
    	};
    
    	
    //	main_uart4_pins_default: main-uart4-pins-default {
    //		pinctrl-single,pins = <
    //			AM64X_IOPAD(0x01DC, PIN_INPUT, 10) /* (W4) UART4_RXD  PRG0_PRU1_GPO11*/
    //			AM64X_IOPAD(0x01cc, PIN_OUTPUT, 10) /* (W5) UART4_TXD  PRG0_PRU1_GPO7*/
    //		>;
    //	};
    
    //	main_uart5_pins_default: main-uart5-pins-default {
    //		pinctrl-single,pins = <
    //			AM64X_IOPAD(0x01E4, PIN_INPUT, 10) /* (T6) UART5_RXD  PRG0_PRU1_GPO13*/
    //			AM64X_IOPAD(0x01B4, PIN_OUTPUT, 10) /* (W2) UART5_TXD  PRG0_PRU1_GPO1*/
    //		>;
    //	};
    
    //	main_uart6_pins_default: main-uart6-pins-default {
    //		pinctrl-single,pins = <
    //			AM64X_IOPAD(0x01E8, PIN_INPUT, 10) /* (U6) UART6_RXD  PRG0_PRU1_GPO14*/
    //			AM64X_IOPAD(0x01C0, PIN_OUTPUT, 10) /* (W3) UART6_TXD  PRG0_PRU1_GPO4*/
    //		>;
    //	};
    	main_i2c0_pins_default: main-i2c0-pins-default {
    		pinctrl-single,pins = <
    			AM64X_IOPAD(0x0260, PIN_INPUT_PULLUP, 0) /* (A18) I2C1_SCL */
    			AM64X_IOPAD(0x0264, PIN_INPUT_PULLUP, 0) /* (B18) I2C1_SDA */
    		>;
    	};
    
    	mdio1_pins_default: mdio1-pins-default {
    		pinctrl-single,pins = <
    			AM64X_IOPAD(0x01fc, PIN_OUTPUT, 4) /* (R2) PRG0_PRU1_GPO19.MDIO0_MDC */
    			AM64X_IOPAD(0x01f8, PIN_INPUT, 4) /* (P5) PRG0_PRU1_GPO18.MDIO0_MDIO */
    		>;
    	};
    
    	di_do_pins_default: di_do_pins_default {
    		pinctrl-single,pins = <
    //			AM64X_IOPAD(0x01E0, PIN_OUTPUT, 7) /* (Y4) PRG0_PRU1_GPO12 GPIO1_32 */
    //			AM64X_IOPAD(0x01D8, PIN_OUTPUT, 7) /* (V6) PRG0_PRU1_GPO10 GPIO1_30 */
    //			AM64X_IOPAD(0x01D4, PIN_OUTPUT, 7) /* (Y5) PRG0_PRU1_GPO9 GPIO1_29 */
    			AM64X_IOPAD(0x01D0, PIN_OUTPUT, 7) /* (R1) PRG0_PRU1_GPO8 GPIO1_28 */
    			
    			AM64X_IOPAD(0x01A4, PIN_INPUT, 7) /* (U1) PRG0_PRU0_GPO17 GPIO1_17 */
    			AM64X_IOPAD(0x01A8, PIN_INPUT, 7) /* (V1) PRG0_PRU0_GPO18 GPIO1_18 */
    			AM64X_IOPAD(0x017C, PIN_INPUT, 7) /* (T1) PRG0_PRU0_GPO7  GPIO1_7 */			
    //			AM64X_IOPAD(0x01B8, PIN_INPUT, 7) /* (V3) PRG0_PRU1_GPO2  GPIO1_22 */	
    
    		>;
    	};
    	
    	rgmii1_pins_default: rgmii1-pins-default {
    		pinctrl-single,pins = <
    			AM64X_IOPAD(0x011c, PIN_INPUT, 4) /* (AA13) PRG1_PRU1_GPO5.RGMII1_RD0 */
    			AM64X_IOPAD(0x0128, PIN_INPUT, 4) /* (U12) PRG1_PRU1_GPO8.RGMII1_RD1 */
    			AM64X_IOPAD(0x0150, PIN_INPUT, 4) /* (Y13) PRG1_PRU1_GPO18.RGMII1_RD2 */
    			AM64X_IOPAD(0x0154, PIN_INPUT, 4) /* (V12) PRG1_PRU1_GPO19.RGMII1_RD3 */
    			AM64X_IOPAD(0x00d8, PIN_INPUT, 4) /* (W13) PRG1_PRU0_GPO8.RGMII1_RXC */
    			AM64X_IOPAD(0x00cc, PIN_INPUT, 4) /* (V13) PRG1_PRU0_GPO5.RGMII1_RX_CTL */
    			AM64X_IOPAD(0x0124, PIN_OUTPUT, 4) /* (V15) PRG1_PRU1_GPO7.RGMII1_TD0 */
    			AM64X_IOPAD(0x012c, PIN_OUTPUT, 4) /* (V14) PRG1_PRU1_GPO9.RGMII1_TD1 */
    			AM64X_IOPAD(0x0130, PIN_OUTPUT, 4) /* (W14) PRG1_PRU1_GPO10.RGMII1_TD2 */
    			AM64X_IOPAD(0x014c, PIN_OUTPUT, 4) /* (AA14) PRG1_PRU1_GPO17.RGMII1_TD3 */
    			AM64X_IOPAD(0x00e0, PIN_OUTPUT, 4) /* (U14) PRG1_PRU0_GPO10.RGMII1_TXC */
    			AM64X_IOPAD(0x00dc, PIN_OUTPUT, 4) /* (U15) PRG1_PRU0_GPO9.RGMII1_TX_CTL */
    		>;
    	};
    
           rgmii2_pins_default: rgmii2-pins-default {
    		pinctrl-single,pins = <
    			AM64X_IOPAD(0x0108, PIN_INPUT, 4) /* (W11) PRG1_PRU1_GPO0.RGMII2_RD0 */
    			AM64X_IOPAD(0x010c, PIN_INPUT, 4) /* (V11) PRG1_PRU1_GPO1.RGMII2_RD1 */
    			AM64X_IOPAD(0x0110, PIN_INPUT, 4) /* (AA12) PRG1_PRU1_GPO2.RGMII2_RD2 */
    			AM64X_IOPAD(0x0114, PIN_INPUT, 4) /* (Y12) PRG1_PRU1_GPO3.RGMII2_RD3 */
    			AM64X_IOPAD(0x0120, PIN_INPUT, 4) /* (U11) PRG1_PRU1_GPO6.RGMII2_RXC */
    			AM64X_IOPAD(0x0118, PIN_INPUT, 4) /* (W12) PRG1_PRU1_GPO4.RGMII2_RX_CTL */
    			AM64X_IOPAD(0x0134, PIN_OUTPUT, 4) /* (AA10) PRG1_PRU1_GPO11.RGMII2_TD0 */
    			AM64X_IOPAD(0x0138, PIN_OUTPUT, 4) /* (V10) PRG1_PRU1_GPO12.RGMII2_TD1 */
    			AM64X_IOPAD(0x013c, PIN_OUTPUT, 4) /* (U10) PRG1_PRU1_GPO13.RGMII2_TD2 */
    			AM64X_IOPAD(0x0140, PIN_OUTPUT, 4) /* (AA11) PRG1_PRU1_GPO14.RGMII2_TD3 */
    			AM64X_IOPAD(0x0148, PIN_OUTPUT, 4) /* (Y10) PRG1_PRU1_GPO16.RGMII2_TXC */
    			AM64X_IOPAD(0x0144, PIN_OUTPUT, 4) /* (Y11) PRG1_PRU1_GPO15.RGMII2_TX_CTL */
    		>;
    	};
    
    	icssg0_mdio0_pins_default: icssg0_mdio_pins_default {
    		pinctrl-single,pins = <
    			AM64X_IOPAD(0x0204, PIN_OUTPUT, 0) /* (P3) PRG0_MDIO0_MDC */
    			AM64X_IOPAD(0x0200, PIN_INPUT, 0) /* (P2) PRG0_MDIO0_MDIO */
    		>;
    	};
    
    	pru_icssg0_mii_g_rt_pins_default: pru_icssg0_mii_g_rt_pins_default {
    		pinctrl-single,pins = <
    			AM64X_IOPAD(0x01a0, PIN_INPUT, 1) /* (U4) PRG0_PRU0_GPO16.PR0_MII_MT0_CLK */
    			AM64X_IOPAD(0x019c, PIN_OUTPUT, 0) /* (T5) PRG0_PRU0_GPO15.PR0_MII0_TXEN */
    			AM64X_IOPAD(0x0198, PIN_OUTPUT, 0) /* (V4) PRG0_PRU0_GPO14.PR0_MII0_TXD3 */
    			AM64X_IOPAD(0x0194, PIN_OUTPUT, 0) /* (R6) PRG0_PRU0_GPO13.PR0_MII0_TXD2 */
    			AM64X_IOPAD(0x0190, PIN_OUTPUT, 0) /* (AA3) PRG0_PRU0_GPO12.PR0_MII0_TXD1 */
    			AM64X_IOPAD(0x018c, PIN_OUTPUT, 0) /* (Y3) PRG0_PRU0_GPO11.PR0_MII0_TXD0 */
    			AM64X_IOPAD(0x0170, PIN_INPUT, 1) /* (AA2) PRG0_PRU0_GPO4.PR0_MII0_RXDV */
    			AM64X_IOPAD(0x0178, PIN_INPUT, 1) /* (T3) PRG0_PRU0_GPO6.PR0_MII_MR0_CLK */
    			AM64X_IOPAD(0x016c, PIN_INPUT, 1) /* (V2) PRG0_PRU0_GPO3.PR0_MII0_RXD3 */
    			AM64X_IOPAD(0x0168, PIN_INPUT, 1) /* (U2) PRG0_PRU0_GPO2.PR0_MII0_RXD2 */
    			AM64X_IOPAD(0x0188, PIN_INPUT, 1) /* (AA5) PRG0_PRU0_GPO10.PR0_MII0_CRS */
    			AM64X_IOPAD(0x0174, PIN_INPUT, 1) /* (R3) PRG0_PRU0_GPO5.PR0_MII0_RXER */
    			AM64X_IOPAD(0x0164, PIN_INPUT, 1) /* (R4) PRG0_PRU0_GPO1.PR0_MII0_RXD1 */
    			AM64X_IOPAD(0x0160, PIN_INPUT, 1) /* (Y1) PRG0_PRU0_GPO0.PR0_MII0_RXD0 */
    			AM64X_IOPAD(0x0184, PIN_INPUT, 1) /* (W6) PRG0_PRU0_GPO9.PR0_MII0_COL */
    						
    			AM64X_IOPAD(0x01f0, PIN_INPUT, 1) /* (AA4) PRG0_PRU1_GPO16.PR0_MII_MT1_CLK */
    			AM64X_IOPAD(0x01ec, PIN_OUTPUT, 0) /* (U5) PRG0_PRU1_GPO15.PR0_MII1_TXEN */
    			AM64X_IOPAD(0x01e8, PIN_OUTPUT, 0) /* (U6) PRG0_PRU1_GPO14.PR0_MII1_TXD3 */
    			AM64X_IOPAD(0x01e4, PIN_OUTPUT, 0) /* (T6) PRG0_PRU1_GPO13.PR0_MII1_TXD2 */
    			AM64X_IOPAD(0x01e0, PIN_OUTPUT, 0) /* (Y4) PRG0_PRU1_GPO12.PR0_MII1_TXD1 */
    			AM64X_IOPAD(0x01dc, PIN_OUTPUT, 0) /* (W4) PRG0_PRU1_GPO11.PR0_MII1_TXD0 */
    			AM64X_IOPAD(0x01c0, PIN_INPUT, 1) /* (W3) PRG0_PRU1_GPO4.PR0_MII1_RXDV */
    			AM64X_IOPAD(0x01c8, PIN_INPUT, 1) /* (R5) PRG0_PRU1_GPO6.PR0_MII_MR1_CLK */
    			AM64X_IOPAD(0x01bc, PIN_INPUT, 1) /* (T4) PRG0_PRU1_GPO3.PR0_MII1_RXD3 */
    			AM64X_IOPAD(0x01b8, PIN_INPUT, 1) /* (V3) PRG0_PRU1_GPO2.PR0_MII1_RXD2 */
    			AM64X_IOPAD(0x01d8, PIN_INPUT, 1) /* (V6) PRG0_PRU1_GPO10.PR0_MII1_CRS */
    			AM64X_IOPAD(0x01c4, PIN_INPUT, 1) /* (P4) PRG0_PRU1_GPO5.PR0_MII1_RXER */
    			AM64X_IOPAD(0x01b4, PIN_INPUT, 1) /* (W2) PRG0_PRU1_GPO1.PR0_MII1_RXD1 */
    			AM64X_IOPAD(0x01b0, PIN_INPUT, 1) /* (Y2) PRG0_PRU1_GPO0.PR0_MII1_RXD0 */
    			AM64X_IOPAD(0x01d4, PIN_INPUT, 1) /* (Y5) PRG0_PRU1_GPO9.PR0_MII1_COL */
    		>;
    	}; 
    	
    	ospi0_pins_default: ospi0-pins-default {
    		pinctrl-single,pins = <
    			AM64X_IOPAD(0x0000, PIN_OUTPUT, 0) /* (N20) OSPI0_CLK */
    			AM64X_IOPAD(0x002c, PIN_OUTPUT, 0) /* (L19) OSPI0_CSn0 */
    			AM64X_IOPAD(0x000c, PIN_INPUT, 0) /* (M19) OSPI0_D0 */
    			AM64X_IOPAD(0x0010, PIN_INPUT, 0) /* (M18) OSPI0_D1 */
    			AM64X_IOPAD(0x0014, PIN_INPUT, 0) /* (M20) OSPI0_D2 */
    			AM64X_IOPAD(0x0018, PIN_INPUT, 0) /* (M21) OSPI0_D3 */
    			AM64X_IOPAD(0x001c, PIN_INPUT, 0) /* (P21) OSPI0_D4 */
    			AM64X_IOPAD(0x0020, PIN_INPUT, 0) /* (P20) OSPI0_D5 */
    			AM64X_IOPAD(0x0024, PIN_INPUT, 0) /* (N18) OSPI0_D6 */
    			AM64X_IOPAD(0x0028, PIN_INPUT, 0) /* (M17) OSPI0_D7 */
    			AM64X_IOPAD(0x0008, PIN_INPUT, 0) /* (N19) OSPI0_DQS */
    		>;
    	};
    
    	main_mcan0_pins_default: main-mcan0-pins-default {
    		pinctrl-single,pins = <
    			AM64X_IOPAD(0x0254, PIN_INPUT, 0) /* (B17) MCAN0_RX */
    			AM64X_IOPAD(0x0250, PIN_OUTPUT, 0) /* (A17) MCAN0_TX */
    		>;
    	};
    	
    	main_mcan1_pins_default: main-mcan1-pins-default {
    		pinctrl-single,pins = <
    			AM64X_IOPAD(0x025c, PIN_INPUT, 0) /* (D17) MCAN1_RX */
    			AM64X_IOPAD(0x0258, PIN_OUTPUT, 0) /* (C17) MCAN1_TX */
    		>;
    	};
    
    };
    
    &main_gpio1 {
    	pinctrl-names = "default";
    	pinctrl-0 = <&di_do_pins_default>;
    	status = "okay";
    };
    
    &main_uart0 {
    	pinctrl-names = "default";
    	pinctrl-0 = <&main_uart0_pins_default>;
    };
    
    /* main_uart1 is reserved for firmware usage */
    &main_uart1 {
    	pinctrl-names = "default";
    	pinctrl-0 = <&main_uart1_pins_default>;
    };
    
    &main_uart2 {
    	pinctrl-names = "default";
    	pinctrl-0 = <&main_uart2_pins_default>;
    };
    
    &main_uart3 {
    		status = "disabled";
    };
    
    &main_uart4 {
    //	pinctrl-names = "default";
    //	pinctrl-0 = <&main_uart4_pins_default>;
    	status = "disabled";
    };
    
    &main_uart5 {
    //	pinctrl-names = "default";
    //	pinctrl-0 = <&main_uart5_pins_default>;
    status = "disabled";
    };
    
    &main_uart6 {
    //	pinctrl-names = "default";
    //	pinctrl-0 = <&main_uart6_pins_default>;
    		status = "disabled";
    };
    
    &mcu_uart0 {
    	status = "disabled";
    };
    
    &mcu_uart1 {
    	status = "disabled";
    };
    
    &main_i2c1 {
    	status = "disabled";
    
    };
    
    /* mcu_gpio0 is reserved for mcu firmware usage */
    &mcu_gpio0 {
    	status = "reserved";
    };
    
    &mcu_i2c0 {
    	status = "disabled";
    };
    
    &main_i2c0 {
    	pinctrl-names = "default";
    	pinctrl-0 = <&main_i2c0_pins_default>;
    	clock-frequency = <400000>;
    };
    &mcu_i2c1 {
    	status = "disabled";
    };
    
    &mcu_spi0 {
    	status = "disabled";
    };
    
    &mcu_spi1 {
    	status = "disabled";
    };
    
    &main_spi0 {
    	status = "disabled";
    };
    
    &sdhci0 {
    	/* emmc */
    	bus-width = <8>;
    	non-removable;
    	ti,driver-strength-ohm = <50>;
    	disable-wp;
    };
    
    &sdhci1 {
    	/* SD/MMC */
    	pinctrl-names = "default";
    	bus-width = <4>;
    	pinctrl-0 = <&main_mmc1_pins_default>;
    	ti,driver-strength-ohm = <50>;
    	disable-wp;
    	no-1-8-v;
    };
    
    
    &cpsw3g {
    	pinctrl-names = "default";
    	pinctrl-0 = <&mdio1_pins_default
    		     &rgmii1_pins_default
    		     &rgmii2_pins_default>;
    		cpts@3d000 {
    		ti,pps = <7 1>;
    	};
    };
    
    &cpsw_port1 {
    	phy-mode = "rgmii-rxid";
    	phy-handle = <&cpsw3g_phy0>;
    };
    
    &cpsw_port2 {
    	phy-mode = "rgmii-rxid";
    	phy-handle = <&cpsw3g_phy1>;
    };
    
    &cpsw3g_mdio {
    	cpsw3g_phy0: ethernet-phy@1 {
    		reg = <1>;
    		ti,rx-internal-delay = <DP83867_RGMIIDCTL_2_00_NS>;
    		ti,fifo-depth = <DP83867_PHYCR_FIFO_DEPTH_4_B_NIB>;
    	};
    
    	cpsw3g_phy1: ethernet-phy@0 {
    		reg = <0>;
    		ti,rx-internal-delay = <DP83867_RGMIIDCTL_2_00_NS>;
    		ti,fifo-depth = <DP83867_PHYCR_FIFO_DEPTH_4_B_NIB>;
    	};
    };
    
    #define TS_OFFSET(pa, val)     (0x4+(pa)*4) (0x10000 | val)
    
    &timesync_router {
    	pinctrl-names = "default";
    	pinctrl-0 = <&mcu_cpts_pps>;
    
    	/* Example of the timesync routing */
    	mcu_cpts_pps: mcu-cpts-pps {
    		pinctrl-single,pins = <
    				/* pps [cpts genf1] in22 -> out37 [cpts hw8_push] */
    				TS_OFFSET(37, 22)
    				/* pps [cpts genf1] in22 -> out25 [SYNC1_OUT pin] */
    				TS_OFFSET(25, 22)
    				>;
    	};
    };
    
    &mailbox0_cluster2 {
    	mbox_main_r5fss0_core0: mbox-main-r5fss0-core0 {
    		ti,mbox-rx = <0 0 2>;
    		ti,mbox-tx = <1 0 2>;
    	};
    
    	mbox_main_r5fss0_core1: mbox-main-r5fss0-core1 {
    		ti,mbox-rx = <2 0 2>;
    		ti,mbox-tx = <3 0 2>;
    	};
    };
    
    &mailbox0_cluster3 {
    	status = "disabled";
    };
    
    &mailbox0_cluster4 {
    	mbox_main_r5fss1_core0: mbox-main-r5fss1-core0 {
    		ti,mbox-rx = <0 0 2>;
    		ti,mbox-tx = <1 0 2>;
    	};
    
    	mbox_main_r5fss1_core1: mbox-main-r5fss1-core1 {
    		ti,mbox-rx = <2 0 2>;
    		ti,mbox-tx = <3 0 2>;
    	};
    };
    
    &mailbox0_cluster5 {
    	status = "disabled";
    };
    
    &mailbox0_cluster6 {
    	mbox_m4_0: mbox-m4-0 {
    		ti,mbox-rx = <0 0 2>;
    		ti,mbox-tx = <1 0 2>;
    	};
    };
    
    &mailbox0_cluster7 {
    	status = "disabled";
    };
    
    &serdes_ln_ctrl {
    	idle-states = <AM64_SERDES0_LANE0_PCIE0>;
    };
    
    &serdes0 {
    	status = "disabled";
    };
    
    &pcie0_rc {
    	status = "disabled";
    };
    
    &pcie0_ep {
    	status = "disabled";
    };
    
    &tscadc0 {
    	/* ADC is reserved for R5 usage */
    	status = "reserved";
    };
    
    &ospi0 {
    	pinctrl-names = "default";
    	pinctrl-0 = <&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 = <4>;
    		cdns,phy-mode;
    		#address-cells = <1>;
    		#size-cells = <1>;
    	};
    };
    
    &main_mcan0 {
    	status = "okay";
    	pinctrl-names = "default";
    	pinctrl-0 = <&main_mcan0_pins_default>;
    	phys = <&transceiver1>;
    };
    
    &main_mcan1 {
    	pinctrl-names = "default";
    	pinctrl-0 = <&main_mcan1_pins_default>;
    	phys = <&transceiver2>;
    };
    
    &icssg0_mdio {
    	status = "okay";
    	pinctrl-names = "default";
    	pinctrl-0 = <&icssg0_mdio0_pins_default>;
    
    	icssg0_phy0: ethernet-phy@3 {
    		reg = <0x3>;
    		tx-internal-delay-ps = <250>;
    		rx-internal-delay-ps = <2000>;
    	};
    //	icssg0_phy1: ethernet-phy@4 {
    //		reg = <0x4>;
    //		tx-internal-delay-ps = <250>;
    //		rx-internal-delay-ps = <2000>;
    //	};
    };
    
    &icssg1_mdio {
    	status = "disabled";
    };
    
    

  • Hello,

    What kind of terminal output do you see earlier in the initialization process? I would like to see the output from when the Linux driver initializes the PRU cores, the PHY, etc to see if there are any errors, warnings, or other helpful information.

    Regards,

    Nick

  • Hi,

    Let me introduce my hardware first. The Ethernet part requires 1 and 2 ports of CPSW , icssg0 emac1, and does not use emac2. The PHY model is DP83620, and the interface mode is MII. I encountered a situation before where CPSW eth0 could recognize the connection, but ping was unsuccessful. By adding the two CPSW ports in the device tree file under the uboot path, both ports can work normally.But at this time, the network port of icssg0 is no longer recognized。I do not know why? I can make it work by modifying the device tree in the kernel, why do I need to change the device tree file in uboot?

    When I add the same icssg0 related devices in the kernel to the device tree file in uboot, an error is reported,like icssg0_eth can not found ,icssg0_emac0 can not found ,icssg0_mdio can not found。

  • Hi,

    I found a problem. In the last reply, the device tree file in uboot was modified, which caused ICSSG to be unrecognizable. I directly updated the default image and overwrite the dtb file compiled after the kernel configured ICSSG device tree to the SD card. Now ETH2 Ethernet can be recognized, but ping is unavailable. The following is my startup information, and the corresponding operation information is also below. Please help analyze it. Thank you!

    ICSSG打印的timeout消息.c
    U-Boot SPL 2021.01-g2ee8efd654 (Feb 27 2023 - 13:51:27 +0000)
    EEPROM not available at 80, trying to read at 81
    Reading on-board EEPROM at 0x51 failed -1
    Resetting on cold boot to workaround ErrataID:i2331
    resetting ...
    
    U-Boot SPL 2021.01-g2ee8efd654 (Feb 27 2023 - 13:51:27 +0000)
    EEPROM not available at 80, trying to read at 81
    Reading on-board EEPROM at 0x51 failed -1
    SYSFW ABI: 3.1 (firmware rev 0x0008 '8.6.4--v08.06.04 (Chill Capybar')
    SPL initial stack usage: 13424 bytes
    Trying to boot from MMC2
    Authentication passed
    Authentication passed
    Authentication passed
    Authentication passed
    Starting ATF on ARM64 core...
    
    NOTICE:  BL31: v2.8(release):v2.8-226-g2fcd408bb3-dirty
    NOTICE:  BL31: Built : 13:46:23, Feb 27 2023
    I/TC:
    I/TC: OP-TEE version: 3.20.0 (gcc version 9.2.1 20191025 (GNU Toolchain for the A-profile Architecture 9.2-2019.12 (arm-9.10))) #1 Mon Feb 27 13:47:09 UTC 2023 aarch64
    I/TC: WARNING: This OP-TEE configuration might be insecure!
    I/TC: WARNING: Please check https://optee.readthedocs.io/en/latest/architecture/porting_guidelines.html
    I/TC: Primary CPU initializing
    I/TC: SYSFW ABI: 3.1 (firmware rev 0x0008 '8.6.4--v08.06.04 (Chill Capybar')
    I/TC: HUK Initialized
    I/TC: Activated SA2UL device
    I/TC: Enabled firewalls for SA2UL TRNG device
    I/TC: SA2UL TRNG initialized
    I/TC: SA2UL Drivers initialized
    I/TC: Primary CPU switching to normal world boot
    
    U-Boot SPL 2021.01-g2ee8efd654 (Feb 27 2023 - 13:49:29 +0000)
    EEPROM not available at 80, trying to read at 81
    Reading on-board EEPROM at 0x51 failed -1
    SYSFW ABI: 3.1 (firmware rev 0x0008 '8.6.4--v08.06.04 (Chill Capybar')
    Trying to boot from MMC2
    Authentication passed
    Authentication passed
    
    
    U-Boot 2021.01-g2ee8efd654 (Feb 27 2023 - 13:49:29 +0000)
    
    SoC:   AM64X SR2.0 HS-FS
    Model: Texas Instruments AM642 EVM
    EEPROM not available at 80, trying to read at 81
    Reading on-board EEPROM at 0x51 failed -1
    DRAM:  2 GiB
    NAND:  0 MiB
    MMC:   mmc@fa10000: 0, mmc@fa00000: 1
    Loading Environment from FAT... OK
    In:    serial@2800000
    Out:   serial@2800000
    Err:   serial@2800000
    EEPROM not available at 80, trying to read at 81
    Reading on-board EEPROM at 0x51 failed -1
    Net:   eth0: ethernet@8000000port@1
    Hit any key to stop autoboot:  0
    switch to partitions #0, OK
    mmc1 is current device
    SD/MMC found on device 1
    Failed to load 'boot.scr'
    1490 bytes read in 2 ms (727.5 KiB/s)
    Loaded env from uEnv.txt
    Importing environment from mmc1 ...
    Running uenvcmd ...
    1 bytes read in 2 ms (0 Bytes/s)
    Already setup.
    18862592 bytes read in 753 ms (23.9 MiB/s)
    40005 bytes read in 4 ms (9.5 MiB/s)
    ## Flattened Device Tree blob at 88000000
       Booting using the fdt blob at 0x88000000
       Loading Device Tree to 000000008fef3000, end 000000008fffffff ... OK
    
    Starting kernel ...
    
    [    0.000000] Booting Linux on physical CPU 0x0000000000 [0x410fd034]
    [    0.000000] Linux version 5.10.168-rt83-gc1a1291911 (oe-user@oe-host) (aarch64-none-linux-gnu-gcc (GNU Toolchain for the A-profile Architecture 9.2-2019.12 (arm-9.10)) 9.2.1 20191025, GNU ld (GNU Toolchain for the A-profile Architecture 9.2-2019.12 (arm-9.10)) 2.33.1.20191209) #1 SMP PREEMPT_RT Mon Feb 27 14:03:20 UTC 2023
    [    0.000000] Machine model: Texas Instruments AM642 EVM
    [    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] Reserved memory: created DMA memory pool at 0x00000000a2000000, size 1 MiB
    [    0.000000] OF: reserved mem: initialized node r5f-dma-memory@a2000000, compatible id shared-dma-pool
    [    0.000000] Reserved memory: created DMA memory pool at 0x00000000a2100000, size 15 MiB
    [    0.000000] OF: reserved mem: initialized node r5f-memory@a2100000, compatible id shared-dma-pool
    [    0.000000] Reserved memory: created DMA memory pool at 0x00000000a3000000, size 1 MiB
    [    0.000000] OF: reserved mem: initialized node r5f-dma-memory@a3000000, compatible id shared-dma-pool
    [    0.000000] Reserved memory: created DMA memory pool at 0x00000000a3100000, size 15 MiB
    [    0.000000] OF: reserved mem: initialized node r5f-memory@a3100000, compatible id shared-dma-pool
    [    0.000000] Reserved memory: created DMA memory pool at 0x00000000a4000000, size 1 MiB
    [    0.000000] OF: reserved mem: initialized node m4f-dma-memory@a4000000, compatible id shared-dma-pool
    [    0.000000] Reserved memory: created DMA memory pool at 0x00000000a4100000, size 15 MiB
    [    0.000000] OF: reserved mem: initialized node m4f-memory@a4100000, compatible id shared-dma-pool
    [    0.000000] Zone ranges:
    [    0.000000]   DMA      [mem 0x0000000080000000-0x00000000ffffffff]
    [    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-0x00000000a57fffff]
    [    0.000000]   node   0: [mem 0x00000000a5800000-0x00000000ffffffff]
    [    0.000000] Initmem setup node 0 [mem 0x0000000080000000-0x00000000ffffffff]
    [    0.000000] On node 0 totalpages: 524288
    [    0.000000]   DMA zone: 8192 pages used for memmap
    [    0.000000]   DMA zone: 0 pages reserved
    [    0.000000]   DMA zone: 524288 pages, LIFO batch:63
    [    0.000000] cma: Reserved 512 MiB at 0x00000000dd000000
    [    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.2
    [    0.000000] percpu: Embedded 18 pages/cpu s35392 r8192 d30144 u73728
    [    0.000000] pcpu-alloc: s35392 r8192 d30144 u73728 alloc=18*4096
    [    0.000000] pcpu-alloc: [0] 0 [0] 1
    [    0.000000] Detected VIPT I-cache on CPU0
    [    0.000000] CPU features: detected: ARM erratum 845719
    [    0.000000] CPU features: detected: GIC system register CPU interface
    [    0.000000] Built 1 zonelists, mobility grouping on.  Total pages: 516096
    [    0.000000] Kernel command line: console=ttyS2,115200n8 earlycon=ns16550a,mmio32,0x02800000 mtdparts=fc40000.spi.0:1m(ospi.tiboot3),2m(ospi.tispl),4m(ospi.u-boot),256k(ospi.env),256k(ospi.env.backup),57088k@8m(ospi.rootfs),256k(ospi.phypattern);omap2-nand.0:2m(NAND.tiboot3),2m(NAND.tispl),2m(NAND.tiboot3.backup),4m(NAND.u-boot),256k(NAND.u-boot-env),256k(NAND.u-boot-env.backup),-(NAND.file-system) root=PARTUUID=a974ccb8-02 rw rootfstype=ext4 rootwait
    [    0.000000] Dentry cache hash table entries: 262144 (order: 9, 2097152 bytes, linear)
    [    0.000000] Inode-cache hash table entries: 131072 (order: 8, 1048576 bytes, linear)
    [    0.000000] mem auto-init: stack:off, heap alloc:off, heap free:off
    [    0.000000] Memory: 1399200K/2097152K available (11008K kernel code, 1204K rwdata, 4272K rodata, 1792K init, 438K bss, 173664K reserved, 524288K cma-reserved)
    [    0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=2, Nodes=1
    [    0.000000] rcu: Preemptible hierarchical RCU implementation.
    [    0.000000] rcu:     RCU event tracing is enabled.
    [    0.000000] rcu:     RCU restricting CPUs from NR_CPUS=256 to nr_cpu_ids=2.
    [    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]  Trampoline variant of Tasks RCU enabled.
    [    0.000000]  Tracing variant of Tasks RCU enabled.
    [    0.000000] rcu: RCU calculated value of scheduler-enlistment delay is 25 jiffies.
    [    0.000000] rcu: Adjusting geometry for rcu_fanout_leaf=16, nr_cpu_ids=2
    [    0.000000] NR_IRQS: 64, nr_irqs: 64, preallocated irqs: 0
    [    0.000000] GICv3: GIC: Using split EOI/Deactivate mode
    [    0.000000] GICv3: 256 SPIs implemented
    [    0.000000] GICv3: 0 Extended SPIs implemented
    [    0.000000] GICv3: Distributor has no Range Selector support
    [    0.000000] GICv3: 16 PPIs implemented
    [    0.000000] GICv3: CPU0: found redistributor 0 region 0:0x0000000001840000
    [    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] 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.008544] Console: colour dummy device 80x25
    [    0.013138] Calibrating delay loop (skipped), value calculated using timer frequency.. 400.00 BogoMIPS (lpj=800000)
    [    0.023814] pid_max: default: 32768 minimum: 301
    [    0.028650] LSM: Security Framework initializing
    [    0.033453] Mount-cache hash table entries: 4096 (order: 3, 32768 bytes, linear)
    [    0.041033] Mountpoint-cache hash table entries: 4096 (order: 3, 32768 bytes, linear)
    [    0.051238] rcu: Hierarchical SRCU implementation.
    [    0.056800] Platform MSI: msi-controller@1820000 domain created
    [    0.063217] PCI/MSI: /bus@f4000/interrupt-controller@1800000/msi-controller@1820000 domain created
    [    0.072538] EFI services will not be available.
    [    0.077513] smp: Bringing up secondary CPUs ...
    I/TC: Secondary CPU 1 initializing
    I/TC: Secondary CPU 1 switching to normal world boot
    [    0.091344] Detected VIPT I-cache on CPU1
    [    0.095486] GICv3: CPU1: found redistributor 1 region 0:0x0000000001860000
    [    0.102520] GICv3: CPU1: using allocated LPI pending table @0x0000000080050000
    [    0.109954] CPU1: Booted secondary processor 0x0000000001 [0x410fd034]
    [    0.116784] smp: Brought up 1 node, 2 CPUs
    [    0.121017] SMP: Total of 2 processors activated.
    [    0.125838] CPU features: detected: 32-bit EL0 Support
    [    0.131104] CPU features: detected: CRC32 instructions
    [    0.144356] CPU: All CPU(s) started at EL2
    [    0.148563] alternatives: patching kernel code
    [    0.154411] devtmpfs: initialized
    [    0.165878] KASLR disabled due to lack of seed
    [    0.170684] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 7645041785100000 ns
    [    0.180661] futex hash table entries: 512 (order: 4, 65536 bytes, linear)
    [    0.205161] pinctrl core: initialized pinctrl subsystem
    [    0.211199] DMI not present or invalid.
    [    0.215958] NET: Registered protocol family 16
    [    0.222836] DMA: preallocated 256 KiB GFP_KERNEL pool for atomic allocations
    [    0.230236] DMA: preallocated 256 KiB GFP_KERNEL|GFP_DMA pool for atomic allocations
    [    0.238387] DMA: preallocated 256 KiB GFP_KERNEL|GFP_DMA32 pool for atomic allocations
    [    0.247318] thermal_sys: Registered thermal governor 'step_wise'
    [    0.248027] hw-breakpoint: found 6 breakpoint and 4 watchpoint registers.
    [    0.261194] ASID allocator initialised with 65536 entries
    [    0.296736] HugeTLB registered 1.00 GiB page size, pre-allocated 0 pages
    [    0.303673] HugeTLB registered 32.0 MiB page size, pre-allocated 0 pages
    [    0.310544] HugeTLB registered 2.00 MiB page size, pre-allocated 0 pages
    [    0.317411] HugeTLB registered 64.0 KiB page size, pre-allocated 0 pages
    [    0.325675] cryptd: max_cpu_qlen set to 1000
    [    0.334110] k3-chipinfo 43000014.chipid: Family:AM64X rev:SR2.0 JTAGID[0x1bb3802f] Detected
    [    0.343822] iommu: Default domain type: Translated
    [    0.349358] SCSI subsystem initialized
    [    0.353920] mc: Linux media interface: v0.10
    [    0.358450] videodev: Linux video capture interface: v2.00
    [    0.364193] pps_core: LinuxPPS API ver. 1 registered
    [    0.369286] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
    [    0.378674] PTP clock support registered
    [    0.382718] EDAC MC: Ver: 3.0.0
    [    0.386914] omap-mailbox 29020000.mailbox: omap mailbox rev 0x66fc9100
    [    0.393855] omap-mailbox 29040000.mailbox: omap mailbox rev 0x66fc9100
    [    0.400696] omap-mailbox 29060000.mailbox: omap mailbox rev 0x66fc9100
    [    0.408239] FPGA manager framework
    [    0.411880] Advanced Linux Sound Architecture Driver Initialized.
    [    0.419351] clocksource: Switched to clocksource arch_sys_counter
    [    0.425896] VFS: Disk quotas dquot_6.6.0
    [    0.429984] VFS: Dquot-cache hash table entries: 512 (order 0, 4096 bytes)
    [    0.444587] NET: Registered protocol family 2
    [    0.449397] IP idents hash table entries: 32768 (order: 6, 262144 bytes, linear)
    [    0.458515] tcp_listen_portaddr_hash hash table entries: 1024 (order: 4, 65536 bytes, linear)
    [    0.467396] TCP established hash table entries: 16384 (order: 5, 131072 bytes, linear)
    [    0.475683] TCP bind hash table entries: 16384 (order: 7, 917504 bytes, linear)
    [    0.484216] TCP: Hash tables configured (established 16384 bind 16384)
    [    0.491302] UDP hash table entries: 1024 (order: 5, 131072 bytes, linear)
    [    0.498446] UDP-Lite hash table entries: 1024 (order: 5, 131072 bytes, linear)
    [    0.506266] NET: Registered protocol family 1
    [    0.511495] RPC: Registered named UNIX socket transport module.
    [    0.517575] RPC: Registered udp transport module.
    [    0.522382] RPC: Registered tcp transport module.
    [    0.527187] RPC: Registered tcp NFSv4.1 backchannel transport module.
    [    0.533774] NET: Registered protocol family 44
    [    0.538351] PCI: CLS 0 bytes, default 64
    [    0.543242] hw perfevents: enabled with armv8_cortex_a53 PMU driver, 7 counters available
    [    0.556729] Initialise system trusted keyrings
    [    0.561696] workingset: timestamp_bits=46 max_order=19 bucket_order=0
    [    0.574410] squashfs: version 4.0 (2009/01/31) Phillip Lougher
    [    0.581278] NFS: Registering the id_resolver key type
    [    0.586577] Key type id_resolver registered
    [    0.590881] Key type id_legacy registered
    [    0.595121] nfs4filelayout_init: NFSv4 File Layout Driver Registering...
    [    0.601986] nfs4flexfilelayout_init: NFSv4 Flexfile Layout Driver Registering...
    [    0.609855] 9p: Installing v9fs 9p2000 file system support
    [    0.658984] Key type asymmetric registered
    [    0.663231] Asymmetric key parser 'x509' registered
    [    0.668327] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 243)
    [    0.675910] io scheduler mq-deadline registered
    [    0.680541] io scheduler kyber registered
    [    0.687440] pinctrl-single 4084000.pinctrl: 33 pins, size 132
    [    0.693966] pinctrl-single f4000.pinctrl: 180 pins, size 720
    [    0.701020] pinctrl-single a40000.timesync-router: 512 pins, size 2048
    [    0.718668] Serial: 8250/16550 driver, 10 ports, IRQ sharing enabled
    [    0.744191] brd: module loaded
    [    0.758196] loop: module loaded
    [    0.762556] megasas: 07.714.04.00-rc1
    [    0.771699] tun: Universal TUN/TAP device driver, 1.6
    [    0.777672] igbvf: Intel(R) Gigabit Virtual Function Network Driver
    [    0.784138] igbvf: Copyright (c) 2009 - 2012 Intel Corporation.
    [    0.790273] sky2: driver version 1.30
    [    0.795582] VFIO - User Level meta-driver version: 0.3
    [    0.802321] i2c /dev entries driver
    [    0.807543] sdhci: Secure Digital Host Controller Interface driver
    [    0.813935] sdhci: Copyright(c) Pierre Ossman
    [    0.819219] sdhci-pltfm: SDHCI platform and OF driver helper
    [    0.826712] SMCCC: SOC_ID: ARCH_SOC_ID not implemented, skipping ....
    [    0.835293] optee: probing for conduit method.
    I/TC: Reserved shared memory is enabled
    I/TC: Dynamic shared memory is enabled
    I/TC: Normal World virtualization support is disabled
    I/TC: Asynchronous notifications are disabled
    [    0.839930] optee: revision 3.20 (8e74d476)
    [    0.856623] optee: dynamic shared memory is enabled
    [    0.866434] optee: initialized driver
    [    0.873095] NET: Registered protocol family 17
    [    0.877938] 9pnet: Installing 9P2000 support
    [    0.882469] Key type dns_resolver registered
    [    0.887397] printk: bootconsole [ns16550a0]: printing thread started
    [    0.887474] Loading compiled-in X.509 certificates
    [    0.907209] ti-sci 44043000.dmsc: lpm region is required for suspend but not provided.
    [    0.907314] ti-sci 44043000.dmsc: ABI: 3.1 (firmware rev 0x0008 '8.6.4--v08.06.04 (Chill Capybar')
    [    0.963249] omap-gpmc 3b000000.memory-controller: GPMC revision 6.0
    [    0.963274] gpmc_mem_init: disabling cs 0 mapped at 0x0-0x1000000
    [    0.969190] omap_i2c 20000000.i2c: bus 0 rev0.12 at 400 kHz
    [    0.970894] omap_i2c 20020000.i2c: bus 1 rev0.12 at 100 kHz
    [    0.972432] omap_i2c 20030000.i2c: bus 2 rev0.12 at 100 kHz
    [    0.972939] ti-sci-intr bus@f4000:bus@4000000:interrupt-controller1: Interrupt Router 5 domain created
    [    0.973185] ti-sci-intr bus@f4000:interrupt-controller0: Interrupt Router 3 domain created
    [    0.973592] ti-sci-inta 48000000.interrupt-controller: Interrupt Aggregator domain 28 created
    [    0.976266] ------------[ cut here ]------------
    [    0.976278] wiz bus@f4000:wiz@f000000: Unable to create SERDES platform device
    [    0.976332] WARNING: CPU: 1 PID: 27 at drivers/phy/ti/phy-j721e-wiz.c:1597 wiz_probe+0xc28/0x1178
    [    0.976358] Modules linked in:
    [    0.976369] CPU: 1 PID: 27 Comm: kworker/1:1 Not tainted 5.10.168-rt83-gc1a1291911 #1
    [    0.976377] Hardware name: Texas Instruments AM642 EVM (DT)
    [    0.976386] Workqueue: events deferred_probe_work_func
    [    0.976402] pstate: 40000005 (nZcv daif -PAN -UAO -TCO BTYPE=--)
    [    0.976410] pc : wiz_probe+0xc28/0x1178
    [    0.976417] lr : wiz_probe+0xc28/0x1178
    [    0.976423] sp : ffff80001145ba80
    [    0.976426] x29: ffff80001145ba80 x28: ffff00007fc20a28
    [    0.976435] x27: 0000000000000000 x26: 0000000000000001
    [    0.976442] x25: 0000000000000001 x24: ffff0000002c2c10
    [    0.976449] x23: ffff00000151d108 x22: ffff00000151d0e8
    [    0.976457] x21: 0000000000000001 x20: ffff0000002c2c10
    [    0.976464] x19: ffff00000151d080 x18: 0000000000000002
    [    0.976472] x17: 0000000000000000 x16: 000000000698c874
    [    0.976479] x15: ffff000000139e00 x14: 0000000000074098
    [    0.976487] x13: 0000000000000020 x12: ffff8000110f2000
    [    0.976494] x11: 0000000000000007 x10: ffff8000110f6858
    [    0.976501] x9 : 00000000fffffffe x8 : 7020534544524553
    [    0.976508] x7 : 2065746165726320 x6 : ffff80001145b8d0
    [    0.976516] x5 : 00000000fffff0d2 x4 : 0000000000000001
    [    0.976523] x3 : ffff8000105fe068 x2 : 0000000100000000
    [    0.976530] x1 : 71a2e69d97868a00 x0 : 0000000000000000
    [    0.976539] Call trace:
    [    0.976542]  wiz_probe+0xc28/0x1178
    [    0.976549]  platform_drv_probe+0x54/0xa8
    [    0.976560]  really_probe+0xec/0x400
    [    0.976568]  driver_probe_device+0x58/0xb8
    [    0.976577]  __device_attach_driver+0xb8/0xe0
    [    0.976585]  bus_for_each_drv+0x78/0xc8
    [    0.976593]  __device_attach+0xf8/0x188
    [    0.976600]  device_initial_probe+0x14/0x20
    [    0.976608]  bus_probe_device+0x9c/0xa8
    [    0.976616]  deferred_probe_work_func+0x88/0xc0
    [    0.976623]  process_one_work+0x1a0/0x348
    [    0.976636]  worker_thread+0x1f8/0x440
    [    0.976645]  kthread+0x174/0x198
    [    0.976653]  ret_from_fork+0x10/0x30
    [    0.976664] ---[ end trace 0000000000000002 ]---
    [    1.277632] wiz: probe of bus@f4000:wiz@f000000 failed with error -12
    [    1.285975] ti-udma 485c0100.dma-controller: Number of rings: 68
    [    1.287768] ti-udma 485c0100.dma-controller: Channels: 24 (bchan: 12, tchan: 6, rchan: 6)
    [    1.289864] ti-udma 485c0000.dma-controller: Number of rings: 288
    [   1.300321] ti-udma 485c0000.dma-controller: Channels: 44 (tchan: 29, rchan: 15)
    [    1.304372] printk: console [ttyS2] disabled
    [    1.315044] printk: console [ttyS2]: printing thread started
    [    1.307298] 2800000.serial: ttyS2 at MMIO 0x2800000 (irq = 16, base_baud = 3000000) is a 8250
    [    1.315077] printk: console [ttyS2] enabled
    [    1.315082] printk: bootconsole [ns16550a0] disabled
    [    1.333858] printk: bootconsole [ns16550a0]: printing thread stopped
    [    1.339739] 2810000.serial: ttyS3 at MMIO 0x2810000 (irq = 17, base_baud = 3000000) is a 8250
    [    1.341349] 2820000.serial: ttyS4 at MMIO 0x2820000 (irq = 18, base_baud = 3000000) is a 8250
    [    1.349612] spi-nor spi0.0: s28hs512t (65536 Kbytes)
    [    1.349666] 7 cmdlinepart partitions found on MTD device fc40000.spi.0
    [    1.349673] Creating 7 MTD partitions on "fc40000.spi.0":
    [    1.349680] 0x000000000000-0x000000100000 : "ospi.tiboot3"
    [    1.351156] 0x000000100000-0x000000300000 : "ospi.tispl"
    [    1.352614] 0x000000300000-0x000000700000 : "ospi.u-boot"
    [    1.353958] 0x000000700000-0x000000740000 : "ospi.env"
    [    1.355313] 0x000000740000-0x000000780000 : "ospi.env.backup"
    [    1.356822] 0x000000800000-0x000003fc0000 : "ospi.rootfs"
    [    1.358220] 0x000003fc0000-0x000004000000 : "ospi.phypattern"
    [    1.375740] davinci_mdio 8000f00.mdio: Configuring MDIO in manual mode
    [    1.415366] davinci_mdio 8000f00.mdio: davinci mdio revision 9.7, bus freq 1000000
    [    1.418676] davinci_mdio 8000f00.mdio: phy[0]: device 8000f00.mdio:00, driver TI DP83867
    [    1.418695] davinci_mdio 8000f00.mdio: phy[1]: device 8000f00.mdio:01, driver TI DP83867
    [    1.418830] am65-cpsw-nuss 8000000.ethernet: initializing am65 cpsw nuss version 0x6BA00903, cpsw version 0x6BA80903 Ports: 3 quirks:00000006
    [    1.419145] am65-cpsw-nuss 8000000.ethernet: Use random MAC address
    [    1.419156] am65-cpsw-nuss 8000000.ethernet: initialized cpsw ale version 1.4
    [    1.419163] am65-cpsw-nuss 8000000.ethernet: ALE Table size 512
    [    1.420165] pps pps0: new PPS source ptp0
    [    1.420595] am65-cpsw-nuss 8000000.ethernet: CPTS ver 0x4e8a010c, freq:500000000, add_val:1 pps:1
    [    1.422826] am65-cpsw-nuss 8000000.ethernet: set new flow-id-base 16
    [    1.436039] am65-cpts 39000000.cpts: CPTS ver 0x4e8a010c, freq:500000000, add_val:1 pps:0
    [    1.437039] k3-j72xx-soc-thermal b00000.temperature-sensor: invalid resource
    [    1.437090] k3-j72xx-soc-thermal: probe of b00000.temperature-sensor failed with error -22
    [    1.440350] mmc0: CQHCI version 5.10
    [    1.440967] mmc1: CQHCI version 5.10
    [    1.452755] debugfs: Directory 'pd:114' with parent 'pm_genpd' already present!
    [    1.466363] ALSA device list:
    [    1.466380]   No soundcards found.
    [    1.485305] mmc0: SDHCI controller on fa10000.mmc [fa10000.mmc] using ADMA 64-bit
    [    1.485582] mmc1: SDHCI controller on fa00000.mmc [fa00000.mmc] using ADMA 64-bit
    [    1.499891] Waiting for root device PARTUUID=a974ccb8-02...
    [    1.535726] mmc1: new high speed SDXC card at address aaaa
    [    1.536656] mmcblk1: mmc1:aaaa SD64G 59.5 GiB
    [    1.543986]  mmcblk1: p1 p2
    [    1.575874] mmc0: Command Queue Engine enabled
    [    1.575910] mmc0: new HS200 MMC card at address 0001
    [    1.576755] mmcblk0: mmc0:0001 G1M15L 29.6 GiB
    [    1.577334] mmcblk0boot0: mmc0:0001 G1M15L partition 1 31.5 MiB
    [    1.577577] mmcblk0boot1: mmc0:0001 G1M15L partition 2 31.5 MiB
    [    1.577844] mmcblk0rpmb: mmc0:0001 G1M15L partition 3 4.00 MiB, chardev (237:0)
    [    1.838339] EXT4-fs (mmcblk1p2): 1 orphan inode deleted
    [    1.838371] EXT4-fs (mmcblk1p2): recovery complete
    [    1.851592] EXT4-fs (mmcblk1p2): mounted filesystem with ordered data mode. Opts: (null)
    [    1.851729] VFS: Mounted root (ext4 filesystem) on device 179:2.
    [    1.852556] devtmpfs: mounted
    [    1.853970] Freeing unused kernel memory: 1792K
    [    1.854108] Run /sbin/init as init process
    [    2.179459] systemd[1]: System time before build time, advancing clock.
    [    2.275299] NET: Registered protocol family 10
    [    2.276840] Segment Routing with IPv6
    [    2.337370] systemd[1]: systemd 244.5+ 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)
    [    2.337893] systemd[1]: Detected architecture arm64.
    
    Welcome to Arago 2021.09!
    
    [    2.402026] systemd[1]: Set hostname to <am64xx-evm>.
    [    2.831286] systemd[1]: /lib/systemd/system/startwlansta.service:7: Unknown key name 'After' in section 'Service', ignoring.
    [    2.835620] systemd[1]: /lib/systemd/system/startwlanap.service:7: Unknown key name 'After' in section 'Service', ignoring.
    [    2.867664] systemd[1]: /lib/systemd/system/irqbalanced.service:6: Unknown key name 'ConditionCPUs' in section 'Unit', ignoring.
    [    2.899922] systemd[1]: /lib/systemd/system/docker.socket:6: ListenStream= references a path below legacy directory /var/run/, updating /var/run/docker.sock �� /run/docker.sock; please update the unit file accordingly.
    [    3.063189] random: systemd: uninitialized urandom read (16 bytes read)
    [    3.068962] systemd[1]: Created slice system-getty.slice.
    [  OK  ] Created slice system-getty.slice.
    [  OK  ] Created slice system-serial\x2dgett[    3.091652] random: systemd: uninitialized urandom read (16 bytes read)
    y.slice.
    [    3.094189] systemd[1]: Created slice system-serial\x2dgetty.slice.
    [  OK  ] Created slice system-syslog\x2dng.s[    3.115654] random: systemd: uninitialized urandom read (16 bytes read)
    lice.
    [    3.118181] systemd[1]: Created slice system-syslog\x2dng.slice.
    [  OK  ] Created slice User and Session Slic[    3.142202] systemd[1]: Created slice User and Session Slice.
    e.
    [  OK  ] Started Dispatch Password ��ts to [    3.164139] systemd[1]: Started Dispatch Password Requests to Console Directory Watch.
    Console Directory Watch.
    [  OK  ] Started Forward Password R��uests [    3.188137] systemd[1]: Started Forward Password Requests to Wall Directory Watch.
    to Wall Directory Watch.
    [  OK  ] Reached target Paths.
    [    3.211943] systemd[1]: Reached target Paths.
    [  OK  ] Reached target Remote File Systems systemd[1]: Reached target Remote File Systems.
    [0m.
    [  OK  ] Reached target Slices.[    3.243763] systemd[1]: Reached target Slices.
    
    [  OK  ] Reached target Swap.
    [    3.263769] systemd[1]: Reached target Swap.
    [  OK  ] Listening on RPCbind Server Activat[    3.310964] systemd[1]: Listening on RPCbind Server Activation Socket.
    ion Socket.
    [  OK  ] Reached target RPC Port Mapper.[    3.335908] systemd[1]: Reached target RPC Port Mapper.
    
    [  OK  ] Listening on Process Core Dump Sock[    3.367568] systemd[1]: Listening on Process Core Dump Socket.
    et.
    [  OK  ] Listening on initctl Compatibility [    3.388166] systemd[1]: Listening on initctl Compatibility Named Pipe.
    Named Pipe.
    [  OK  ] Listening on Journal Socket (/dev/l[    3.416346] systemd[1]: Condition check resulted in Journal Audit Socket being skipped.
    og).
    [    3.417396] systemd[1]: Listening on Journal Socket (/dev/log).
    [  OK  ] Listening on Journal Socket.
    [    3.439595] systemd[1]: Listening on Journal Socket.
    [  OK  ] Listening on Network Service Netlin[    3.452829] systemd[1]: Listening on Network Service Netlink Socket.
    k Socket.
    [  OK  ] Listening on udev Control Socket    3.476612] systemd[1]: Listening on udev Control Socket.
    m.
    [  OK  ] Listening on udev Kernel Socket[    3.500268] systemd[1]: Listening on udev Kernel Socket.
    .
             Mounting Huge Pages File System...
    [    3.530605] systemd[1]: Mounting Huge Pages File System...
             Mounting POSIX Message Queue File System..[    3.549768] systemd[1]: Mounting POSIX Message Queue File System...
    .
             Mounting Kernel Debug File System...[    3.578484] systemd[1]: Mounting Kernel Debug File System...
    
             Mounting Temporary Directory (/tmp)...
    [    3.612376] systemd[1]: Mounting Temporary Directory (/tmp)...
             Starting Create list of st��odes for the curr[    3.632455] systemd[1]: Starting Create list of static device nodes for the current kernel...
    ent kernel...
             Starting RPC Bind...[    3.662570] systemd[1]: Starting RPC Bind...
    
    [    3.680059] systemd[1]: Condition check resulted in File System Check on Root Device being skipped.
             Starting Journal Service...[    3.689113] systemd[1]: Starting Journal Service...
    
             Starting Load Kernel Modules...
    [    3.925916] systemd[1]: Starting Load Kernel Modules...
             Starting Remount Root and Kernel File Systems systemd[1]: Starting Remount Root and Kernel File Systems...
    [0m...
             Starting udev Coldplug all Devices...
    [    3.984762] systemd[1]: Starting udev Coldplug all Devices...
    [  OK  ] Started RPC Bind.
    [    4.013426] systemd[1]: Started RPC Bind.
    [  OK  ] Mounted Huge Pages File System.[    4.025318] systemd[1]: Mounted Huge Pages File System.
    
    [    4.046441] EXT4-fs (mmcblk1p2): re-mounted. Opts: (null)
    [    4.048122] cryptodev: loading out-of-tree module taints kernel.
    [    4.057160] systemd[1]: Mounted POSIX Message Queue File System.
    [    4.066959] cryptodev: driver 1.10 loaded.
    [  OK  ] Mounted POSIX Message Queue File System.
    [  OK  ] Mounted Kernel Debug File System    4.106800] systemd[1]: Mounted Kernel Debug File System.
    m.
    [  OK  ] Mounted Temporary Directory (/tmp) systemd[1]: Mounted Temporary Directory (/tmp).
    [0m.
    [    4.149973] random: systemd-journal: uninitialized urandom read (16 bytes read)
    [    4.150197] random: systemd-journal: uninitialized urandom read (16 bytes read)
    [  OK  ] Started Journal Service.
    [    4.150860] random: systemd-journal: uninitialized urandom read (16 bytes read)
    [    4.160309] systemd[1]: Started Journal Service.
    [  OK  ] Started Create list of sta�� nodes for the current kernel.
    [  OK  ] Started Load Kernel Modules.
    [  OK  ] Started Remount Root and Kernel File Systems.
             Mounting Kernel Configuration File System...
             Starting Flush Journal to Persistent Storage...
    [    4.333713] systemd-journald[200]: Received client request to flush runtime journal.
             Starting Apply Kernel Variables...
             Starting Create Static Device Nodes in /dev...
    [  OK  ] Mounted Kernel Configuration File System.
    [  OK  ] Started Flush Journal to Persistent Storage.
    [  OK  ] Started Apply Kernel Variables.
    [  OK  ] Started Create Static Device Nodes in /dev.
    [  OK  ] Reached target Local File Systems (Pre).
             Mounting /media/ram...
             Mounting /var/volatile...
             Starting udev Kernel Device Manager...
    [  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  ] Started Create Volatile Files and Directories.
             Starting Network Time Synchronization...
             Starting Update UTMP about System Boot/Shutdown...
    [  OK  ] Started udev Kernel Device Manager.
    [  OK  ] Started Update UTMP about System Boot/Shutdown.
    [  OK  ] Started udev Coldplug all Devices.
    [    5.372761] random: systemd: uninitialized urandom read (16 bytes read)
             Starting udev Wait for Complete Device Initialization...
    [    5.440687] random: systemd-journal: uninitialized urandom read (16 bytes read)
    [  OK  ] Started Network Time Synchronization.
    [  OK  ] Reached target System Time Set.[    5.844927] random: systemd: uninitialized urandom read (16 bytes read)
    
    [  OK  ] Reached target System Time Synchronized.
    [    6.306936] random: crng init done
    [    6.306954] random: 62 urandom warning(s) missed due to ratelimiting
    [  OK  ] Started Load/Save Random Seed.
    [    6.484375] CAN device driver interface
    [    7.140998] davinci_mdio 30032400.mdio: Configuring MDIO in manual mode
    [    7.155776] platform 78000000.r5f: configured R5F for remoteproc mode
    [    7.155899] k3_r5_rproc bus@f4000:r5fss@78000000: split-mode not permitted, force configuring for single-cpu mode
    [    7.156169] platform 78000000.r5f: assigned reserved memory node r5f-dma-memory@a0000000
    [    7.156656] remoteproc remoteproc0: 78000000.r5f is available
    [    7.169002] remoteproc remoteproc0: powering up 78000000.r5f
    [    7.169039] remoteproc remoteproc0: Booting fw image am64-main-r5f0_0-fw, size 86352
    [    7.218601]  remoteproc0#vdev0buffer: assigned reserved memory node r5f-dma-memory@a0000000
    [    7.249097] virtio_rpmsg_bus virtio0: rpmsg host is online
    [    7.249231]  remoteproc0#vdev0buffer: registered virtio0 (type 7)
    [    7.249243] remoteproc remoteproc0: remote processor 78000000.r5f is now up
    [    7.250165] virtio_rpmsg_bus virtio0: creating channel rpmsg_chrdev addr 0xe
    [    7.267689] k3-m4-rproc 5000000.m4fss: assigned reserved memory node m4f-dma-memory@a4000000
    [    7.269906] k3-m4-rproc 5000000.m4fss: configured M4 for remoteproc mode
    [    7.274052] k3-m4-rproc 5000000.m4fss: local reset is deasserted for device
    [    7.274497] remoteproc remoteproc1: 5000000.m4fss is available
    [    7.286722] remoteproc remoteproc1: powering up 5000000.m4fss
    [    7.286756] remoteproc remoteproc1: Booting fw image am64-mcu-m4f0_0-fw, size 86084
    [    7.286798] platform 78400000.r5f: configured R5F for remoteproc mode
    [    7.291122] k3_r5_rproc bus@f4000:r5fss@78400000: split-mode not permitted, force configuring for single-cpu mode
    [    7.293443] platform 78400000.r5f: assigned reserved memory node r5f-dma-memory@a2000000
    [    7.293875] remoteproc remoteproc2: 78400000.r5f is available
    [    7.297593]  remoteproc1#vdev0buffer: assigned reserved memory node m4f-dma-memory@a4000000
    [    7.298156] virtio_rpmsg_bus virtio1: rpmsg host is online
    [    7.298231]  remoteproc1#vdev0buffer: registered virtio1 (type 7)
    [    7.298243] remoteproc remoteproc1: remote processor 5000000.m4fss is now up
    [    7.298948] virtio_rpmsg_bus virtio1: creating channel ti.ipc4.ping-pong addr 0xd
    [    7.299099] remoteproc remoteproc2: powering up 78400000.r5f
    [    7.299115] remoteproc remoteproc2: Booting fw image am64-main-r5f1_0-fw, size 93260
    [    7.299226] virtio_rpmsg_bus virtio1: creating channel rpmsg_chrdev addr 0xe
    [    7.307887] davinci_mdio 30032400.mdio: davinci mdio revision 1.7, bus freq 1000000
    [    7.308026]  remoteproc2#vdev0buffer: assigned reserved memory node r5f-dma-memory@a2000000
    [    7.308604] virtio_rpmsg_bus virtio2: rpmsg host is online
    [    7.308672]  remoteproc2#vdev0buffer: registered virtio2 (type 7)
    [    7.308682] remoteproc remoteproc2: remote processor 78400000.r5f is now up
    [    7.309714] virtio_rpmsg_bus virtio2: creating channel rpmsg_chrdev addr 0xe
    [    7.332707] davinci_mdio 30032400.mdio: phy[3]: device 30032400.mdio:03, driver TI DP83620 10/100 Mbps PHY
    [    7.769337] m_can_platform 20701000.can: m_can device registered (irq=35, version=32)
    [    7.815943] m_can_platform 20711000.can: m_can device registered (irq=37, version=32)
    [    7.832075] remoteproc remoteproc3: 30034000.pru is available
    [    7.832771] remoteproc remoteproc4: 30004000.rtu is available
    [    7.833837] remoteproc remoteproc5: 3000a000.txpru is available
    [    7.925146] remoteproc remoteproc6: 30038000.pru is available
    [    7.988580] remoteproc remoteproc7: 30006000.rtu is available
    [    8.036991] remoteproc remoteproc8: 3000c000.txpru is available
    [    8.050970] remoteproc remoteproc9: 300b4000.pru is available
    [    8.088710] remoteproc remoteproc10: 30084000.rtu is available
    [    8.089373] remoteproc remoteproc11: 3008a000.txpru is available
    [    8.089862] remoteproc remoteproc12: 300b8000.pru is available
    [    8.122665] remoteproc remoteproc13: 30086000.rtu is available
    [    8.127971] remoteproc remoteproc14: 3008c000.txpru is available
    [   10.848880] icssg-prueth icssg0-eth: port 1: using random MAC addr: ee:a6:3d:03:e7:7d
    [   10.912206] TI DP83620 10/100 Mbps PHY 30032400.mdio:03: attached PHY driver [TI DP83620 10/100 Mbps PHY] (mii_bus:phy_addr=30032400.mdio:03, irq=POLL)
    [   10.912238] icssg-prueth icssg0-eth: TI PRU ethernet driver initialized: single EMAC mode
    [   11.413979] usbcore: registered new interface driver usbfs
    [   11.414527] usbcore: registered new interface driver hub
    [   11.414945] usbcore: registered new device driver usb
    [  OK  ] Created slice system-systemd\x2dfsck.slice.
    [  OK  ] Found device /dev/mmcblk1p1.
    [  OK  ] Started udev Wait for Complete Device Initialization.
    [  OK  ] Started Hardware RNG Entropy Gatherer Daemon.
    [  OK  ] Reached target System Initialization.
    [  OK  ] Started Daily rotation of log files.
    [  OK  ] Started Timer service to update the IP on OLED each 10s.
    [  OK  ] Started Daily Cleanup of Temporary Directories.
    [  OK  ] Reached target Timers.
    [  OK  ] Listening on Avahi mDNS/DNS-SD Stack Activation Socket.
    [  OK  ] Listening on D-Bus System Message Bus Socket.
             Starting Docker Socket for the API.
    [  OK  ] Listening on dropbear.socket.
             Starting Reboot and dump vmcore via kexec...
             Starting File System Check on /dev/mmcblk1p1...
    [  OK  ] Listening on Docker Socket for the API.
    [  OK  ] Started Reboot and dump vmcore via kexec.
    [  OK  ] Reached target Sockets.
    [  OK  ] Reached target Basic System.
    [  OK  ] Started Job spooling tools.
    [  OK  ] Started Periodic Command Scheduler.
    [  OK  ] Started D-Bus System Message Bus.
             Starting Ethernet Bridge Filtering Tables...
             Starting Print notice about GPLv3 packages...
             Starting IPv6 Packet Filtering Framework...
             Starting IPv4 Packet Filtering Framework...
    [  OK  ] Started irqbalance daemon.
             Starting Matrix GUI...
             Starting startwlanap...
             Starting startwlansta...
             Starting System Logger Daemon "default" instance...
             Starting Login Service...
    [  OK  ] Started TEE Supplicant.
             Starting telnetd.service...
    [  OK  ] Started IPv6 Packet Filtering Framework.
    [  OK  ] Started Ethernet Bridge Filtering Tables.
    [  OK  ] Started IPv4 Packet Filtering Framework.
    [  OK  ] Started startwlanap.
    [  OK  ] Started startwlansta.
    [  OK  ] Reached target Network (Pre).
             Starting Network Service...
    [  OK  ] Started File System Check on /dev/mmcblk1p1.
             Mounting /run/media/mmcblk1p1...
    [  OK  ] Started Matrix GUI.
    [  OK  ] Started telnetd.service.
             Starting LSB: Expand Rootfs of boot device...
             Starting syslog.service...
    [  OK  ] Mounted /run/media/mmcblk1p1.
    [  OK  ] Started Network Service.
             Starting Wait for Network to be Configured...
             Starting Network Name Resolution...
    [   13.668449] remoteproc remoteproc3: powering up 30034000.pru
    [   13.691709] remoteproc remoteproc3: Booting fw image ti-pruss/am65x-sr2-pru0-prueth-fw.elf, size 38224
    [   13.691759] remoteproc remoteproc3: unsupported resource 5
    [   13.691788] remoteproc remoteproc3: remote processor 30034000.pru is now up
    [   13.691835] remoteproc remoteproc4: powering up 30004000.rtu
    [  OK  ] Listening on Load/Save RF ��itch S[   13.694304] remoteproc remoteproc4: Booting fw image ti-pruss/am65x-sr2-rtu0-prueth-fw.elf, size 30872
    tatus /dev/rfkill Watch.
    [   13.694367] remoteproc remoteproc4: remote processor 30004000.rtu is now up
    [   13.694409] remoteproc remoteproc5: powering up 3000a000.txpru
    [   13.715959] remoteproc remoteproc5: Booting fw image ti-pruss/am65x-sr2-txpru0-prueth-fw.elf, size 37328
    [   13.716032] remoteproc remoteproc5: remote processor 3000a000.txpru is now up
    [  OK  ] Started LSB: Expand Rootfs of boot [   13.791605] pps pps1: new PPS source ptp2
    device.
    [   13.803628] net eth2: started
    [   13.834001] cfg80211: Loading compiled-in X.509 certificates for regulatory database
    [  OK  ] Started System Logger Daemon "default" instance.
    [   13.884777] cfg80211: Loaded X.509 cert 'sforshee: 00b28ddf47aef9cea7'
    [  OK  ] Started syslog.service.
    [   14.059324] am65-cpsw-nuss 8000000.ethernet eth1: PHY [8000f00.mdio:00] driver [TI DP83867] (irq=POLL)
    [   14.078348] am65-cpsw-nuss 8000000.ethernet eth1: configuring for phy/rgmii-rxid link mode
    [   14.257452] am65-cpsw-nuss 8000000.ethernet eth0: PHY [8000f00.mdio:01] driver [TI DP83867] (irq=POLL)
    [   14.257492] am65-cpsw-nuss 8000000.ethernet eth0: configuring for phy/rgmii-rxid link mode
    [  OK  ] Started Login Service.
    [  OK  ] Started Network Name Resolution.
    [  OK  ] Reached target Network.
    [  OK  ] Reached target Host and Network Name Lookups.
             Starting Avahi mDNS/DNS-SD Stack...
             Starting Enable and configure wl18xx bluetooth stack...
    [  OK  ] Started NFS status monitor for NFSv2/3 locking..
             Starting Simple Network Ma��ent Protocol (SNMP) Daemon....
             Starting Permit User Sessions...
    [  OK  ] Started Vsftpd ftp daemon.
    [  OK  ] Started Permit User Sessions.
    [  OK  ] Started Getty on tty1.
    [  OK  ] Started Serial Getty on ttyS1.
    [  OK  ] Started Serial Getty on ttyS2.
    [  OK  ] Reached target Login Prompts.
             Starting Synchronize System and HW clocks...
    [FAILED] Failed to start Synchronize System and HW clocks.
    See 'systemctl status sync-clocks.service' for details.
    [  OK  ] Started Enable and configure wl18xx bluetooth stack.
    [  OK  ] Started Avahi mDNS/DNS-SD Stack.
    [  OK  ] Started Simple Network Man��ement Protocol (SNMP) Daemon..
    [   16.863956] icssg-prueth icssg0-eth eth2: Link is Up - 100Mbps/Full - flow control off
    [   16.864059] IPv6: ADDRCONF(NETDEV_CHANGE): eth2: link becomes ready
    ***************************************************************
    ***************************************************************
    NOTICE: This file system contains the following GPLv3 packages:
            autoconf
            bash
            bc
            binutils
            cifs-utils
            coreutils-stdbuf
            coreutils
            cpio
            cpp-symlinks
            cpp
            dosfstools
            elfutils
            g++-symlinks
            g++
            gawk
            gcc-symlinks
            gcc
            gdb
            gdbserver
            gettext
            gstreamer1.0-libav
            gzip
            hidapi
            less
            libasm1
            libbfd
            libdw1
            libelf1
            libgdbm-compat4
            libgdbm6
            libgettextlib
            libgettextsrc
            libgmp10
            libidn2-0
            libmpc3
            libmpfr6
            libreadline8
            libunistring2
            m4
            make
            nettle
            parted
            tar
            which
    
    If you do not wish to distribute GPLv3 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
    ***************************************************************
    ***************************************************************
    [  OK  ] Started Print notice about GPLv3 packages.
    
     _____                    _____           _         _
    |  _  |___ ___ ___ ___   |  _  |___ ___  |_|___ ___| |_
    |     |  _| .'| . | . |  |   __|  _| . | | | -_|  _|  _|
    |__|__|_| |__,|_  |___|  |__|  |_| |___|_| |___|___|_|
                  |___|                    |___|
    
    Arago Project am64xx-evm ttyS2
    
    Arago 2021.09 am64xx-evm ttyS2
    
    am64xx-evm login: root
    root@am64xx-evm:~# ifconfig
    eth0: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500  metric 1
            ether 34:08:e1:84:ad:17  txqueuelen 1000  (Ethernet)
            RX packets 0  bytes 0 (0.0 B)
            RX errors 0  dropped 0  overruns 0  frame 0
            TX packets 0  bytes 0 (0.0 B)
            TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
    
    eth1: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500  metric 1
            ether 26:7b:79:04:27:4f  txqueuelen 1000  (Ethernet)
            RX packets 0  bytes 0 (0.0 B)
            RX errors 0  dropped 0  overruns 0  frame 0
            TX packets 0  bytes 0 (0.0 B)
            TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
    
    eth2: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500  metric 1
            inet6 fe80::58d7:5dff:fe45:9b28  prefixlen 64  scopeid 0x20<link>
            ether 5a:d7:5d:45:9b:28  txqueuelen 1000  (Ethernet)
            RX packets 284  bytes 81308 (79.4 KiB)
            RX errors 0  dropped 0  overruns 0  frame 0
            TX packets 27  bytes 4590 (4.4 KiB)
            TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
    
    lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536  metric 1
            inet 127.0.0.1  netmask 255.0.0.0
            inet6 ::1  prefixlen 128  scopeid 0x10<host>
            loop  txqueuelen 1000  (Local Loopback)
            RX packets 82  bytes 6220 (6.0 KiB)
            RX errors 0  dropped 0  overruns 0  frame 0
            TX packets 82  bytes 6220 (6.0 KiB)
            TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
    
    root@am64xx-evm:~# sudo ifconfig eth2 192.168.5.32
    root@am64xx-evm:~# ethtool -s eth2
    root@am64xx-evm:~# ethtool -i eth2
    driver: icssg-prueth
    version: 5.10.168-rt83-gc1a1291911
    firmware-version:
    expansion-rom-version:
    bus-info: icssg0-eth
    supports-statistics: yes
    supports-test: no
    supports-eeprom-access: no
    supports-register-dump: no
    supports-priv-flags: yes
    root@am64xx-evm:~# ethtool eth2
    Settings for eth2:
            Supported ports: [ TP    MII ]
            Supported link modes:   10baseT/Full
                                    100baseT/Full
            Supported pause frame use: No
            Supports auto-negotiation: Yes
            Supported FEC modes: Not reported
            Advertised link modes:  10baseT/Full
                                    100baseT/Full
            Advertised pause frame use: No
            Advertised auto-negotiation: Yes
            Advertised FEC modes: Not reported
            Link partner advertised link modes:  10baseT/Half 10baseT/Full
                                                 100baseT/Half 100baseT/Full
            Link partner advertised pause frame use: Symmetric Receive-only
            Link partner advertised auto-negotiation: Yes
            Link partner advertised FEC modes: Not reported
            Speed: 100Mb/s
            Duplex: Full
            Auto-negotiation: on
            Port: Twisted Pair
            PHYAD: 3
            Transceiver: external
            MDI-X: Unknown
            Current message level: 0x00007fff (32767)
                                   drv probe link timer ifdown ifup rx_err tx_err tx_queued intr tx_done rx_status pktdata hw wol
            Link detected: yes
    root@am64xx-evm:~# [  137.289654] Initializing XFRM netlink socket
    [  141.025017] bridge: filtering via arp/ip/ip6tables is no longer available by default. Update your scripts to load br_netfilter if you need this.
    [  141.049824] Bridge firewalling registered
    [  143.121467] process 'docker/tmp/qemu-check427029150/check' started with executable stack
    
    root@am64xx-evm:~# [  148.031448] ------------[ cut here ]------------
    [  148.031468] NETDEV WATCHDOG: eth2 (icssg-prueth): transmit queue 0 timed out
    [  148.031542] WARNING: CPU: 1 PID: 22 at net/sched/sch_generic.c:467 dev_watchdog+0x374/0x380
    [  148.031570] Modules linked in: xt_conntrack xt_MASQUERADE xt_addrtype iptable_filter iptable_nat nf_nat nf_conntrack nf_defrag_ipv6 nf_defrag_ipv4 libcrc32c ip_tables x_tables br_netfilter bridge stp llc overlay xfrm_user xfrm_algo md5 ecb aes_neon_bs aes_neon_blk des_generic libdes cbc wlcore_sdio wl18xx wlcore mac80211 cfg80211 rfkill libarc4 cdns3 udc_core roles rpmsg_char usbcore usb_common irq_pruss_intc icssg_prueth crct10dif_ce pru_rproc icss_iep cdns3_ti phy_can_transceiver ti_k3_m4_remoteproc ti_k3_r5_remoteproc rti_wdt virtio_rpmsg_bus sa2ul sha512_generic authenc m_can_platform pruss m_can can_dev optee_rng rng_core sch_fq_codel cryptodev(O) ipv6
    [  148.031759] CPU: 1 PID: 22 Comm: ksoftirqd/1 Tainted: G        W  O      5.10.168-rt83-gc1a1291911 #1
    [  148.031768] Hardware name: Texas Instruments AM642 EVM (DT)
    [  148.031774] pstate: 40000005 (nZcv daif -PAN -UAO -TCO BTYPE=--)
    [  148.031782] pc : dev_watchdog+0x374/0x380
    [  148.031790] lr : dev_watchdog+0x374/0x380
    [  148.031798] sp : ffff800011433c20
    [  148.031801] x29: ffff800011433c20 x28: ffff0000067bad00
    [  148.031809] x27: 0000000000000004 x26: 0000000000000180
    [  148.031817] x25: 00000000ffffffff x24: 0000000000000001
    [  148.031825] x23: ffff0000036ca3e0 x22: ffff0000036ca000
    [  148.031833] x21: ffff0000036ca4b0 x20: ffff8000110d9000
    [  148.031841] x19: 0000000000000000 x18: 0000000000000000
    [  148.031848] x17: 0000000000000000 x16: 0000000000000000
    [  148.031856] x15: ffff000000135f60 x14: ffffffffffffffff
    [  148.031864] x13: ffff8000112109f4 x12: ffff8000112109e7
    [  148.031871] x11: 0000000000000000 x10: ffff8000110fbef8
    [  148.031879] x9 : 00000000fffffffe x8 : 6f2064656d697420
    [  148.031887] x7 : 3020657565757120 x6 : ffff800011433a70
    [  148.031895] x5 : ffff00007fbefb38 x4 : 0000000000000000
    [  148.031903] x3 : 0000000000000027 x2 : 0000000100000000
    [  148.031910] x1 : 10ddf650bcc26a00 x0 : 0000000000000000
    [  148.031918] Call trace:
    [  148.031922]  dev_watchdog+0x374/0x380
    [  148.031930]  call_timer_fn.isra.0+0x24/0x80
    [  148.031944]  run_timer_softirq+0x4d4/0x548
    [  148.031954]  efi_header_end+0x110/0x214
    [  148.031963]  run_ksoftirqd+0x50/0xb8
    [  148.031971]  smpboot_thread_fn+0x2e4/0x330
    [  148.031981]  kthread+0x174/0x198
    [  148.031989]  ret_from_fork+0x10/0x30
    [  148.031999] ---[ end trace 0000000000000003 ]---
    [  149.032381] icssg-prueth icssg0-eth eth2: xmit timeout
    [  153.919405] icssg-prueth icssg0-eth eth2: xmit timeout
    [  159.039394] icssg-prueth icssg0-eth eth2: xmit timeout
    [  163.903388] icssg-prueth icssg0-eth eth2: xmit timeout
    eth2[  169.023396] icssg-prueth icssg0-eth eth2: xmit timeout
    [  174.143385] icssg-prueth icssg0-eth eth2: xmit timeout
    

  • Hi,

    I saw this part in the document. This part needs to be entered under the uboot command line. Is there any information that can be printed out after entering it? Regarding the k3-am642-evm-icssg1-dualemac-mii.dtbo file, if we are using ICSSG0, where should this file be?Could you explain it in more detail?

  • Hi,

    Is there any progress?Our project is waiting for the problem to be solved.

  • Hello,

    I apologize for the delayed responses here. I was going to try to dig into your thread today, but it is already bedtime and I have to sign off. I will try to have a response for you in the next day or so.

    Regards,

    Nick

  • Hello,

    Is there any progress?

  • Hi,

    Still no news?We are eager to locate the problem quickly!

  • Hello Wanglili,

    I apologize for the continued delays. This is another bedtime response, so no updates yet :( 

    Regards,

    Nick

  • Hi,

    In addition, using the Ethernet command, it is found that the sent data is 0.

    ethtool -S eth2
    NIC statistics:
    rx_good_frames: 208
    rx_broadcast_frames: 38
    rx_multicast_frames: 208
    rx_crc_error_frames: 0
    rx_mii_error_frames: 0
    rx_odd_nibble_frames: 0
    rx_frame_max_size: 10000
    rx_max_size_error_frames: 0
    rx_frame_min_size: 320
    rx_min_size_error_frames: 0
    rx_overrun_frames: 0
    rx_class0_hits: 208
    rx_class1_hits: 0
    rx_class2_hits: 0
    rx_class3_hits: 0
    rx_class4_hits: 0
    rx_class5_hits: 0
    rx_class6_hits: 0
    rx_class7_hits: 0
    rx_class8_hits: 208
    rx_class9_hits: 208
    rx_class10_hits: 0
    rx_class11_hits: 0
    rx_class12_hits: 0
    rx_class13_hits: 0
    rx_class14_hits: 0
    rx_class15_hits: 0
    rx_smd_frags: 0
    rx_bucket1_size: 320
    rx_bucket2_size: 640
    rx_bucket3_size: 1280
    rx_bucket4_size: 2560
    rx_64B_frames: 35
    rx_bucket1_frames: 35
    rx_bucket2_frames: 75
    rx_bucket3_frames: 51
    rx_bucket4_frames: 0
    rx_bucket5_frames: 47
    rx_total_bytes: 56321
    rx_tx_total_bytes: 56321
    tx_good_frames: 0
    tx_broadcast_frames: 0
    tx_multicast_frames: 0
    tx_odd_nibble_frames: 0
    tx_underflow_errors: 0
    tx_frame_max_size: 10000
    tx_max_size_error_frames: 0
    tx_frame_min_size: 320
    tx_min_size_error_frames: 0
    tx_bucket1_size: 320
    tx_bucket2_size: 640
    tx_bucket3_size: 1280
    tx_bucket4_size: 2560
    tx_64B_frames: 0
    tx_bucket1_frames: 0
    tx_bucket2_frames: 0
    tx_bucket3_frames: 0
    tx_bucket4_frames: 0
    tx_bucket5_frames: 0
    tx_total_bytes: 0

    Are there any new ideas?

  • Hi,

    Is there any update? There is no solution to this problem in the forum. Can you give a complete operation guide for using the ICSSG0 Ethernet MII interface? We are very urgent.

  • Hello Wanglili,

    Apologies for the delays to responses here. Understood that you are looking for a near-term solution.

    There were some issues with MII operation on the Linux kernel 6.1 releases (as discussed in this other thread: https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1314903/am6442-icssg0-mii-doesn-t-work-in-sdk9-1-0-8 ).

    Just to confirm, are you still using SDK 8.6? (i.e., Linux kernel 5.10)

    Regards,

    Nick

  • Hi,

    Yes, we are still planning to use version 8.6.

  • Hello Wanglili,

    AM64x PRU Ethernet in uboot?

    we do not support PRU Ethernet in u-boot on AM64x SDK 8.6. We added support for AM64x PRU Ethernet in u-boot starting in SDK 9.2.1, as mentioned in this FAQ: https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1325243/faq-am6548-how-to-get-pru-ethernet-working-in-u-boot-on-am65x-linux-sdk-9-1

    So I would expect that adding the PRU Ethernet nodes to the uboot devicetree file would not do anything.

    Other notes from looking at your boot log - optimizing your DDR usage

    [    7.155776] platform 78000000.r5f: configured R5F for remoteproc mode
    [    7.155899] k3_r5_rproc bus@f4000:r5fss@78000000: split-mode not permitted, force configuring for single-cpu mode

    AM6422 has two R5F subsystems, where each subsystem has only a single R5F core (as compared to AM644x, where each subsystem has 2 R5F cores). This terminal output confirms that there is only a single R5F core per subsystem, since the subsystem is getting set to single-cpu mode by the R5F driver.

    That means that you can free up the DDR memory regions in your devicetree file that are allocated for the R5F cores that do not exist on AM6422. Please refer to the AM64x academy, multicore module, page "How to disable remote cores": https://dev.ti.com/tirex/explore/node?a=7qm9DIS__LATEST&node=A__Af8fKrelrD3vCdWjTx7.ww__AM64-ACADEMY__WI1KRXP__LATEST

    if you have followup questions on disabling unused remote cores, feel free to create a new thread to discuss.

    I'll provide another response soon.

    Regards,

    Nick

  • Hello Wanglili,

    Ok so what about the MII interface? 

    You are able to get a link up, so the PHY is able to autonegotiate with another PHY.

    And your receive path looks good, since you are able to receive packets and you don't have any receive errors:

    ethtool -S eth2
    NIC statistics:
    rx_good_frames: 208
    rx_broadcast_frames: 38
    rx_multicast_frames: 208
    rx_crc_error_frames: 0
    rx_mii_error_frames: 0

    We need to figure out what is going on with the transmit path.

    One potential cause of the issue is if the TX clock signal is not coming from the PHY to the MAC, then the transmit packets will just pile up and eventually the driver will timeout. Please take an oscilloscope and see if you are seeing a clock signal on the TX clock line.

    Pinmux notes 

    I don't see this getting pinmuxed: PRG0_PRU0_GPO8.PR0_MII0_RXLINK.It looks like this signal just goes to an LED on the PHY for the EVM, so I expect this would not be causing you problems.

    It also looks like you are pinmuxing for both slice 0 (PRU0, RTU0, & TX_PRU0 drive one Ethernet interface) and slice 1 (PRU1, RTU1, & TX_PRU1 can drive another Ethernet interface), though you only have one Ethernet interface enabled in your devicetree file. Is that intentional?

    Everything else looks good to me.

    Regards,

    Nick

  • Hi,

    When I use the R5F core, the corresponding Ethernet can work normally and the TX clock signal is also available.Does this mean that there is no problem with this clock signal in the Linux environment? I will use an oscilloscope to look at the signal later.

    PRG0_PRU0_GPO8.PR0_MII0_RXLINK I did not add his definition, I can add it later, I think you are right, this part is not the reason that affects Ethernet.

     slice 0 and slice 1 I have defined them in the device tree, but only 0 is actually used, I will modify it later.

  • I saw this part in the document. This part needs to be entered under the uboot command line. Is there any information that can be printed out after entering it? Regarding the k3-am642-evm-icssg1-dualemac-mii.dtbo file, if we are using ICSSG0, where should this file be?Could you explain it in more detail?

    We use SDK8.06,Is there any related operation required?

  • Hello Wanglili,

    That is interesting that you are able to control the PRU Ethernet interface from the R5F and it works just fine. I look forward to hearing about whether you see a clock signal in the Linux context (and if that is any different from what you observe from the R5F context).

    I do not expect that you would need to apply a devicetree overlay file in uboot. That devicetree overlay file is only needed to modify the base evm.dts file so that the Ethernet interfaces are configured to be MII (since they are configured to be RGMII in the base evm.dts file - the AM64x EVM is shipped with PHYs that can be configured to run as either RGMII or MII).

    However, for your usecase you have already written your MII settings directly into your board-level .dts file. I would not expect you to need to run additional uboot commands.

    Regards,

    Nick

  • Hi,

    Due to other reasons, I have not used an oscilloscope to test the tx clock signal. I found an error in the startup print information. I am not sure whether this error is related to icssg.

    also I change the R5F subsystems ,I am not sure if this is correct, can you help confirm it? The AM6422 chip used has a configuration of 2 R5F single cores。

    // SPDX-License-Identifier: GPL-2.0
    /*
     * Copyright (C) 2020-2021 Texas Instruments Incorporated - https://www.ti.com/
     */
    
    /dts-v1/;
    
    #include <dt-bindings/phy/phy.h>
    #include <dt-bindings/mux/ti-serdes.h>
    #include <dt-bindings/leds/common.h>
    #include <dt-bindings/gpio/gpio.h>
    #include <dt-bindings/net/ti-dp83867.h>
    #include "k3-am642.dtsi"
    
    / {
    	compatible =  "ti,am642-evm", "ti,am642";
    	model = "Texas Instruments AM642 EVM";
    
    	chosen {
    		stdout-path = "serial2:115200n8";
    		bootargs = "console=ttyS2,115200n8 earlycon=ns16550a,mmio32,0x02800000";
    	};
    
    	aliases {
    		ethernet2 = &icssg0_emac0;
    	};
    	memory@80000000 {
    		device_type = "memory";
    		/* 2G RAM */
    		reg = <0x00000000 0x80000000 0x00000000 0x80000000>;
    
    	};
    
    	reserved-memory {
    		#address-cells = <2>;
    		#size-cells = <2>;
    		ranges;
    
    		secure_ddr: optee@9e800000 {
    			reg = <0x00 0x9e800000 0x00 0x01800000>; /* for OP-TEE */
    			alignment = <0x1000>;
    			no-map;
    		};
    
    		main_r5fss0_core0_dma_memory_region: r5f-dma-memory@a0000000 {
    			compatible = "shared-dma-pool";
    			reg = <0x00 0xa0000000 0x00 0x100000>;
    			no-map;
    		};
    
    		main_r5fss0_core0_memory_region: r5f-memory@a0100000 {
    			compatible = "shared-dma-pool";
    			reg = <0x00 0xa0100000 0x00 0xf00000>;
    			no-map;
    		};
    
    //		main_r5fss0_core1_dma_memory_region: r5f-dma-memory@a1000000 {
    //			compatible = "shared-dma-pool";
    //			reg = <0x00 0xa1000000 0x00 0x100000>;
    //			no-map;
    //		};
    //
    //		main_r5fss0_core1_memory_region: r5f-memory@a1100000 {
    //			compatible = "shared-dma-pool";
    //			reg = <0x00 0xa1100000 0x00 0xf00000>;
    //			no-map;
    //		};
    
    		main_r5fss1_core0_dma_memory_region: r5f-dma-memory@a2000000 {
    			compatible = "shared-dma-pool";
    			reg = <0x00 0xa2000000 0x00 0x100000>;
    			no-map;
    		};
    
    		main_r5fss1_core0_memory_region: r5f-memory@a2100000 {
    			compatible = "shared-dma-pool";
    			reg = <0x00 0xa2100000 0x00 0xf00000>;
    			no-map;
    		};
    
    //		main_r5fss1_core1_dma_memory_region: r5f-dma-memory@a3000000 {
    //			compatible = "shared-dma-pool";
    //			reg = <0x00 0xa3000000 0x00 0x100000>;
    //			no-map;
    //		};
    //
    //		main_r5fss1_core1_memory_region: r5f-memory@a3100000 {
    //			compatible = "shared-dma-pool";
    //			reg = <0x00 0xa3100000 0x00 0xf00000>;
    //			no-map;
    //		};
    
    		mcu_m4fss_dma_memory_region: m4f-dma-memory@a4000000 {
    			compatible = "shared-dma-pool";
    			reg = <0x00 0xa4000000 0x00 0x100000>;
    			no-map;
    		};
    
    		mcu_m4fss_memory_region: m4f-memory@a4100000 {
    			compatible = "shared-dma-pool";
    			reg = <0x00 0xa4100000 0x00 0xf00000>;
    			no-map;
    		};
    
    		rtos_ipc_memory_region: ipc-memories@a5000000 {
    			reg = <0x00 0xa5000000 0x00 0x00800000>;
    			alignment = <0x1000>;
    			no-map;
    		};
    	};
    
    	transceiver1: can-phy0 {
    		compatible = "ti,tcan1042";
    		#phy-cells = <0>;
    		max-bitrate = <5000000>;
    	};
    	
    	transceiver2: can-phy1 {
    		compatible = "ti,tcan1042";
    		#phy-cells = <0>;
    		max-bitrate = <5000000>;
    	};
    
    	icssg0_eth: icssg0-eth {
    		compatible = "ti,am642-icssg-prueth";
    		pinctrl-names = "default";
    		pinctrl-0 = <&pru_icssg0_mii_g_rt_pins_default>;
    
    		sram = <&oc_sram>;
    		ti,prus = <&pru0_0>, <&rtu0_0>, <&tx_pru0_0>, <&pru0_1>, <&rtu0_1>, <&tx_pru0_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 = <&icssg0_mii_g_rt>;
    		mii-rt = <&icssg0_mii_rt>;
    		iep = <&icssg0_iep0>,  <&icssg0_iep1>;
    
    		interrupt-parent = <&icssg0_intc>;
    		interrupts = <24 0 2>, <25 1 3>;
    		interrupt-names = "tx_ts0", "tx_ts1";
    
    		dmas = <&main_pktdma 0xc100 15>, /* egress slice 0 */
    		       <&main_pktdma 0xc101 15>, /* egress slice 0 */
    		       <&main_pktdma 0xc102 15>, /* egress slice 0 */
    		       <&main_pktdma 0xc103 15>, /* egress slice 0 */
    		       <&main_pktdma 0xc104 15>, /* egress slice 1 */
    		       <&main_pktdma 0xc105 15>, /* egress slice 1 */
    		       <&main_pktdma 0xc106 15>, /* egress slice 1 */
    		       <&main_pktdma 0xc107 15>, /* egress slice 1 */
    		       <&main_pktdma 0x4100 15>, /* ingress slice 0 */
    		       <&main_pktdma 0x4101 15>, /* ingress slice 1 */
    		       <&main_pktdma 0x4102 0>, /* mgmnt rsp slice 0 */
    		       <&main_pktdma 0x4103 0>; /* 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";
    
    			icssg0_emac0: ethernet-mii0 {
    				phy-handle = <&icssg0_phy1>;
    				phy-mode = "mii";
    				/*ti,syscon-rgmii-delay = <&main_conf 0x4100>;*/
    				/* Filled in by bootloader */
    				local-mac-address = [00 00 00 00 00 00];
    //				fixed-link {
    //        speed = <100>;
    //        full-duplex;
    //   };
    		};
    		icssg0_emac1: ethernet-mii1 {
    			phy-mode = "mii";
    			local-mac-address = [00 00 00 00 00 00];
    			status = "disabled";
    		};
    	};
    	
    	leds {
    		compatible = "gpio-leds";
    		pinctrl-names = "default";
    		pinctrl-0 = <&usr_led_pins_default>;
    
    		led-0 {
    			label = "am64-evm:green:heartbeat";
    			gpios = <&main_gpio1 44 GPIO_ACTIVE_HIGH>;
    			linux,default-trigger = "heartbeat";
    			function = LED_FUNCTION_HEARTBEAT;
    			default-state = "off";
    		};
    	};
    };
    &main_r5fss0_core0 {
    	mboxes = <&mailbox0_cluster2 &mbox_main_r5fss0_core0>;
    	memory-region = <&main_r5fss0_core0_dma_memory_region>,
    			<&main_r5fss0_core0_memory_region>;
    };
    
    //&main_r5fss0_core1 {
    //	mboxes = <&mailbox0_cluster2 &mbox_main_r5fss0_core1>;
    //	memory-region = <&main_r5fss0_core1_dma_memory_region>,
    //			<&main_r5fss0_core1_memory_region>;
    //};
    
    &main_r5fss1_core0 {
    	mboxes = <&mailbox0_cluster4 &mbox_main_r5fss1_core0>;
    	memory-region = <&main_r5fss1_core0_dma_memory_region>,
    			<&main_r5fss1_core0_memory_region>;
    };
    
    //&main_r5fss1_core1 {
    //	mboxes = <&mailbox0_cluster4 &mbox_main_r5fss1_core1>;
    //	memory-region = <&main_r5fss1_core1_dma_memory_region>,
    //			<&main_r5fss1_core1_memory_region>;
    //};
    
    &mcu_m4fss {
    	mboxes = <&mailbox0_cluster6 &mbox_m4_0>;
    	memory-region = <&mcu_m4fss_dma_memory_region>,
    			<&mcu_m4fss_memory_region>;
    };
    
    &main_pmx0 {
    	main_mmc1_pins_default: main-mmc1-pins-default {
    		pinctrl-single,pins = <
    			AM64X_IOPAD(0x0294, PIN_INPUT, 0) /* (J19) MMC1_CMD */
    			AM64X_IOPAD(0x0290, PIN_INPUT, 0) /* (#N/A) MMC1_CLKLB */
    			AM64X_IOPAD(0x028c, PIN_INPUT, 0) /* (L20) MMC1_CLK */
    			AM64X_IOPAD(0x0288, PIN_INPUT, 0) /* (K21) MMC1_DAT0 */
    			AM64X_IOPAD(0x0284, PIN_INPUT, 0) /* (L21) MMC1_DAT1 */
    			AM64X_IOPAD(0x0280, PIN_INPUT, 0) /* (K19) MMC1_DAT2 */
    			AM64X_IOPAD(0x027c, PIN_INPUT, 0) /* (K18) MMC1_DAT3 */
    			AM64X_IOPAD(0x0298, PIN_INPUT, 0) /* (D19) MMC1_SDCD */
    		>;
    	};
    
    	main_uart0_pins_default: main-uart0-pins-default {
    		pinctrl-single,pins = <
    			AM64X_IOPAD(0x0230, PIN_INPUT, 0) /* (D15) UART0_RXD */
    			AM64X_IOPAD(0x0234, PIN_OUTPUT, 0) /* (C16) UART0_TXD */
    		>;
    	};
    
    	main_uart1_pins_default: main-uart1-pins-default {
    		pinctrl-single,pins = <
    			AM64X_IOPAD(0x0248, PIN_INPUT, 0) /* (D16) UART1_CTSn */
    			AM64X_IOPAD(0x024c, PIN_OUTPUT, 0) /* (E16) UART1_RTSn */
    			AM64X_IOPAD(0x0240, PIN_INPUT, 0) /* (E15) UART1_RXD */
    			AM64X_IOPAD(0x0244, PIN_OUTPUT, 0) /* (E14) UART1_TXD */
    		>;
    	};
    	
    	main_uart2_pins_default: main-uart2-pins-default {
    		pinctrl-single,pins = <
    			AM64X_IOPAD(0x0238, PIN_INPUT, 3) /* (B16) UART2_RXD  UART0_CTSn*/
    			AM64X_IOPAD(0x023c, PIN_OUTPUT, 3) /* (A16) UART2_TXD  UART0_RTSn*/
    		>;
    	};
    
    	
    //	main_uart4_pins_default: main-uart4-pins-default {
    //		pinctrl-single,pins = <
    //			AM64X_IOPAD(0x01DC, PIN_INPUT, 10) /* (W4) UART4_RXD  PRG0_PRU1_GPO11*/
    //			AM64X_IOPAD(0x01cc, PIN_OUTPUT, 10) /* (W5) UART4_TXD  PRG0_PRU1_GPO7*/
    //		>;
    //	};
    
    //	main_uart5_pins_default: main-uart5-pins-default {
    //		pinctrl-single,pins = <
    //			AM64X_IOPAD(0x01E4, PIN_INPUT, 10) /* (T6) UART5_RXD  PRG0_PRU1_GPO13*/
    //			AM64X_IOPAD(0x01B4, PIN_OUTPUT, 10) /* (W2) UART5_TXD  PRG0_PRU1_GPO1*/
    //		>;
    //	};
    
    //	main_uart6_pins_default: main-uart6-pins-default {
    //		pinctrl-single,pins = <
    //			AM64X_IOPAD(0x01E8, PIN_INPUT, 10) /* (U6) UART6_RXD  PRG0_PRU1_GPO14*/
    //			AM64X_IOPAD(0x01C0, PIN_OUTPUT, 10) /* (W3) UART6_TXD  PRG0_PRU1_GPO4*/
    //		>;
    //	};
    	main_i2c0_pins_default: main-i2c0-pins-default {
    		pinctrl-single,pins = <
    			AM64X_IOPAD(0x0260, PIN_INPUT_PULLUP, 0) /* (A18) I2C1_SCL */
    			AM64X_IOPAD(0x0264, PIN_INPUT_PULLUP, 0) /* (B18) I2C1_SDA */
    		>;
    	};
    
    	mdio1_pins_default: mdio1-pins-default {
    		pinctrl-single,pins = <
    			AM64X_IOPAD(0x01fc, PIN_OUTPUT, 4) /* (R2) PRG0_PRU1_GPO19.MDIO0_MDC */
    			AM64X_IOPAD(0x01f8, PIN_INPUT, 4) /* (P5) PRG0_PRU1_GPO18.MDIO0_MDIO */
    		>;
    	};
    
    	di_do_pins_default: di_do_pins_default {
    		pinctrl-single,pins = <
    //			AM64X_IOPAD(0x01E0, PIN_OUTPUT, 7) /* (Y4) PRG0_PRU1_GPO12 GPIO1_32 */
    //			AM64X_IOPAD(0x01D8, PIN_OUTPUT, 7) /* (V6) PRG0_PRU1_GPO10 GPIO1_30 */
    //			AM64X_IOPAD(0x01D4, PIN_OUTPUT, 7) /* (Y5) PRG0_PRU1_GPO9 GPIO1_29 */
    //			AM64X_IOPAD(0x01D0, PIN_OUTPUT, 7) /* (R1) PRG0_PRU1_GPO8 GPIO1_28 */
    			
    			AM64X_IOPAD(0x01A4, PIN_INPUT, 7) /* (U1) PRG0_PRU0_GPO17 GPIO1_17 */
    			AM64X_IOPAD(0x01A8, PIN_INPUT, 7) /* (V1) PRG0_PRU0_GPO18 GPIO1_18 */
    			AM64X_IOPAD(0x017C, PIN_INPUT, 7) /* (T1) PRG0_PRU0_GPO7  GPIO1_7 */			
    //			AM64X_IOPAD(0x01B8, PIN_INPUT, 7) /* (V3) PRG0_PRU1_GPO2  GPIO1_22 */	
    
    		>;
    	};
    	
    	rgmii1_pins_default: rgmii1-pins-default {
    		pinctrl-single,pins = <
    			AM64X_IOPAD(0x011c, PIN_INPUT, 4) /* (AA13) PRG1_PRU1_GPO5.RGMII1_RD0 */
    			AM64X_IOPAD(0x0128, PIN_INPUT, 4) /* (U12) PRG1_PRU1_GPO8.RGMII1_RD1 */
    			AM64X_IOPAD(0x0150, PIN_INPUT, 4) /* (Y13) PRG1_PRU1_GPO18.RGMII1_RD2 */
    			AM64X_IOPAD(0x0154, PIN_INPUT, 4) /* (V12) PRG1_PRU1_GPO19.RGMII1_RD3 */
    			AM64X_IOPAD(0x00d8, PIN_INPUT, 4) /* (W13) PRG1_PRU0_GPO8.RGMII1_RXC */
    			AM64X_IOPAD(0x00cc, PIN_INPUT, 4) /* (V13) PRG1_PRU0_GPO5.RGMII1_RX_CTL */
    			AM64X_IOPAD(0x0124, PIN_OUTPUT, 4) /* (V15) PRG1_PRU1_GPO7.RGMII1_TD0 */
    			AM64X_IOPAD(0x012c, PIN_OUTPUT, 4) /* (V14) PRG1_PRU1_GPO9.RGMII1_TD1 */
    			AM64X_IOPAD(0x0130, PIN_OUTPUT, 4) /* (W14) PRG1_PRU1_GPO10.RGMII1_TD2 */
    			AM64X_IOPAD(0x014c, PIN_OUTPUT, 4) /* (AA14) PRG1_PRU1_GPO17.RGMII1_TD3 */
    			AM64X_IOPAD(0x00e0, PIN_OUTPUT, 4) /* (U14) PRG1_PRU0_GPO10.RGMII1_TXC */
    			AM64X_IOPAD(0x00dc, PIN_OUTPUT, 4) /* (U15) PRG1_PRU0_GPO9.RGMII1_TX_CTL */
    		>;
    	};
    
           rgmii2_pins_default: rgmii2-pins-default {
    		pinctrl-single,pins = <
    			AM64X_IOPAD(0x0108, PIN_INPUT, 4) /* (W11) PRG1_PRU1_GPO0.RGMII2_RD0 */
    			AM64X_IOPAD(0x010c, PIN_INPUT, 4) /* (V11) PRG1_PRU1_GPO1.RGMII2_RD1 */
    			AM64X_IOPAD(0x0110, PIN_INPUT, 4) /* (AA12) PRG1_PRU1_GPO2.RGMII2_RD2 */
    			AM64X_IOPAD(0x0114, PIN_INPUT, 4) /* (Y12) PRG1_PRU1_GPO3.RGMII2_RD3 */
    			AM64X_IOPAD(0x0120, PIN_INPUT, 4) /* (U11) PRG1_PRU1_GPO6.RGMII2_RXC */
    			AM64X_IOPAD(0x0118, PIN_INPUT, 4) /* (W12) PRG1_PRU1_GPO4.RGMII2_RX_CTL */
    			AM64X_IOPAD(0x0134, PIN_OUTPUT, 4) /* (AA10) PRG1_PRU1_GPO11.RGMII2_TD0 */
    			AM64X_IOPAD(0x0138, PIN_OUTPUT, 4) /* (V10) PRG1_PRU1_GPO12.RGMII2_TD1 */
    			AM64X_IOPAD(0x013c, PIN_OUTPUT, 4) /* (U10) PRG1_PRU1_GPO13.RGMII2_TD2 */
    			AM64X_IOPAD(0x0140, PIN_OUTPUT, 4) /* (AA11) PRG1_PRU1_GPO14.RGMII2_TD3 */
    			AM64X_IOPAD(0x0148, PIN_OUTPUT, 4) /* (Y10) PRG1_PRU1_GPO16.RGMII2_TXC */
    			AM64X_IOPAD(0x0144, PIN_OUTPUT, 4) /* (Y11) PRG1_PRU1_GPO15.RGMII2_TX_CTL */
    		>;
    	};
    
    	icssg0_mdio0_pins_default: icssg0_mdio_pins_default {
    		pinctrl-single,pins = <
    			AM64X_IOPAD(0x0204, PIN_OUTPUT, 0) /* (P3) PRG0_MDIO0_MDC */
    			AM64X_IOPAD(0x0200, PIN_INPUT, 0) /* (P2) PRG0_MDIO0_MDIO */
    		>;
    	};
    
    	pru_icssg0_mii_g_rt_pins_default: pru_icssg0_mii_g_rt_pins_default {
    		pinctrl-single,pins = <
    			AM64X_IOPAD(0x01a0, PIN_INPUT, 1) /* (U4) PRG0_PRU0_GPO16.PR0_MII_MT0_CLK */ 
    			AM64X_IOPAD(0x019c, PIN_OUTPUT, 0) /* (T5) PRG0_PRU0_GPO15.PR0_MII0_TXEN */
    			AM64X_IOPAD(0x0198, PIN_OUTPUT, 0) /* (V4) PRG0_PRU0_GPO14.PR0_MII0_TXD3 */
    			AM64X_IOPAD(0x0194, PIN_OUTPUT, 0) /* (R6) PRG0_PRU0_GPO13.PR0_MII0_TXD2 */
    			AM64X_IOPAD(0x0190, PIN_OUTPUT, 0) /* (AA3) PRG0_PRU0_GPO12.PR0_MII0_TXD1 */
    			AM64X_IOPAD(0x018c, PIN_OUTPUT, 0) /* (Y3) PRG0_PRU0_GPO11.PR0_MII0_TXD0 */
    			AM64X_IOPAD(0x0170, PIN_INPUT, 1) /* (AA2) PRG0_PRU0_GPO4.PR0_MII0_RXDV */
    			AM64X_IOPAD(0x0178, PIN_INPUT, 1) /* (T3) PRG0_PRU0_GPO6.PR0_MII_MR0_CLK */
    			AM64X_IOPAD(0x016c, PIN_INPUT, 1) /* (V2) PRG0_PRU0_GPO3.PR0_MII0_RXD3 */
    			AM64X_IOPAD(0x0168, PIN_INPUT, 1) /* (U2) PRG0_PRU0_GPO2.PR0_MII0_RXD2 */
    			AM64X_IOPAD(0x0188, PIN_INPUT, 1) /* (AA5) PRG0_PRU0_GPO10.PR0_MII0_CRS */
    			AM64X_IOPAD(0x0174, PIN_INPUT, 1) /* (R3) PRG0_PRU0_GPO5.PR0_MII0_RXER */
    			AM64X_IOPAD(0x0164, PIN_INPUT, 1) /* (R4) PRG0_PRU0_GPO1.PR0_MII0_RXD1 */
    			AM64X_IOPAD(0x0160, PIN_INPUT, 1) /* (Y1) PRG0_PRU0_GPO0.PR0_MII0_RXD0 */
    			AM64X_IOPAD(0x0184, PIN_INPUT, 1) /* (W6) PRG0_PRU0_GPO9.PR0_MII0_COL */
    			AM64X_IOPAD(0x0180, PIN_INPUT, 1) /* (T2) PRG0_PRU0_GPO8.PR1_MII0_RXLINK */
    						
    			AM64X_IOPAD(0x01f0, PIN_INPUT, 1) /* (AA4) PRG0_PRU1_GPO16.PR0_MII_MT1_CLK */
    			AM64X_IOPAD(0x01ec, PIN_OUTPUT, 0) /* (U5) PRG0_PRU1_GPO15.PR0_MII1_TXEN */
    			AM64X_IOPAD(0x01e8, PIN_OUTPUT, 0) /* (U6) PRG0_PRU1_GPO14.PR0_MII1_TXD3 */
    			AM64X_IOPAD(0x01e4, PIN_OUTPUT, 0) /* (T6) PRG0_PRU1_GPO13.PR0_MII1_TXD2 */
    			AM64X_IOPAD(0x01e0, PIN_OUTPUT, 0) /* (Y4) PRG0_PRU1_GPO12.PR0_MII1_TXD1 */
    			AM64X_IOPAD(0x01dc, PIN_OUTPUT, 0) /* (W4) PRG0_PRU1_GPO11.PR0_MII1_TXD0 */
    			AM64X_IOPAD(0x01c0, PIN_INPUT, 1) /* (W3) PRG0_PRU1_GPO4.PR0_MII1_RXDV */
    			AM64X_IOPAD(0x01c8, PIN_INPUT, 1) /* (R5) PRG0_PRU1_GPO6.PR0_MII_MR1_CLK */
    			AM64X_IOPAD(0x01bc, PIN_INPUT, 1) /* (T4) PRG0_PRU1_GPO3.PR0_MII1_RXD3 */
    			AM64X_IOPAD(0x01b8, PIN_INPUT, 1) /* (V3) PRG0_PRU1_GPO2.PR0_MII1_RXD2 */
    			AM64X_IOPAD(0x01d8, PIN_INPUT, 1) /* (V6) PRG0_PRU1_GPO10.PR0_MII1_CRS */
    			AM64X_IOPAD(0x01c4, PIN_INPUT, 1) /* (P4) PRG0_PRU1_GPO5.PR0_MII1_RXER */
    			AM64X_IOPAD(0x01b4, PIN_INPUT, 1) /* (W2) PRG0_PRU1_GPO1.PR0_MII1_RXD1 */
    			AM64X_IOPAD(0x01b0, PIN_INPUT, 1) /* (Y2) PRG0_PRU1_GPO0.PR0_MII1_RXD0 */
    			AM64X_IOPAD(0x01d4, PIN_INPUT, 1) /* (Y5) PRG0_PRU1_GPO9.PR0_MII1_COL */
    			AM64X_IOPAD(0x01d0, PIN_INPUT, 1) /* (R1) PRG0_PRU1_GPO8.PR0_MII1_RXLINK */
    		>;
    	}; 
    	
    	ospi0_pins_default: ospi0-pins-default {
    		pinctrl-single,pins = <
    			AM64X_IOPAD(0x0000, PIN_OUTPUT, 0) /* (N20) OSPI0_CLK */
    			AM64X_IOPAD(0x002c, PIN_OUTPUT, 0) /* (L19) OSPI0_CSn0 */
    			AM64X_IOPAD(0x000c, PIN_INPUT, 0) /* (M19) OSPI0_D0 */
    			AM64X_IOPAD(0x0010, PIN_INPUT, 0) /* (M18) OSPI0_D1 */
    			AM64X_IOPAD(0x0014, PIN_INPUT, 0) /* (M20) OSPI0_D2 */
    			AM64X_IOPAD(0x0018, PIN_INPUT, 0) /* (M21) OSPI0_D3 */
    			AM64X_IOPAD(0x001c, PIN_INPUT, 0) /* (P21) OSPI0_D4 */
    			AM64X_IOPAD(0x0020, PIN_INPUT, 0) /* (P20) OSPI0_D5 */
    			AM64X_IOPAD(0x0024, PIN_INPUT, 0) /* (N18) OSPI0_D6 */
    			AM64X_IOPAD(0x0028, PIN_INPUT, 0) /* (M17) OSPI0_D7 */
    			AM64X_IOPAD(0x0008, PIN_INPUT, 0) /* (N19) OSPI0_DQS */
    		>;
    	};
    
    	main_mcan0_pins_default: main-mcan0-pins-default {
    		pinctrl-single,pins = <
    			AM64X_IOPAD(0x0254, PIN_INPUT, 0) /* (B17) MCAN0_RX */
    			AM64X_IOPAD(0x0250, PIN_OUTPUT, 0) /* (A17) MCAN0_TX */
    		>;
    	};
    	
    	main_mcan1_pins_default: main-mcan1-pins-default {
    		pinctrl-single,pins = <
    			AM64X_IOPAD(0x025c, PIN_INPUT, 0) /* (D17) MCAN1_RX */
    			AM64X_IOPAD(0x0258, PIN_OUTPUT, 0) /* (C17) MCAN1_TX */
    		>;
    	};
    
    	usr_led_pins_default: usr-led-pins-default {
    		pinctrl-single,pins = <
    			AM64X_IOPAD(0x210, PIN_OUTPUT, 7) /* (D13) PRG1_PRU0_GPO15.GPIO1_44 */
    		>;
    	};
    };
    
    &main_gpio1 {
    	pinctrl-names = "default";
    	pinctrl-0 = <&di_do_pins_default>;
    	status = "okay";
    };
    
    &main_uart0 {
    	pinctrl-names = "default";
    	pinctrl-0 = <&main_uart0_pins_default>;
    };
    
    /* main_uart1 is reserved for firmware usage */
    &main_uart1 {
    	pinctrl-names = "default";
    	pinctrl-0 = <&main_uart1_pins_default>;
    };
    
    &main_uart2 {
    	pinctrl-names = "default";
    	pinctrl-0 = <&main_uart2_pins_default>;
    };
    
    &main_uart3 {
    		status = "disabled";
    };
    
    &main_uart4 {
    //	pinctrl-names = "default";
    //	pinctrl-0 = <&main_uart4_pins_default>;
    	status = "disabled";
    };
    
    &main_uart5 {
    //	pinctrl-names = "default";
    //	pinctrl-0 = <&main_uart5_pins_default>;
    status = "disabled";
    };
    
    &main_uart6 {
    //	pinctrl-names = "default";
    //	pinctrl-0 = <&main_uart6_pins_default>;
    		status = "disabled";
    };
    
    &mcu_uart0 {
    	status = "disabled";
    };
    
    &mcu_uart1 {
    	status = "disabled";
    };
    
    &main_i2c1 {
    	status = "disabled";
    
    };
    
    /* mcu_gpio0 is reserved for mcu firmware usage */
    &mcu_gpio0 {
    	status = "reserved";
    };
    
    &mcu_i2c0 {
    	status = "disabled";
    };
    
    &main_i2c0 {
    	pinctrl-names = "default";
    	pinctrl-0 = <&main_i2c0_pins_default>;
    	clock-frequency = <400000>;
    };
    &mcu_i2c1 {
    	status = "disabled";
    };
    
    &mcu_spi0 {
    	status = "disabled";
    };
    
    &mcu_spi1 {
    	status = "disabled";
    };
    
    &main_spi0 {
    	status = "disabled";
    };
    
    &sdhci0 {
    	/* emmc */
    	bus-width = <8>;
    	non-removable;
    	ti,driver-strength-ohm = <50>;
    	disable-wp;
    };
    
    &sdhci1 {
    	/* SD/MMC */
    	pinctrl-names = "default";
    	bus-width = <4>;
    	pinctrl-0 = <&main_mmc1_pins_default>;
    	ti,driver-strength-ohm = <50>;
    	disable-wp;
    	no-1-8-v;
    };
    
    &serdes_wiz0
    {
    	status = "disabled";
    };
    
    &cpsw3g {
    	pinctrl-names = "default";
    	pinctrl-0 = <&mdio1_pins_default
    		     &rgmii1_pins_default
    		     &rgmii2_pins_default>;
    		cpts@3d000 {
    		ti,pps = <7 1>;
    	};
    };
    
    &cpsw_port1 {
    	phy-mode = "rgmii-rxid";
    	phy-handle = <&cpsw3g_phy0>;
    };
    
    &cpsw_port2 {
    	phy-mode = "rgmii-rxid";
    	phy-handle = <&cpsw3g_phy1>;
    };
    
    &cpsw3g_mdio {
    	cpsw3g_phy0: ethernet-phy@1 {
    		reg = <1>;
    		ti,rx-internal-delay = <DP83867_RGMIIDCTL_2_00_NS>;
    		ti,fifo-depth = <DP83867_PHYCR_FIFO_DEPTH_4_B_NIB>;
    	};
    
    	cpsw3g_phy1: ethernet-phy@0 {
    		reg = <0>;
    		ti,rx-internal-delay = <DP83867_RGMIIDCTL_2_00_NS>;
    		ti,fifo-depth = <DP83867_PHYCR_FIFO_DEPTH_4_B_NIB>;
    	};
    };
    
    #define TS_OFFSET(pa, val)     (0x4+(pa)*4) (0x10000 | val)
    
    &timesync_router {
    	pinctrl-names = "default";
    	pinctrl-0 = <&mcu_cpts_pps>;
    
    	/* Example of the timesync routing */
    	mcu_cpts_pps: mcu-cpts-pps {
    		pinctrl-single,pins = <
    				/* pps [cpts genf1] in22 -> out37 [cpts hw8_push] */
    				TS_OFFSET(37, 22)
    				/* pps [cpts genf1] in22 -> out25 [SYNC1_OUT pin] */
    				TS_OFFSET(25, 22)
    				>;
    	};
    };
    
    /* set R5F subsystem 0 to single-CPU mode */
    &main_r5fss0 {
    	ti,cluster-mode = <2>;
    };
    &main_r5fss1 {
    	ti,cluster-mode = <2>; 
    };
    
    &mailbox0_cluster2 {
    	mbox_main_r5fss0_core0: mbox-main-r5fss0-core0 {
    		ti,mbox-rx = <0 0 2>;
    		ti,mbox-tx = <1 0 2>;
    	};
    
    //	mbox_main_r5fss0_core1: mbox-main-r5fss0-core1 {
    //		ti,mbox-rx = <2 0 2>;
    //		ti,mbox-tx = <3 0 2>;
    //	};
    };
    
    &mailbox0_cluster3 {
    	status = "disabled";
    };
    
    &mailbox0_cluster4 {
    	mbox_main_r5fss1_core0: mbox-main-r5fss1-core0 {
    		ti,mbox-rx = <0 0 2>;
    		ti,mbox-tx = <1 0 2>;
    	};
    
    //	mbox_main_r5fss1_core1: mbox-main-r5fss1-core1 {
    //		ti,mbox-rx = <2 0 2>;
    //		ti,mbox-tx = <3 0 2>;
    //	};
    };
    
    &mailbox0_cluster5 {
    	status = "disabled";
    };
    
    &mailbox0_cluster6 {
    	mbox_m4_0: mbox-m4-0 {
    		ti,mbox-rx = <0 0 2>;
    		ti,mbox-tx = <1 0 2>;
    	};
    };
    
    &mailbox0_cluster7 {
    	status = "disabled";
    };
    
    &serdes_ln_ctrl {
    	idle-states = <AM64_SERDES0_LANE0_PCIE0>;
    };
    
    &serdes0 {
    	status = "disabled";
    };
    
    &pcie0_rc {
    	status = "disabled";
    };
    
    &pcie0_ep {
    	status = "disabled";
    };
    
    &tscadc0 {
    	/* ADC is reserved for R5 usage */
    	status = "reserved";
    };
    
    &ospi0 {
    	pinctrl-names = "default";
    	pinctrl-0 = <&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 = <4>;
    		cdns,phy-mode;
    		#address-cells = <1>;
    		#size-cells = <1>;
    	};
    };
    
    &main_mcan0 {
    	status = "okay";
    	pinctrl-names = "default";
    	pinctrl-0 = <&main_mcan0_pins_default>;
    	phys = <&transceiver1>;
    };
    
    &main_mcan1 {
    	status = "okay";
    	pinctrl-names = "default";
    	pinctrl-0 = <&main_mcan1_pins_default>;
    	phys = <&transceiver2>;
    };
    
    &icssg0_mdio {
    	status = "okay";
    	pinctrl-names = "default";
    	pinctrl-0 = <&icssg0_mdio0_pins_default>;
    
    	icssg0_phy1: ethernet-phy@3 {
    		reg = <0x3>;
    		tx-internal-delay-ps = <250>;
    		rx-internal-delay-ps = <2000>;
    	};
    //	icssg0_phy2: ethernet-phy@4 {
    //		reg = <0x4>;
    //		tx-internal-delay-ps = <250>;
    //		rx-internal-delay-ps = <2000>;
    //	};
    };
    
    &icssg1_mdio {
    	status = "disabled";
    };
    
    

    Are the configurations given for lines 710 and 711 correct?

  • Hello Wanglili,

    "Unsupported resource 5" is expected, and should not have an impact on the internet.

    The R5F changes look good to me.

    I am not very familiar with the internal delay settings - let me check with some team members. Feel free to ping the thread if I have not replied by Thursday.

    Regards,

    Nick

  • Hi,

    I used an oscilloscope to check the TX clock signal and found that it was also present. I also compared it with the RX signal. I also used the real-time core  icssg Ethernet to ping, and the clock signal captured by the oscilloscope was consistent with that under Linux. I do not know what the problem is at the moment. yellow is TX CLK,blue is RX CLK.

    R5FLinux

  • Hi

    I found a strange question.I used phytool command,print this,What could be the problem?

      

  • Hello Wanglili,

    Oscilliscope

    Can you please confirm the Oscilloscope sampling rate? Is it currently 62.5 kSamples / sec?

    If the link is 100Mbit, I would expect a clock speed of 12.5MHz. So the sample rate needs to be greater than 25 million samples per second to capture the signal accurately.

    phytool command 

    I am not sure I understand, what part of that output is concerning?

    Regards,

    Nick

  • Hi,

     confirm the Oscilloscope sampling rate,and modify the rate, in mii mode,clock speed should be 25MHZ.Actually I see the clock speed is 25MHZ.It is correct.

    I do not know the phytool command , if the PHY of DP83620 is normal, should not the read BMCR register be 0XFFFF?  I just found this command on the Internet and operated it. Is it possible that the PHY settings are wrong?

  • Hi,

    I corrected myself. The address I gave when using the phytool command was wrong. My phy address was 3, so it should be phytool print eth2/3, and the result is as follows.

    root@am64xx-evm:~# phytool print eth2/3
    ieee-phy: id:0x20005ce1

    ieee-phy: reg:BMCR(0x00) val:0x3100
    flags: -reset -loopback +aneg-enable -power-down -isolate -aneg-restart -collision-test
    speed: 100-full

    ieee-phy: reg:BMSR(0x01) val:0x78c9
    capabilities: -100-b4 +100-f +100-h +10-f +10-h -100-t2-f -100-t2-h
    flags: -ext-status -aneg-complete -remote-fault +aneg-capable -link -jabber +ext-register

    It seems normal.

  • Hi,

    How about the internal delay settings?I want to know the meanings of these settings.

  • Hi,

    Is there any update? 

  • Hello Wanglili,

    Apologies for the delayed responses here. I have been trying to catch another team member to discuss the details of your thread, and we have just missed each other on both Friday and Monday. Will provide another update tomorrow.

    Regards,

    Nick

  • HI,

    Thank you for telling me. I found an interesting problem. When I changed the “mii-g-rt = <&icssg0_mii_g_rt>;”to “ti,mii-g-rt = <&icssg0_mii_g_rt>;”in dts file,it would appear "icssg-prueth icssg0-eth: couldn't get mii-g-rt syscon regmap";When I changed the “mii-rt = <&icssg0_mii_rt>;;”to “ti,mii-rt = <&icssg0_mii_rt>;”in dts file,it would appear "icssg-prueth icssg0-eth: couldn't get mii-rt syscon regmap".What is the reasion?I am confused.

  • Hello Wanglili,

    clock frequency 

    I was wrong above - 25MHz TX and RX clocks are what we would expect for 100MBit.

    Devicetree file documentation - use the docs from your kernel version 

    When I check Documentation/devicetree/bindings/net/ti,icssg-prueth.yaml for Linux kernel 5.10, I see that the entry mii-g-rt is used. However, when I check for Linux kernel 6.1, I see that the entry is changed to be named ti,mii-g-rt. Make sure to reference the version of the kernel docs that is associated with the kernel version you are using.

    PRU firmware

    Can you please confirm where you got the PRU Ethernet firmware? Are you using the exact binary files that came in SDK 8.6, or different binary files?

    The Linux drivers are only tested with the exact version of the PRU binaries that are packaged in that SDK. If you use binaries and Linux drivers from different SDK releases, things might not work.

    Regards,

    Nick

  • Hi,

    I confirm the kernel version,it is 5.10, so I use mii-g-rt.

    "Can you please confirm where you got the PRU Ethernet firmware? Are you using the exact binary files that came in SDK 8.6, or different binary files?" Do you mean the file "am64x-pru0_0-fw、am65x-sr2-pru0-prueth-fw.elf"and other related file?I used the original image updated with the SD card, and did not change this file separately.

  • Hi,

    Are there any other possibilities at this time?Our project has been delayed for a long time.

  • Hello Wanglili,

    As far as I can tell, pretty much everything looks the way I would expect it to look. There are not any other debug things I am aware of - it seems like your hardware design is probably fine, and your receive signal path is good. It does not seem like there is anything external that would be blocking the TX path, since the clock signal looks fine.

    The next step would be for me to see if I can replicate your observations on an AM64x EVM, to see if there is a Linux software issue. I have been told that AM64x PRU Ethernet MII should work on 8.6, but I have not actually tested myself.

    This could take me a couple of days, I apologize. Monday is a holiday, so feel free to ping the thread if I have not replied by Tuesday.

    Regards,

    Nick

  • Hi,

    Thanks for your follow-up, any results so far?

  • Hi,

    Any progress?

  • I have been waiting for a week, is there any new news?

  • Do you have any results?

  • Hello Wanglili,

    I apologize for the continued delays. I set up a board for testing, and then got sick. I am returning back to work now, but something happened to my remote board setup so I'll need to go reset the system tomorrow. I am discussing your thread with the developers.

    Regards,

    Nick

  • Hi,

    I am very happy to receive your reply and hope to get your answer as soon as possible.

    I have a little doubt, maybe it is related to the MAC address, a random MAC is configured during initialization, and the MAC address displayed when using the ifconfig command is inconsistent with the random configuration. I just thought of this, I don&#39;t know if there is any connection.

  • Hello Wanglili,

    Verification: MII on SDK 8.6 does work on AM64x EVM

    I have confirmed on AM64x EVM, SDK 8.6, I am able to set the port to MII mode, get a link up, and successfully ping my host computer.

    One interesting note is that I do NOT see the TX packets showing up on ethtool -S, though I can see the TX packets with ifconfig -a. So it seems like at least with MII mode, on SDK 8.6, ethtool -S cannot be used as a tool to see if the TX path is working or not.

    root@am64xx-evm:~# uname -a
    Linux am64xx-evm 5.10.168-g2c23e6c538 #1 SMP PREEMPT Mon Feb 27 14:16:24 UTC 2023 aarch64 aarch64 aarch64 GNU/Linux
    root@am64xx-evm:~# dmesg | grep icss
    [    9.341672] icssg-prueth icssg1-eth: TI PRU ethernet driver initialized: dual EMAC mode
    [   12.026850] icssg-prueth icssg1-eth: settime timeout
    [   15.128416] icssg-prueth icssg1-eth eth2: Link is Up - 100Mbps/Full - flow control off
    root@am64xx-evm:~# ifconfig eth2 down
    [  127.310811] icssg-prueth icssg1-eth eth2: Link is Down
    [  127.317954] remoteproc remoteproc16: stopped remote processor 3008c000.txpru
    [  127.325191] remoteproc remoteproc15: stopped remote processor 30086000.rtu
    [  127.332172] remoteproc remoteproc14: stopped remote processor 300b8000.pru
    [  127.341916] net eth2: stopped
    root@am64xx-evm:~# ifconfig eth2 192.164
    [  137.408130] remoteproc remoteproc14: powering up 300b8000.pru
    [  137.414320] remoteproc remoteproc14: Booting fw image ti-pruss/am65x-sr2-pru1-prueth-fw.elf, size 38496
    [  137.438744] remoteproc remoteproc14: unsupported resource 5
    [  137.447916] remoteproc remoteproc14: remote processor 300b8000.pru is now up
    [  137.457060] remoteproc remoteproc15: powering up 30086000.rtu
    [  137.463373] remoteproc remoteproc15: Booting fw image ti-pruss/am65x-sr2-rtu1-prueth-fw.elf, size 30104
    [  137.474404] remoteproc remoteproc15: remote processor 30086000.rtu is now up
    [  137.481715] remoteproc remoteproc16: powering up 3008c000.txpru
    [  137.488717] remoteproc remoteproc16: Booting fw image ti-pruss/am65x-sr2-txpru1-prueth-fw.elf, size 35836
    [  137.498858] remoteproc remoteproc16: remote processor 3008c000.txpru is now up
    [  137.509071] net eth2: started
    [  140.568569] icssg-prueth icssg1-eth eth2: Link is Up - 100Mbps/Full - flow control off
    [  140.576664] IPv6: ADDRCONF(NETDEV_CHANGE): eth2: link becomes ready
    root@am64xx-evm:~# ping 192.168.1.100
    PING 192.168.1.100 (192.168.1.100): 56 data bytes
    64 bytes from 192.168.1.100: seq=0 ttl=64 time=0.996 ms
    64 bytes from 192.168.1.100: seq=1 ttl=64 time=0.690 ms
    64 bytes from 192.168.1.100: seq=2 ttl=64 time=0.631 ms
    64 bytes from 192.168.1.100: seq=3 ttl=64 time=0.501 ms
    64 bytes from 192.168.1.100: seq=4 ttl=64 time=0.632 ms
    64 bytes from 192.168.1.100: seq=5 ttl=64 time=0.608 ms
    64 bytes from 192.168.1.100: seq=6 ttl=64 time=0.663 ms
    ^C
    --- 192.168.1.100 ping statistics ---
    7 packets transmitted, 7 packets received, 0% packet loss
    round-trip min/avg/max = 0.501/0.674/0.996 ms
    root@am64xx-evm:~# ifconfig -a
    ...
    eth2: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500  metric 1
            inet 192.168.1.164  netmask 255.255.255.0  broadcast 192.168.1.255
            inet6 fe80::72ff:76ff:fe1f:3b33  prefixlen 64  scopeid 0x20<link>
            ether 70:ff:76:1f:3b:33  txqueuelen 1000  (Ethernet)
            RX packets 50  bytes 8557 (8.3 KiB)
            RX errors 0  dropped 0  overruns 0  frame 0
            TX packets 77  bytes 11974 (11.6 KiB)
            TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
    ...
    root@am64xx-evm:~# ethtool -S eth2
    NIC statistics:
         rx_good_frames: 54
         rx_broadcast_frames: 21
         rx_multicast_frames: 45
         rx_crc_error_frames: 0
         rx_mii_error_frames: 0
         rx_odd_nibble_frames: 0
         rx_frame_max_size: 12000
         rx_max_size_error_frames: 0
         rx_frame_min_size: 384
         rx_min_size_error_frames: 0
         rx_overrun_frames: 0
         rx_class0_hits: 54
         rx_class1_hits: 0
         rx_class2_hits: 0
         rx_class3_hits: 0
         rx_class4_hits: 0
         rx_class5_hits: 0
         rx_class6_hits: 0
         rx_class7_hits: 0
         rx_class8_hits: 54
         rx_class9_hits: 54
         rx_class10_hits: 0
         rx_class11_hits: 0
         rx_class12_hits: 0
         rx_class13_hits: 0
         rx_class14_hits: 0
         rx_class15_hits: 0
         rx_smd_frags: 0
         rx_bucket1_size: 384
         rx_bucket2_size: 768
         rx_bucket3_size: 1536
         rx_bucket4_size: 3072
         rx_64B_frames: 6
         rx_bucket1_frames: 6
         rx_bucket2_frames: 24
         rx_bucket3_frames: 7
         rx_bucket4_frames: 17
         rx_bucket5_frames: 0
         rx_total_bytes: 9836
         rx_tx_total_bytes: 23210
         tx_good_frames: 0
         tx_broadcast_frames: 0
         tx_multicast_frames: 0
         tx_odd_nibble_frames: 0
         tx_underflow_errors: 0
         tx_frame_max_size: 12000
         tx_max_size_error_frames: 0
         tx_frame_min_size: 384
         tx_min_size_error_frames: 0
         tx_bucket1_size: 384
         tx_bucket2_size: 768
         tx_bucket3_size: 1536
         tx_bucket4_size: 3072
         tx_64B_frames: 0
         tx_bucket1_frames: 0
         tx_bucket2_frames: 0
         tx_bucket3_frames: 0
         tx_bucket4_frames: 0
         tx_bucket5_frames: 0
         tx_total_bytes: 0  

    I did double-check with the board set to RGMII mode, and ethtool -S did seem to count packets properly. So it could just be an issue with MII.

    MAC address? 

    I am not sure whether this would have any impact. I will ask around.

    Regards,

    Nick

  • Hi,

    I saw your results. You used icssg1, and I used icssg0,you are using a DUAL MAC,and I using single MAC. I think the difference is here.If I can not confirm sending via the ethtool -S command, is there any other way to determine my current status?Regarding the MAC address, I think it has nothing to do with this, because I have the same problem after giving it a fixed address.When I turned Ethernet off and on again like you did, the following message appeared:

    root@am64xx-evm:~# uname -a
    Linux am64xx-evm 5.10.168-g2c23e6c538 #1 SMP PREEMPT Thu Aug 22 08:45:07 CST 2024 aarch64 aarch64 aarch64 GNU/Linux
    root@am64xx-evm:~# dmesg | grep icss
    [    8.641057] icssg-prueth icssg0-eth: TI PRU ethernet driver initialized: single EMAC mode
    [   14.249927] icssg-prueth icssg0-eth eth2: Link is Up - 100Mbps/Full - flow control off
    root@am64xx-evm:~# ifconfig eth2 down
    [   57.064804] icssg-prueth icssg0-eth eth2: Link is Down
    [   57.089529] icssg-prueth icssg0-eth eth2: timeout waiting for command done
    [   57.101261] remoteproc remoteproc5: stopped remote processor 3000a000.txpru
    [   57.108411] remoteproc remoteproc3: stopped remote processor 30004000.rtu
    [   57.115400] remoteproc remoteproc2: stopped remote processor 30034000.pru
    [   57.125183] net eth2: stopped
    root@am64xx-evm:~# [   60.114329] Unable to handle kernel NULL pointer dereference at virtual address 0000000000000018
    [   60.123117] Mem abort info:
    [   60.125901]   ESR = 0x96000006
    [   60.128945]   EC = 0x25: DABT (current EL), IL = 32 bits
    [   60.134244]   SET = 0, FnV = 0
    [   60.137288]   EA = 0, S1PTW = 0
    [   60.140418] Data abort info:
    [   60.143288]   ISV = 0, ISS = 0x00000006
    [   60.147112]   CM = 0, WnR = 0
    [   60.150072] user pgtable: 4k pages, 48-bit VAs, pgdp=0000000085da7000
    [   60.156497] [0000000000000018] pgd=0000000085fab003, p4d=0000000085fab003, pud=0000000085e94003, pmd=0000000000000000
    [   60.167099] Internal error: Oops: 96000006 [#1] PREEMPT SMP
    [   60.172658] Modules linked in: wlcore_sdio wl18xx wlcore mac80211 cfg80211 rfkill libarc4 cdns3 udc_core roles usbcore usb_common rpmsg_char irq_pruss_intc icssg_prueth crct10dif_ce pru_rproc icss_iep phy_can_transceiver cdns3_ti rti_wdt ti_k3_r5_remoteproc virtio_rpmsg_bus ti_k3_m4_remoteproc sa2ul sha512_generic pruss authenc rtc_ds1307 m_can_platform m_can at24 can_dev optee_rng rng_core sch_fq_codel ipv6
    [   60.208861] CPU: 0 PID: 557 Comm: irqbalance Not tainted 5.10.168-g2c23e6c538 #1
    [   60.216237] Hardware name: Texas Instruments AM642 EVM (DT)
    [   60.221798] pstate: 60000085 (nZCv daIf -PAN -UAO -TCO BTYPE=--)
    [   60.227803] pc : ti_sci_inta_set_affinity+0x88/0xf8
    [   60.232670] lr : ti_sci_inta_set_affinity+0x88/0xf8
    [   60.237534] sp : ffff800011d3bbe0
    [   60.240838] x29: ffff800011d3bbe0 x28: ffff000000385580
    [   60.246141] x27: 0000000000000000 x26: 0000000000000000
    [   60.251443] x25: 0000000000000000 x24: ffff8000111bb7f8
    [   60.256746] x23: ffff000001576000 x22: 0000000000000000
    [   60.262049] x21: ffff000001527100 x20: ffff000004999c0c
    [   60.267351] x19: ffff800011260af8 x18: 0000000000000000
    [   60.272654] x17: 0000000000000000 x16: 0000000000000000
    [   60.277956] x15: 0000000033e121d0 x14: 0000000000000000
    [   60.283258] x13: 0000000000000000 x12: 0000000000000000
    [   60.288560] x11: 0000000000000040 x10: ffff8000111a0790
    [   60.293863] x9 : ffff8000111a0788 x8 : ffff000000400270
    [   60.299165] x7 : 0000000000000000 x6 : 0000000000000000
    [   60.304468] x5 : ffff000000400248 x4 : ffff000000400270
    [   60.309769] x3 : 0000000000000000 x2 : 0000000000000000
    [   60.315071] x1 : 0000000000000060 x0 : 0000000000000000
    [   60.320375] Call trace:
    [   60.322817]  ti_sci_inta_set_affinity+0x88/0xf8
    [   60.327338]  msi_domain_set_affinity+0x40/0xb8
    [   60.331773]  irq_do_set_affinity+0x174/0x220
    [   60.336033]  irq_set_affinity_locked+0xc8/0x1d8
    [   60.340552]  __irq_set_affinity+0x48/0x78
    [   60.344552]  write_irq_affinity.isra.0+0xf8/0x118
    [   60.349245]  irq_affinity_proc_write+0x24/0x30
    [   60.353680]  proc_reg_write+0xa8/0x100
    [   60.357423]  vfs_write+0xc0/0x368
    [   60.360730]  ksys_write+0x6c/0xf8
    [   60.364035]  __arm64_sys_write+0x1c/0x28
    [   60.367951]  el0_svc_common.constprop.0+0x78/0x1c8
    [   60.372730]  do_el0_svc+0x24/0xa0
    [   60.376039]  el0_svc+0x14/0x20
    [   60.379084]  el0_sync_handler+0xb0/0xb8
    [   60.382912]  el0_sync+0x180/0x1c0
    [   60.386222] Code: a9410e62 a9048c02 b9432280 97eeec0f (f9400c01)
    [   60.392305] ---[ end trace 68fe0c2d52662d78 ]---
    [   60.396914] note: irqbalance[557] exited with preempt_count 2
    2024 Sep 11 08:18:09 am64xx-evm [   60.114329] Unable to handle kernel NULL pointer dereference at virtual address 0000000000000018
    2024 Sep 11 08:18:09 am64xx-evm [   60.123117] Mem abort info:
    2024 Sep 11 08:18:09 am64xx-evm [   60.125901]   ESR = 0x96000006
    2024 Sep 11 08:18:09 am64xx-evm [   60.128945]   EC = 0x25: DABT (current EL), IL = 32 bits
    2024 Sep 11 08:18:09 am64xx-evm [   60.134244]   SET = 0, FnV = 0
    2024 Sep 11 08:18:09 am64xx-evm [   60.137288]   EA = 0, S1PTW = 0
    2024 Sep 11 08:18:09 am64xx-evm [   60.140418] Data abort info:
    2024 Sep 11 08:18:09 am64xx-evm [   60.143288]   ISV = 0, ISS = 0x00000006
    2024 Sep 11 08:18:09 am64xx-evm [   60.147112]   CM = 0, WnR = 0
    2024 Sep 11 08:18:09 am64xx-evm [   60.150072] user pgtable: 4k pages, 48-bit VAs, pgdp=0000000085da7000
    2024 Sep 11 08:18:09 am64xx-evm [   60.156497] [0000000000000018] pgd=0000000085fab003, p4d=0000000085fab003, pud=0000000085e94003, pmd=0000000000000000
    2024 Sep 11 08:18:09 am64xx-evm [   60.167099] Internal error: Oops: 96000006 [#1] PREEMPT SMP
    2024 Sep 11 08:18:09 am64xx-evm [   60.386222] Code: a9410e62 a9048c02 b9432280 97eeec0f (f9400c01)
    2024 Sep 11 08:18:09 am64xx-evm Unable to handle kernel NULL pointer dereference at virtual address 0000000000000018
    2024 Sep 11 08:18:09 am64xx-evm Mem abort info:
    2024 Sep 11 08:18:09 am64xx-evm   ESR = 0x96000006
    2024 Sep 11 08:18:09 am64xx-evm   EC = 0x25: DABT (current EL), IL = 32 bits
    2024 Sep 11 08:18:09 am64xx-evm   SET = 0, FnV = 0
    2024 Sep 11 08:18:09 am64xx-evm   EA = 0, S1PTW = 0
    2024 Sep 11 08:18:09 am64xx-evm Data abort info:
    2024 Sep 11 08:18:09 am64xx-evm   ISV = 0, ISS = 0x00000006
    2024 Sep 11 08:18:09 am64xx-evm   CM = 0, WnR = 0
    2024 Sep 11 08:18:09 am64xx-evm user pgtable: 4k pages, 48-bit VAs, pgdp=0000000085da7000
    2024 Sep 11 08:18:09 am64xx-evm [0000000000000018] pgd=0000000085fab003, p4d=0000000085fab003, pud=0000000085e94003, pmd=0000000000000000
    2024 Sep 11 08:18:09 am64xx-evm Internal error: Oops: 96000006 [#1] PREEMPT SMP
    2024 Sep 11 08:18:09 am64xx-evm Code: a9410e62 a9048c02 b9432280 97eeec0f (f9400c01)
    [  131.772802] Initializing XFRM netlink socket
    [  132.878952] bridge: filtering via arp/ip/ip6tables is no longer available by default. Update your scripts to load br_netfilter if you need this.
    [  132.907379] Bridge firewalling registered
    [  134.290875] process 'docker/tmp/qemu-check434749947/check' started with executable stack
    

  • I also find the different,yours have "settime timeout",mine have not.

  • Hello Wanglili,

    link down errors

    I also observe the same behavior occasionally on MII link down:

    am64xx-evm login: root
    root@am64xx-evm:~# ifconfig eth2 down
    [   35.562946] icssg-prueth icssg1-eth eth2: Link is Down
    [   35.570132] remoteproc remoteproc16: stopped remote processor 3008c000.txpru
    [   35.580760] remoteproc remoteproc15: stopped remote processor 30086000.rtu
    [   35.590055] remoteproc remoteproc14: stopped remote processor 300b8000.pru
    [   35.601336] net eth2: stopped
    root@am64xx-evm:~# ifconfig eth2 192.168.[   41.105204] Unable to handle kernel NULL pointer dereference at virtual address 0000000000000018
    [   41.113992] Mem abort info:
    [   41.116776]   ESR = 0x96000006
    [   41.119821]   EC = 0x25: DABT (current EL), IL = 32 bits
    [   41.125117]   SET = 0, FnV = 0
    [   41.128160]   EA = 0, S1PTW = 0
    [   41.131289] Data abort info:
    [   41.134159]   ISV = 0, ISS = 0x00000006
    [   41.137982]   CM = 0, WnR = 0
    [   41.140942] user pgtable: 4k pages, 48-bit VAs, pgdp=0000000086699000
    [   41.147367] [0000000000000018] pgd=00000000857fa003, p4d=00000000857fa003, pud=000000008644e003, pmd=0000000000000000
    [   41.157968] Internal error: Oops: 96000006 [#1] PREEMPT SMP
    [   41.163526] Modules linked in: wlcore_sdio wl18xx wlcore mac80211 cfg80211 rfkill libarc4 cdns3 udc_core roles usbcore usb_common rpmsg_char irq_pruss_intc crct10dif_ce i
    cssg_prueth pru_rproc icss_iep ti_k3_r5_remoteproc pci_endpoint_test phy_can_transceiver cdns3_ti virtio_rpmsg_bus rti_wdt ti_k3_m4_remoteproc sa2ul sha512_generic authenc p
    russ m_can_platform m_can can_dev optee_rng rng_core eeprom_93xx46 sch_fq_codel cryptodev(O) ipv6
    [   41.202248] CPU: 1 PID: 618 Comm: irqbalance Tainted: G           O      5.10.168-g2c23e6c538 #1
    [   41.211011] Hardware name: Texas Instruments AM642 EVM (DT)
    [   41.216574] pstate: 60000085 (nZCv daIf -PAN -UAO -TCO BTYPE=--)
    [   41.222582] pc : ti_sci_inta_set_affinity+0x88/0xf8
    [   41.227451] lr : ti_sci_inta_set_affinity+0x88/0xf8
    [   41.232315] sp : ffff8000120b3be0
    [   41.235618] x29: ffff8000120b3be0 x28: ffff0000066c0e40
    [   41.240921] x27: 0000000000000000 x26: 0000000000000000
    [   41.246223] x25: 0000000000000000 x24: ffff8000111cb7f8
    [   41.251526] x23: ffff0000015a3a00 x22: 0000000000000000
    [   41.256829] x21: ffff00000158a700 x20: ffff000004293c00
    [   41.262131] x19: ffff800011270af8 x18: 0000000000000000
    [   41.267434] x17: 0000000000000000 x16: 0000000000000000
    [   41.272737] x15: 000000002037d1d0 x14: 0000000000000000
    [   41.278040] x13: 0000000000000000 x12: 0000000000000000
    [   41.283342] x11: 0000000000000040 x10: ffff8000111b0790
    [   41.288645] x9 : ffff8000111b0788 x8 : ffff000000679b88
    [   41.293947] x7 : 0000000000000000 x6 : 0000000000000000
    [   41.299249] x5 : ffff000000679b60 x4 : ffff000000679ca0
    [   41.304551] x3 : 0000000000000000 x2 : 0000000000000000
    [   41.309854] x1 : 0000000000000060 x0 : 0000000000000000
    [1   41.315157] Call trace:
    [   41.317688]  ti_sci_inta_set_affinity+0x88/0xf8
    [   41.322210]  msi_domain_set_affinity+0x40/0xb8
    [   41.326646]  irq_do_set_affinity+0x174/0x220
    [   41.330905]  irq_set_affinity_locked+0xc8/0x1d8
    [   41.335424]  __irq_set_affinity+0x48/0x78
    [   41.339424]  write_irq_affinity.isra.0+0xf8/0x118
    [   41.344117]  irq_affinity_proc_write+0x24/0x30
    [   41.348552]  proc_reg_write+0xa8/0x100
    [   41.352294]  vfs_write+0xc0/0x368
    [   41.355600]  ksys_write+0x6c/0xf8
    [   41.358906]  __arm64_sys_write+0x1c/0x28
    [   41.362822]  el0_svc_common.constprop.0+0x78/0x1c8
    [   41.367602]  do_el0_svc+0x24/0xa0
    [   41.370911]  el0_svc+0x14/0x20
    [   41.373957]  el0_sync_handler+0xb0/0xb8
    [   41.377784]  el0_sync+0x180/0x1c0
    [   41.381095] Code: a9410e62 a9048c02 b9432280 97eeec0f (f9400c01)
    [   41.387178] ---[ end trace 24aa68ec3b3788c2 ]---
    [   41.391788] note: irqbalance[618] exited with preempt_count 2
    .2023 Feb 27 13:25:53 am64xx-evm [   41.105204] Unable to handle kernel NULL pointer dereference at virtual address 0000000000000018
    2023 Feb 27 13:25:53 am64xx-evm [   41.113992] Mem abort info:
    2023 Feb 27 13:25:53 am64xx-evm [   41.116776]   ESR = 0x96000006
    2023 Feb 27 13:25:53 am64xx-evm [   41.119821]   EC = 0x25: DABT (current EL), IL = 32 bits
    2023 Feb 27 13:25:53 am64xx-evm [   41.125117]   SET = 0, FnV = 0
    2023 Feb 27 13:25:53 am64xx-evm [   41.128160]   EA = 0, S1PTW = 0
    2023 Feb 27 13:25:53 am64xx-evm [   41.131289] Data abort info:
    2023 Feb 27 13:25:53 am64xx-evm [   41.134159]   ISV = 0, ISS = 0x00000006
    2023 Feb 27 13:25:53 am64xx-evm [   41.137982]   CM = 0, WnR = 0
    2023 Feb 27 13:25:53 am64xx-evm [   41.140942] user pgtable: 4k pages, 48-bit VAs, pgdp=0000000086699000
    2023 Feb 27 13:25:53 am64xx-evm [   41.147367] [0000000000000018] pgd=00000000857fa003, p4d=00000000857fa003, pud=000000008644e003, pmd=0000000000000000
    2023 Feb 27 13:25:53 am64xx-evm [   41.157968] Internal error: Oops: 96000006 [#1] PREEMPT SMP
    2023 Feb 27 13:25:53 am64xx-evm [   41.381095] Code: a9410e62 a9048c02 b9432280 97eeec0f (f9400c01)
    12023 Feb 27 13:25:53 am64xx-evm Unable to handle kernel NULL pointer dereference at virtual address 0000000000000018
    2023 Feb 27 13:25:53 am64xx-evm Unable to handle kernel NULL pointer dereference at virtual address 0000000000000018
    2023 Feb 27 13:25:53 am64xx-evm Mem abort info:
    2023 Feb 27 13:25:53 am64xx-evm   ESR = 0x96000006
    2023 Feb 27 13:25:53 am64xx-evm   EC = 0x25: DABT (current EL), IL = 32 bits
    2023 Feb 27 13:25:53 am64xx-evm   SET = 0, FnV = 0
    2023 Feb 27 13:25:53 am64xx-evm   EA = 0, S1PTW = 0
    2023 Feb 27 13:25:53 am64xx-evm Data abort info:
    2023 Feb 27 13:25:53 am64xx-evm   ISV = 0, ISS = 0x00000006
    2023 Feb 27 13:25:53 am64xx-evm   CM = 0, WnR = 0
    2023 Feb 27 13:25:53 am64xx-evm user pgtable: 4k pages, 48-bit VAs, pgdp=0000000086699000
    2023 Feb 27 13:25:53 am64xx-evm [0000000000000018] pgd=00000000857fa003, p4d=00000000857fa003, pud=000000008644e003, pmd=0000000000000000
    2023 Feb 27 13:25:53 am64xx-evm Internal error: Oops: 96000006 [#1] PREEMPT SMP
    2023 Feb 27 13:25:53 am64xx-evm Code: a9410e62 a9048c02 b9432280 97eeec0f (f9400c01)
    
    

    I am asking the developer if this is expected on this SDK release.

    Any suggestions on verifying the TX path? 

    If you are able to ping something else, or be pinged by something else, that should be a good indication. ifconfig -a is also giving a count of TX packets that seems reasonable for me.

    For example, I showed in my previous response what I am doing to test on my local network where I've assigned static IP addresses of 192.168.1.XXX to the EVMs and my PC.

    Regards,

    Nick

  • Hi,

    I currently use the ifconfig -a command, and the TX and RX packets are all there, but I can not ping the computer. I also use a static IP, my PC is 192.168.5.253, and the EVM is set to 192.168.5.32.

    I want to know about  Why does it appear “icssg-prueth icssg0-eth eth2: xmit timeout”?

    And I use icssg0,you use icssg1,Is there some difference?

  • How can I know which PHY driver I am using?The current chip I am using is DP83620, and its ID should be 0x20005ce1. This is also the value I read out through the phytool command, however, the PHY related information printed when printing is“ davinci_mdio 30032400.mdio: phy[3]: device 30032400.mdio:03, driver TI DP83620 10/100 Mbps PHY”,I saw this name in DP83848.c file, but the ID defined in this file is 0x20005ce0.I think it should not match this driver, it should be the general PHY driver on MII mode, but I can not find the relevant files of the general PHY driver.I have doubts about this part. Can you explain in detail the process of finding the corresponding driver?

    DP83848.C
    
    #define TI_DP83848C_PHY_ID		0x20005ca0
    #define TI_DP83620_PHY_ID		0x20005ce0
    #define NS_DP83848C_PHY_ID		0x20005c90
    #define TLK10X_PHY_ID			0x2000a210
    
    static struct phy_driver dp83848_driver[] = {
    	DP83848_PHY_DRIVER(TI_DP83848C_PHY_ID, "TI DP83848C 10/100 Mbps PHY",
    			   NULL),
    	DP83848_PHY_DRIVER(NS_DP83848C_PHY_ID, "NS DP83848C 10/100 Mbps PHY",
    			   NULL),
    	DP83848_PHY_DRIVER(TI_DP83620_PHY_ID, "TI DP83620 10/100 Mbps PHY",
    			   dp83848_config_init),
    	DP83848_PHY_DRIVER(TLK10X_PHY_ID, "TI TLK10X 10/100 Mbps PHY",
    			   NULL),
    };
    
    Use phytool command to check phy ID
    root@am64xx-evm:~# phytool print eth2/3/2
    ieee-phy: reg:0x02 val:0x2000
    root@am64xx-evm:~# phytool print eth2/3/3
    ieee-phy: reg:0x03 val:0x5ce1
    

    I have two questions,hope you can answer all.

    Regards!