|
|
|
@ -3884,6 +3884,24 @@ static int mv88e6xxx_mdio_read(struct mii_bus *bus, int phy, int reg)
|
|
|
|
|
return err ? err : val;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
static int mv88e6xxx_mdio_read_c45(struct mii_bus *bus, int phy, int devad,
|
|
|
|
|
int reg)
|
|
|
|
|
{
|
|
|
|
|
struct mv88e6xxx_mdio_bus *mdio_bus = bus->priv;
|
|
|
|
|
struct mv88e6xxx_chip *chip = mdio_bus->chip;
|
|
|
|
|
u16 val;
|
|
|
|
|
int err;
|
|
|
|
|
|
|
|
|
|
if (!chip->info->ops->phy_read_c45)
|
|
|
|
|
return -EOPNOTSUPP;
|
|
|
|
|
|
|
|
|
|
mv88e6xxx_reg_lock(chip);
|
|
|
|
|
err = chip->info->ops->phy_read_c45(chip, bus, phy, devad, reg, &val);
|
|
|
|
|
mv88e6xxx_reg_unlock(chip);
|
|
|
|
|
|
|
|
|
|
return err ? err : val;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
static int mv88e6xxx_mdio_write(struct mii_bus *bus, int phy, int reg, u16 val)
|
|
|
|
|
{
|
|
|
|
|
struct mv88e6xxx_mdio_bus *mdio_bus = bus->priv;
|
|
|
|
@ -3900,6 +3918,23 @@ static int mv88e6xxx_mdio_write(struct mii_bus *bus, int phy, int reg, u16 val)
|
|
|
|
|
return err;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
static int mv88e6xxx_mdio_write_c45(struct mii_bus *bus, int phy, int devad,
|
|
|
|
|
int reg, u16 val)
|
|
|
|
|
{
|
|
|
|
|
struct mv88e6xxx_mdio_bus *mdio_bus = bus->priv;
|
|
|
|
|
struct mv88e6xxx_chip *chip = mdio_bus->chip;
|
|
|
|
|
int err;
|
|
|
|
|
|
|
|
|
|
if (!chip->info->ops->phy_write_c45)
|
|
|
|
|
return -EOPNOTSUPP;
|
|
|
|
|
|
|
|
|
|
mv88e6xxx_reg_lock(chip);
|
|
|
|
|
err = chip->info->ops->phy_write_c45(chip, bus, phy, devad, reg, val);
|
|
|
|
|
mv88e6xxx_reg_unlock(chip);
|
|
|
|
|
|
|
|
|
|
return err;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
static int mv88e6xxx_mdio_register(struct mv88e6xxx_chip *chip,
|
|
|
|
|
struct device_node *np,
|
|
|
|
|
bool external)
|
|
|
|
@ -3938,6 +3973,8 @@ static int mv88e6xxx_mdio_register(struct mv88e6xxx_chip *chip,
|
|
|
|
|
|
|
|
|
|
bus->read = mv88e6xxx_mdio_read;
|
|
|
|
|
bus->write = mv88e6xxx_mdio_write;
|
|
|
|
|
bus->read_c45 = mv88e6xxx_mdio_read_c45;
|
|
|
|
|
bus->write_c45 = mv88e6xxx_mdio_write_c45;
|
|
|
|
|
bus->parent = chip->dev;
|
|
|
|
|
|
|
|
|
|
if (!external) {
|
|
|
|
@ -4149,8 +4186,10 @@ static const struct mv88e6xxx_ops mv88e6097_ops = {
|
|
|
|
|
.ip_pri_map = mv88e6085_g1_ip_pri_map,
|
|
|
|
|
.irl_init_all = mv88e6352_g2_irl_init_all,
|
|
|
|
|
.set_switch_mac = mv88e6xxx_g2_set_switch_mac,
|
|
|
|
|
.phy_read = mv88e6xxx_g2_smi_phy_read,
|
|
|
|
|
.phy_write = mv88e6xxx_g2_smi_phy_write,
|
|
|
|
|
.phy_read = mv88e6xxx_g2_smi_phy_read_c22,
|
|
|
|
|
.phy_write = mv88e6xxx_g2_smi_phy_write_c22,
|
|
|
|
|
.phy_read_c45 = mv88e6xxx_g2_smi_phy_read_c45,
|
|
|
|
|
.phy_write_c45 = mv88e6xxx_g2_smi_phy_write_c45,
|
|
|
|
|
.port_set_link = mv88e6xxx_port_set_link,
|
|
|
|
|
.port_sync_link = mv88e6185_port_sync_link,
|
|
|
|
|
.port_set_speed_duplex = mv88e6185_port_set_speed_duplex,
|
|
|
|
@ -4198,8 +4237,10 @@ static const struct mv88e6xxx_ops mv88e6123_ops = {
|
|
|
|
|
.ip_pri_map = mv88e6085_g1_ip_pri_map,
|
|
|
|
|
.irl_init_all = mv88e6352_g2_irl_init_all,
|
|
|
|
|
.set_switch_mac = mv88e6xxx_g2_set_switch_mac,
|
|
|
|
|
.phy_read = mv88e6xxx_g2_smi_phy_read,
|
|
|
|
|
.phy_write = mv88e6xxx_g2_smi_phy_write,
|
|
|
|
|
.phy_read = mv88e6xxx_g2_smi_phy_read_c22,
|
|
|
|
|
.phy_write = mv88e6xxx_g2_smi_phy_write_c22,
|
|
|
|
|
.phy_read_c45 = mv88e6xxx_g2_smi_phy_read_c45,
|
|
|
|
|
.phy_write_c45 = mv88e6xxx_g2_smi_phy_write_c45,
|
|
|
|
|
.port_set_link = mv88e6xxx_port_set_link,
|
|
|
|
|
.port_sync_link = mv88e6xxx_port_sync_link,
|
|
|
|
|
.port_set_speed_duplex = mv88e6185_port_set_speed_duplex,
|
|
|
|
@ -4279,8 +4320,10 @@ static const struct mv88e6xxx_ops mv88e6141_ops = {
|
|
|
|
|
.get_eeprom = mv88e6xxx_g2_get_eeprom8,
|
|
|
|
|
.set_eeprom = mv88e6xxx_g2_set_eeprom8,
|
|
|
|
|
.set_switch_mac = mv88e6xxx_g2_set_switch_mac,
|
|
|
|
|
.phy_read = mv88e6xxx_g2_smi_phy_read,
|
|
|
|
|
.phy_write = mv88e6xxx_g2_smi_phy_write,
|
|
|
|
|
.phy_read = mv88e6xxx_g2_smi_phy_read_c22,
|
|
|
|
|
.phy_write = mv88e6xxx_g2_smi_phy_write_c22,
|
|
|
|
|
.phy_read_c45 = mv88e6xxx_g2_smi_phy_read_c45,
|
|
|
|
|
.phy_write_c45 = mv88e6xxx_g2_smi_phy_write_c45,
|
|
|
|
|
.port_set_link = mv88e6xxx_port_set_link,
|
|
|
|
|
.port_sync_link = mv88e6xxx_port_sync_link,
|
|
|
|
|
.port_set_rgmii_delay = mv88e6390_port_set_rgmii_delay,
|
|
|
|
@ -4343,8 +4386,10 @@ static const struct mv88e6xxx_ops mv88e6161_ops = {
|
|
|
|
|
.ip_pri_map = mv88e6085_g1_ip_pri_map,
|
|
|
|
|
.irl_init_all = mv88e6352_g2_irl_init_all,
|
|
|
|
|
.set_switch_mac = mv88e6xxx_g2_set_switch_mac,
|
|
|
|
|
.phy_read = mv88e6xxx_g2_smi_phy_read,
|
|
|
|
|
.phy_write = mv88e6xxx_g2_smi_phy_write,
|
|
|
|
|
.phy_read = mv88e6xxx_g2_smi_phy_read_c22,
|
|
|
|
|
.phy_write = mv88e6xxx_g2_smi_phy_write_c22,
|
|
|
|
|
.phy_read_c45 = mv88e6xxx_g2_smi_phy_read_c45,
|
|
|
|
|
.phy_write_c45 = mv88e6xxx_g2_smi_phy_write_c45,
|
|
|
|
|
.port_set_link = mv88e6xxx_port_set_link,
|
|
|
|
|
.port_sync_link = mv88e6xxx_port_sync_link,
|
|
|
|
|
.port_set_speed_duplex = mv88e6185_port_set_speed_duplex,
|
|
|
|
@ -4426,8 +4471,10 @@ static const struct mv88e6xxx_ops mv88e6171_ops = {
|
|
|
|
|
.ip_pri_map = mv88e6085_g1_ip_pri_map,
|
|
|
|
|
.irl_init_all = mv88e6352_g2_irl_init_all,
|
|
|
|
|
.set_switch_mac = mv88e6xxx_g2_set_switch_mac,
|
|
|
|
|
.phy_read = mv88e6xxx_g2_smi_phy_read,
|
|
|
|
|
.phy_write = mv88e6xxx_g2_smi_phy_write,
|
|
|
|
|
.phy_read = mv88e6xxx_g2_smi_phy_read_c22,
|
|
|
|
|
.phy_write = mv88e6xxx_g2_smi_phy_write_c22,
|
|
|
|
|
.phy_read_c45 = mv88e6xxx_g2_smi_phy_read_c45,
|
|
|
|
|
.phy_write_c45 = mv88e6xxx_g2_smi_phy_write_c45,
|
|
|
|
|
.port_set_link = mv88e6xxx_port_set_link,
|
|
|
|
|
.port_sync_link = mv88e6xxx_port_sync_link,
|
|
|
|
|
.port_set_rgmii_delay = mv88e6352_port_set_rgmii_delay,
|
|
|
|
@ -4472,8 +4519,10 @@ static const struct mv88e6xxx_ops mv88e6172_ops = {
|
|
|
|
|
.get_eeprom = mv88e6xxx_g2_get_eeprom16,
|
|
|
|
|
.set_eeprom = mv88e6xxx_g2_set_eeprom16,
|
|
|
|
|
.set_switch_mac = mv88e6xxx_g2_set_switch_mac,
|
|
|
|
|
.phy_read = mv88e6xxx_g2_smi_phy_read,
|
|
|
|
|
.phy_write = mv88e6xxx_g2_smi_phy_write,
|
|
|
|
|
.phy_read = mv88e6xxx_g2_smi_phy_read_c22,
|
|
|
|
|
.phy_write = mv88e6xxx_g2_smi_phy_write_c22,
|
|
|
|
|
.phy_read_c45 = mv88e6xxx_g2_smi_phy_read_c45,
|
|
|
|
|
.phy_write_c45 = mv88e6xxx_g2_smi_phy_write_c45,
|
|
|
|
|
.port_set_link = mv88e6xxx_port_set_link,
|
|
|
|
|
.port_sync_link = mv88e6xxx_port_sync_link,
|
|
|
|
|
.port_set_rgmii_delay = mv88e6352_port_set_rgmii_delay,
|
|
|
|
@ -4527,8 +4576,10 @@ static const struct mv88e6xxx_ops mv88e6175_ops = {
|
|
|
|
|
.ip_pri_map = mv88e6085_g1_ip_pri_map,
|
|
|
|
|
.irl_init_all = mv88e6352_g2_irl_init_all,
|
|
|
|
|
.set_switch_mac = mv88e6xxx_g2_set_switch_mac,
|
|
|
|
|
.phy_read = mv88e6xxx_g2_smi_phy_read,
|
|
|
|
|
.phy_write = mv88e6xxx_g2_smi_phy_write,
|
|
|
|
|
.phy_read = mv88e6xxx_g2_smi_phy_read_c22,
|
|
|
|
|
.phy_write = mv88e6xxx_g2_smi_phy_write_c22,
|
|
|
|
|
.phy_read_c45 = mv88e6xxx_g2_smi_phy_read_c45,
|
|
|
|
|
.phy_write_c45 = mv88e6xxx_g2_smi_phy_write_c45,
|
|
|
|
|
.port_set_link = mv88e6xxx_port_set_link,
|
|
|
|
|
.port_sync_link = mv88e6xxx_port_sync_link,
|
|
|
|
|
.port_set_rgmii_delay = mv88e6352_port_set_rgmii_delay,
|
|
|
|
@ -4573,8 +4624,10 @@ static const struct mv88e6xxx_ops mv88e6176_ops = {
|
|
|
|
|
.get_eeprom = mv88e6xxx_g2_get_eeprom16,
|
|
|
|
|
.set_eeprom = mv88e6xxx_g2_set_eeprom16,
|
|
|
|
|
.set_switch_mac = mv88e6xxx_g2_set_switch_mac,
|
|
|
|
|
.phy_read = mv88e6xxx_g2_smi_phy_read,
|
|
|
|
|
.phy_write = mv88e6xxx_g2_smi_phy_write,
|
|
|
|
|
.phy_read = mv88e6xxx_g2_smi_phy_read_c22,
|
|
|
|
|
.phy_write = mv88e6xxx_g2_smi_phy_write_c22,
|
|
|
|
|
.phy_read_c45 = mv88e6xxx_g2_smi_phy_read_c45,
|
|
|
|
|
.phy_write_c45 = mv88e6xxx_g2_smi_phy_write_c45,
|
|
|
|
|
.port_set_link = mv88e6xxx_port_set_link,
|
|
|
|
|
.port_sync_link = mv88e6xxx_port_sync_link,
|
|
|
|
|
.port_set_rgmii_delay = mv88e6352_port_set_rgmii_delay,
|
|
|
|
@ -4673,8 +4726,10 @@ static const struct mv88e6xxx_ops mv88e6190_ops = {
|
|
|
|
|
.get_eeprom = mv88e6xxx_g2_get_eeprom8,
|
|
|
|
|
.set_eeprom = mv88e6xxx_g2_set_eeprom8,
|
|
|
|
|
.set_switch_mac = mv88e6xxx_g2_set_switch_mac,
|
|
|
|
|
.phy_read = mv88e6xxx_g2_smi_phy_read,
|
|
|
|
|
.phy_write = mv88e6xxx_g2_smi_phy_write,
|
|
|
|
|
.phy_read = mv88e6xxx_g2_smi_phy_read_c22,
|
|
|
|
|
.phy_write = mv88e6xxx_g2_smi_phy_write_c22,
|
|
|
|
|
.phy_read_c45 = mv88e6xxx_g2_smi_phy_read_c45,
|
|
|
|
|
.phy_write_c45 = mv88e6xxx_g2_smi_phy_write_c45,
|
|
|
|
|
.port_set_link = mv88e6xxx_port_set_link,
|
|
|
|
|
.port_sync_link = mv88e6xxx_port_sync_link,
|
|
|
|
|
.port_set_rgmii_delay = mv88e6390_port_set_rgmii_delay,
|
|
|
|
@ -4736,8 +4791,10 @@ static const struct mv88e6xxx_ops mv88e6190x_ops = {
|
|
|
|
|
.get_eeprom = mv88e6xxx_g2_get_eeprom8,
|
|
|
|
|
.set_eeprom = mv88e6xxx_g2_set_eeprom8,
|
|
|
|
|
.set_switch_mac = mv88e6xxx_g2_set_switch_mac,
|
|
|
|
|
.phy_read = mv88e6xxx_g2_smi_phy_read,
|
|
|
|
|
.phy_write = mv88e6xxx_g2_smi_phy_write,
|
|
|
|
|
.phy_read = mv88e6xxx_g2_smi_phy_read_c22,
|
|
|
|
|
.phy_write = mv88e6xxx_g2_smi_phy_write_c22,
|
|
|
|
|
.phy_read_c45 = mv88e6xxx_g2_smi_phy_read_c45,
|
|
|
|
|
.phy_write_c45 = mv88e6xxx_g2_smi_phy_write_c45,
|
|
|
|
|
.port_set_link = mv88e6xxx_port_set_link,
|
|
|
|
|
.port_sync_link = mv88e6xxx_port_sync_link,
|
|
|
|
|
.port_set_rgmii_delay = mv88e6390_port_set_rgmii_delay,
|
|
|
|
@ -4799,8 +4856,10 @@ static const struct mv88e6xxx_ops mv88e6191_ops = {
|
|
|
|
|
.get_eeprom = mv88e6xxx_g2_get_eeprom8,
|
|
|
|
|
.set_eeprom = mv88e6xxx_g2_set_eeprom8,
|
|
|
|
|
.set_switch_mac = mv88e6xxx_g2_set_switch_mac,
|
|
|
|
|
.phy_read = mv88e6xxx_g2_smi_phy_read,
|
|
|
|
|
.phy_write = mv88e6xxx_g2_smi_phy_write,
|
|
|
|
|
.phy_read = mv88e6xxx_g2_smi_phy_read_c22,
|
|
|
|
|
.phy_write = mv88e6xxx_g2_smi_phy_write_c22,
|
|
|
|
|
.phy_read_c45 = mv88e6xxx_g2_smi_phy_read_c45,
|
|
|
|
|
.phy_write_c45 = mv88e6xxx_g2_smi_phy_write_c45,
|
|
|
|
|
.port_set_link = mv88e6xxx_port_set_link,
|
|
|
|
|
.port_sync_link = mv88e6xxx_port_sync_link,
|
|
|
|
|
.port_set_rgmii_delay = mv88e6390_port_set_rgmii_delay,
|
|
|
|
@ -4862,8 +4921,10 @@ static const struct mv88e6xxx_ops mv88e6240_ops = {
|
|
|
|
|
.get_eeprom = mv88e6xxx_g2_get_eeprom16,
|
|
|
|
|
.set_eeprom = mv88e6xxx_g2_set_eeprom16,
|
|
|
|
|
.set_switch_mac = mv88e6xxx_g2_set_switch_mac,
|
|
|
|
|
.phy_read = mv88e6xxx_g2_smi_phy_read,
|
|
|
|
|
.phy_write = mv88e6xxx_g2_smi_phy_write,
|
|
|
|
|
.phy_read = mv88e6xxx_g2_smi_phy_read_c22,
|
|
|
|
|
.phy_write = mv88e6xxx_g2_smi_phy_write_c22,
|
|
|
|
|
.phy_read_c45 = mv88e6xxx_g2_smi_phy_read_c45,
|
|
|
|
|
.phy_write_c45 = mv88e6xxx_g2_smi_phy_write_c45,
|
|
|
|
|
.port_set_link = mv88e6xxx_port_set_link,
|
|
|
|
|
.port_sync_link = mv88e6xxx_port_sync_link,
|
|
|
|
|
.port_set_rgmii_delay = mv88e6352_port_set_rgmii_delay,
|
|
|
|
@ -4925,8 +4986,10 @@ static const struct mv88e6xxx_ops mv88e6250_ops = {
|
|
|
|
|
.get_eeprom = mv88e6xxx_g2_get_eeprom16,
|
|
|
|
|
.set_eeprom = mv88e6xxx_g2_set_eeprom16,
|
|
|
|
|
.set_switch_mac = mv88e6xxx_g2_set_switch_mac,
|
|
|
|
|
.phy_read = mv88e6xxx_g2_smi_phy_read,
|
|
|
|
|
.phy_write = mv88e6xxx_g2_smi_phy_write,
|
|
|
|
|
.phy_read = mv88e6xxx_g2_smi_phy_read_c22,
|
|
|
|
|
.phy_write = mv88e6xxx_g2_smi_phy_write_c22,
|
|
|
|
|
.phy_read_c45 = mv88e6xxx_g2_smi_phy_read_c45,
|
|
|
|
|
.phy_write_c45 = mv88e6xxx_g2_smi_phy_write_c45,
|
|
|
|
|
.port_set_link = mv88e6xxx_port_set_link,
|
|
|
|
|
.port_sync_link = mv88e6xxx_port_sync_link,
|
|
|
|
|
.port_set_rgmii_delay = mv88e6352_port_set_rgmii_delay,
|
|
|
|
@ -4964,8 +5027,10 @@ static const struct mv88e6xxx_ops mv88e6290_ops = {
|
|
|
|
|
.get_eeprom = mv88e6xxx_g2_get_eeprom8,
|
|
|
|
|
.set_eeprom = mv88e6xxx_g2_set_eeprom8,
|
|
|
|
|
.set_switch_mac = mv88e6xxx_g2_set_switch_mac,
|
|
|
|
|
.phy_read = mv88e6xxx_g2_smi_phy_read,
|
|
|
|
|
.phy_write = mv88e6xxx_g2_smi_phy_write,
|
|
|
|
|
.phy_read = mv88e6xxx_g2_smi_phy_read_c22,
|
|
|
|
|
.phy_write = mv88e6xxx_g2_smi_phy_write_c22,
|
|
|
|
|
.phy_read_c45 = mv88e6xxx_g2_smi_phy_read_c45,
|
|
|
|
|
.phy_write_c45 = mv88e6xxx_g2_smi_phy_write_c45,
|
|
|
|
|
.port_set_link = mv88e6xxx_port_set_link,
|
|
|
|
|
.port_sync_link = mv88e6xxx_port_sync_link,
|
|
|
|
|
.port_set_rgmii_delay = mv88e6390_port_set_rgmii_delay,
|
|
|
|
@ -5029,8 +5094,10 @@ static const struct mv88e6xxx_ops mv88e6320_ops = {
|
|
|
|
|
.get_eeprom = mv88e6xxx_g2_get_eeprom16,
|
|
|
|
|
.set_eeprom = mv88e6xxx_g2_set_eeprom16,
|
|
|
|
|
.set_switch_mac = mv88e6xxx_g2_set_switch_mac,
|
|
|
|
|
.phy_read = mv88e6xxx_g2_smi_phy_read,
|
|
|
|
|
.phy_write = mv88e6xxx_g2_smi_phy_write,
|
|
|
|
|
.phy_read = mv88e6xxx_g2_smi_phy_read_c22,
|
|
|
|
|
.phy_write = mv88e6xxx_g2_smi_phy_write_c22,
|
|
|
|
|
.phy_read_c45 = mv88e6xxx_g2_smi_phy_read_c45,
|
|
|
|
|
.phy_write_c45 = mv88e6xxx_g2_smi_phy_write_c45,
|
|
|
|
|
.port_set_link = mv88e6xxx_port_set_link,
|
|
|
|
|
.port_sync_link = mv88e6xxx_port_sync_link,
|
|
|
|
|
.port_set_rgmii_delay = mv88e6320_port_set_rgmii_delay,
|
|
|
|
@ -5074,8 +5141,10 @@ static const struct mv88e6xxx_ops mv88e6321_ops = {
|
|
|
|
|
.get_eeprom = mv88e6xxx_g2_get_eeprom16,
|
|
|
|
|
.set_eeprom = mv88e6xxx_g2_set_eeprom16,
|
|
|
|
|
.set_switch_mac = mv88e6xxx_g2_set_switch_mac,
|
|
|
|
|
.phy_read = mv88e6xxx_g2_smi_phy_read,
|
|
|
|
|
.phy_write = mv88e6xxx_g2_smi_phy_write,
|
|
|
|
|
.phy_read = mv88e6xxx_g2_smi_phy_read_c22,
|
|
|
|
|
.phy_write = mv88e6xxx_g2_smi_phy_write_c22,
|
|
|
|
|
.phy_read_c45 = mv88e6xxx_g2_smi_phy_read_c45,
|
|
|
|
|
.phy_write_c45 = mv88e6xxx_g2_smi_phy_write_c45,
|
|
|
|
|
.port_set_link = mv88e6xxx_port_set_link,
|
|
|
|
|
.port_sync_link = mv88e6xxx_port_sync_link,
|
|
|
|
|
.port_set_rgmii_delay = mv88e6320_port_set_rgmii_delay,
|
|
|
|
@ -5117,8 +5186,10 @@ static const struct mv88e6xxx_ops mv88e6341_ops = {
|
|
|
|
|
.get_eeprom = mv88e6xxx_g2_get_eeprom8,
|
|
|
|
|
.set_eeprom = mv88e6xxx_g2_set_eeprom8,
|
|
|
|
|
.set_switch_mac = mv88e6xxx_g2_set_switch_mac,
|
|
|
|
|
.phy_read = mv88e6xxx_g2_smi_phy_read,
|
|
|
|
|
.phy_write = mv88e6xxx_g2_smi_phy_write,
|
|
|
|
|
.phy_read = mv88e6xxx_g2_smi_phy_read_c22,
|
|
|
|
|
.phy_write = mv88e6xxx_g2_smi_phy_write_c22,
|
|
|
|
|
.phy_read_c45 = mv88e6xxx_g2_smi_phy_read_c45,
|
|
|
|
|
.phy_write_c45 = mv88e6xxx_g2_smi_phy_write_c45,
|
|
|
|
|
.port_set_link = mv88e6xxx_port_set_link,
|
|
|
|
|
.port_sync_link = mv88e6xxx_port_sync_link,
|
|
|
|
|
.port_set_rgmii_delay = mv88e6390_port_set_rgmii_delay,
|
|
|
|
@ -5183,8 +5254,10 @@ static const struct mv88e6xxx_ops mv88e6350_ops = {
|
|
|
|
|
.ip_pri_map = mv88e6085_g1_ip_pri_map,
|
|
|
|
|
.irl_init_all = mv88e6352_g2_irl_init_all,
|
|
|
|
|
.set_switch_mac = mv88e6xxx_g2_set_switch_mac,
|
|
|
|
|
.phy_read = mv88e6xxx_g2_smi_phy_read,
|
|
|
|
|
.phy_write = mv88e6xxx_g2_smi_phy_write,
|
|
|
|
|
.phy_read = mv88e6xxx_g2_smi_phy_read_c22,
|
|
|
|
|
.phy_write = mv88e6xxx_g2_smi_phy_write_c22,
|
|
|
|
|
.phy_read_c45 = mv88e6xxx_g2_smi_phy_read_c45,
|
|
|
|
|
.phy_write_c45 = mv88e6xxx_g2_smi_phy_write_c45,
|
|
|
|
|
.port_set_link = mv88e6xxx_port_set_link,
|
|
|
|
|
.port_sync_link = mv88e6xxx_port_sync_link,
|
|
|
|
|
.port_set_rgmii_delay = mv88e6352_port_set_rgmii_delay,
|
|
|
|
@ -5227,8 +5300,10 @@ static const struct mv88e6xxx_ops mv88e6351_ops = {
|
|
|
|
|
.ip_pri_map = mv88e6085_g1_ip_pri_map,
|
|
|
|
|
.irl_init_all = mv88e6352_g2_irl_init_all,
|
|
|
|
|
.set_switch_mac = mv88e6xxx_g2_set_switch_mac,
|
|
|
|
|
.phy_read = mv88e6xxx_g2_smi_phy_read,
|
|
|
|
|
.phy_write = mv88e6xxx_g2_smi_phy_write,
|
|
|
|
|
.phy_read = mv88e6xxx_g2_smi_phy_read_c22,
|
|
|
|
|
.phy_write = mv88e6xxx_g2_smi_phy_write_c22,
|
|
|
|
|
.phy_read_c45 = mv88e6xxx_g2_smi_phy_read_c45,
|
|
|
|
|
.phy_write_c45 = mv88e6xxx_g2_smi_phy_write_c45,
|
|
|
|
|
.port_set_link = mv88e6xxx_port_set_link,
|
|
|
|
|
.port_sync_link = mv88e6xxx_port_sync_link,
|
|
|
|
|
.port_set_rgmii_delay = mv88e6352_port_set_rgmii_delay,
|
|
|
|
@ -5275,8 +5350,10 @@ static const struct mv88e6xxx_ops mv88e6352_ops = {
|
|
|
|
|
.get_eeprom = mv88e6xxx_g2_get_eeprom16,
|
|
|
|
|
.set_eeprom = mv88e6xxx_g2_set_eeprom16,
|
|
|
|
|
.set_switch_mac = mv88e6xxx_g2_set_switch_mac,
|
|
|
|
|
.phy_read = mv88e6xxx_g2_smi_phy_read,
|
|
|
|
|
.phy_write = mv88e6xxx_g2_smi_phy_write,
|
|
|
|
|
.phy_read = mv88e6xxx_g2_smi_phy_read_c22,
|
|
|
|
|
.phy_write = mv88e6xxx_g2_smi_phy_write_c22,
|
|
|
|
|
.phy_read_c45 = mv88e6xxx_g2_smi_phy_read_c45,
|
|
|
|
|
.phy_write_c45 = mv88e6xxx_g2_smi_phy_write_c45,
|
|
|
|
|
.port_set_link = mv88e6xxx_port_set_link,
|
|
|
|
|
.port_sync_link = mv88e6xxx_port_sync_link,
|
|
|
|
|
.port_set_rgmii_delay = mv88e6352_port_set_rgmii_delay,
|
|
|
|
@ -5340,8 +5417,10 @@ static const struct mv88e6xxx_ops mv88e6390_ops = {
|
|
|
|
|
.get_eeprom = mv88e6xxx_g2_get_eeprom8,
|
|
|
|
|
.set_eeprom = mv88e6xxx_g2_set_eeprom8,
|
|
|
|
|
.set_switch_mac = mv88e6xxx_g2_set_switch_mac,
|
|
|
|
|
.phy_read = mv88e6xxx_g2_smi_phy_read,
|
|
|
|
|
.phy_write = mv88e6xxx_g2_smi_phy_write,
|
|
|
|
|
.phy_read = mv88e6xxx_g2_smi_phy_read_c22,
|
|
|
|
|
.phy_write = mv88e6xxx_g2_smi_phy_write_c22,
|
|
|
|
|
.phy_read_c45 = mv88e6xxx_g2_smi_phy_read_c45,
|
|
|
|
|
.phy_write_c45 = mv88e6xxx_g2_smi_phy_write_c45,
|
|
|
|
|
.port_set_link = mv88e6xxx_port_set_link,
|
|
|
|
|
.port_sync_link = mv88e6xxx_port_sync_link,
|
|
|
|
|
.port_set_rgmii_delay = mv88e6390_port_set_rgmii_delay,
|
|
|
|
@ -5407,8 +5486,10 @@ static const struct mv88e6xxx_ops mv88e6390x_ops = {
|
|
|
|
|
.get_eeprom = mv88e6xxx_g2_get_eeprom8,
|
|
|
|
|
.set_eeprom = mv88e6xxx_g2_set_eeprom8,
|
|
|
|
|
.set_switch_mac = mv88e6xxx_g2_set_switch_mac,
|
|
|
|
|
.phy_read = mv88e6xxx_g2_smi_phy_read,
|
|
|
|
|
.phy_write = mv88e6xxx_g2_smi_phy_write,
|
|
|
|
|
.phy_read = mv88e6xxx_g2_smi_phy_read_c22,
|
|
|
|
|
.phy_write = mv88e6xxx_g2_smi_phy_write_c22,
|
|
|
|
|
.phy_read_c45 = mv88e6xxx_g2_smi_phy_read_c45,
|
|
|
|
|
.phy_write_c45 = mv88e6xxx_g2_smi_phy_write_c45,
|
|
|
|
|
.port_set_link = mv88e6xxx_port_set_link,
|
|
|
|
|
.port_sync_link = mv88e6xxx_port_sync_link,
|
|
|
|
|
.port_set_rgmii_delay = mv88e6390_port_set_rgmii_delay,
|
|
|
|
@ -5473,8 +5554,10 @@ static const struct mv88e6xxx_ops mv88e6393x_ops = {
|
|
|
|
|
.get_eeprom = mv88e6xxx_g2_get_eeprom8,
|
|
|
|
|
.set_eeprom = mv88e6xxx_g2_set_eeprom8,
|
|
|
|
|
.set_switch_mac = mv88e6xxx_g2_set_switch_mac,
|
|
|
|
|
.phy_read = mv88e6xxx_g2_smi_phy_read,
|
|
|
|
|
.phy_write = mv88e6xxx_g2_smi_phy_write,
|
|
|
|
|
.phy_read = mv88e6xxx_g2_smi_phy_read_c22,
|
|
|
|
|
.phy_write = mv88e6xxx_g2_smi_phy_write_c22,
|
|
|
|
|
.phy_read_c45 = mv88e6xxx_g2_smi_phy_read_c45,
|
|
|
|
|
.phy_write_c45 = mv88e6xxx_g2_smi_phy_write_c45,
|
|
|
|
|
.port_set_link = mv88e6xxx_port_set_link,
|
|
|
|
|
.port_sync_link = mv88e6xxx_port_sync_link,
|
|
|
|
|
.port_set_rgmii_delay = mv88e6390_port_set_rgmii_delay,
|
|
|
|
|