Re: [PATCH] net: phy: marvell: fix detection of PHY on Topaz switches

From: Marek Behún
Date: Mon Apr 12 2021 - 19:45:53 EST


On Mon, 12 Apr 2021 18:38:29 +0200
Pali Rohár <pali@xxxxxxxxxx> wrote:

> On Monday 12 April 2021 18:12:35 Andrew Lunn wrote:
> > On Mon, Apr 12, 2021 at 05:52:39PM +0200, Pali Rohár wrote:
> > > On Monday 12 April 2021 17:32:33 Andrew Lunn wrote:
> > > > > Anyway, now I'm looking at phy/marvell.c driver again and it supports
> > > > > only 88E6341 and 88E6390 families from whole 88E63xxx range.
> > > > >
> > > > > So do we need to define for now table for more than
> > > > > MV88E6XXX_FAMILY_6341 and MV88E6XXX_FAMILY_6390 entries?
> > > >
> > > > Probably not. I've no idea if the 6393 has an ID, so to be safe you
> > > > should add that. Assuming it has a family of its own.
> > >
> > > So what about just?
> > >
> > > if (reg == MII_PHYSID2 && !(val & 0x3f0)) {
> > > if (chip->info->family == MV88E6XXX_FAMILY_6341)
> > > val |= MV88E6XXX_PORT_SWITCH_ID_PROD_6341 >> 4;
> > > else if (chip->info->family == MV88E6XXX_FAMILY_6390)
> > > val |= MV88E6XXX_PORT_SWITCH_ID_PROD_6390 >> 4;
> > > }
> >
> > As i said, i expect the 6393 also has no ID. And i recently found out
> > Marvell have some automotive switches, 88Q5xxx which are actually
> > based around the same IP and could be added to this driver. They also
> > might not have an ID. I suspect this list is going to get longer, so
> > having it table driven will make that simpler, less error prone.
> >
> > Andrew
>
> Ok, I will use table but I fill it only with Topaz (6341) and Peridot
> (6390) which was there before as I do not have 6393 switch for testing.
>
> If you or anybody else has 6393 unit for testing, please extend then
> table.

6393 PHYs report PHY ID 0x002b0808, I.e. no model number.

I now realize that I did not implement this for 6393, these PHYs are
detected as
mv88e6085 ... PHY [...] driver [Generic PHY] (irq=POLL)

And it seems that this temperature sensor is different from 1510, 6341
and 6390 :) I will look into this and send a patch.

Marek