On Sun, Jan 24, 2021 at 01:55:42PM +0000, Stefan Chulski wrote:
> > > Signed-off-by: Stefan Chulski <stef...@marvell.com>
> > > ---
> > >  drivers/net/ethernet/marvell/mvpp2/mvpp2.h      | 24 ++++++++++++------
> > --
> > >  drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c | 17 +++++++++-----
> > >  2 files changed, 25 insertions(+), 16 deletions(-)
> > >
> > > diff --git a/drivers/net/ethernet/marvell/mvpp2/mvpp2.h
> > > b/drivers/net/ethernet/marvell/mvpp2/mvpp2.h
> > > index aec9179..89b3ede 100644
> > > --- a/drivers/net/ethernet/marvell/mvpp2/mvpp2.h
> > > +++ b/drivers/net/ethernet/marvell/mvpp2/mvpp2.h
> > > @@ -60,6 +60,9 @@
> > >  /* Top Registers */
> > >  #define MVPP2_MH_REG(port)                       (0x5040 + 4 * (port))
> > >  #define MVPP2_DSA_EXTENDED                       BIT(5)
> > > +#define MVPP2_VER_ID_REG                 0x50b0
> > > +#define MVPP2_VER_PP22                           0x10
> > > +#define MVPP2_VER_PP23                           0x11
> > 
> > Looking at the Armada 8040 docs, it seems this register exists on
> > PPv2.1 as well, and holds the value zero there.
> > 
> > I wonder whether we should instead read it's value directly into hw_version,
> > and test against these values, rather than inventing our own verison enum.
> > 
> > I've also been wondering whether your != MVPP21 comparisons should
> > instead be >= MVPP22.
> > 
> > Any thoughts?
> 
> We cannot access PPv2 register space before enabling clocks(done in 
> mvpp2_probe) , PP21 and PP22/23 have different sets of clocks.

> So diff between PP21 and PP22/23 should be stored in device tree(in
> of_device_id), with MVPP22 and MVPP21 stored as .data

Hi Stefan

As far as i can see, you are not adding a new compatible. So
'marvell,armada-7k-pp2' means PPv2.2 and PPv2.3? It would be good to
update the comment at the beginning of marvell-pp2.txt to indicate
this.

        Andrew

Reply via email to