Cyclone5 SoC - Eth0 not corrects after boots

Hi to everyone
I have my Cyclone5 board (inspired to Terasic)
I obtained a SD card with Angstrom 2018.06, DTB obtained from my hardware and it boots ok: Eth0 (I use in GMII) is correctly ack, DHCP runs fine and eth0 is on line.

After some modifications on HPS QSYS to add lightweight HPS interface (these mods doens’t affect eht0) linux boot but Eth0 seems going to RGMII (uncorrect) and it is not running!!

My difficult is how to define a XML BOARD INFO FILE clearly! There isn’ a doc about write well this complex file! I forced Eth to GMII modify the rows from RGMII to GMII

It runs fine on first attempts, but today Linux seems puts it in RGMII anyway ( I see with SignalTap that my HW EHT0 data bus move only first 4 lines… probably it is RGMII but I have only GMII)

How I can say to linux with XML (–>DTB) to open eth0 in GMII fixed???

Thanks to anyone for suggestions!!!

Filippo!

Are you saying that your .sopcinfo file output from Platform Designer (Qsys) specifies RGMII? Where did you obtain the design you are opening up in Quartus/Qsys?

Hi!!! My sopcinfo has only HPS Emac1 enabled to FPGA (I not use Emac0 why my PCB has 2 eth ports, the 0 is a plug card that I haven’t again.

So I map only Emac1.

On HPS QSYS OPTIONS there aren’t options to select RGMII or GMII. On QSYS I set Emac1 to FPGA and QSYS creates output pins with a tx/rx eth data bus of 8 bit width automatically.

This option is on XML BOARD INFO rows, copied from Terasic GHRD CY5. On these lines, emac settings are RGMII, but I changed RGMII iden to GMII and after this, creating a DTB for my SD card, Linux had Eth0 correctly running at 1GBPS in native DHCP

ANOTHER UPDATE. I found that my problem probably it’s happened when I change a connection on my QSYS- HPS : I used LightWeightAXI bus connected to ONCHIP ram (20KBytes) and for this I must reorder all addresses in QSYS.
So, question is quite complex and I need for more attempts to find problems… there is timing to check, too…

TO simplifiy, now I’m restart from running program, and re-add only my Lightweight connection. If problem return again, question is the qsys addressing or LW connecting …

I’ll inform you about next attempt. I doing it now!

Ok, people. after many attempts I found exclusively a TIMING problem if Emac1 runs at 1 GB. So I must find time costraint to run it correctly. It is not a Linux or HPS periphs problem!