Files
u-boot/drivers
Vladimir Oltean 7f7e73eee3 net: dsa: sja1105: add support for SGMII
The list of ports which support SGMII depending on switch generation is
available here:
https://www.kernel.org/doc/html/latest/networking/dsa/sja1105.html#port-compatibility-matrix

SGMII can either be used to connect to an external PHY or to the host
port. In the first case, the use of in-band autoneg is expected, in the
last, in-band autoneg is expected to be turned off (fixed-link). So the
driver supports both cases.

SGMII support means configuring the PCS and PMA. The PCS is a Synopsys
Designware XPCS, in Linux this has a separate driver but here it is
embedded within the sja1105 driver. If needed it can be taken out later,
although we would need a UCLASS_PCS for it, which we don't have atm.

Nonetheless, I did go all the way to export an internal MDIO bus for PCS
access, because it is nice to be able to debug the PCS through commands
such as:

=> mdio read ethernet-switch@1-pcs 4 1f.0
Reading from bus ethernet-switch@1-pcs
PHY at address 4:
31.0 - 0x1140

The internal MDIO bus is not registered with DM because there is no
udevice on it, as mentioned. But the XPCS code can still be ripped out,
as needed.

I did not add support for 2500base-x because I do not expect this
interface type to be used as a boot source for anybody, it would just
add unnecessary bloat.

Signed-off-by: Vladimir Oltean <vladimir.oltean@nxp.com>
Reviewed-by: Ramon Fried <rfried.dev@gmail.com>
2021-11-23 09:57:56 +02:00
..
2021-09-25 09:46:15 -06:00
2021-10-05 08:50:15 -04:00
2021-11-07 18:36:56 +01:00
2021-09-27 21:38:34 -04:00
2021-10-31 08:46:44 -04:00
2021-11-18 20:18:34 -05:00
2021-11-17 17:04:58 -05:00
2021-11-09 11:57:22 +09:00
2021-09-04 12:26:02 -04:00
2021-09-13 18:23:13 -04:00
2021-10-01 21:08:18 -04:00
2021-10-31 08:46:44 -04:00
2021-10-31 08:46:44 -04:00