RE: [PATCH net-next 1/2] net: phy: realtek: Add phy ids for RTL8226-CG/RTL8226B-CG

From: Willy Liu
Date: Thu Oct 29 2020 - 22:46:35 EST


On Thu, Oct 29, 2020 21:49, Heiner Hallweit wrote:
> On 29.10.2020 14:37, Andrew Lunn wrote:
> > On Thu, Oct 29, 2020 at 08:07:57PM +0800, Willy Liu wrote:
> >> Realtek single-port 2.5Gbps Ethernet PHY ids as below:
> >> RTL8226-CG: 0x001cc800(ES)/0x001cc838(MP)
> >> RTL8226B-CG/RTL8221B-CG: 0x001cc840(ES)/0x001cc848(MP)
> >> ES: engineer sample
> >> MP: mass production
> >>
> >> Since above PHYs are already in mass production stage, mass
> >> production id should be added.
> >>
> >> Signed-off-by: Willy Liu <willy.liu@xxxxxxxxxxx>
> >> ---
> >> drivers/net/phy/realtek.c | 18 ++++++++++++++----
> >> 1 file changed, 14 insertions(+), 4 deletions(-) mode change 100644
> >> => 100755 drivers/net/phy/realtek.c
> >>
> >> diff --git a/drivers/net/phy/realtek.c b/drivers/net/phy/realtek.c
> >> old mode 100644 new mode 100755 index fb1db71..988f075
> >> --- a/drivers/net/phy/realtek.c
> >> +++ b/drivers/net/phy/realtek.c
> >> @@ -57,6 +57,9 @@
> >> #define RTLGEN_SPEED_MASK 0x0630
> >>
> >> #define RTL_GENERIC_PHYID 0x001cc800
> >> +#define RTL_8226_MP_PHYID 0x001cc838
> >> +#define RTL_8221B_ES_PHYID 0x001cc840
> >> +#define RTL_8221B_MP_PHYID 0x001cc848
> >>
> >> MODULE_DESCRIPTION("Realtek PHY driver");
> MODULE_AUTHOR("Johnson
> >> Leung"); @@ -533,10 +536,17 @@ static int
> >> rtlgen_match_phy_device(struct phy_device *phydev)
> >>
> >> static int rtl8226_match_phy_device(struct phy_device *phydev) {
> >> - return phydev->phy_id == RTL_GENERIC_PHYID &&
> >> + return (phydev->phy_id == RTL_GENERIC_PHYID) ||
> >> + (phydev->phy_id == RTL_8226_MP_PHYID) &&
> >> rtlgen_supports_2_5gbps(phydev);
> >
> > Hi Willy
> >
> > If i understand the code correctly, this match function is used
> > because the engineering sample did not use a proper ID? The mass
> > production part does, so there is no need to make use of this hack.
> > Please just list it as a normal PHY using PHY_ID_MATCH_EXACT().
> >
> Right. My understanding:
> These PHY's exist as standalone chips and integrated with RTL8125 MAC.
> IIRC for RTL8125A the integrated PHY reports RTL_GENERIC_PHYID, since
> RTL8125B it reports the same PHYID as the standalone model.
Hi Andrew && Heiner,
Thanks for your information, I will create drivers for RTL8226-CG & RTL8221B-CG
as standalone models.

> ------Please consider the environment before printing this e-mail.