Commit 5dedf5c4 authored by David S. Miller's avatar David S. Miller
Browse files

Merge branch 'dsa-marvell-mv88e6071-and-6020-support'



Lukasz Majewski says:

====================
dsa: marvell: Add support for mv88e6071 and 6020  switches

After the commit (SHA1: 7e951737);
"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.
====================

Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parents 3ea903e2 372188c8
Loading
Loading
Loading
Loading
+41 −0
Original line number Diff line number Diff line
@@ -5072,6 +5072,7 @@ static const struct mv88e6xxx_ops mv88e6250_ops = {
	.avb_ops = &mv88e6352_avb_ops,
	.ptp_ops = &mv88e6250_ptp_ops,
	.phylink_get_caps = mv88e6250_phylink_get_caps,
	.set_max_frame_size = mv88e6185_g1_set_max_frame_size,
};

static const struct mv88e6xxx_ops mv88e6290_ops = {
@@ -5671,6 +5672,46 @@ 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,
	},

	[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,
+3 −1
Original line number Diff line number Diff line
@@ -54,6 +54,8 @@ enum mv88e6xxx_frame_mode {

/* List of supported models */
enum mv88e6xxx_model {
	MV88E6020,
	MV88E6071,
	MV88E6085,
	MV88E6095,
	MV88E6097,
@@ -95,7 +97,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 6071 */
	MV88E6XXX_FAMILY_6320,	/* 6320 6321 */
	MV88E6XXX_FAMILY_6341,	/* 6141 6341 */
	MV88E6XXX_FAMILY_6351,	/* 6171 6175 6350 6351 */
+2 −0
Original line number Diff line number Diff line
@@ -111,6 +111,8 @@
/* 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_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