imx8mp single ethernet using eqos

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

imx8mp single ethernet using eqos

Jump to solution
996 Views
satokimiyasu
Contributor II

We cannot use eqos ethernet at singe ethernet.
Our board is custom board base on imx8mp-evk.
Custom board  different from imx8mp-evk on eqos single ethernet.
My understanding is if we don't need to use fec, we just set status = "disabled"; in  imx8mp-evk.dts.

The problem is if when I set fec disabled only use eqos port, Igot error "EQOS_DMA_MODE_SWR stuckFAILED: -110".
But fec status = "okay"; case was fine even if our board don't have fec phy chip.

please let me know about that reason.
I'm something wrong?

&fec {
        pinctrl-names = "default";
        pinctrl-0 = <&pinctrl_fec>;
        phy-mode = "rgmii-id";
        phy-handle = <&ethphy1>;
        fsl,magic-packet;
//      status = "okay";
        status = "disabled";    //Not use

        mdio {
                #address-cells = <1>;
                #size-cells = <0>;

                ethphy1: ethernet-phy@1 {
                        compatible = "ethernet-phy-ieee802.3-c22";
                        reg = <1>;
                        eee-broken-1000t;
                };
        };
};


uboot log

U-Boot 2022.04-dirty (Jul 26 2024 - 10:20:19 +0900)

CPU: i.MX8MP[6] rev1.1 1800 MHz (running at 1200 MHz)
CPU: Commercial temperature grade (0C to 95C) at 45C
Reset cause: POR
Model: NXP i.MX 8M Plus Based Custom Board
DRAM: 4 GiB
Core: 81 devices, 24 uclasses, devicetree: separate
MMC: FSL_SDHC: 0
Loading Environment from nowhere... OK
[*]-Video Link 0fail to find output device
probe video device failed, ret -19

[0] lcd-controller@32e80000, video
fail to find output device
probe video device failed, ret -19
In: serial
Out: serial
Err: serial
SEC0: RNG instantiated

BuildInfo:
- ATF 8dbe286

MMC Device 1 not found
no mmc device at slot 1
Detect USB boot. Will enter fastboot mode!
Net:
Warning: ethernet@30bf0000 (eth1) using random MAC address - 0a:ad:b2:b1:75:bd
eth1: ethernet@30bf0000 [PRIME]
Fastboot: Normal
Boot from USB for mfgtools
*** Warning - Use default environment for mfgtools
, using default environment

Run bootcmd_mfg: run mfgtool_args;if iminfo ${initrd_addr}; then if test ${tee} = yes; then bootm ${tee_addr} ${initrd_addr} ${fdt_addr}; else booti ${loadaddr} ${initrd_addr} ${fdt_addr}; fi; else echo "Run fastboot ..."; fastboot 0; fi;
Hit any key to stop autoboot: 0

## Checking Image at 43800000 ...
Unknown image format!
Run fastboot ...
u-boot=> env set ipaddr 192.168.xx.xx
u-boot=> env set netmask 255.255.0.0
u-boot=> ping 192.168.xx.xx
EQOS_DMA_MODE_SWR stuckFAILED: -110

 

0 Kudos
Reply
1 Solution
977 Views
s_arendt
Contributor III

There are several issues with Uboot and EQOS in older versions. I guess it was simply no uses case for devs to make it working as single ethernet. Best is you checkout a newer Uboot version. Things get better there. You can also address uboot mailing list.

View solution in original post

6 Replies
947 Views
s_arendt
Contributor III

Pretty sure there is no need to enable that FEC interface. But for that you need to change the board files - at least in this old 2204 version. You can read that init of this is coupled there, for no real reason. Which uboot version (mainline, nxp, version) are you using? Better go for a newer one, there are a lot of changes for the qos driver... But if this trick solves your problem, that is ok too.

0 Kudos
Reply
876 Views
satokimiyasu
Contributor II

I used u-boot branch lf_v2022.04(default).
I will try to use lf_v2024.04.
lf_v2024.04 dts file is so different from lf_v2022.04 dts file.
I will report later when I try to set fec "status = disabled" later.

0 Kudos
Reply
841 Views
satokimiyasu
Contributor II

lf_v2024.04 u-boot case, it is not so different from  lf_v2022.04 results about fec status setting.
It still need set fes status="okay".
Thank you for your advice.

0 Kudos
Reply
809 Views
s_arendt
Contributor III
Yes, dts handling is changed. With lf_ seems you are using NXP uboot. I am in mainline. Anyway my config doesn't have set CONFIG_FEC_MXC=y and it is not enabled in dts. But well, you find a solution, that's ok! Best regards and good luck further.
978 Views
s_arendt
Contributor III

There are several issues with Uboot and EQOS in older versions. I guess it was simply no uses case for devs to make it working as single ethernet. Best is you checkout a newer Uboot version. Things get better there. You can also address uboot mailing list.

966 Views
satokimiyasu
Contributor II

s_arendt-san,
Thank you tell me about reason from no uses case.
I think, that error also come from fec disabled.
So we must need fec set status = "okay"; even if we don't use fec.
But I need care of  pinctrl because our custom board these fec port are non connection.
If these port active to fec port, it may occur some trouble by input pins.
So I decide to set bellow simple settings without pinctrl-0.
 

// Dummy settings for activate eqos
&fec {
	pinctrl-names = "default";
	phy-mode = "rgmii-id";
	status = "okay";
};

 this case, u-boot ping said that bellow. (Could not get PHY for FEC1: addr 1)

u-boot=> ping 192.168.xx.xx
Could not get PHY for FEC1: addr 1
ethernet@30bf0000 Waiting for PHY auto negotiation to complete....... done
Using ethernet@30bf0000 device
host 192.168.xx.xx is alive

0 Kudos
Reply