Skip to contentSkip to conversation

net: dsa: mv88e6xxx: add MV88E6097 switch

PATCH Superseded Stefan Eichenberger 3 participants 6 messages Nov 22, 2016 – Nov 25, 2016

Subsystems (4)
lore
Share & tools
lore
#0 lore raw

PATCH 1/1 net: dsa: mv88e6xxx: add MV88E6097 switch

Add support for the MV88E6097 switch. The change was tested on an Armada based platform with a MV88E6097 switch.

---
 drivers/net/dsa/mv88e6xxx/chip.c      | 19 +++++++++++++++++++
 drivers/net/dsa/mv88e6xxx/mv88e6xxx.h |  2 ++
 2 files changed, 21 insertions(+)
drivers/net/dsa/mv88e6xxx/chip.c +19 -0
index 5a9729b..20d6fb5 100644
@@ -3213,6 +3213,12 @@ static const struct mv88e6xxx_ops mv88e6095_ops = {
 	.phy_write = mv88e6xxx_phy_ppu_write,
 };
 
+static const struct mv88e6xxx_ops mv88e6097_ops = {
+	.set_switch_mac = mv88e6xxx_g2_set_switch_mac,
+	.phy_read = mv88e6xxx_g2_smi_phy_read,
+	.phy_write = mv88e6xxx_g2_smi_phy_write,
+};
+
 static const struct mv88e6xxx_ops mv88e6123_ops = {
 	.set_switch_mac = mv88e6xxx_g2_set_switch_mac,
 	.phy_read = mv88e6xxx_read,
@@ -3342,6 +3348,19 @@ static const struct mv88e6xxx_info mv88e6xxx_table[] = {
 		.ops = &mv88e6095_ops,
 	},
 
+	[MV88E6097] = {
+		.prod_num = PORT_SWITCH_ID_PROD_NUM_6097,
+		.family = MV88E6XXX_FAMILY_6097,
+		.name = "Marvell 88E6097/88E6097F",
+		.num_databases = 4096,
+		.num_ports = 11,
+		.port_base_addr = 0x10,
+		.global1_addr = 0x1b,
+		.age_time_coeff = 15000,
+		.flags = MV88E6XXX_FLAGS_FAMILY_6097,
+		.ops = &mv88e6097_ops,
+	},
+
 	[MV88E6123] = {
 		.prod_num = PORT_SWITCH_ID_PROD_NUM_6123,
 		.family = MV88E6XXX_FAMILY_6165,
drivers/net/dsa/mv88e6xxx/mv88e6xxx.h +2 -0
index e572121..42e28f8 100644
@@ -74,6 +74,7 @@
 #define PORT_SWITCH_ID		0x03
 #define PORT_SWITCH_ID_PROD_NUM_6085	0x04a
 #define PORT_SWITCH_ID_PROD_NUM_6095	0x095
+#define PORT_SWITCH_ID_PROD_NUM_6097	0x099
 #define PORT_SWITCH_ID_PROD_NUM_6131	0x106
 #define PORT_SWITCH_ID_PROD_NUM_6320	0x115
 #define PORT_SWITCH_ID_PROD_NUM_6123	0x121
@@ -353,6 +354,7 @@
 enum mv88e6xxx_model {
 	MV88E6085,
 	MV88E6095,
+	MV88E6097,
 	MV88E6123,
 	MV88E6131,
 	MV88E6161,
Signature · 1 line
2.9.3
maintainer
#1 lore raw
Quoted 2 lines · Stefan Eichenberger

Add support for the MV88E6097 switch. The change was tested on an Armada based platform with a MV88E6097 switch.

Hi Stefan

Please can you based your patches on net-next. You will then find the ops structure has gained a few more entries.

Andrew

#2 lore raw

PATCH v2 1/1 net: dsa: mv88e6xxx: add MV88E6097 switch

Add support for the MV88E6097 switch. The change was tested on an Armada based platform with a MV88E6097 switch.

---
 drivers/net/dsa/mv88e6xxx/chip.c      | 26 ++++++++++++++++++++++++++
 drivers/net/dsa/mv88e6xxx/mv88e6xxx.h |  2 ++
 2 files changed, 28 insertions(+)
drivers/net/dsa/mv88e6xxx/chip.c +26 -0
index 48b58c7..2d5941c 100644
@@ -3208,6 +3208,19 @@ static const struct mv88e6xxx_ops mv88e6095_ops = {
 	.stats_get_stats = mv88e6095_stats_get_stats,
 };
 
+static const struct mv88e6xxx_ops mv88e6097_ops = {
+	.set_switch_mac = mv88e6xxx_g2_set_switch_mac,
+	.phy_read = mv88e6xxx_g2_smi_phy_read,
+	.phy_write = mv88e6xxx_g2_smi_phy_write,
+	.port_set_link = mv88e6xxx_port_set_link,
+	.port_set_duplex = mv88e6xxx_port_set_duplex,
+	.port_set_speed = mv88e6185_port_set_speed,
+	.stats_snapshot = mv88e6xxx_g1_stats_snapshot,
+	.stats_get_sset_count = mv88e6095_stats_get_sset_count,
+	.stats_get_strings = mv88e6095_stats_get_strings,
+	.stats_get_stats = mv88e6095_stats_get_stats,
+};
+
 static const struct mv88e6xxx_ops mv88e6123_ops = {
 	/* MV88E6XXX_FAMILY_6165 */
 	.set_switch_mac = mv88e6xxx_g2_set_switch_mac,
@@ -3579,6 +3592,19 @@ static const struct mv88e6xxx_info mv88e6xxx_table[] = {
 		.ops = &mv88e6095_ops,
 	},
 
+	[MV88E6097] = {
+		.prod_num = PORT_SWITCH_ID_PROD_NUM_6097,
+		.family = MV88E6XXX_FAMILY_6097,
+		.name = "Marvell 88E6097/88E6097F",
+		.num_databases = 4096,
+		.num_ports = 11,
+		.port_base_addr = 0x10,
+		.global1_addr = 0x1b,
+		.age_time_coeff = 15000,
+		.flags = MV88E6XXX_FLAGS_FAMILY_6097,
+		.ops = &mv88e6097_ops,
+	},
+
 	[MV88E6123] = {
 		.prod_num = PORT_SWITCH_ID_PROD_NUM_6123,
 		.family = MV88E6XXX_FAMILY_6165,
drivers/net/dsa/mv88e6xxx/mv88e6xxx.h +2 -0
index 9298faa..ab52c37 100644
@@ -81,6 +81,7 @@
 #define PORT_SWITCH_ID		0x03
 #define PORT_SWITCH_ID_PROD_NUM_6085	0x04a
 #define PORT_SWITCH_ID_PROD_NUM_6095	0x095
+#define PORT_SWITCH_ID_PROD_NUM_6097	0x099
 #define PORT_SWITCH_ID_PROD_NUM_6131	0x106
 #define PORT_SWITCH_ID_PROD_NUM_6320	0x115
 #define PORT_SWITCH_ID_PROD_NUM_6123	0x121
@@ -378,6 +379,7 @@
 enum mv88e6xxx_model {
 	MV88E6085,
 	MV88E6095,
+	MV88E6097,
 	MV88E6123,
 	MV88E6131,
 	MV88E6161,
Signature · 1 line
2.9.3
#4 lore raw

Hi David

Quoted 9 lines · David Miller

From: Stefan Eichenberger <[email protected]>
Date: Tue, 22 Nov 2016 17:47:21 +0100

Quoted 4 lines

Add support for the MV88E6097 switch. The change was tested on an Armada based platform with a MV88E6097 switch.

Applied to net-next, thanks.

I'm afraid this is the wrong patch version, Andrew and Vivien had some findings, this would be the correct patch series that include all necessary changes:
http://marc.info/?l=linux-netdev&m=147993563215981&w=2
http://marc.info/?l=linux-netdev&m=147993580216027&w=2
http://marc.info/?l=linux-netdev&m=147993607616121&w=2

Sorry for the confusion, I did a mess
Stefan

maintainer
#5 lore raw
Quoted 9 lines · Stefan Eichenberger

Hi David

Quoted 6 lines · David Miller

From: Stefan Eichenberger <[email protected]>
Date: Tue, 22 Nov 2016 17:47:21 +0100

Quoted 3 lines

Add support for the MV88E6097 switch. The change was tested on an Armada based platform with a MV88E6097 switch.

Quoted 7 lines
Quoted 3 lines
Quoted 1 line

Applied to net-next, thanks.

I'm afraid this is the wrong patch version, Andrew and Vivien had some findings, this would be the correct patch series that include all necessary changes:

Hi Stefan

David does not remove patches once they are accepted. Please send followup patches which convert the current state to what we actually want.

Andrew