2023-05-30 08:51:07

by Lukasz Majewski

[permalink] [raw]
Subject: [PATCH v8 0/3] dsa: marvell: Add support for mv88e6071 and 6020 switches

After the commit (SHA1: 7e9517375a14f44ee830ca1c3278076dd65fcc8f);
"net: dsa: mv88e6xxx: fix max_mtu of 1492 on 6165, 6191, 6220, 6250, 6290" the
error when mv88e6020 or mv88e6071 is used is not present anymore.

As a result patches for adding max frame size are not required to provide
working setup with aforementioned switches.

Lukasz Majewski (2):
net: dsa: Define .set_max_frame_size() callback for mv88e6250 SoC
family
net: dsa: mv88e6xxx: add support for MV88E6071 switch

Matthias Schiffer (1):
net: dsa: mv88e6xxx: add support for MV88E6020 switch

drivers/net/dsa/mv88e6xxx/chip.c | 41 ++++++++++++++++++++++++++++++++
drivers/net/dsa/mv88e6xxx/chip.h | 4 +++-
drivers/net/dsa/mv88e6xxx/port.h | 2 ++
3 files changed, 46 insertions(+), 1 deletion(-)

--
2.20.1



2023-05-30 08:51:56

by Lukasz Majewski

[permalink] [raw]
Subject: [PATCH v8 2/3] net: dsa: mv88e6xxx: add support for MV88E6020 switch

From: Matthias Schiffer <[email protected]>

A mv88e6250 family switch with 2 PHY and RMII ports and
no PTP support.

Signed-off-by: Matthias Schiffer <[email protected]>
Signed-off-by: Lukasz Majewski <[email protected]>
Reviewed-by: Andrew Lunn <[email protected]>
---
Changes for v2:
- Add S-o-B
- Update commit message
- Add information about max packet size (2048 B)

Changes for v3:
- None

Changes for v4:
- Update the num_ports and num_internal_phys to be in sync with
88e6020 documentation

Changes for v5:
- None

Changes for v6:
- Reorder patches for better readiness

Changes for v7:
- Provide just support for this IC (remove the part with setting
max frame info as it is not needed anymore)

Changes for v8:
- Update commit message and comment regarding mv88e6250 family of
switch ICs
---
drivers/net/dsa/mv88e6xxx/chip.c | 20 ++++++++++++++++++++
drivers/net/dsa/mv88e6xxx/chip.h | 3 ++-
drivers/net/dsa/mv88e6xxx/port.h | 1 +
3 files changed, 23 insertions(+), 1 deletion(-)

diff --git a/drivers/net/dsa/mv88e6xxx/chip.c b/drivers/net/dsa/mv88e6xxx/chip.c
index b5e43dd40431..9cb76a5b8ff5 100644
--- a/drivers/net/dsa/mv88e6xxx/chip.c
+++ b/drivers/net/dsa/mv88e6xxx/chip.c
@@ -5643,6 +5643,26 @@ static const struct mv88e6xxx_ops mv88e6393x_ops = {
};

static const struct mv88e6xxx_info mv88e6xxx_table[] = {
+ [MV88E6020] = {
+ .prod_num = MV88E6XXX_PORT_SWITCH_ID_PROD_6020,
+ .family = MV88E6XXX_FAMILY_6250,
+ .name = "Marvell 88E6020",
+ .num_databases = 64,
+ .num_ports = 4,
+ .num_internal_phys = 2,
+ .max_vid = 4095,
+ .port_base_addr = 0x8,
+ .phy_base_addr = 0x0,
+ .global1_addr = 0xf,
+ .global2_addr = 0x7,
+ .age_time_coeff = 15000,
+ .g1_irqs = 9,
+ .g2_irqs = 5,
+ .atu_move_port_mask = 0xf,
+ .dual_chip = true,
+ .ops = &mv88e6250_ops,
+ },
+
[MV88E6085] = {
.prod_num = MV88E6XXX_PORT_SWITCH_ID_PROD_6085,
.family = MV88E6XXX_FAMILY_6097,
diff --git a/drivers/net/dsa/mv88e6xxx/chip.h b/drivers/net/dsa/mv88e6xxx/chip.h
index da6e1339f809..e249d4a3f853 100644
--- a/drivers/net/dsa/mv88e6xxx/chip.h
+++ b/drivers/net/dsa/mv88e6xxx/chip.h
@@ -54,6 +54,7 @@ enum mv88e6xxx_frame_mode {

/* List of supported models */
enum mv88e6xxx_model {
+ MV88E6020,
MV88E6085,
MV88E6095,
MV88E6097,
@@ -94,7 +95,7 @@ enum mv88e6xxx_family {
MV88E6XXX_FAMILY_6097, /* 6046 6085 6096 6097 */
MV88E6XXX_FAMILY_6165, /* 6123 6161 6165 */
MV88E6XXX_FAMILY_6185, /* 6108 6121 6122 6131 6152 6155 6182 6185 */
- MV88E6XXX_FAMILY_6250, /* 6220 6250 */
+ MV88E6XXX_FAMILY_6250, /* 6220 6250 6020 */
MV88E6XXX_FAMILY_6320, /* 6320 6321 */
MV88E6XXX_FAMILY_6341, /* 6141 6341 */
MV88E6XXX_FAMILY_6351, /* 6171 6175 6350 6351 */
diff --git a/drivers/net/dsa/mv88e6xxx/port.h b/drivers/net/dsa/mv88e6xxx/port.h
index d19b6303b91f..56efba08abdc 100644
--- a/drivers/net/dsa/mv88e6xxx/port.h
+++ b/drivers/net/dsa/mv88e6xxx/port.h
@@ -111,6 +111,7 @@
/* Offset 0x03: Switch Identifier Register */
#define MV88E6XXX_PORT_SWITCH_ID 0x03
#define MV88E6XXX_PORT_SWITCH_ID_PROD_MASK 0xfff0
+#define MV88E6XXX_PORT_SWITCH_ID_PROD_6020 0x0200
#define MV88E6XXX_PORT_SWITCH_ID_PROD_6085 0x04a0
#define MV88E6XXX_PORT_SWITCH_ID_PROD_6095 0x0950
#define MV88E6XXX_PORT_SWITCH_ID_PROD_6097 0x0990
--
2.20.1


2023-05-30 09:09:03

by Lukasz Majewski

[permalink] [raw]
Subject: [PATCH v8 3/3] net: dsa: mv88e6xxx: add support for MV88E6071 switch

A mv88e6250 family switch with 5 internal PHYs, 2 RMIIs
and no PTP support.

Signed-off-by: Lukasz Majewski <[email protected]>
Reviewed-by: Andrew Lunn <[email protected]>
---
Changes for v2:
- Update commit message
- Add information about max frame size

Changes for v3:
- None

Changes for v4:
- None

Changes for v5:
- None

Changes for v6:
- Reorder patches for better readiness

Changes for v7:
- Provide just support for this IC (remove the part with setting
max frame info as it is not needed anymore)

Changes for v8:
- Update commit message and comment regarding mv88e6250 family
---
drivers/net/dsa/mv88e6xxx/chip.c | 20 ++++++++++++++++++++
drivers/net/dsa/mv88e6xxx/chip.h | 3 ++-
drivers/net/dsa/mv88e6xxx/port.h | 1 +
3 files changed, 23 insertions(+), 1 deletion(-)

diff --git a/drivers/net/dsa/mv88e6xxx/chip.c b/drivers/net/dsa/mv88e6xxx/chip.c
index 9cb76a5b8ff5..8d4c1ab4c85d 100644
--- a/drivers/net/dsa/mv88e6xxx/chip.c
+++ b/drivers/net/dsa/mv88e6xxx/chip.c
@@ -5663,6 +5663,26 @@ static const struct mv88e6xxx_info mv88e6xxx_table[] = {
.ops = &mv88e6250_ops,
},

+ [MV88E6071] = {
+ .prod_num = MV88E6XXX_PORT_SWITCH_ID_PROD_6071,
+ .family = MV88E6XXX_FAMILY_6250,
+ .name = "Marvell 88E6071",
+ .num_databases = 64,
+ .num_ports = 7,
+ .num_internal_phys = 5,
+ .max_vid = 4095,
+ .port_base_addr = 0x08,
+ .phy_base_addr = 0x00,
+ .global1_addr = 0x0f,
+ .global2_addr = 0x07,
+ .age_time_coeff = 15000,
+ .g1_irqs = 9,
+ .g2_irqs = 5,
+ .atu_move_port_mask = 0xf,
+ .dual_chip = true,
+ .ops = &mv88e6250_ops,
+ },
+
[MV88E6085] = {
.prod_num = MV88E6XXX_PORT_SWITCH_ID_PROD_6085,
.family = MV88E6XXX_FAMILY_6097,
diff --git a/drivers/net/dsa/mv88e6xxx/chip.h b/drivers/net/dsa/mv88e6xxx/chip.h
index e249d4a3f853..150a06de633f 100644
--- a/drivers/net/dsa/mv88e6xxx/chip.h
+++ b/drivers/net/dsa/mv88e6xxx/chip.h
@@ -55,6 +55,7 @@ enum mv88e6xxx_frame_mode {
/* List of supported models */
enum mv88e6xxx_model {
MV88E6020,
+ MV88E6071,
MV88E6085,
MV88E6095,
MV88E6097,
@@ -95,7 +96,7 @@ enum mv88e6xxx_family {
MV88E6XXX_FAMILY_6097, /* 6046 6085 6096 6097 */
MV88E6XXX_FAMILY_6165, /* 6123 6161 6165 */
MV88E6XXX_FAMILY_6185, /* 6108 6121 6122 6131 6152 6155 6182 6185 */
- MV88E6XXX_FAMILY_6250, /* 6220 6250 6020 */
+ MV88E6XXX_FAMILY_6250, /* 6220 6250 6020 6071 */
MV88E6XXX_FAMILY_6320, /* 6320 6321 */
MV88E6XXX_FAMILY_6341, /* 6141 6341 */
MV88E6XXX_FAMILY_6351, /* 6171 6175 6350 6351 */
diff --git a/drivers/net/dsa/mv88e6xxx/port.h b/drivers/net/dsa/mv88e6xxx/port.h
index 56efba08abdc..e423ef13a827 100644
--- a/drivers/net/dsa/mv88e6xxx/port.h
+++ b/drivers/net/dsa/mv88e6xxx/port.h
@@ -112,6 +112,7 @@
#define MV88E6XXX_PORT_SWITCH_ID 0x03
#define MV88E6XXX_PORT_SWITCH_ID_PROD_MASK 0xfff0
#define MV88E6XXX_PORT_SWITCH_ID_PROD_6020 0x0200
+#define MV88E6XXX_PORT_SWITCH_ID_PROD_6071 0x0710
#define MV88E6XXX_PORT_SWITCH_ID_PROD_6085 0x04a0
#define MV88E6XXX_PORT_SWITCH_ID_PROD_6095 0x0950
#define MV88E6XXX_PORT_SWITCH_ID_PROD_6097 0x0990
--
2.20.1


2023-05-30 21:48:11

by Florian Fainelli

[permalink] [raw]
Subject: Re: [PATCH v8 3/3] net: dsa: mv88e6xxx: add support for MV88E6071 switch

On 5/30/23 01:39, Lukasz Majewski wrote:
> A mv88e6250 family switch with 5 internal PHYs, 2 RMIIs
> and no PTP support.
>
> Signed-off-by: Lukasz Majewski <[email protected]>
> Reviewed-by: Andrew Lunn <[email protected]>

Reviewed-by: Florian Fainelli <[email protected]>

Same comment as in patch #2.
--
Florian


2023-05-30 22:38:44

by Florian Fainelli

[permalink] [raw]
Subject: Re: [PATCH v8 2/3] net: dsa: mv88e6xxx: add support for MV88E6020 switch

On 5/30/23 01:39, Lukasz Majewski wrote:
> From: Matthias Schiffer <[email protected]>
>
> A mv88e6250 family switch with 2 PHY and RMII ports and
> no PTP support.
>
> Signed-off-by: Matthias Schiffer <[email protected]>
> Signed-off-by: Lukasz Majewski <[email protected]>
> Reviewed-by: Andrew Lunn <[email protected]>

> ---
[snip]

> /* List of supported models */
> enum mv88e6xxx_model {
> + MV88E6020,
> MV88E6085,
> MV88E6095,
> MV88E6097,
> @@ -94,7 +95,7 @@ enum mv88e6xxx_family {
> MV88E6XXX_FAMILY_6097, /* 6046 6085 6096 6097 */
> MV88E6XXX_FAMILY_6165, /* 6123 6161 6165 */
> MV88E6XXX_FAMILY_6185, /* 6108 6121 6122 6131 6152 6155 6182 6185 */
> - MV88E6XXX_FAMILY_6250, /* 6220 6250 */
> + MV88E6XXX_FAMILY_6250, /* 6220 6250 6020 */

über nit: only if you have to resubmit, numbers in ascending order.

Reviewed-by: Florian Fainelli <[email protected]>
--
Florian


2023-05-31 08:39:16

by Lukasz Majewski

[permalink] [raw]
Subject: Re: [PATCH v8 2/3] net: dsa: mv88e6xxx: add support for MV88E6020 switch

Hi Florian,

> On 5/30/23 01:39, Lukasz Majewski wrote:
> > From: Matthias Schiffer <[email protected]>
> >
> > A mv88e6250 family switch with 2 PHY and RMII ports and
> > no PTP support.
> >
> > Signed-off-by: Matthias Schiffer <[email protected]>
> > Signed-off-by: Lukasz Majewski <[email protected]>
> > Reviewed-by: Andrew Lunn <[email protected]>
>
> > ---
> [snip]
>
> > /* List of supported models */
> > enum mv88e6xxx_model {
> > + MV88E6020,
> > MV88E6085,
> > MV88E6095,
> > MV88E6097,
> > @@ -94,7 +95,7 @@ enum mv88e6xxx_family {
> > MV88E6XXX_FAMILY_6097, /* 6046 6085 6096 6097 */
> > MV88E6XXX_FAMILY_6165, /* 6123 6161 6165 */
> > MV88E6XXX_FAMILY_6185, /* 6108 6121 6122 6131 6152
> > 6155 6182 6185 */
> > - MV88E6XXX_FAMILY_6250, /* 6220 6250 */
> > + MV88E6XXX_FAMILY_6250, /* 6220 6250 6020 */
>
> über nit: only if you have to resubmit, numbers in ascending order.
>

I hope that v8 will be the last iteration :-)

> Reviewed-by: Florian Fainelli <[email protected]>


Best regards,

Lukasz Majewski

--

DENX Software Engineering GmbH, Managing Director: Erika Unter
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-59 Fax: (+49)-8142-66989-80 Email: [email protected]


Attachments:
(No filename) (499.00 B)
OpenPGP digital signature

2023-05-31 09:30:13

by patchwork-bot+netdevbpf

[permalink] [raw]
Subject: Re: [PATCH v8 0/3] dsa: marvell: Add support for mv88e6071 and 6020 switches

Hello:

This series was applied to netdev/net-next.git (main)
by David S. Miller <[email protected]>:

On Tue, 30 May 2023 10:39:13 +0200 you wrote:
> After the commit (SHA1: 7e9517375a14f44ee830ca1c3278076dd65fcc8f);
> "net: dsa: mv88e6xxx: fix max_mtu of 1492 on 6165, 6191, 6220, 6250, 6290" the
> error when mv88e6020 or mv88e6071 is used is not present anymore.
>
> As a result patches for adding max frame size are not required to provide
> working setup with aforementioned switches.
>
> [...]

Here is the summary with links:
- [v8,1/3] net: dsa: Define .set_max_frame_size() callback for mv88e6250 SoC family
https://git.kernel.org/netdev/net-next/c/dd4144e54e81
- [v8,2/3] net: dsa: mv88e6xxx: add support for MV88E6020 switch
https://git.kernel.org/netdev/net-next/c/71d94a432a15
- [v8,3/3] net: dsa: mv88e6xxx: add support for MV88E6071 switch
https://git.kernel.org/netdev/net-next/c/372188c86e4b

You are awesome, thank you!
--
Deet-doot-dot, I am a bot.
https://korg.docs.kernel.org/patchwork/pwbot.html