Re: [PATCH net-next v2 5/5] net: macb: Add "mobileye,eyeq5-gem" compatible
From: Théo Lebrun
Date: Wed Oct 22 2025 - 05:35:15 EST
On Wed Oct 22, 2025 at 10:09 AM CEST, Maxime Chevallier wrote:
> On 22/10/2025 09:38, Théo Lebrun wrote:
>> Add support for the two GEM instances inside Mobileye EyeQ5 SoCs, using
>> compatible "mobileye,eyeq5-gem". With it, add a custom init sequence
>> that must grab a generic PHY and initialise it.
>>
>> We use bp->phy in both RGMII and SGMII cases. Tell our mode by adding a
>> phy_set_mode_ext() during macb_open(), before phy_power_on(). We are
>> the first users of bp->phy that use it in non-SGMII cases.
>>
>> Signed-off-by: Théo Lebrun <theo.lebrun@xxxxxxxxxxx>
>
> This seems good to me. I was worried that introducing the unconditionnal
> call to phy_set_mode_ext() could trigger spurious errors should the
> generic PHY driver not support the requested interface, but AFAICT
> there's only the zynqmp in-tree that use the 'phys' property with macb,
> and the associated generic PHY driver (drivers/phy/phy-zynqmp.c) doesn't
> implement a .set_mode, so that looks safe.
>
> Reviewed-by: Maxime Chevallier <maxime.chevallier@xxxxxxxxxxx>
Ah, good catch. I checked that both !phy || !phy->ops->set_mode lead to
return 0, but I hadn't checked if other PHY drivers could have a
.set_mode() implementation that failed on this new call.
Compatibles that might read a "phys" DT property:
- cdns,zynqmp-gem => no DT upstream
- microchip,mpfs-macb => no DT upstream
- xlnx,versal-gem => xilinx/versal-net.dtsi, &gem0..1, no PHY attached.
- xlnx,zynqmp-gem => xilinx/zynqmp.dtsi, &gem0..3, PHY attached in
xilinx/zynqmp-sck-kr-g-rev*.dtso. PHY provider is &psgtr,
"xlnx,zynqmp-psgtr-v1.1", drivers/phy/xilinx/phy-zynqmp.c
So as you pointed out, only xilinx/phy-zynqmp.c is used according to
upstream DTs. I also checked lkml, no patches adding a .set_mode().
We shouldn't be breaking upstream DTs with the current patch.
Thanks for the review Maxime,
--
Théo Lebrun, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com