
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@desy.de Web: https://msk.desy.de/