Re: [PATCH net-next v1 2/3] dt-bindings: net: micrel: Add keep-preamble-before-sfd
From: Stefan Eichenberger <hidden>
Date: 2025-12-17 12:21:23
Also in:
linux-devicetree, lkml
On Wed, Dec 17, 2025 at 10:58:54AM +0100, Stefan Eichenberger wrote:
On Mon, Dec 15, 2025 at 08:03:30AM -0600, Rob Herring wrote:quoted
On Fri, Dec 12, 2025 at 09:46:17AM +0100, Stefan Eichenberger wrote:quoted
From: Stefan Eichenberger <redacted> Add a property to activate a Micrel PHY feature that keeps the preamble enabled before the SFD (Start Frame Delimiter) is transmitted. This allows to workaround broken Ethernet controllers as found on the NXP i.MX8MP. Specifically, errata ERR050694 that states: ENET_QOS: MAC incorrectly discards the received packets when Preamble Byte does not precede SFD or SMD.It doesn't really work right if you have to change the DT to work-around a quirk in the kernel. You should have all the information needed already in the DT. The compatible string for the i.MX8MP ethernet controller is not sufficient?Is doing something like this acceptable in a phy driver? if (of_machine_is_compatible("fsl,imx8mp")) { ... } That would be a different option, rather than having to add a new DT property. Unfortunately, the workaround affects the PHY rather than the MAC driver. This is why we considered adding a DT property.
Francesco made a good point about this. The i.MX8MP has two MACs, but only one of them is affected. Therefore, checking the machine's compatible string would not be correct. As far as I know, checking the MAC's compatible string from within the PHY driver is also not good practice, is it?