|
@@ -2181,7 +2181,7 @@ static int mv88e6xxx_mdio_read(struct mii_bus *bus, int phy, int reg)
|
|
* the mv88e6390 family model number instead.
|
|
* the mv88e6390 family model number instead.
|
|
*/
|
|
*/
|
|
if (!(val & 0x3f0))
|
|
if (!(val & 0x3f0))
|
|
- val |= PORT_SWITCH_ID_PROD_NUM_6390;
|
|
|
|
|
|
+ val |= MV88E6XXX_PORT_SWITCH_ID_PROD_6390 >> 4;
|
|
}
|
|
}
|
|
|
|
|
|
return err ? err : val;
|
|
return err ? err : val;
|
|
@@ -3162,7 +3162,7 @@ static const struct mv88e6xxx_ops mv88e6390x_ops = {
|
|
|
|
|
|
static const struct mv88e6xxx_info mv88e6xxx_table[] = {
|
|
static const struct mv88e6xxx_info mv88e6xxx_table[] = {
|
|
[MV88E6085] = {
|
|
[MV88E6085] = {
|
|
- .prod_num = PORT_SWITCH_ID_PROD_NUM_6085,
|
|
|
|
|
|
+ .prod_num = MV88E6XXX_PORT_SWITCH_ID_PROD_6085,
|
|
.family = MV88E6XXX_FAMILY_6097,
|
|
.family = MV88E6XXX_FAMILY_6097,
|
|
.name = "Marvell 88E6085",
|
|
.name = "Marvell 88E6085",
|
|
.num_databases = 4096,
|
|
.num_databases = 4096,
|
|
@@ -3180,7 +3180,7 @@ static const struct mv88e6xxx_info mv88e6xxx_table[] = {
|
|
},
|
|
},
|
|
|
|
|
|
[MV88E6095] = {
|
|
[MV88E6095] = {
|
|
- .prod_num = PORT_SWITCH_ID_PROD_NUM_6095,
|
|
|
|
|
|
+ .prod_num = MV88E6XXX_PORT_SWITCH_ID_PROD_6095,
|
|
.family = MV88E6XXX_FAMILY_6095,
|
|
.family = MV88E6XXX_FAMILY_6095,
|
|
.name = "Marvell 88E6095/88E6095F",
|
|
.name = "Marvell 88E6095/88E6095F",
|
|
.num_databases = 256,
|
|
.num_databases = 256,
|
|
@@ -3197,7 +3197,7 @@ static const struct mv88e6xxx_info mv88e6xxx_table[] = {
|
|
},
|
|
},
|
|
|
|
|
|
[MV88E6097] = {
|
|
[MV88E6097] = {
|
|
- .prod_num = PORT_SWITCH_ID_PROD_NUM_6097,
|
|
|
|
|
|
+ .prod_num = MV88E6XXX_PORT_SWITCH_ID_PROD_6097,
|
|
.family = MV88E6XXX_FAMILY_6097,
|
|
.family = MV88E6XXX_FAMILY_6097,
|
|
.name = "Marvell 88E6097/88E6097F",
|
|
.name = "Marvell 88E6097/88E6097F",
|
|
.num_databases = 4096,
|
|
.num_databases = 4096,
|
|
@@ -3215,7 +3215,7 @@ static const struct mv88e6xxx_info mv88e6xxx_table[] = {
|
|
},
|
|
},
|
|
|
|
|
|
[MV88E6123] = {
|
|
[MV88E6123] = {
|
|
- .prod_num = PORT_SWITCH_ID_PROD_NUM_6123,
|
|
|
|
|
|
+ .prod_num = MV88E6XXX_PORT_SWITCH_ID_PROD_6123,
|
|
.family = MV88E6XXX_FAMILY_6165,
|
|
.family = MV88E6XXX_FAMILY_6165,
|
|
.name = "Marvell 88E6123",
|
|
.name = "Marvell 88E6123",
|
|
.num_databases = 4096,
|
|
.num_databases = 4096,
|
|
@@ -3233,7 +3233,7 @@ static const struct mv88e6xxx_info mv88e6xxx_table[] = {
|
|
},
|
|
},
|
|
|
|
|
|
[MV88E6131] = {
|
|
[MV88E6131] = {
|
|
- .prod_num = PORT_SWITCH_ID_PROD_NUM_6131,
|
|
|
|
|
|
+ .prod_num = MV88E6XXX_PORT_SWITCH_ID_PROD_6131,
|
|
.family = MV88E6XXX_FAMILY_6185,
|
|
.family = MV88E6XXX_FAMILY_6185,
|
|
.name = "Marvell 88E6131",
|
|
.name = "Marvell 88E6131",
|
|
.num_databases = 256,
|
|
.num_databases = 256,
|
|
@@ -3250,7 +3250,7 @@ static const struct mv88e6xxx_info mv88e6xxx_table[] = {
|
|
},
|
|
},
|
|
|
|
|
|
[MV88E6141] = {
|
|
[MV88E6141] = {
|
|
- .prod_num = PORT_SWITCH_ID_PROD_NUM_6141,
|
|
|
|
|
|
+ .prod_num = MV88E6XXX_PORT_SWITCH_ID_PROD_6141,
|
|
.family = MV88E6XXX_FAMILY_6341,
|
|
.family = MV88E6XXX_FAMILY_6341,
|
|
.name = "Marvell 88E6341",
|
|
.name = "Marvell 88E6341",
|
|
.num_databases = 4096,
|
|
.num_databases = 4096,
|
|
@@ -3267,7 +3267,7 @@ static const struct mv88e6xxx_info mv88e6xxx_table[] = {
|
|
},
|
|
},
|
|
|
|
|
|
[MV88E6161] = {
|
|
[MV88E6161] = {
|
|
- .prod_num = PORT_SWITCH_ID_PROD_NUM_6161,
|
|
|
|
|
|
+ .prod_num = MV88E6XXX_PORT_SWITCH_ID_PROD_6161,
|
|
.family = MV88E6XXX_FAMILY_6165,
|
|
.family = MV88E6XXX_FAMILY_6165,
|
|
.name = "Marvell 88E6161",
|
|
.name = "Marvell 88E6161",
|
|
.num_databases = 4096,
|
|
.num_databases = 4096,
|
|
@@ -3285,7 +3285,7 @@ static const struct mv88e6xxx_info mv88e6xxx_table[] = {
|
|
},
|
|
},
|
|
|
|
|
|
[MV88E6165] = {
|
|
[MV88E6165] = {
|
|
- .prod_num = PORT_SWITCH_ID_PROD_NUM_6165,
|
|
|
|
|
|
+ .prod_num = MV88E6XXX_PORT_SWITCH_ID_PROD_6165,
|
|
.family = MV88E6XXX_FAMILY_6165,
|
|
.family = MV88E6XXX_FAMILY_6165,
|
|
.name = "Marvell 88E6165",
|
|
.name = "Marvell 88E6165",
|
|
.num_databases = 4096,
|
|
.num_databases = 4096,
|
|
@@ -3303,7 +3303,7 @@ static const struct mv88e6xxx_info mv88e6xxx_table[] = {
|
|
},
|
|
},
|
|
|
|
|
|
[MV88E6171] = {
|
|
[MV88E6171] = {
|
|
- .prod_num = PORT_SWITCH_ID_PROD_NUM_6171,
|
|
|
|
|
|
+ .prod_num = MV88E6XXX_PORT_SWITCH_ID_PROD_6171,
|
|
.family = MV88E6XXX_FAMILY_6351,
|
|
.family = MV88E6XXX_FAMILY_6351,
|
|
.name = "Marvell 88E6171",
|
|
.name = "Marvell 88E6171",
|
|
.num_databases = 4096,
|
|
.num_databases = 4096,
|
|
@@ -3321,7 +3321,7 @@ static const struct mv88e6xxx_info mv88e6xxx_table[] = {
|
|
},
|
|
},
|
|
|
|
|
|
[MV88E6172] = {
|
|
[MV88E6172] = {
|
|
- .prod_num = PORT_SWITCH_ID_PROD_NUM_6172,
|
|
|
|
|
|
+ .prod_num = MV88E6XXX_PORT_SWITCH_ID_PROD_6172,
|
|
.family = MV88E6XXX_FAMILY_6352,
|
|
.family = MV88E6XXX_FAMILY_6352,
|
|
.name = "Marvell 88E6172",
|
|
.name = "Marvell 88E6172",
|
|
.num_databases = 4096,
|
|
.num_databases = 4096,
|
|
@@ -3339,7 +3339,7 @@ static const struct mv88e6xxx_info mv88e6xxx_table[] = {
|
|
},
|
|
},
|
|
|
|
|
|
[MV88E6175] = {
|
|
[MV88E6175] = {
|
|
- .prod_num = PORT_SWITCH_ID_PROD_NUM_6175,
|
|
|
|
|
|
+ .prod_num = MV88E6XXX_PORT_SWITCH_ID_PROD_6175,
|
|
.family = MV88E6XXX_FAMILY_6351,
|
|
.family = MV88E6XXX_FAMILY_6351,
|
|
.name = "Marvell 88E6175",
|
|
.name = "Marvell 88E6175",
|
|
.num_databases = 4096,
|
|
.num_databases = 4096,
|
|
@@ -3357,7 +3357,7 @@ static const struct mv88e6xxx_info mv88e6xxx_table[] = {
|
|
},
|
|
},
|
|
|
|
|
|
[MV88E6176] = {
|
|
[MV88E6176] = {
|
|
- .prod_num = PORT_SWITCH_ID_PROD_NUM_6176,
|
|
|
|
|
|
+ .prod_num = MV88E6XXX_PORT_SWITCH_ID_PROD_6176,
|
|
.family = MV88E6XXX_FAMILY_6352,
|
|
.family = MV88E6XXX_FAMILY_6352,
|
|
.name = "Marvell 88E6176",
|
|
.name = "Marvell 88E6176",
|
|
.num_databases = 4096,
|
|
.num_databases = 4096,
|
|
@@ -3375,7 +3375,7 @@ static const struct mv88e6xxx_info mv88e6xxx_table[] = {
|
|
},
|
|
},
|
|
|
|
|
|
[MV88E6185] = {
|
|
[MV88E6185] = {
|
|
- .prod_num = PORT_SWITCH_ID_PROD_NUM_6185,
|
|
|
|
|
|
+ .prod_num = MV88E6XXX_PORT_SWITCH_ID_PROD_6185,
|
|
.family = MV88E6XXX_FAMILY_6185,
|
|
.family = MV88E6XXX_FAMILY_6185,
|
|
.name = "Marvell 88E6185",
|
|
.name = "Marvell 88E6185",
|
|
.num_databases = 256,
|
|
.num_databases = 256,
|
|
@@ -3392,7 +3392,7 @@ static const struct mv88e6xxx_info mv88e6xxx_table[] = {
|
|
},
|
|
},
|
|
|
|
|
|
[MV88E6190] = {
|
|
[MV88E6190] = {
|
|
- .prod_num = PORT_SWITCH_ID_PROD_NUM_6190,
|
|
|
|
|
|
+ .prod_num = MV88E6XXX_PORT_SWITCH_ID_PROD_6190,
|
|
.family = MV88E6XXX_FAMILY_6390,
|
|
.family = MV88E6XXX_FAMILY_6390,
|
|
.name = "Marvell 88E6190",
|
|
.name = "Marvell 88E6190",
|
|
.num_databases = 4096,
|
|
.num_databases = 4096,
|
|
@@ -3410,7 +3410,7 @@ static const struct mv88e6xxx_info mv88e6xxx_table[] = {
|
|
},
|
|
},
|
|
|
|
|
|
[MV88E6190X] = {
|
|
[MV88E6190X] = {
|
|
- .prod_num = PORT_SWITCH_ID_PROD_NUM_6190X,
|
|
|
|
|
|
+ .prod_num = MV88E6XXX_PORT_SWITCH_ID_PROD_6190X,
|
|
.family = MV88E6XXX_FAMILY_6390,
|
|
.family = MV88E6XXX_FAMILY_6390,
|
|
.name = "Marvell 88E6190X",
|
|
.name = "Marvell 88E6190X",
|
|
.num_databases = 4096,
|
|
.num_databases = 4096,
|
|
@@ -3428,7 +3428,7 @@ static const struct mv88e6xxx_info mv88e6xxx_table[] = {
|
|
},
|
|
},
|
|
|
|
|
|
[MV88E6191] = {
|
|
[MV88E6191] = {
|
|
- .prod_num = PORT_SWITCH_ID_PROD_NUM_6191,
|
|
|
|
|
|
+ .prod_num = MV88E6XXX_PORT_SWITCH_ID_PROD_6191,
|
|
.family = MV88E6XXX_FAMILY_6390,
|
|
.family = MV88E6XXX_FAMILY_6390,
|
|
.name = "Marvell 88E6191",
|
|
.name = "Marvell 88E6191",
|
|
.num_databases = 4096,
|
|
.num_databases = 4096,
|
|
@@ -3446,7 +3446,7 @@ static const struct mv88e6xxx_info mv88e6xxx_table[] = {
|
|
},
|
|
},
|
|
|
|
|
|
[MV88E6240] = {
|
|
[MV88E6240] = {
|
|
- .prod_num = PORT_SWITCH_ID_PROD_NUM_6240,
|
|
|
|
|
|
+ .prod_num = MV88E6XXX_PORT_SWITCH_ID_PROD_6240,
|
|
.family = MV88E6XXX_FAMILY_6352,
|
|
.family = MV88E6XXX_FAMILY_6352,
|
|
.name = "Marvell 88E6240",
|
|
.name = "Marvell 88E6240",
|
|
.num_databases = 4096,
|
|
.num_databases = 4096,
|
|
@@ -3464,7 +3464,7 @@ static const struct mv88e6xxx_info mv88e6xxx_table[] = {
|
|
},
|
|
},
|
|
|
|
|
|
[MV88E6290] = {
|
|
[MV88E6290] = {
|
|
- .prod_num = PORT_SWITCH_ID_PROD_NUM_6290,
|
|
|
|
|
|
+ .prod_num = MV88E6XXX_PORT_SWITCH_ID_PROD_6290,
|
|
.family = MV88E6XXX_FAMILY_6390,
|
|
.family = MV88E6XXX_FAMILY_6390,
|
|
.name = "Marvell 88E6290",
|
|
.name = "Marvell 88E6290",
|
|
.num_databases = 4096,
|
|
.num_databases = 4096,
|
|
@@ -3482,7 +3482,7 @@ static const struct mv88e6xxx_info mv88e6xxx_table[] = {
|
|
},
|
|
},
|
|
|
|
|
|
[MV88E6320] = {
|
|
[MV88E6320] = {
|
|
- .prod_num = PORT_SWITCH_ID_PROD_NUM_6320,
|
|
|
|
|
|
+ .prod_num = MV88E6XXX_PORT_SWITCH_ID_PROD_6320,
|
|
.family = MV88E6XXX_FAMILY_6320,
|
|
.family = MV88E6XXX_FAMILY_6320,
|
|
.name = "Marvell 88E6320",
|
|
.name = "Marvell 88E6320",
|
|
.num_databases = 4096,
|
|
.num_databases = 4096,
|
|
@@ -3500,7 +3500,7 @@ static const struct mv88e6xxx_info mv88e6xxx_table[] = {
|
|
},
|
|
},
|
|
|
|
|
|
[MV88E6321] = {
|
|
[MV88E6321] = {
|
|
- .prod_num = PORT_SWITCH_ID_PROD_NUM_6321,
|
|
|
|
|
|
+ .prod_num = MV88E6XXX_PORT_SWITCH_ID_PROD_6321,
|
|
.family = MV88E6XXX_FAMILY_6320,
|
|
.family = MV88E6XXX_FAMILY_6320,
|
|
.name = "Marvell 88E6321",
|
|
.name = "Marvell 88E6321",
|
|
.num_databases = 4096,
|
|
.num_databases = 4096,
|
|
@@ -3517,7 +3517,7 @@ static const struct mv88e6xxx_info mv88e6xxx_table[] = {
|
|
},
|
|
},
|
|
|
|
|
|
[MV88E6341] = {
|
|
[MV88E6341] = {
|
|
- .prod_num = PORT_SWITCH_ID_PROD_NUM_6341,
|
|
|
|
|
|
+ .prod_num = MV88E6XXX_PORT_SWITCH_ID_PROD_6341,
|
|
.family = MV88E6XXX_FAMILY_6341,
|
|
.family = MV88E6XXX_FAMILY_6341,
|
|
.name = "Marvell 88E6341",
|
|
.name = "Marvell 88E6341",
|
|
.num_databases = 4096,
|
|
.num_databases = 4096,
|
|
@@ -3534,7 +3534,7 @@ static const struct mv88e6xxx_info mv88e6xxx_table[] = {
|
|
},
|
|
},
|
|
|
|
|
|
[MV88E6350] = {
|
|
[MV88E6350] = {
|
|
- .prod_num = PORT_SWITCH_ID_PROD_NUM_6350,
|
|
|
|
|
|
+ .prod_num = MV88E6XXX_PORT_SWITCH_ID_PROD_6350,
|
|
.family = MV88E6XXX_FAMILY_6351,
|
|
.family = MV88E6XXX_FAMILY_6351,
|
|
.name = "Marvell 88E6350",
|
|
.name = "Marvell 88E6350",
|
|
.num_databases = 4096,
|
|
.num_databases = 4096,
|
|
@@ -3552,7 +3552,7 @@ static const struct mv88e6xxx_info mv88e6xxx_table[] = {
|
|
},
|
|
},
|
|
|
|
|
|
[MV88E6351] = {
|
|
[MV88E6351] = {
|
|
- .prod_num = PORT_SWITCH_ID_PROD_NUM_6351,
|
|
|
|
|
|
+ .prod_num = MV88E6XXX_PORT_SWITCH_ID_PROD_6351,
|
|
.family = MV88E6XXX_FAMILY_6351,
|
|
.family = MV88E6XXX_FAMILY_6351,
|
|
.name = "Marvell 88E6351",
|
|
.name = "Marvell 88E6351",
|
|
.num_databases = 4096,
|
|
.num_databases = 4096,
|
|
@@ -3570,7 +3570,7 @@ static const struct mv88e6xxx_info mv88e6xxx_table[] = {
|
|
},
|
|
},
|
|
|
|
|
|
[MV88E6352] = {
|
|
[MV88E6352] = {
|
|
- .prod_num = PORT_SWITCH_ID_PROD_NUM_6352,
|
|
|
|
|
|
+ .prod_num = MV88E6XXX_PORT_SWITCH_ID_PROD_6352,
|
|
.family = MV88E6XXX_FAMILY_6352,
|
|
.family = MV88E6XXX_FAMILY_6352,
|
|
.name = "Marvell 88E6352",
|
|
.name = "Marvell 88E6352",
|
|
.num_databases = 4096,
|
|
.num_databases = 4096,
|
|
@@ -3587,7 +3587,7 @@ static const struct mv88e6xxx_info mv88e6xxx_table[] = {
|
|
.ops = &mv88e6352_ops,
|
|
.ops = &mv88e6352_ops,
|
|
},
|
|
},
|
|
[MV88E6390] = {
|
|
[MV88E6390] = {
|
|
- .prod_num = PORT_SWITCH_ID_PROD_NUM_6390,
|
|
|
|
|
|
+ .prod_num = MV88E6XXX_PORT_SWITCH_ID_PROD_6390,
|
|
.family = MV88E6XXX_FAMILY_6390,
|
|
.family = MV88E6XXX_FAMILY_6390,
|
|
.name = "Marvell 88E6390",
|
|
.name = "Marvell 88E6390",
|
|
.num_databases = 4096,
|
|
.num_databases = 4096,
|
|
@@ -3604,7 +3604,7 @@ static const struct mv88e6xxx_info mv88e6xxx_table[] = {
|
|
.ops = &mv88e6390_ops,
|
|
.ops = &mv88e6390_ops,
|
|
},
|
|
},
|
|
[MV88E6390X] = {
|
|
[MV88E6390X] = {
|
|
- .prod_num = PORT_SWITCH_ID_PROD_NUM_6390X,
|
|
|
|
|
|
+ .prod_num = MV88E6XXX_PORT_SWITCH_ID_PROD_6390X,
|
|
.family = MV88E6XXX_FAMILY_6390,
|
|
.family = MV88E6XXX_FAMILY_6390,
|
|
.name = "Marvell 88E6390X",
|
|
.name = "Marvell 88E6390X",
|
|
.num_databases = 4096,
|
|
.num_databases = 4096,
|
|
@@ -3641,13 +3641,13 @@ static int mv88e6xxx_detect(struct mv88e6xxx_chip *chip)
|
|
int err;
|
|
int err;
|
|
|
|
|
|
mutex_lock(&chip->reg_lock);
|
|
mutex_lock(&chip->reg_lock);
|
|
- err = mv88e6xxx_port_read(chip, 0, PORT_SWITCH_ID, &id);
|
|
|
|
|
|
+ err = mv88e6xxx_port_read(chip, 0, MV88E6XXX_PORT_SWITCH_ID, &id);
|
|
mutex_unlock(&chip->reg_lock);
|
|
mutex_unlock(&chip->reg_lock);
|
|
if (err)
|
|
if (err)
|
|
return err;
|
|
return err;
|
|
|
|
|
|
- prod_num = (id & 0xfff0) >> 4;
|
|
|
|
- rev = id & 0x000f;
|
|
|
|
|
|
+ prod_num = id & MV88E6XXX_PORT_SWITCH_ID_PROD_MASK;
|
|
|
|
+ rev = id & MV88E6XXX_PORT_SWITCH_ID_REV_MASK;
|
|
|
|
|
|
info = mv88e6xxx_lookup_info(prod_num);
|
|
info = mv88e6xxx_lookup_info(prod_num);
|
|
if (!info)
|
|
if (!info)
|