Re: [PATCH 2/2] net: dsa: b53: mdio: add support for BCM53134

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



El jue, 23 mar 2023 a las 21:10, Paul Geurts
(<paul.geurts@xxxxxxxxxxxxxxxxxxxxxxxxx>) escribió:
>
> > -----Original Message-----
> > From: Florian Fainelli <f.fainelli@xxxxxxxxx>
> > Sent: donderdag 23 maart 2023 17:43
> > To: Álvaro Fernández Rojas <noltari@xxxxxxxxx>; Paul Geurts
> > <paul.geurts@xxxxxxxxxxxxxxxxxxxxxxxxx>; jonas.gorski@xxxxxxxxx;
> > andrew@xxxxxxx; olteanv@xxxxxxxxx; davem@xxxxxxxxxxxxx;
> > edumazet@xxxxxxxxxx; kuba@xxxxxxxxxx; pabeni@xxxxxxxxxx;
> > robh+dt@xxxxxxxxxx; krzysztof.kozlowski+dt@xxxxxxxxxx;
> > netdev@xxxxxxxxxxxxxxx; devicetree@xxxxxxxxxxxxxxx; linux-
> > kernel@xxxxxxxxxxxxxxx
> > Subject: Re: [PATCH 2/2] net: dsa: b53: mdio: add support for BCM53134
> >
> > On 3/23/23 05:18, Álvaro Fernández Rojas wrote:
> > > From: Paul Geurts <paul.geurts@xxxxxxxxxxxxxxxxxxxxxxxxx>
> > >
> > > Add support for the BCM53134 Ethernet switch in the existing b53 dsa
> > driver.
> > > BCM53134 is very similar to the BCM58XX series.
> > >
> > > Signed-off-by: Paul Geurts <paul.geurts@xxxxxxxxxxxxxxxxxxxxxxxxx>
> > > Signed-off-by: Álvaro Fernández Rojas <noltari@xxxxxxxxx>
> > > ---
> > >   drivers/net/dsa/b53/b53_common.c | 53
> > +++++++++++++++++++++++++++++++-
> > >   drivers/net/dsa/b53/b53_mdio.c   |  5 ++-
> > >   drivers/net/dsa/b53/b53_priv.h   |  9 +++++-
> > >   3 files changed, 64 insertions(+), 3 deletions(-)
> > >
> > > diff --git a/drivers/net/dsa/b53/b53_common.c
> > > b/drivers/net/dsa/b53/b53_common.c
> > > index 1f9b251a5452..aaa0813e6f59 100644
> > > --- a/drivers/net/dsa/b53/b53_common.c
> > > +++ b/drivers/net/dsa/b53/b53_common.c
> > > @@ -1282,6 +1282,42 @@ static void b53_adjust_link(struct dsa_switch
> > *ds, int port,
> > >     if (is63xx(dev) && port >= B53_63XX_RGMII0)
> > >             b53_adjust_63xx_rgmii(ds, port, phydev->interface);
> > >
> > > +   if (is53134(dev) && phy_interface_is_rgmii(phydev)) {
> >
> > Why is not this in the same code block as the one for the is531x5() device like
> > this:
> >
> > diff --git a/drivers/net/dsa/b53/b53_common.c
> > b/drivers/net/dsa/b53/b53_common.c
> > index 59cdfc51ce06..1c64b6ce7e78 100644
> > --- a/drivers/net/dsa/b53/b53_common.c
> > +++ b/drivers/net/dsa/b53/b53_common.c
> > @@ -1235,7 +1235,7 @@ static void b53_adjust_link(struct dsa_switch *ds,
> > int port,
> >                                tx_pause, rx_pause);
> >          b53_force_link(dev, port, phydev->link);
> >
> > -       if (is531x5(dev) && phy_interface_is_rgmii(phydev)) {
> > +       if ((is531x5(dev) || is53134(dev)) &&
> > phy_interface_is_rgmii(phydev)) {
> >                  if (port == dev->imp_port)
> >                          off = B53_RGMII_CTRL_IMP;
> >                  else
> >
> > Other than that, LGTM!
> > --
> > Florian
>
> I think the only reason is that the BCM53134 does not support the
> RGMII_CTRL_TIMING_SEL bit, which is set in the original block. I agree
> Putting a if statement around
> rgmii_ctrl |= RGMII_CTRL_TIMING_SEL;
> would prevent a lot of code duplication. _however_, after looking at it again,
> I don’t think the device does not support the bit. When looking at the datasheet,
> The same bit in the this register is called BYPASS_2NS_DEL. It's very uncommon
> For Broadcom to make such a change in the register interface, so maybe they
> Just renamed it. Do you think this could be the same bit?

What happens if you add that bit on your device? It doesn't work?
I will try with my device and see what happens when I add it...

>
> ---
> Paul

--
Álvaro




[Index of Archives]     [Device Tree Compilter]     [Device Tree Spec]     [Linux Driver Backports]     [Video for Linux]     [Linux USB Devel]     [Linux PCI Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Yosemite Backpacking]


  Powered by Linux