Re: [PATCH net-next v2 11/12] net: phy: marvell10g: print exact model
From: Marek Behún <kabel@kernel.org>
Date: 2021-03-25 20:55:11
On Thu, 25 Mar 2021 21:44:21 +0100 Heiner Kallweit [off-list ref] wrote:
On 25.03.2021 21:29, Marek Behún wrote:quoted
On Thu, 25 Mar 2021 15:54:52 +0000 Russell King - ARM Linux admin [off-list ref] wrote:quoted
The 88X3310 and 88X3340 can be differentiated by bit 3 in the revision. In other words, 88X3310 is 0x09a0..0x09a7, and 88X3340 is 0x09a8..0x09af. We could add a separate driver structure, which would then allow the kernel to print a more specific string via standard methods, like we do for other PHYs. Not sure whether that would work for the 88X21x0 family though.According to release notes it seems that we can also differentiate 88E211X from 88E218X (via bit 3 in register 1.3): 88E211X has 0x09B9 88E218X has 0x09B1 but not 88E2110 from 88E2111 nor 88E2180 from 88E2181. These can be differentiated via register 3.0004.7 (bit 7 of MDIO_MMD_PCS.MDIO_SPEED., which says whether device is capable of 5g speed)If the PHY ID's are the same but you can use this register to differentiate the two versions, then you could implement the match_phy_device callback. This would allow you to have separate PHY drivers. This is just meant to say you have this option, I don't know the context good enough to state whether it's the better one.
Nice, didn't know about that. But I fear whether this would always work for the 88X3310 vs 88X3310P, it is possible that this feature is only recognizable if the firmware in the PHY is already running. I shall look into this. Marek