Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

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

Merge branch 'net-dsa-b53-SGMII-modes-fixes'



Florian Fainelli says:

====================
net: dsa: b53: SGMII modes fixes

Here are two additional fixes that are required in order for SGMII to
work correctly. This was discovered with using a copper SFP which would
make us use SGMII mode, we would actually leave the HW configured in its
default mode: Fiber.
====================

Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parents e24cf6b3 55a4d2ea
Loading
Loading
Loading
Loading
+6 −4
Original line number Diff line number Diff line
@@ -1172,7 +1172,8 @@ int b53_phylink_mac_link_state(struct dsa_switch *ds, int port,
	struct b53_device *dev = ds->priv;
	int ret = -EOPNOTSUPP;

	if (phy_interface_mode_is_8023z(state->interface) &&
	if ((phy_interface_mode_is_8023z(state->interface) ||
	     state->interface == PHY_INTERFACE_MODE_SGMII) &&
	     dev->ops->serdes_link_state)
		ret = dev->ops->serdes_link_state(dev, port, state);

@@ -1195,7 +1196,8 @@ void b53_phylink_mac_config(struct dsa_switch *ds, int port,
		return;
	}

	if (phy_interface_mode_is_8023z(state->interface) &&
	if ((phy_interface_mode_is_8023z(state->interface) ||
	     state->interface == PHY_INTERFACE_MODE_SGMII) &&
	     dev->ops->serdes_config)
		dev->ops->serdes_config(dev, port, mode, state);
}
+1 −1
Original line number Diff line number Diff line
@@ -20,7 +20,7 @@
#define  SERDES_ID0_REV_LETTER_SHIFT	14

#define B53_SERDES_MII_REG(x)		(0x20 + (x) * 2)
#define B53_SERDES_DIGITAL_CONTROL(x)	(0x18 + (x) * 2)
#define B53_SERDES_DIGITAL_CONTROL(x)	(0x1e + (x) * 2)
#define B53_SERDES_DIGITAL_STATUS	0x28

/* SERDES_DIGITAL_CONTROL1 */