This thread has been locked.

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

AM6421: PRU_ETH does not work on ICSSG0 pru0 interface

Part Number: AM6421

Tool/software:

  We are adding  DP83822 phy on linux as pru_eth on icssg0.

we are using processor SDK RT-Linux 11.01.05.03 on A53 with Linux

 - able to identify the Phy.

Phy is interfaced as RGMII.

  We are getting below error while boot log.

[   12.938466] TI DP83822 30032400.mdio:00:  dp83822_read_straps
[   12.947166] TI DP83822 30032400.mdio:00: dp83822_read_straps : After phy_read_mmd  SOR1 strap register: 0x4203
[   12.947199] TI DP83822 30032400.mdio:00: dp83822_probe 
[   12.974194] davinci_mdio 30032400.mdio: phy[0]: device 30032400.mdio:00, driver TI DP83822

[   13.676802] remoteproc remoteproc3: 3000a000.txpru is available
[   13.696255] remoteproc remoteproc4: 3000c000.txpru is available
[   14.728711] remoteproc remoteproc5: 30034000.pru is available
[   14.752814] remoteproc remoteproc6: 30004000.rtu is available
[   14.773881] remoteproc remoteproc7: 30038000.pru is available
[   14.789816] remoteproc remoteproc8: 30006000.rtu is available

[   14.804403] icssg-prueth icssg0-eth: probe with driver icssg-prueth failed with error -2

Our modified device tree

  

  icssg0_eth: icssg0-eth {

            bootph-all;
            status = "okay";
            
            compatible = "ti,am642-icssg-prueth";
            pinctrl-names = "default";
            pinctrl-0 = <&icssg0_rgmii_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>;        //check this later if iep1 to be removed.

                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 = "rgmii-rxid";
                    syscon-rgmii-delay = <&main_conf 0x4100>;
                    /* Filled in by bootloader */
                    local-mac-address = [00 00 00 00 00 00];
                    /*status = "disabled";*/
                    /*fixed-link {
                    speed = <1000>;
                    full-duplex;
                    };*/// commented by us
                };

                /*icssg0_emac1: ethernet-mii1 {
                    phy-handle = <&icssg0_phy1>;
                    phy-mode = "rgmii-rxid";
                    syscon-rgmii-delay = <&main_conf 0x4104>;
                    // Filled in by bootloader 
                    local-mac-address = [00 00 00 00 00 00];
                    //status = "disabled";
                    fixed-link {
                    speed = <1000>;
                    full-duplex;
                    };
                };*/ // commented by us            
    };


    icssg0_mdio_pins_default: icssg0_mdio_pins-default-pins {
        pinctrl-single,pins = <
            AM64X_IOPAD(0x0204, PIN_OUTPUT, 0) //(P3) PRG0_MDIO0_MDC 
            AM64X_IOPAD(0x0200, PIN_INPUT, 0) // (P2) PRG0_MDIO0_MDIO 
        >;
    };
    icssg0_rgmii_pins_default: icssg0_rgmii_pins-default-pins {
        pinctrl-single,pins = <
            AM64X_IOPAD(0x0160, PIN_INPUT, 2) // (Y1) PRG0_PRU0_GPO0.PRG0_RGMII1_RD0
            AM64X_IOPAD(0x0164, PIN_INPUT, 2) // (R4) PRG0_PRU0_GPO1.PRG0_RGMII1_RD1
            AM64X_IOPAD(0x0168, PIN_INPUT, 2) // (U2) PRG0_PRU0_GPO2.PRG0_RGMII1_RD2
            AM64X_IOPAD(0x016c, PIN_INPUT, 2) // (V2) PRG0_PRU0_GPO3.PRG0_RGMII1_RD3
            AM64X_IOPAD(0x0178, PIN_INPUT, 2) // (T3) PRG0_PRU0_GPO6.PRG0_RGMII1_RXC
            AM64X_IOPAD(0x0170, PIN_INPUT, 2) // (AA2) PRG0_PRU0_GPO4.PRG0_RGMII1_RX_CTL
            AM64X_IOPAD(0x018c, PIN_OUTPUT, 2) // (Y3) PRG0_PRU0_GPO11.PRG0_RGMII1_TD0
            AM64X_IOPAD(0x0190, PIN_OUTPUT, 2) // (AA3) PRG0_PRU0_GPO12.PRG0_RGMII1_TD1
            AM64X_IOPAD(0x0194, PIN_OUTPUT, 2) // (R6) PRG0_PRU0_GPO13.PRG0_RGMII1_TD2
            AM64X_IOPAD(0x0198, PIN_OUTPUT, 2) // (V4) PRG0_PRU0_GPO14.PRG0_RGMII1_TD3
            AM64X_IOPAD(0x01a0, PIN_OUTPUT, 2) // (U4) PRG0_PRU0_GPO16.PRG0_RGMII1_TXC
            AM64X_IOPAD(0x019c, PIN_OUTPUT, 2) // (T5) PRG0_PRU0_GPO15.PRG0_RGMII1_TX_CTL                    
        >;                
    };

&icssg0_mdio {

    status = "okay";
    pinctrl-names = "default";
    pinctrl-0 = <&icssg0_mdio_pins_default>;
    #address-cells = <1>;
    #size-cells = <0>;

    icssg0_phy0: ethernet-phy@0 {
        reg = <0>;
        ti,rx-internal-delay = <DP83867_RGMIIDCTL_2_00_NS>;        //check later
        ti,fifo-depth = <DP83867_PHYCR_FIFO_DEPTH_4_B_NIB>;        //check later
    };
    /*icssg0_phy1: ethernet-phy@1 {
        reg = <1>;
        ti,rx-internal-delay = <DP83867_RGMIIDCTL_2_00_NS>;
        ti,fifo-depth = <DP83867_PHYCR_FIFO_DEPTH_4_B_NIB>;
    };*/
};

 THe hardware is verifed with MCU+SDK and is working fine.

  • Hi,

          Any Update on the requested issue.

    Thank You.

  • Hi,

          Any Update on the requested issue.

          We have a delivery schedule for customer.

    Thank You.

  • Hi Narasimha,

    After reviewing your DTS I have the below comments/suggestions for what needs to be changed:

    1. Since you're using SDK 11.01.05.03, the PRU-ICSSG firmware binaries that need to be used should be "ti-pruss/am64x-sr2-" instead of "ti-pruss/am65x-sr2-". 

    sram = <&oc_sram>;
        ti,prus = <&pru0_0>, <&rtu0_0>, <&tx_pru0_0>, <&pru0_1>, <&rtu0_1>, <&tx_pru0_1>;
        firmware-name = "ti-pruss/am64x-sr2-pru0-prueth-fw.elf",
        "ti-pruss/am64x-sr2-rtu0-prueth-fw.elf",
        "ti-pruss/am64x-sr2-txpru0-prueth-fw.elf",
        "ti-pruss/am64x-sr2-pru1-prueth-fw.elf",
        "ti-pruss/am64x-sr2-rtu1-prueth-fw.elf",
        "ti-pruss/am64x-sr2-txpru1-prueth-fw.elf";

    You should see the exact name of the binaries in the boot logs. It should look like the below

    [   77.781725] remoteproc remoteproc13: powering up 300b4000.pru
    [   77.783470] remoteproc remoteproc13: Booting fw image ti-pruss/am64x-sr2-pru0-prueth-fw.elf, size 39724
    [   77.783513] remoteproc remoteproc13: unsupported resource 5
    [   77.783543] remoteproc remoteproc13: remote processor 300b4000.pru is now up
    [   77.783583] remoteproc remoteproc14: powering up 30084000.rtu
    [   77.783721] remoteproc remoteproc14: Booting fw image ti-pruss/am64x-sr2-rtu0-prueth-fw.elf, size 32052
    [   77.786320] remoteproc remoteproc14: remote processor 30084000.rtu is now up
    [   77.786392] remoteproc remoteproc7: powering up 3008a000.txpru
    [   77.786639] remoteproc remoteproc7: Booting fw image ti-pruss/am64x-sr2-txpru0-prueth-fw.elf, size 39272
    [   77.786690] remoteproc remoteproc7: remote processor 3008a000.txpru is now up
    [   77.786716] remoteproc remoteproc11: powering up 300b8000.pru
    [   77.787645] remoteproc remoteproc11: Booting fw image ti-pruss/am64x-sr2-pru1-prueth-fw.elf, size 39884
    [   77.787683] remoteproc remoteproc11: unsupported resource 5
    [   77.787712] remoteproc remoteproc11: remote processor 300b8000.pru is now up
    [   77.787745] remoteproc remoteproc12: powering up 30086000.rtu
    [   77.787953] remoteproc remoteproc12: Booting fw image ti-pruss/am64x-sr2-rtu1-prueth-fw.elf, size 31284
    [   77.787988] remoteproc remoteproc12: remote processor 30086000.rtu is now up
    [   77.788011] remoteproc remoteproc8: powering up 3008c000.txpru
    [   77.788136] remoteproc remoteproc8: Booting fw image ti-pruss/am64x-sr2-txpru1-prueth-fw.elf, size 37760
    [   77.788167] remoteproc remoteproc8: remote processor 3008c000.txpru is now up

    2. Please try changing the 2nd cell in the dma configuration to 0 from the original 15.

    dmas = <&main_pktdma 0xc100 0>, /* egress slice 0 */
            <&main_pktdma 0xc101 0>, /* egress slice 0 */
            <&main_pktdma 0xc102 0>, /* egress slice 0 */
            <&main_pktdma 0xc103 0>, /* egress slice 0 */
            <&main_pktdma 0xc104 0>, /* egress slice 1 */
            <&main_pktdma 0xc105 0>, /* egress slice 1 */
            <&main_pktdma 0xc106 0>, /* egress slice 1 */
            <&main_pktdma 0xc107 0>, /* egress slice 1 */
            <&main_pktdma 0x4100 0>, /* ingress slice 0 */
            <&main_pktdma 0x4101 0>, /* 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";

    3. Depending on the Linux Kernel version, the icssg0_emac0: ethernet-mii0 configuration format can change. From my understanding, Linux Kernel 6.12 uses the "icssg0_emac0: port@0" format (6.12 used on SDK 11.01.05.03). Please change to the port@0 format. 

    4. Do you have two PHYs that are connected to ICSSG0? In your DTS you have both "icssg0_phy0" and "icssg0_phy1"; however, you also only configured the pinmux for rgmii1 (icssg0_rgmii_pins_default) but did not add the pinmux configuration for rgmii2. You need both rgmii1 and rgmii2 if you are configuring two PHYs.

    5. Since you are using DP83822 and not DP83867, you shouldn't use the DP83867 configuration in the lines below

        icssg0_phy0: ethernet-phy@0 {
            reg = <0>;
            ti,rx-internal-delay = <DP83867_RGMIIDCTL_2_00_NS>;        //check later
            ti,fifo-depth = <DP83867_PHYCR_FIFO_DEPTH_4_B_NIB>;        //check later
        };
        /*icssg0_phy1: ethernet-phy@1 {
            reg = <1>;
            ti,rx-internal-delay = <DP83867_RGMIIDCTL_2_00_NS>;
            ti,fifo-depth = <DP83867_PHYCR_FIFO_DEPTH_4_B_NIB>;

    Let me know if there are issues after applying these changes.

    -Daolin

  • Hi Daolin,

                   Thank you for the response.

             WE have made the changes suggested and below is our changed DTS

                      

    
    aliases {
    	
    		ethernet2 = &icssg0_emac0;	//added by us
    	};
    
    icssg0_eth: icssg0-eth {
    
    			bootph-all;
    			status = "okay";
    			
    			compatible = "ti,am642-icssg-prueth";
    			pinctrl-names = "default";
    			pinctrl-0 = <&icssg0_rgmii_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/am64x-sr2-pru0-prueth-fw.elf",
    						"ti-pruss/am64x-sr2-rtu0-prueth-fw.elf",
    						"ti-pruss/am64x-sr2-txpru0-prueth-fw.elf",
    						"ti-pruss/am64x-sr2-pru1-prueth-fw.elf",
    						"ti-pruss/am64x-sr2-rtu1-prueth-fw.elf",
    						"ti-pruss/am64x-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>;		//check this later if iep1 to be removed.
    
    				interrupt-parent = <&icssg0_intc>;
    				interrupts = <24 0 2>, <25 1 3>;
    				interrupt-names = "tx_ts0", "tx_ts1";
    
    				dmas = <&main_pktdma 0xc100 0>, /* egress slice 0 */
    				<&main_pktdma 0xc101 0>, /* egress slice 0 */
    				<&main_pktdma 0xc102 0>, /* egress slice 0 */
    				<&main_pktdma 0xc103 0>, /* egress slice 0 */
    				<&main_pktdma 0xc104 0>, /* egress slice 1 */
    				<&main_pktdma 0xc105 0>, /* egress slice 1 */
    				<&main_pktdma 0xc106 0>, /* egress slice 1 */
    				<&main_pktdma 0xc107 0>, /* egress slice 1 */
    				<&main_pktdma 0x4100 0>, /* ingress slice 0 */
    				<&main_pktdma 0x4101 0>, /* 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: port@0 {
    					phy-handle = <&icssg0_phy0>;
    					phy-mode = "rgmii-rxid";
    					syscon-rgmii-delay = <&main_conf 0x4100>;
    					/* Filled in by bootloader */
    					local-mac-address = [00 00 00 00 00 00];
    					status = "okay";
    					/*fixed-link {
    					speed = <100>; //<1000>;
    					full-duplex;
    					};*/// commented by us
    				};
    					
    	};
    
    &icssg0_mdio {
    
    	status = "okay";
    	//compatible = "ti,davinci_mdio";
    	pinctrl-names = "default";
    	pinctrl-0 = <&icssg0_mdio_pins_default>;
    	#address-cells = <1>;
    	#size-cells = <0>;
    
    	icssg0_phy0: ethernet-phy@0 {
    		bootph-all;
    		status = "okay";
    		reg = <0>;
    		//gpio = <&main_gpio0 12 GPIO_ACTIVE_HIGH>;	//COMMENTED BY US
    		
    
    		rx-internal-delay-ps = <1>;
            tx-internal-delay-ps = <1>;
    	};
    	
    };

    but we are not getting the boot log as you mentioned.

    Below is our Boot log

    root@am64xx-evm:~# dmesg | grep remote*
    [   12.897284] platform 78000000.r5f: configured R5F for remoteproc mode
    [   12.912834] remoteproc remoteproc0: 78000000.r5f is available
    [   12.959180] platform 78400000.r5f: configured R5F for remoteproc mode
    [   12.983740] remoteproc remoteproc1: 78400000.r5f is available
    [   13.101520] remoteproc remoteproc0: powering up 78000000.r5f
    [   13.101556] remoteproc remoteproc0: Booting fw image am64-main-r5f0_0-fw, size 2011192
    [   13.156379] remoteproc remoteproc1: powering up 78400000.r5f
    [   13.156415] remoteproc remoteproc1: Booting fw image am64-main-r5f1_0-fw, size 1692648
    [   13.156872] remoteproc remoteproc0: remote processor 78000000.r5f is now up
    [   13.210238] k3-m4-rproc 5000000.m4fss: configured M4F for remoteproc mode
    [   13.229258] remoteproc remoteproc2: 5000000.m4fss is available
    [   13.238546] remoteproc remoteproc1: remote processor 78400000.r5f is now up
    [   13.280334] remoteproc remoteproc2: powering up 5000000.m4fss
    [   13.280370] remoteproc remoteproc2: Booting fw image am64-mcu-m4f0_0-fw, size 88248
    [   13.362086] remoteproc remoteproc2: remote processor 5000000.m4fss is now up
    [   13.764309] remoteproc remoteproc3: 3000a000.txpru is available
    [   13.781285] remoteproc remoteproc4: 3000c000.txpru is available
    [   14.676700] remoteproc remoteproc5: 30034000.pru is available
    [   14.694228] remoteproc remoteproc6: 30004000.rtu is available
    [   14.719577] remoteproc remoteproc7: 30038000.pru is available
    [   14.738810] remoteproc remoteproc8: 30006000.rtu is available
    
    
    root@am64xx-evm:~# dmesg | grep icssg 
    [   12.529271] mdio_bus 30032400.mdio: using DT '/bus@f4000/icssg@30000000/mdio@32400' for 'reset' GPIO lookup
    [   12.529331] of_get_named_gpiod_flags: can't parse 'reset-gpios' property of node '/bus@f4000/icssg@30000000/mdio@32400[0]'
    [   12.529357] of_get_named_gpiod_flags: can't parse 'reset-gpio' property of node '/bus@f4000/icssg@30000000/mdio@32400[0]'
    [   12.707397] mdio_bus 30032400.mdio:00: using DT '/bus@f4000/icssg@30000000/mdio@32400/ethernet-phy@0' for 'reset' GPIO lookup
    [   12.707451] of_get_named_gpiod_flags: can't parse 'reset-gpios' property of node '/bus@f4000/icssg@30000000/mdio@32400/ethernet-phy@0[0]'
    [   12.707479] of_get_named_gpiod_flags: can't parse 'reset-gpio' property of node '/bus@f4000/icssg@30000000/mdio@32400/ethernet-phy@0[0]'
    
    root@am64xx-evm:~# head /sys/class/remoteproc/remoteproc*/name
    ==> /sys/class/remoteproc/remoteproc0/name <==
    78000000.r5f
    
    ==> /sys/class/remoteproc/remoteproc1/name <==
    78400000.r5f
    
    ==> /sys/class/remoteproc/remoteproc2/name <==
    5000000.m4fss
    
    ==> /sys/class/remoteproc/remoteproc3/name <==
    3000a000.txpru
    
    ==> /sys/class/remoteproc/remoteproc4/name <==
    3000c000.txpru
    
    ==> /sys/class/remoteproc/remoteproc5/name <==
    30034000.pru
    
    ==> /sys/class/remoteproc/remoteproc6/name <==
    30004000.rtu
    
    ==> /sys/class/remoteproc/remoteproc7/name <==
    30038000.pru
    
    ==> /sys/class/remoteproc/remoteproc8/name <==
    30006000.rtu
    
    root@am64xx-evm:~# lsmod | grep pru
    irq_pruss_intc         12288  0
    pru_rproc              20480  1 icssg
    pruss                  12288  2 icssg,pru_rproc
    
    
    root@am64xx-evm:~# cat /sys/class/remoteproc/remoteproc3/state
    offline
    root@am64xx-evm:~# cat /sys/class/remoteproc/remoteproc4/state
    offline
    root@am64xx-evm:~# cat /sys/class/remoteproc/remoteproc5/state
    offline
    root@am64xx-evm:~# cat /sys/class/remoteproc/remoteproc6/state
    offline
    root@am64xx-evm:~# cat /sys/class/remoteproc/remoteproc7/state
    offline
    root@am64xx-evm:~# cat /sys/class/remoteproc/remoteproc8/state
    offline
    

    Please suggest if any further changes to be done.

    Thank You.

  • Hi Narasimha, 

    Can you share the full boot log?

    -Daolin

  • Hi Daolin,

               Please find the Full Boot Log as requested.

                 Your quick response is appreciated.

    U-Boot SPL 2025.01-gd2a72467939e-dirty (Oct 09 2025 - 11:50:26 +0530)
    Resetting on cold boot to workaround ErrataID:i2331
    Please resend tiboot3.bin in case of UART/DFU boot
    resetting ...
    
    U-Boot SPL 2025.01-gd2a72467939e-dirty (Oct 09 2025 - 11:50:26 +0530)
    SYSFW ABI: 4.0 (firmware rev 0x000b '11.1.2--v11.01.02 (Fancy Rat)')
    EEPROM not available at 0x50, trying to read at 0x51
    Reading on-board EEPROM at 0x51 failed -121
    SPL initial stack usage: 13504 bytes
    dram_init_banksize : chnaged to 1GB
    dram_init_banksize : chnaged to 1GB
    Trying to boot from MMC2
    Authentication passed
    Authentication passed
    Loading Environment from nowhere... OK
    Authentication passed
    Authentication passed
    Starting ATF on ARM64 core...
    
    NOTICE:  BL31: v2.13.0(release):v2.13.0-240-gd90bb650fe-dirty
    NOTICE:  BL31: Built : 21:37:18, Jun 23 2025
    I/TC: 
    I/TC: OP-TEE version: 4.6.0-dev (gcc version 13.4.0 (GCC)) #1 Fri Apr 25 11:17:53 UTC 2025 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: GIC redistributor base address not provided
    I/TC: Assuming default GIC group status and modifier
    I/TC: SYSFW ABI: 4.0 (firmware rev 0x000b '11.1.2--v11.01.02 (Fancy Rat)')
    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: HUK Initialized
    I/TC: Primary CPU switching to normal world boot
    
    U-Boot SPL 2025.01-gd2a72467939e-dirty (Oct 09 2025 - 11:50:40 +0530)
    SYSFW ABI: 4.0 (firmware rev 0x000b '11.1.2--v11.01.02 (Fancy Rat)')
    EEPROM not available at 0x50, trying to read at 0x51
    Reading on-board EEPROM at 0x51 failed -121
    dram_init_banksize : chnaged to 1GB
    dram_init_banksize : chnaged to 1GB
    Trying to boot from MMC2
    Authentication passed
    Authentication passed
    dram_init : chnaged to 1GB
    dram_init_banksize : chnaged to 1GB
    
    
    U-Boot 2025.01-gd2a72467939e-dirty (Sep 29 2025 - 16:03:55 +0530)
    
    SoC:   AM64X SR2.0 HS-FS
    Model: Texas Instruments AM642 EVM
    EEPROM not available at 0x50, trying to read at 0x51
    Reading on-board EEPROM at 0x51 failed -121
    DRAM:  1 GiB
    Core:  103 devices, 32 uclasses, devicetree: separate
    MMC:   mmc@fa10000: 0, mmc@fa00000: 1
    Loading Environment from nowhere... OK
    In:    serial@2800000
    Out:   serial@2800000
    Err:   serial@2800000
    EEPROM not available at 0x50, trying to read at 0x51
    Reading on-board EEPROM at 0x51 failed -121
    Net:   eth0: ethernet@8000000port@1Could not get PHY for mdio@32400: addr 15
    prueth_port icssg1-eth-port@0: phy_connect() failed
    
    Hit any key to stop autoboot:  2  1  0 
    switch to partitions #0, OK
    mmc1 is current device
    SD/MMC found on device 1
    574 bytes read in 1 ms (560.5 KiB/s)
    Loaded env from uEnv.txt
    Importing environment from mmc1 ...
    14045696 bytes read in 579 ms (23.1 MiB/s)
    61085 bytes read in 7 ms (8.3 MiB/s)
    Working FDT set to 88000000
    ## Flattened Device Tree blob at 88000000
       Booting using the fdt blob at 0x88000000
    Working FDT set to 88000000
       Loading Device Tree to 000000008feee000, end 000000008fffffff ... OK
    Working FDT set to 8feee000
    
    Starting kernel ...
    
    [    0.000000] Booting Linux on physical CPU 0x0000000000 [0x410fd034]
    [    0.000000] Linux version 6.12.35imi-v1.0-ge3e551586dfa-dirty (tummalanr@lapunix-tummalanr) (aarch64-oe-linux-gcc (GCC) 13.4.0, GNU ld (GNU Binutils) 2.42.0.20240723) #13 SMP PREEMPT_RT Tue Oct 21 14:32:23 IST 2025
    [    0.000000] Machine model: Texas Instruments AM642 EVM
    [    0.000000] earlycon: ns16550a0 at MMIO32 0x0000000002800000 (options '')
    [    0.000000] printk: legacy bootconsole [ns16550a0] enabled
    [    0.000000] efi: UEFI not found.
    [    0.000000] OF: reserved mem: 0x000000009e800000..0x000000009fffffff (24576 KiB) nomap non-reusable optee@9e800000
    [    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] OF: reserved mem: 0x00000000a0000000..0x00000000a00fffff (1024 KiB) nomap non-reusable r5f-dma-memory@a0000000
    [    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] OF: reserved mem: 0x00000000a0100000..0x00000000a0ffffff (15360 KiB) nomap non-reusable r5f-memory@a0100000
    [    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] OF: reserved mem: 0x00000000a2000000..0x00000000a20fffff (1024 KiB) nomap non-reusable r5f-dma-memory@a2000000
    [    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] OF: reserved mem: 0x00000000a2100000..0x00000000a2ffffff (15360 KiB) nomap non-reusable r5f-memory@a2100000
    [    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] OF: reserved mem: 0x00000000a4000000..0x00000000a40fffff (1024 KiB) nomap non-reusable m4f-dma-memory@a4000000
    [    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] OF: reserved mem: 0x00000000a4100000..0x00000000a4ffffff (15360 KiB) nomap non-reusable m4f-memory@a4100000
    [    0.000000] OF: reserved mem: 0x00000000a5000000..0x00000000a57fffff (8192 KiB) nomap non-reusable ipc-memories@a5000000
    [    0.000000] OF: reserved mem: initialized node apps-shared-memory@a7000000, compatible id dma-heap-carveout
    [    0.000000] OF: reserved mem: 0x00000000a7000000..0x00000000a8ffffff (32768 KiB) nomap non-reusable apps-shared-memory@a7000000
    [    0.000000] Zone ranges:
    [    0.000000]   DMA      [mem 0x0000000080000000-0x00000000bfffffff]
    [    0.000000]   DMA32    empty
    [    0.000000]   Normal   empty
    [    0.000000] Movable zone start for each node
    [    0.000000] Early memory node ranges
    [    0.000000]   node   0: [mem 0x0000000080000000-0x000000009e7fffff]
    [    0.000000]   node   0: [mem 0x000000009e800000-0x00000000a0ffffff]
    [    0.000000]   node   0: [mem 0x00000000a1000000-0x00000000a1ffffff]
    [    0.000000]   node   0: [mem 0x00000000a2000000-0x00000000a2ffffff]
    [    0.000000]   node   0: [mem 0x00000000a3000000-0x00000000a3ffffff]
    [    0.000000]   node   0: [mem 0x00000000a4000000-0x00000000a57fffff]
    [    0.000000]   node   0: [mem 0x00000000a5800000-0x00000000a6ffffff]
    [    0.000000]   node   0: [mem 0x00000000a7000000-0x00000000a8ffffff]
    [    0.000000]   node   0: [mem 0x00000000a9000000-0x00000000bfffffff]
    [    0.000000] Initmem setup node 0 [mem 0x0000000080000000-0x00000000bfffffff]
    [    0.000000] cma: Reserved 32 MiB at 0x00000000bce00000 on node -1
    [    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.5
    [    0.000000] percpu: Embedded 23 pages/cpu s55408 r8192 d30608 u94208
    [    0.000000] Detected VIPT I-cache on CPU0
    [    0.000000] CPU features: detected: GIC system register CPU interface
    [    0.000000] CPU features: kernel page table isolation disabled by kernel configuration
    [    0.000000] CPU features: detected: ARM erratum 845719
    [    0.000000] alternatives: applying boot alternatives
    [    0.000000] Kernel command line: console=ttyS2,115200n8 earlycon=ns16550a,mmio32,0x02800000 root=PARTUUID=076c4a2a-02 rw rootfstype=ext4 rootwait
    [    0.000000] Dentry cache hash table entries: 131072 (order: 8, 1048576 bytes, linear)
    [    0.000000] Inode-cache hash table entries: 65536 (order: 7, 524288 bytes, linear)
    [    0.000000] Built 1 zonelists, mobility grouping on.  Total pages: 262144
    [    0.000000] mem auto-init: stack:all(zero), heap alloc:off, heap free:off
    [    0.000000] software IO TLB: SWIOTLB bounce buffer size adjusted to 1MB
    [    0.000000] software IO TLB: area num 1.
    [    0.000000] software IO TLB: mapped [mem 0x00000000bcd00000-0x00000000bce00000] (1MB)
    [    0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
    [    0.000000] rcu: Preemptible hierarchical RCU implementation.
    [    0.000000] rcu: 	RCU restricting CPUs from NR_CPUS=512 to nr_cpu_ids=1.
    [    0.000000] rcu: 	RCU_SOFTIRQ processing moved to rcuc kthreads.
    [    0.000000] 	No expedited grace period (rcu_normal_after_boot).
    [    0.000000] rcu: RCU calculated value of scheduler-enlistment delay is 100 jiffies.
    [    0.000000] rcu: Adjusting geometry for rcu_fanout_leaf=16, nr_cpu_ids=1
    [    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] Root IRQ handler: 0xffff8000800100bc
    [    0.000000] GICv3: GICv3 features: 16 PPIs
    [    0.000000] GICv3: GICD_CTRL.DS=0, SCR_EL3.FIQ=1
    [    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] rcu: srcu_init: Setting srcu_struct sizes based on contention.
    [    0.000000] arch_timer: cp15 timer(s) running at 200.00MHz (phys).
    [    0.000000] clocksource: arch_sys_counter: mask: 0x3ffffffffffffff max_cycles: 0x2e2049d3e8, max_idle_ns: 440795210634 ns
    [    0.000001] sched_clock: 58 bits at 200MHz, resolution 5ns, wraps every 4398046511102ns
    [    0.000422] Console: colour dummy device 80x25
    [    0.000488] Calibrating delay loop (skipped), value calculated using timer frequency.. 400.00 BogoMIPS (lpj=200000)
    [    0.000501] pid_max: default: 32768 minimum: 301
    [    0.000582] LSM: initializing lsm=capability
    [    0.000744] Mount-cache hash table entries: 2048 (order: 2, 16384 bytes, linear)
    [    0.000762] Mountpoint-cache hash table entries: 2048 (order: 2, 16384 bytes, linear)
    [    0.002945] rcu: Hierarchical SRCU implementation.
    [    0.002989] rcu: 	Max phase no-delay instances is 400.
    [    0.089750] EFI services will not be available.
    [    0.098016] smp: Bringing up secondary CPUs ...
    [    0.098045] smp: Brought up 1 node, 1 CPU
    [    0.098051] SMP: Total of 1 processors activated.
    [    0.098055] CPU: All CPU(s) started at EL2
    [    0.098062] CPU features: detected: 32-bit EL0 Support
    [    0.098069] CPU features: detected: CRC32 instructions
    [    0.107193] alternatives: applying system-wide alternatives
    [    0.107653] Memory: 860688K/1048576K available (8960K kernel code, 980K rwdata, 1860K rodata, 1792K init, 584K bss, 148512K reserved, 32768K cma-reserved)
    [    0.176601] devtmpfs: initialized
    [    0.771206] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 1911260446275000 ns
    [    0.771242] futex hash table entries: 256 (order: 2, 16384 bytes, linear)
    [    0.789398] 29168 pages in range for non-PLT usage
    [    0.789416] 520688 pages in range for PLT usage
    [    0.794756] pinctrl core: initialized pinctrl subsystem
    [    0.795480] DMI not present or invalid.
    [    0.803173] NET: Registered PF_NETLINK/PF_ROUTE protocol family
    [    0.817510] DMA: preallocated 128 KiB GFP_KERNEL pool for atomic allocations
    [    0.825313] DMA: preallocated 128 KiB GFP_KERNEL|GFP_DMA pool for atomic allocations
    [    0.834255] DMA: preallocated 128 KiB GFP_KERNEL|GFP_DMA32 pool for atomic allocations
    [    0.834377] audit: initializing netlink subsys (disabled)
    [    0.834649] audit: type=2000 audit(0.831:1): state=initialized audit_enabled=0 res=1
    [    0.839367] thermal_sys: Registered thermal governor 'step_wise'
    [    0.839601] ASID allocator initialised with 65536 entries
    [    0.874849] /bus@f4000/interrupt-controller@1800000: Fixed dependency cycle(s) with /bus@f4000/interrupt-controller@1800000
    [    0.897465] HugeTLB: registered 1.00 GiB page size, pre-allocated 0 pages
    [    0.897482] HugeTLB: 0 KiB vmemmap can be freed for a 1.00 GiB page
    [    0.897488] HugeTLB: registered 32.0 MiB page size, pre-allocated 0 pages
    [    0.897491] HugeTLB: 0 KiB vmemmap can be freed for a 32.0 MiB page
    [    0.897496] HugeTLB: registered 2.00 MiB page size, pre-allocated 0 pages
    [    0.897500] HugeTLB: 0 KiB vmemmap can be freed for a 2.00 MiB page
    [    0.897505] HugeTLB: registered 64.0 KiB page size, pre-allocated 0 pages
    [    0.897508] HugeTLB: 0 KiB vmemmap can be freed for a 64.0 KiB page
    [    0.952826] k3-chipinfo 43000014.chipid: Family:AM64X rev:SR2.0 JTAGID[0x1bb3802f] Detected
    [    0.965098] iommu: Default domain type: Translated
    [    0.965104] iommu: DMA domain TLB invalidation policy: strict mode
    [    0.972584] SCSI subsystem initialized
    [    0.973126] pps_core: LinuxPPS API ver. 1 registered
    [    0.973131] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
    [    0.973148] PTP clock support registered
    [    0.973191] EDAC MC: Ver: 3.0.0
    [    1.003492] scmi_core: SCMI protocol bus registered
    [    1.003938] FPGA manager framework
    [    1.014033] clocksource: Switched to clocksource arch_sys_counter
    [    1.014330] VFS: Disk quotas dquot_6.6.0
    [    1.014356] VFS: Dquot-cache hash table entries: 512 (order 0, 4096 bytes)
    [    1.040543] Carveout Heap: Exported 32 MiB at 0x00000000a7000000
    [    1.040693] NET: Registered PF_INET protocol family
    [    1.040957] IP idents hash table entries: 16384 (order: 5, 131072 bytes, linear)
    [    1.061099] tcp_listen_portaddr_hash hash table entries: 512 (order: 2, 20480 bytes, linear)
    [    1.061136] Table-perturb hash table entries: 65536 (order: 6, 262144 bytes, linear)
    [    1.061148] TCP established hash table entries: 8192 (order: 4, 65536 bytes, linear)
    [    1.061300] TCP bind hash table entries: 8192 (order: 7, 655360 bytes, linear)
    [    1.061983] TCP: Hash tables configured (established 8192 bind 8192)
    [    1.100673] UDP hash table entries: 512 (order: 3, 49152 bytes, linear)
    [    1.100770] UDP-Lite hash table entries: 512 (order: 3, 49152 bytes, linear)
    [    1.115105] NET: Registered PF_UNIX/PF_LOCAL protocol family
    [    1.115641] RPC: Registered named UNIX socket transport module.
    [    1.115649] RPC: Registered udp transport module.
    [    1.115652] RPC: Registered tcp transport module.
    [    1.115655] RPC: Registered tcp-with-tls transport module.
    [    1.115658] RPC: Registered tcp NFSv4.1 backchannel transport module.
    [    1.150636] Initialise system trusted keyrings
    [    1.150863] workingset: timestamp_bits=62 max_order=18 bucket_order=0
    [    1.162459] squashfs: version 4.0 (2009/01/31) Phillip Lougher
    [    1.162778] NFS: Registering the id_resolver key type
    [    1.162820] Key type id_resolver registered
    [    1.162824] Key type id_legacy registered
    [    1.162847] nfs4filelayout_init: NFSv4 File Layout Driver Registering...
    [    1.162853] nfs4flexfilelayout_init: NFSv4 Flexfile Layout Driver Registering...
    [    1.259874] Key type asymmetric registered
    [    1.259886] Asymmetric key parser 'x509' registered
    [    1.259974] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 244)
    [    1.259981] io scheduler mq-deadline registered
    [    1.259986] io scheduler kyber registered
    [    1.260015] io scheduler bfq registered
    [    1.292943] pinctrl-single 4084000.pinctrl: 33 pins, size 132
    [    1.299635] pinctrl-single f4000.pinctrl: 180 pins, size 720
    [    1.313557] Serial: 8250/16550 driver, 4 ports, IRQ sharing enabled
    [    1.331476] loop: module loaded
    [    1.338436] tun: Universal TUN/TAP device driver, 1.6
    [    1.344768] VFIO - User Level meta-driver version: 0.3
    [    1.344821] i2c_dev: i2c /dev entries driver
    [    1.355622] sdhci: Secure Digital Host Controller Interface driver
    [    1.355632] sdhci: Copyright(c) Pierre Ossman
    [    1.355974] sdhci-pltfm: SDHCI platform and OF driver helper
    [    1.362721] SMCCC: SOC_ID: ARCH_SOC_ID not implemented, skipping ....
    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
    [    1.381421] optee: probing for conduit method.
    [    1.381463] optee: revision 4.6 (71785645fa6ce42d)
    [    1.402882] optee: dynamic shared memory is enabled
    [    1.413985] optee: initialized driver
    [    1.417830] random: crng init done
    [    1.423483] NET: Registered PF_PACKET protocol family
    [    1.423593] Key type dns_resolver registered
    [    1.442484] Loading compiled-in X.509 certificates
    [    1.464580] ti-sci 44043000.system-controller: ABI: 4.0 (firmware rev 0x000b '11.1.2--v11.01.02 (Fancy Rat)')
    [    1.569564] ti-sci-clk 44043000.system-controller:clock-controller: recalc-rate failed for dev=62, clk=3, ret=-19
    [    1.609877] omap_i2c 20010000.i2c: bus 1 rev0.12 at 400 kHz
    [    1.616109] ti-sci-intr 4210000.interrupt-controller: Interrupt Router 5 domain created
    [    1.616345] ti-sci-intr bus@f4000:interrupt-controller@a00000: Interrupt Router 3 domain created
    [    1.616731] ti-sci-inta 48000000.interrupt-controller: Interrupt Aggregator domain 28 created
    [    1.645274] ti-udma 485c0100.dma-controller: Number of rings: 68
    [    1.653882] ti-udma 485c0100.dma-controller: Channels: 24 (bchan: 12, tchan: 6, rchan: 6)
    [    1.664837] ti-udma 485c0000.dma-controller: Number of rings: 288
    [    1.682801] ti-udma 485c0000.dma-controller: Channels: 32 (tchan: 21, rchan: 11)
    [    1.694541] printk: legacy console [ttyS2] disabled
    [    1.700287] 2800000.serial: ttyS2 at MMIO 0x2800000 (irq = 236, base_baud = 3000000) is a 8250
    [    1.709240] printk: legacy console [ttyS2] enabled
    [    1.709240] printk: legacy console [ttyS2] enabled
    [    1.709248] printk: legacy bootconsole [ns16550a0] disabled
    [    1.709248] printk: legacy bootconsole [ns16550a0] disabled
    [    1.739412] 7 fixed-partitions partitions found on MTD device fc40000.spi.0
    [    1.739441] Creating 7 MTD partitions on "fc40000.spi.0":
    [    1.739450] 0x000000000000-0x000000100000 : "ospi.tiboot3"
    [    1.759130] 0x000000100000-0x000000300000 : "ospi.tispl"
    [    1.765790] 0x000000300000-0x000000700000 : "ospi.u-boot"
    [    1.773416] 0x000000700000-0x000000740000 : "ospi.env"
    [    1.780346] 0x000000740000-0x000000780000 : "ospi.env.backup"
    [    1.787684] 0x000000800000-0x000003fc0000 : "ospi.rootfs"
    [    1.794761] 0x000003fc0000-0x000004000000 : "ospi.phypattern"
    [    1.802527] cadence-qspi fc40000.spi: Pattern not found. Skipping calibration.
    [    1.812253] am65-cpts 39000000.cpts: CPTS ver 0x4e8a010c, freq:500000000, add_val:1 pps:1
    [    1.824103] mmc0: CQHCI version 5.10
    [    1.829382] mmc1: CQHCI version 5.10
    [    1.847404] clk: Disabling unused clocks
    [    1.857953] ti-sci-clk 44043000.system-controller:clock-controller: is_prepared failed for dev=62, clk=3, ret=-19
    [    1.876191] mmc1: SDHCI controller on fa00000.mmc [fa00000.mmc] using ADMA 64-bit
    [    1.876245] mmc0: SDHCI controller on fa10000.mmc [fa10000.mmc] using ADMA 64-bit
    [    1.896736] PM: genpd: Disabling unused power domains
    [    1.902511] Waiting for root device PARTUUID=076c4a2a-02...
    [    1.919359] mmc1: new high speed SDHC card at address aaaa
    [    1.922295] mmcblk1: mmc1:aaaa SL16G 14.8 GiB
    [    1.935652]  mmcblk1: p1 p2
    [    1.981494] mmc0: Command Queue Engine enabled
    [    1.981529] mmc0: new HS200 MMC card at address 0001
    [    1.992609] mmcblk0: mmc0:0001 S0J35A 7.28 GiB
    [    2.000162] mmcblk0boot0: mmc0:0001 S0J35A 31.5 MiB
    [    2.007581] mmcblk0boot1: mmc0:0001 S0J35A 31.5 MiB
    [    2.014743] mmcblk0rpmb: mmc0:0001 S0J35A 4.00 MiB, chardev (240:0)
    [    2.382897] EXT4-fs (mmcblk1p2): recovery complete
    [    2.394278] EXT4-fs (mmcblk1p2): mounted filesystem 15eb5eca-37a8-4d25-99d2-09bb612c8296 r/w with ordered data mode. Quota mode: none.
    [    2.394385] VFS: Mounted root (ext4 filesystem) on device 179:2.
    [    2.396201] devtmpfs: mounted
    [    2.416524] Freeing unused kernel memory: 1792K
    [    2.416644] Run /sbin/init as init process
    [    2.945780] systemd[1]: System time before build time, advancing clock.
    [    3.198286] NET: Registered PF_INET6 protocol family
    [    3.204464] Segment Routing with IPv6
    [    3.204508] In-situ OAM (IOAM) with IPv6
    [    3.247415] systemd[1]: systemd 255.21^ running in system mode (+PAM -AUDIT -SELINUX -APPARMOR +IMA -SMACK +SECCOMP -GCRYPT -GNUTLS -OPENSSL +ACL +BLKID -CURL -ELFUTILS -FIDO2 -IDN2 -IDN -IPTC +KMOD -LIBCRYPTSETUP +LIBFDISK -PCRE2 -PWQUALITY -P11KIT -QRENCODE -TPM2 -BZIP2 -LZ4 -XZ -ZLIB +ZSTD -BPF_FRAMEWORK -XKBCOMMON +UTMP +SYSVINIT default-hierarchy=unified)
    [    3.247456] systemd[1]: Detected architecture arm64.
    
    Welcome to Arago 2025.01!
    
    [    3.307330] systemd[1]: Hostname set to <am64xx-evm>.
    [    4.171449] systemd[1]: Queued start job for default target Graphical Interface.
    [    4.209971] systemd[1]: Created slice Slice /system/getty.
    [  OK  ] Created slice Slice /system/getty.
    [    4.224880] systemd[1]: Created slice Slice /system/modprobe.
    [  OK  ] Created slice Slice /system/modprobe.
    [    4.239904] systemd[1]: Created slice Slice /system/serial-getty.
    [  OK  ] Created slice Slice /system/serial-getty.
    [  OK  ] Created slice User and Session Slic[    4.255373] systemd[1]: Created slice User and Session Slice.
    e.
    [  OK  ] Started Dispatch Password Requests [    4.269738] systemd[1]: Started Dispatch Password Requests to Console Directory Watch.
    to Console Directory Watch.
    [  OK  ] Started Forward Password Requests t[    4.288709] systemd[1]: Started Forward Password Requests to Wall Directory Watch.
    o Wall Directory Watch.
             Expecting device /dev/ttyS2...[    4.306451] systemd[1]: Expecting device /dev/ttyS2...
    
    [  OK  ] Reached target Path Units.[    4.318485] systemd[1]: Reached target Path Units.
    
    [  OK  ] Reached target Remote File Systems systemd[1]: Reached target Remote File Systems.
    [0m.
    [  OK  ] Reached target Slice Units.[    4.343366] systemd[1]: Reached target Slice Units.
    
    [  OK  ] Reached target Swaps.[    4.355371] systemd[1]: Reached target Swaps.
    
    [  OK  ] Listening on RPCbind Server Activat[    4.376700] systemd[1]: Listening on RPCbind Server Activation Socket.
    ion Socket.
    [  OK  ] Reached target RPC Port Mapper.[    4.392412] systemd[1]: Reached target RPC Port Mapper.
    
    [  OK  ] Listening on Process Core Dump Sock[    4.417152] systemd[1]: Listening on Process Core Dump Socket.
    et.
    [    4.430834] systemd[1]: Listening on initctl Compatibility Named Pipe.
    [  OK  ] Listening on initctl Compatibility Named Pipe.
    [    4.446822] systemd[1]: Listening on Journal Audit Socket.
    [  OK  ] Listening on Journal Audit Socket.
    [  OK  ] Listening on Journal Socket (/dev/l[    4.461407] systemd[1]: Listening on Journal Socket (/dev/log).
    og).
    [  OK  ] Listening on Journal Socket.[    4.476412] systemd[1]: Listening on Journal Socket.
    
    [  OK  ] Listening on Network Service Netlin[    4.490487] systemd[1]: Listening on Network Service Netlink Socket.
    k Socket.
    [  OK  ] Listening on udev Control Socket    4.517712] systemd[1]: Listening on udev Control Socket.
    m.
    [  OK  ] Listening on udev Kernel Socket[    4.532137] systemd[1]: Listening on udev Kernel Socket.
    .
    [  OK  ] Listening on User Database Manager [    4.546286] systemd[1]: Listening on User Database Manager Socket.
    Socket.
             Mounting Huge Pages File System...[    4.570475] systemd[1]: Mounting Huge Pages File System...
    
             Mounting POSIX Message Queue File System..[    4.593163] systemd[1]: Mounting POSIX Message Queue File System...
    .
             Mounting Kernel Debug File System...[    4.622557] systemd[1]: Mounting Kernel Debug File System...
    
    [    4.637881] systemd[1]: Kernel Trace File System was skipped because of an unmet condition check (ConditionPathExists=/sys/kernel/tracing).
             Mounting Temporary Directory /tmp...[    4.681491] systemd[1]: Mounting Temporary Directory /tmp...
    
             Starting Create List of Static Device Nodes    4.731681] systemd[1]: Starting Create List of Static Device Nodes...
    m...
    [    4.785810] systemd[1]: Starting Load Kernel Module configfs...
             Starting Load Kernel Module configfs...
             Starting Load Kernel Module drm...[    4.845837] systemd[1]: Starting Load Kernel Module drm...
    
    [    4.884762] systemd[1]: Starting Load Kernel Module fuse...
             Starting Load Kernel Module fuse...
    [    4.949920] systemd[1]: Starting RPC Bind...
             Starting RPC Bind...
    [    4.964703] systemd[1]: File System Check on Root Device was skipped because of an unmet condition check (ConditionPathIsReadWrite=!/).
    [    4.989125] systemd[1]: systemd-journald.service: unit configures an IP firewall, but the local system does not support BPF/cgroup firewalling.
    [    4.989155] systemd[1]: systemd-journald.service: (This warning is only shown for the first unit using IP firewalling.)
    [    5.034949] systemd[1]: Starting Journal Service...
             Starting Journal Service...
             Starting Load Kernel Modules...[    5.108763] systemd[1]: Starting Load Kernel Modules...
    
    [    5.159751] systemd[1]: Starting Generate network units from Kernel command line...
             Starting Generate network units from Kernel command line...
    [    5.225920] systemd[1]: Starting Remount Root and Kernel File Systems...
             Starting Remount Root and Kernel File Systems...
    [    5.276795] systemd[1]: Starting Coldplug All udev Devices...
             Starting Coldplug All udev Devices...
    [  OK  ] Mounted Huge Pages File System.[    5.354285] systemd[1]: Mounted Huge Pages File System.
    
    [    5.374756] fuse: init (API version 7.41)
    [  OK  ] Mounted POSIX Message Queue File Sy[    5.381423] systemd[1]: Mounted POSIX Message Queue File System.
    stem.
    [  OK  ] Mounted Kernel Debug File System    5.407529] systemd[1]: Mounted Kernel Debug File System.
    m.
    [  OK  ] Mounted Temporary Directory /tmp    5.430552] systemd[1]: Mounted Temporary Directory /tmp.
    m.
    [  OK  ] Finished Create List of Static Devi[    5.449463] systemd[1]: Finished Create List of Static Device Nodes.
    ce Nodes.
    [    5.477348] systemd[1]: modprobe@configfs.service: Deactivated successfully.
    [  OK  ] Finished Load Kernel Module configf[    5.490465] systemd[1]: Finished Load Kernel Module configfs.
    s.
    [    5.511338] systemd[1]: modprobe@fuse.service: Deactivated successfully.
    [  OK  ] Finished Load Kernel Module fuse    5.530339] systemd[1]: Finished Load Kernel Module fuse.
    m.
             Mounting FUSE Control File System...[    5.594471] systemd[1]: Mounting FUSE Control File System...
    
             Mounting Kernel Configuration File System.[    5.658505] systemd[1]: Mounting Kernel Configuration File System...
    ..
    [    5.692900] systemd-journald[96]: Collecting audit messages is enabled.
    [    5.720797] systemd[1]: Starting Create Static Device Nodes in /dev gracefully...
             Starting Create Static Device Nodes in /dev gracefully...
    [    5.747979] systemd[1]: Started RPC Bind.
    [  OK  ] Started RPC Bind.
    [    5.778591] systemd[1]: modprobe@drm.service: Deactivated successfully.
    [    5.791548] systemd[1]: Finished Load Kernel Module drm.
    [  OK  ] Finished Load Kernel Module drm.
    [  OK  ] Finished Load Kernel Modules.[    5.827679] systemd[1]: Finished Load Kernel Modules.
    
    [    5.859754] systemd[1]: Finished Generate network units from Kernel command line.
    [  OK  ] Finished Generate network units from Kernel command line.
    [    5.892253] EXT4-fs (mmcblk1p2): re-mounted 15eb5eca-37a8-4d25-99d2-09bb612c8296.
    [    5.942838] systemd[1]: Starting Apply Kernel Variables...
             Starting Apply Kernel Variables...
    [  OK  ] Finished Remount Root and Kernel Fi[    6.008298] systemd[1]: Finished Remount Root and Kernel File Systems.
    le Systems.
    [  OK  ] Mounted FUSE Control File System    6.043963] systemd[1]: Mounted FUSE Control File System.
    m.
    [  OK  ] Mounted Kernel Configuration File S[    6.064280] systemd[1]: Mounted Kernel Configuration File System.
    ystem.
    [    6.104186] systemd[1]: Rebuild Hardware Database was skipped because of an unmet condition check (ConditionNeedsUpdate=/etc).
    [  OK  ] Finished Create Static Device Nodes[    6.341278] systemd[1]: Finished Create Static Device Nodes in /dev gracefully.
     in /dev gracefully.
    [    6.364654] systemd[1]: Create System Users was skipped because no trigger condition checks were met.
    [    6.391885] systemd[1]: Starting Create Static Device Nodes in /dev...
             Starting Create Static Device Nodes in /dev...
    [  OK  ] Finished Apply Kernel Variables[    6.415174] systemd[1]: Finished Apply Kernel Variables.
    .
    [  OK  ] Started Journal Service.[    6.457741] systemd[1]: Started Journal Service.
    
             Starting Flush Journal to Persistent Storage...
    [    6.748703] systemd-journald[96]: Received client request to flush runtime journal.
    [  OK  ] Finished Create Static Device Nodes in /dev.
    [  OK  ] Finished Flush Journal to Persistent Storage.
    [  OK  ] Reached target Preparation for Local File Systems.
             Mounting /var/volatile...
             Starting Rule-based Manager for Device Events and Files...
    [  OK  ] Mounted /var/volatile.
             Starting Load/Save OS Random Seed...
    [  OK  ] Reached target Local File Systems.
             Starting Create System Files and Directories...
    [  OK  ] Finished Load/Save OS Random Seed.
    [  OK  ] Finished Create System Files and Directories.
             Starting Network Name Resolution...
             Starting Network Time Synchronization...
             Starting Record System Boot/Shutdown in UTMP...
             Starting User Database Manager...
    [  OK  ] Finished Record System Boot/Shutdown in UTMP.
    [  OK  ] Started User Database Manager.
    [  OK  ] Started Rule-based Manager for Device Events and Files.
    [  OK  ] Finished Coldplug All udev Devices.
    [  OK  ] Started Network Time Synchronization.
    [  OK  ] Reached target System Time Set.
    [  OK  ] Started Network Name Resolution.
    [  OK  ] Found device /dev/ttyS2.
    [  OK  ] Reached target Host and Network Name Lookups.
    [  OK  ] Reached target System Initialization.
    [  OK  ] Started Daily rotation of log files.
    [  OK  ] Started Daily Cleanup of Temporary Directories.
    [  OK  ] Reached target Timer Units.
    [  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.
    [  OK  ] Listening on PC/SC Smart Card Daemon Activation Socket.
             Starting D-Bus System Message Bus...
             Starting Reboot and dump vmcore via kexec...
    [  OK  ] Listening on Docker Socket for the API.
    [  OK  ] Finished Reboot and dump vmcore via kexec.
    [   12.334537] omap-mailbox 29020000.mailbox: omap mailbox rev 0x66fc9100
    [   12.349449] omap-mailbox 29040000.mailbox: omap mailbox rev 0x66fc9100
    [   12.357311] omap-mailbox 29060000.mailbox: omap mailbox rev 0x66fc9100
    [  OK  ] Started D-Bus System Message Bus.
    [   12.553743] davinci_mdio 30032400.mdio: Configuring MDIO in manual mode
    [   12.614157] davinci_mdio 30032400.mdio: davinci mdio revision 1.7, bus freq 1000000
    [   12.744366] TI DP83822 30032400.mdio:00:  dp83822_read_straps
    [   12.744755] TI DP83822 30032400.mdio:00: dp83822_read_straps : After phy_read_mmd  SOR1 strap register: 0x4203
    [   12.744763] TI DP83822 30032400.mdio:00: dp83822_probe 
    [   12.787071] davinci_mdio 30032400.mdio: phy[0]: device 30032400.mdio:00, driver TI DP83822
    [   12.886363] platform 78000000.r5f: configured R5F for remoteproc mode
    [   12.890193] platform 78000000.r5f: assigned reserved memory node r5f-dma-memory@a0000000
    [   12.911934] remoteproc remoteproc0: 78000000.r5f is available
    [   12.969304] platform 78400000.r5f: configured R5F for remoteproc mode
    [   12.969734] platform 78400000.r5f: assigned reserved memory node r5f-dma-memory@a2000000
    [   12.989200] remoteproc remoteproc1: 78400000.r5f is available
    [   13.105754] remoteproc remoteproc0: powering up 78000000.r5f
    [   13.105792] remoteproc remoteproc0: Booting fw image am64-main-r5f0_0-fw, size 2011192
    [   13.147133] rproc-virtio rproc-virtio.1.auto: assigned reserved memory node r5f-dma-memory@a0000000
    [   13.158826] remoteproc remoteproc1: powering up 78400000.r5f
    [   13.158861] remoteproc remoteproc1: Booting fw image am64-main-r5f1_0-fw, size 1692648
    [   13.178202] virtio_rpmsg_bus virtio0: rpmsg host is online
    [   13.178669] rproc-virtio rproc-virtio.1.auto: registered virtio0 (type 7)
    [   13.178685] remoteproc remoteproc0: remote processor 78000000.r5f is now up
    [   13.209325] k3-m4-rproc 5000000.m4fss: assigned reserved memory node m4f-dma-memory@a4000000
    [   13.221180] k3-m4-rproc 5000000.m4fss: configured M4F for remoteproc mode
    [   13.233550] rproc-virtio rproc-virtio.2.auto: assigned reserved memory node r5f-dma-memory@a2000000
    [   13.244894] remoteproc remoteproc2: 5000000.m4fss is available
    [   13.256014] virtio_rpmsg_bus virtio1: rpmsg host is online
    [   13.256205] rproc-virtio rproc-virtio.2.auto: registered virtio1 (type 7)
    [   13.256217] remoteproc remoteproc1: remote processor 78400000.r5f is now up
    [   13.316132] remoteproc remoteproc2: powering up 5000000.m4fss
    [   13.316167] remoteproc remoteproc2: Booting fw image am64-mcu-m4f0_0-fw, size 88248
    [   13.343154] rproc-virtio rproc-virtio.3.auto: assigned reserved memory node m4f-dma-memory@a4000000
    [   13.366607] virtio_rpmsg_bus virtio2: rpmsg host is online
    [   13.366693] rproc-virtio rproc-virtio.3.auto: registered virtio2 (type 7)
    [   13.366703] remoteproc remoteproc2: remote processor 5000000.m4fss is now up
    [   13.367507] virtio_rpmsg_bus virtio2: creating channel ti.ipc4.ping-pong addr 0xd
    [   13.367726] virtio_rpmsg_bus virtio2: creating channel rpmsg_chrdev addr 0xe
    [   13.758427] remoteproc remoteproc3: 3000a000.txpru is available
    [   13.776288] remoteproc remoteproc4: 3000c000.txpru is available
    [   14.695683] remoteproc remoteproc5: 30038000.pru is available
    [   14.713309] remoteproc remoteproc6: 30006000.rtu is available
    [   14.738113] remoteproc remoteproc7: 30034000.pru is available
    [   14.753832] remoteproc remoteproc8: 30004000.rtu is available
    [   14.760495] icssg-prueth icssg0-eth: probe with driver icssg-prueth failed with error -2
    [  OK  ] Created slice Slice /system/tee-supplicant.
    [  OK  ] Reached target Socket Units.
    [  OK  ] Reached target Basic System.
    [  OK  ] Started Job spooling tools.
             Starting Avahi mDNS/DNS-SD Stack...
             Starting IPv6 Packet Filtering Framework...
             Starting IPv4 Packet Filtering Framework...
    [  OK  ] Started Multiple Spanning Tree Protocol Daemon.
             Starting Expand the rootfs partiti to full size of the boot device....
             Starting User Login Management...
             Starting Virtual Console Setup...
    [  OK  ] Started TEE Supplicant on teepriv0.
             Starting Telnet Server...
    [  OK  ] Finished IPv6 Packet Filtering Framework.
    [  OK  ] Finished IPv4 Packet Filtering Framework.
    [  OK  ] Finished Telnet Server.
    [  OK  ] Reached target Preparation for Network.
             Starting Network Configuration...
    [  OK  ] Started Avahi mDNS/DNS-SD Stack.
    [  OK  ] Finished Expand the rootfs partition to full size of the boot device..
    [  OK  ] Finished Virtual Console Setup.
    [  OK  ] Started User Login Management.
    [  OK  ] Created slice Slice /system/systemd-fsck.
             Expecting device /dev/mmcblk1p1...
    [  OK  ] Found device /dev/mmcblk1p1.
             Starting File System Check on /dev/mmcblk1p1...
    [  OK  ] Started Network Configuration.
    [  OK  ] Reached target Network.
             Starting containerd container runtime...
             Starting LLDP daemon...
    [  OK  ] Started Netperf Benchmark Server.
             Starting Simple Network Management Protocol (SNMP) Daemon....
             Starting Wait for Network to be Configured...
             Starting Permit User Sessions...
    [  OK  ] Finished File System Check on /dev/mmcblk1p1.
    [  OK  ] Finished Permit User Sessions.
             Mounting /run/media/boot-mmcblk1p1...
    [  OK  ] Started Getty on tty1.
    [  OK  ] Started Serial Getty on ttyS2.
    [  OK  ] Reached target Login Prompts.
    [  OK  ] Started LLDP daemon.
    [  OK  ] Mounted /run/media/boot-mmcblk1p1.
    [  OK  ] Started Simple Network Management Protocol (SNMP) Daemon..
    [  OK  ] Started containerd container runtime.
    
     _____                    _____           _         _   
    |  _  |___ ___ ___ ___   |  _  |___ ___  |_|___ ___| |_ 
    |     |  _| .'| . | . |  |   __|  _| . | | | -_|  _|  _|
    |__|__|_| |__,|_  |___|  |__|  |_| |___|_| |___|___|_|  
                  |___|                    |___|            
    
    Arago Project am64xx-evm ttyS2
    
    Arago 2025.01 am64xx-evm ttyS2
    
    am64xx-evm login: [   25.573875] platform e010000.watchdog: deferred probe pending: (reason unknown)
    root
    [   28.184268] audit: type=1006 audit(1748656325.811:2): pid=504 uid=0 old-auid=4294967295 auid=0 tty=(none) old-ses=4294967295 ses=1 res=1
    [   28.184298] audit: type=1300 audit(1748656325.811:2): arch=c00000b7 syscall=64 success=yes exit=1 a0=8 a1=ffffe151ec18 a2=1 a3=1 items=0 ppid=1 pid=504 auid=0 uid=0 gid=0 euid=0 suid=0 fsuid=0 egid=0 sgid=0 fsgid=0 tty=(none) ses=1 comm="(systemd)" exe="/usr/lib/systemd/systemd-executor" key=(null)
    [   28.184314] audit: type=1327 audit(1748656325.811:2): proctitle="(systemd)"
    
    
    
    
    root@am64xx-evm:~# 

               

  • Hi Narasimha,

    Can you check "ls  /usr/lib/firmware/ti-pruss | grep am64x*" in your filesystem on your image to see if the am64x* firmwares show up? Please share what you see here. 

    -Daolin

  • Hi Daolin,

                  Below is the log from the command specified.

    root@am64xx-evm:~#
    root@am64xx-evm:~# ls  /usr/lib/firmware/ti-pruss | grep am64x*
    am64x-sr2-pru0-prueth-fw.elf
    am64x-sr2-pru0-pruhsr-fw.elf
    am64x-sr2-pru0-prusw-fw.elf
    am64x-sr2-pru1-prueth-fw.elf
    am64x-sr2-pru1-pruhsr-fw.elf
    am64x-sr2-pru1-prusw-fw.elf
    am64x-sr2-rtu0-prueth-fw.elf
    am64x-sr2-rtu0-pruhsr-fw.elf
    am64x-sr2-rtu0-prusw-fw.elf
    am64x-sr2-rtu1-prueth-fw.elf
    am64x-sr2-rtu1-pruhsr-fw.elf
    am64x-sr2-rtu1-prusw-fw.elf
    am64x-sr2-txpru0-prueth-fw.elf
    am64x-sr2-txpru0-pruhsr-fw.elf
    am64x-sr2-txpru0-prusw-fw.elf
    am64x-sr2-txpru1-prueth-fw.elf
    am64x-sr2-txpru1-pruhsr-fw.elf
    am64x-sr2-txpru1-prusw-fw.elf

    One more observation from our side is there is soft link to the above mentioned pru firmware's  in /lib/firmware folder for the remote proc to start what we understand.

      if so the above observation is correct, can you please given the sift link name for these pru firmwares fir them to start executing.

    root@am64xx-evm:~# ls -l /lib/firmware/
    total 26436
    -rw-r--r-- 1 root root    2040 Mar  9  2018 LICENCE.ibt_firmware
    -rw-r--r-- 1 root root    2046 Mar  9  2018 LICENCE.iwlwifi_firmware
    lrwxrwxrwx 1 root root      59 Mar  9  2018 am64-main-r5f0_0-fw -> /usr/lib/firmware/mcusdk-benchmark_demo/am64-main-r5f0_0-fw
    lrwxrwxrwx 1 root root      79 Mar  9  2018 am64-main-r5f0_0-fw-sec -> /usr/lib/firmware/ti-ipc/am64xx/ipc_echo_test_mcu1_0_release_strip.xer5f.signed
    lrwxrwxrwx 1 root root      59 Mar  9  2018 am64-main-r5f0_1-fw -> /usr/lib/firmware/mcusdk-benchmark_demo/am64-main-r5f0_1-fw
    lrwxrwxrwx 1 root root      79 Mar  9  2018 am64-main-r5f0_1-fw-sec -> /usr/lib/firmware/ti-ipc/am64xx/ipc_echo_test_mcu1_1_release_strip.xer5f.signed
    lrwxrwxrwx 1 root root      59 Mar  9  2018 am64-main-r5f1_0-fw -> /usr/lib/firmware/mcusdk-benchmark_demo/am64-main-r5f1_0-fw
    lrwxrwxrwx 1 root root      79 Mar  9  2018 am64-main-r5f1_0-fw-sec -> /usr/lib/firmware/ti-ipc/am64xx/ipc_echo_test_mcu2_0_release_strip.xer5f.signed
    lrwxrwxrwx 1 root root      59 Mar  9  2018 am64-main-r5f1_1-fw -> /usr/lib/firmware/mcusdk-benchmark_demo/am64-main-r5f1_1-fw
    lrwxrwxrwx 1 root root      79 Mar  9  2018 am64-main-r5f1_1-fw-sec -> /usr/lib/firmware/ti-ipc/am64xx/ipc_echo_test_mcu2_1_release_strip.xer5f.signed
    lrwxrwxrwx 1 root root      72 Mar  9  2018 am64-mcu-m4f0_0-fw -> /usr/lib/firmware/ti-ipc/am64xx/ipc_echo_test_mcu3_0_release_strip.xer5f
    lrwxrwxrwx 1 root root      79 Mar  9  2018 am64-mcu-m4f0_0-fw-sec -> /usr/lib/firmware/ti-ipc/am64xx/ipc_echo_test_mcu3_0_release_strip.xer5f.signed
    lrwxrwxrwx 1 root root      53 Mar  9  2018 am64x-pru0_0-fw -> /usr/lib/firmware/pru/PRU_RPMsg_Echo_Interrupt0_0.out
    lrwxrwxrwx 1 root root      53 Mar  9  2018 am64x-pru0_1-fw -> /usr/lib/firmware/pru/PRU_RPMsg_Echo_Interrupt0_1.out
    lrwxrwxrwx 1 root root      53 Mar  9  2018 am64x-pru1_0-fw -> /usr/lib/firmware/pru/PRU_RPMsg_Echo_Interrupt1_0.out
    lrwxrwxrwx 1 root root      53 Mar  9  2018 am64x-pru1_1-fw -> /usr/lib/firmware/pru/PRU_RPMsg_Echo_Interrupt1_1.out
    lrwxrwxrwx 1 root root      53 Mar  9  2018 am64x-rtu0_0-fw -> /usr/lib/firmware/pru/RTU_RPMsg_Echo_Interrupt0_0.out
    lrwxrwxrwx 1 root root      53 Mar  9  2018 am64x-rtu0_1-fw -> /usr/lib/firmware/pru/RTU_RPMsg_Echo_Interrupt0_1.out
    lrwxrwxrwx 1 root root      53 Mar  9  2018 am64x-rtu1_0-fw -> /usr/lib/firmware/pru/RTU_RPMsg_Echo_Interrupt1_0.out
    lrwxrwxrwx 1 root root      53 Mar  9  2018 am64x-rtu1_1-fw -> /usr/lib/firmware/pru/RTU_RPMsg_Echo_Interrupt1_1.out
    lrwxrwxrwx 1 root root      39 Mar  9  2018 am64x-txpru0_0-fw -> /usr/lib/firmware/pru/TX_PRU_Halt_0.out
    lrwxrwxrwx 1 root root      39 Mar  9  2018 am64x-txpru0_1-fw -> /usr/lib/firmware/pru/TX_PRU_Halt_1.out
    lrwxrwxrwx 1 root root      39 Mar  9  2018 am64x-txpru1_0-fw -> /usr/lib/firmware/pru/TX_PRU_Halt_0.out
    lrwxrwxrwx 1 root root      39 Mar  9  2018 am64x-txpru1_1-fw -> /usr/lib/firmware/pru/TX_PRU_Halt_1.out
    -rw-r--r-- 1 root root  712064 Mar  9  2018 bl32.bin
    -rw-r--r-- 1 root root 4815768 Mar  9  2018 bl32.elf
    drwxr-xr-x 2 root root    4096 Mar  9  2018 intel
    -rw-r--r-- 1 root root  918268 Mar  9  2018 iwlwifi-3160-17.ucode
    -rw-r--r-- 1 root root 2448976 Mar  9  2018 iwlwifi-8000C-34.ucode
    -rw-r--r-- 1 root root 2428004 Mar  9  2018 iwlwifi-8000C-36.ucode
    -rw-r--r-- 1 root root 2440780 Mar  9  2018 iwlwifi-8265-34.ucode
    -rw-r--r-- 1 root root 2436632 Mar  9  2018 iwlwifi-8265-36.ucode
    -rw-r--r-- 1 root root 2678092 Mar  9  2018 iwlwifi-9260-th-b0-jf-b0-34.ucode
    -rw-r--r-- 1 root root 2521412 Mar  9  2018 iwlwifi-9260-th-b0-jf-b0-38.ucode
    -rw-r--r-- 1 root root 1490508 Mar  9  2018 iwlwifi-9260-th-b0-jf-b0-46.ucode
    drwxr-xr-x 2 root root    4096 May 30 22:06 mcusdk-benchmark_demo
    drwxr-xr-x 2 root root    4096 Mar  9  2018 pru
    -rw-r--r-- 1 root root    5980 Mar  9  2018 regulatory.db
    -rw-r--r-- 1 root root    1085 Mar  9  2018 regulatory.db.p7s
    -rw-r--r-- 1 root root      28 Mar  9  2018 tee-header_v2.bin
    -rw-r--r-- 1 root root       0 Mar  9  2018 tee-pageable_v2.bin
    -rw-r--r-- 1 root root  712064 Mar  9  2018 tee-pager_v2.bin
    -rw-r--r-- 1 root root  712064 Mar  9  2018 tee-raw.bin
    -rw-r--r-- 1 root root  712092 Mar  9  2018 tee.bin
    -rw-r--r-- 1 root root 4815768 Mar  9  2018 tee.elf
    drwxr-xr-x 2 root root    4096 Mar  9  2018 ti-connectivity
    drwxr-xr-x 3 root root    4096 Mar  9  2018 ti-ipc
    drwxr-xr-x 2 root root    4096 Mar  9  2018 ti-pruss

  • One more observation from our side is there is  no soft link to the above mentioned pru firmware's  in /lib/firmware folder for the remote proc to start what we understand.

  • Hi Narasimha,

    Have you also cross-checked your ICSSG0 device tree configuration with the ICSSG1 device tree configuration provided by k3-am642-evm.dts for the TI AM64x EVM? https://git.ti.com/cgit/ti-linux-kernel/ti-linux-kernel/tree/arch/arm64/boot/dts/ti/k3-am642-evm.dts?h=ti-linux-6.12.y-cicd&id=7d326261bb2afd77f3fe378e3d42e1c595bc8206 

    Can you also check if this change to the icssg_prueth.c driver is also present in the driver you are using? https://git.ti.com/cgit/ti-linux-kernel/ti-linux-kernel/commit/?h=ti-linux-6.12.y-cicd&id=7d326261bb2afd77f3fe378e3d42e1c595bc8206

    One more observation from our side is there is  no soft link to the above mentioned pru firmware's  in /lib/firmware folder for the remote proc to start what we understand.

    I will check internally if a soft link is really necessary for the prueth firmwares to load. From my understanding, I don't think for prueth firmwares a soft link is necessary.

    -Daolin