Re: [PATCH next-next] net: phy: realtek: add support for rtl8224 2.5Gbps PHY

From: Marek Behún
Date: Wed Jun 12 2024 - 03:07:23 EST


On Tue, 11 Jun 2024 20:42:43 +0000
Chris Packham <Chris.Packham@xxxxxxxxxxxxxxxxxxx> wrote:

> +cc Eric W and Marek.
>
> On 11/06/24 17:34, Chris Packham wrote:
> > The Realtek RTL8224 PHY is a 2.5Gbps capable PHY. It only uses the
> > clause 45 MDIO interface and can leverage the support that has already
> > been added for the other 822x PHYs.
> >
> > Signed-off-by: Chris Packham <chris.packham@xxxxxxxxxxxxxxxxxxx>
> > ---
> >
> > Notes:
> > I'm currently testing this on an older kernel because the board I'm
> > using has a SOC/DSA switch that has a driver in openwrt for Linux 5.15.
> > I have tried to selectively back port the bits I need from the other
> > rtl822x work so this should be all that is required for the rtl8224.
> >
> > There's quite a lot that would need forward porting get a working system
> > against a current kernel so hopefully this is small enough that it can
> > land while I'm trying to figure out how to untangle all the other bits.
> >
> > One thing that may appear lacking is the lack of rate_matching support.
> > According to the documentation I have know the interface used on the
> > RTL8224 is (q)uxsgmii so no rate matching is required. As I'm still
> > trying to get things completely working that may change if I get new
> > information.
> >
> > drivers/net/phy/realtek.c | 8 ++++++++
> > 1 file changed, 8 insertions(+)
> >
> > diff --git a/drivers/net/phy/realtek.c b/drivers/net/phy/realtek.c
> > index 7ab41f95dae5..2174893c974f 100644
> > --- a/drivers/net/phy/realtek.c
> > +++ b/drivers/net/phy/realtek.c
> > @@ -1317,6 +1317,14 @@ static struct phy_driver realtek_drvs[] = {
> > .resume = rtlgen_resume,
> > .read_page = rtl821x_read_page,
> > .write_page = rtl821x_write_page,
> > + }, {
> > + PHY_ID_MATCH_EXACT(0x001ccad0),
> > + .name = "RTL8224 2.5Gbps PHY",
> > + .get_features = rtl822x_c45_get_features,
> > + .config_aneg = rtl822x_c45_config_aneg,
> > + .read_status = rtl822x_c45_read_status,
> > + .suspend = genphy_c45_pma_suspend,
> > + .resume = rtlgen_c45_resume,
> > }, {
> > PHY_ID_MATCH_EXACT(0x001cc961),
> > .name = "RTL8366RB Gigabit Ethernet"

Don't you need rtl822xb_config_init for serdes configuration?

Marek