zynq_gem without PHY

Patrick Huesmann patrick.huesmann at desy.de
Thu Jul 4 14:28:49 CEST 2024


Dear U-Boot devs/maintainers,

We are running Xilinx MPSoC based MicroTCA mezzanine boards that, 
according to the MicroTCA standard, connect to the crate's Ethernet 
switch via a 1000BASE-BX interface at the backplane (the interface is 
basically equivalent to a SFP module; we actually have a bring-up 
adapter that uses a SFP module to replicate the Ethernet functionality 
outside a MicroTCA crate).

Most of our boards use a PHY in RGMII -> 1000BASE-X mode, but on some 
other boards a MPSoC MGT is wired directly to the backplane without a 
PHY in between (and the GEM set to 1000BASE-X mode accordingly). Now the 
Xilinx GEM driver (drivers/net/zynq_gem.c) assumes there is always a PHY 
connected to the Ethernet interface, and aborts the GEM initialization 
if there is no PHY found.

In a previous U-Boot version, I have patched zynq_gem.c to just ignore 
absence of a PHY, but the recent version of the driver 
accesses priv->phydev quite a lot - so it required a bit of effort to 
port the patch. Now I'm wondering if I should clean it up and try to 
upstream it. (Basically, if priv->phydev is null, don't touch it, 
disable autonegotiation and use speed setting from devicetree). Would a 
patch like this have any chance of getting upstreamed?

Thanks and best regards,
Patrick

—

Deutsches Elektronen-Synchrotron DESY
A Research Centre of the Helmholtz Association
Notkestraße 85, D-22607 Hamburg
E-Mail: patrick.huesmann at desy.de
Web: https://msk.desy.de/


More information about the U-Boot mailing list