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