Re: [PATCH v2 2/6] net: phy: broadcom: Add BCM54810 PHY entry
From: Jon Mason <hidden>
Date: 2016-11-01 16:43:51
Also in:
linux-arm-kernel, linux-devicetree, lkml
On Tue, Nov 01, 2016 at 05:26:48PM +0100, Andrew Lunn wrote:
quoted
quoted
quoted
+ if (of_property_read_bool(np, "brcm,enet-phy-lane-swap")) { + /* Lane Swap - Undocumented register...magic! */ + ret = bcm_phy_write_exp(phydev, MII_BCM54XX_EXP_SEL_ER + 0x9, + 0x11B); + if (ret < 0) + return ret; + } +I wounder if this property could be made generic? What exactly are you swapping? Rx and Tx lanes? Maybe we should add it to phy.txt?Are you envisioning adding a DT check (similar to the of_property_read_bool above, only with a more generic string) in phy_device_create(), which will then set a PHY device flag? This flag would then be checked for in the PHY driver and the appropriate action taken (in this case the bcm_phy_write_exp above).I would keep the parsing of the property in the driver. But if we think other PHYs could also support this feature, it would be good to avoid having "brcm,enet-phy-lane-swap", "marvell,enet-phy-lane-swap", "davicom,enet-phy-lane-swap", etc. It would be better to have one well defined property documented in phy.txt which any PHY is free to implement.
Okay, I understand what you are saying now. I will assume that if nothing exists today aside from this Broadcom errata, something in the future will happen. So, I agree that making it generic is a good idea. I'll make the generic string be "enet-phy-lane-swap" (without the previous "brcm"), and add the flag to phy.txt to document it. Thanks, Jon
Andrew