11-20-2020 12:47 PM
I am having trouble getting ETH1 on EMIO with gmii_to_rgmii working on 2020.1. I am using the Trenz TE0720_1QF module with the Trenz TE0706-03 carrier board.I started with the Trenz 2016.2 reference project. ETH1 works in this 2016.2 project. After upgrading the project to 2020.1 ETH1 no longer works and on boot up I see the following (Petalinux 2020.1):
xgmiitorgmii e000c000.ethernet-ffffffff:08: Couldn't find phydev
Marvell 88E1510 e000c000.ethernet-ffffffff:01: attached PHY driver [Marvell 88E1510] (mii_bus:phy_addr=e000c000.ethernet-ffffffff:01, irq=POLL)
macb e000c000.ethernet eth1: Cadence GEM rev 0x00020118 at 0xe000c000 irq 30 (00:0a:35:00:1e
ETH1 is down by default. If I bring it up and set a static IP address as this post mentions it still doesn't work.I have found that I can use the 2016.2 BOOT.bin with image.ub from 2016.2 and 2020.1 and ETH1 works. Using a 2020.1 BOOT.bin with a image.ub from 2016.2 or 2020.1 doesn't work.
I did ask Trenz for help but they were only able to test different combos of 2016.2 with 2019.2 and saw that only the 2016.2 BOOT.bin allowed ETH1 to work and said "it looks like problems is related to the mii to rgmii, or linux use something which is not longer supported by this mii to rgmii IP".
Any ideas on getting ETH1 on EMIO with gmii_to_rgmii working?
11-25-2020 01:14 PM
I've been staring at the terminal for too long now. Several days ago when I was playing with building the BOOT.bin I thought I saw that "petalinux-package --boot --u-boot" was including the the system.bit file so I had dropped "--fpga <file>". It actually was system.dtb. Adding "--fpga <path>" coupled that with the fact that I needed clean out my Petalinux project and then load my new xsa, my FSBL issue is now solved. Now ETH1 does work with my BOOT.bin generated with Petalinux.
11-22-2020 10:26 AM
Can you share the devicetree node here
11-23-2020 09:54 AM
&gem1 {
phy-handle = <&phy1>;
phy-mode = "rgmii-id";
status = "okay";
xlnx,ptp-enet-clock = <0x69f6bcb>;
ps7_ethernet_1_mdio: mdio {
#address-cells = <1>;
#size-cells = <0>;
phy1: phy@1 {
reg = <1>;
};
gmii_to_rgmii: gmii_to_rgmii@8 {
compatible = "xlnx,gmii-to-rgmii-1.0";
phy-handle = <&phy1>;
reg = <8>;
};
};
};
11-24-2020 05:18 AM
Hi @lancec
You might have to take care of the correct device tree entries. Here is the link that might help in getting the gmii2rgmii up and running with the similar PHY
Regards
Shabbir
11-24-2020 01:12 PM
Figured it out. This is the first time I've used Petalinux, but it appears Petalinux builds a generic FSBL instead of one based on my xsa file. Building the FSBL in Vitis fixed the issue.
Is there a way to make Petalinux build a proper FSBL, based on the xsa?
11-24-2020 01:36 PM
Petalinux should use the XSA provided via petalinux-config --get-hw-descipription
Can you have a look in the work folder in the tmp dir. You should see the psu_init.c/h files here.
11-24-2020 01:49 PM - edited 11-24-2020 01:51 PM
In build/tmp/work I see zynq_generic-xilinx-linux-gnueabi/fsbl/2020.1+gitAUTOINC+6cbb920f4d/temp/ with a log of log.* and run.* files.
I see ps7_init*.c/h files in these folders:
11-24-2020 02:08 PM
Yes, the ps7_init in the device-tree folder would suffice.
This should be the same as if you used the xsa in Vitis to create the fsbl.
11-24-2020 02:49 PM
They are different and have different copyright years. I just built my Vivado project again and ran "petalinux-config --get-hw-descipription" and "petalinux-build" but the ps7 files weren't touched in the device-tree folder.
11-24-2020 03:02 PM
Can you try petalinux-build -x mrproper, petalinux-config --hw-description=<path to xsa>. Then petalinux-build -c device-tree
This should update the files.
11-24-2020 03:34 PM - edited 11-24-2020 03:37 PM
That updates the ps7 files to match the xsa. However the BOOT.bin (petalinux-package --boot --u-boot) doesn't allow ETH1 to work.
11-25-2020 01:14 PM
I've been staring at the terminal for too long now. Several days ago when I was playing with building the BOOT.bin I thought I saw that "petalinux-package --boot --u-boot" was including the the system.bit file so I had dropped "--fpga <file>". It actually was system.dtb. Adding "--fpga <path>" coupled that with the fact that I needed clean out my Petalinux project and then load my new xsa, my FSBL issue is now solved. Now ETH1 does work with my BOOT.bin generated with Petalinux.