11-24-2019 11:14 PM
I have PL 10G working on ZCU102 based custom board, Vivado/Yocto 2019.1.
In Linux, the 10G interface is up & working. But It can't handle the status changes like fiber disconnected/connected, SFP+ module absent, host interface disabled(disable ethernet interface in PC)/enabled. I tested on
11-28-2019 11:55 PM
Hello @guozhenp ,
I think GTRXRESET is in FPGA? I'm not FPGA developer, so I have no idea about it :).
Anyway, can PL 10G FPGA IP detect the status changes? or PL 10G Linux driver can handle the status changes detection? Or I have to do it myself via SFP+ I2C command (SFF-8472 standard)?
Does Auto-Negotiation & Link Training feature in PL 10G IP relate to this?
11-29-2019 04:51 AM
which 10G IP are you using?
For example the Xilinx 10G Ethernet Subsystem has a link status register, which you can read.
12-01-2019 05:44 PM
Our FPGA design uses Xilinx 10G/25G Ethernet Subsystem, configuration as attached pictures.
I guess, due to BASE-R mode is used, so Auto-Negotiation & Link Training are disabled, so status registers are mostly empty. (10G IP has base address 0xa0050000):
~# devmem 0xA0050400 0x00000081 ~# devmem 0xA0050460 0x00000000 ~# devmem 0xA0050464 0x00000000 ~# devmem 0xA0050468 0x00000000 ~# devmem 0xA0050458 0x00000000 ~# devmem 0xA0050400 0x00000080 ~# devmem 0xA0050404 0x000000E0 ~# devmem 0xA0050408 0x00000000 ~# devmem 0xA005040c 0x00000001 ~# devmem 0xA005043c 0x00000000 ~# devmem 0xA0050448 0x00000000 ~# devmem 0xA005044c 0x00000000 ~# devmem 0xA0050450 0x00000000 ~# devmem 0xA0050454 0x00000000 ~# devmem 0xA0050458 0x00000000 ~# devmem 0xA005045c 0x00000000 ~# devmem 0xA0050460 0x00000000 ~# devmem 0xA0050464 0x00000000 ~# devmem 0xA0050468 0x00000000 ~# devmem 0xA0050474 0x00000000 ~# devmem 0xA0050498 0x00000001 ~# devmem 0xA005049c 0x00000000 ~# devmem 0xA0050500 0x00000000
I attached the boot log also. For now, the 10G interface doesn't work in U-boot, but it is not my target, so we can ignore u-boot in this topic.
For now, I use static IP on board's 10G interface, 10G PCI card on PC & static IP, PC & board connect directly via fiber cable & SFP+ modules. Everything works fine, except when I reset the 10G interface in PC (reboot the PC, turn off the PC's 10G interface then turn it on by "ifconfig" command) the connection between PC & board will be lost and I have to reset (ifconfig down then up) board's 10G interface to make it works again. That is my problem now.
Thank you for your time & any comments/ideas are appreciated.
12-02-2019 12:53 AM
according to PG210 page 233, the output "stat_rx_status" of the IP indicates the link status.
Can you use that output, to determine if you have a link or not?