[PATCH 0/4] phy-mode cleanup
Vladimir Oltean
vladimir.oltean at nxp.com
Sat Sep 18 14:32:33 CEST 2021
Michael Walle did an excellent job in starting the process of bringing
U-Boot and Linux device tree bindings in sync for the NXP LS1028A:
https://patchwork.ozlabs.org/project/uboot/cover/20210902164558.1920849-1-michael@walle.cc/
but there still are some hairy issues which need to be addressed head
on, and which Michael said he'd rather leave for NXP to do, so here we
are /shrug/
NXP LS1028A has 2 Ethernet controllers:
drivers/net/fsl_enetc.c for the endpoint ports and DSA master
drivers/net/mscc_eswitch/felix_switch.c for the switch ports
but in fact, the MAC-side Physical Coding Sublayer (PCS) device used for
translating the MAC layer data into a serial bit stream is the same kind
between the enetc and the switch, as well as the same kind as the PCS
used in the other NXP SoCs (those based on DPAA1 and those based on DPAA2).
So most of the conclusions we draw about the LS1028A PCS apply equally
to the other NXP SoCs from the family.
There are 3 general directions in this patch series:
- the "sgmii-2500" idea was rejected in Linux due to the inability to
explain what it is. Linux has standardized on "2500base-x" as a way to
describe both fiber ports and MAC-to-PHY links. Convert the NXP
devices to use the phy-mode accepted in Linux.
- the "xfi" phy-mode was rejected in Linux because it is an electrical
standard covering more than a single SERDES protocol. For Ethernet
things were standardized as "10gbase-r" which describes the 64b/66b
coding scheme used there (the "R" in 10GBase-R).
- the "xgmii" phy-mode is pretty much bogus, there are no NXP devices
with this pinout. This pretty much stems from the idea that the device
tree should describe an internal set of wires between the MAC and the
PCS (the much speculated semantic difference between "phy-mode" and
"phy-connection-type"), which it should not. Even though I'm pretty
sure that no NXP devices have an external pinout of XGMII, I have only
replaced this usage in the LS1028A networking drivers, because I am
not completely sure of all the implications my changes would have in
the DPAA1 and DPAA2 drivers.
Vladimir Oltean (4):
net: replace the "xfi" phy-mode with "10gbase-r"
net: freescale: replace usage of phy-mode = "sgmii-2500" with
"2500base-x"
net: enetc: remove support for "xgmii" phy-mode
net: dsa: felix: remove "xgmii" phy-mode
arch/arm/cpu/armv8/fsl-layerscape/cpu.c | 2 +-
.../cpu/armv8/fsl-layerscape/doc/README.soc | 8 +++----
.../cpu/armv8/fsl-layerscape/ls1088a_serdes.c | 2 +-
.../dts/fsl-ls1028a-qds-6xxx-sch-30842.dtsi | 2 +-
.../dts/fsl-ls1028a-qds-7777-sch-30841.dtsi | 8 +++----
.../dts/fsl-ls1028a-qds-7xx7-sch-30841R.dtsi | 4 ++--
.../dts/fsl-ls1028a-qds-x7xx-sch-30842.dtsi | 2 +-
.../dts/fsl-ls1028a-qds-xx7x-sch-30842.dtsi | 2 +-
arch/arm/dts/fsl-ls1088a-qds-sd1-21.dtsi | 4 ++--
arch/arm/dts/fsl-ls1088a-qds-sd1-29.dtsi | 4 ++--
arch/arm/dts/fsl-ls2080a-qds-sd1-42.dtsi | 16 +++++++-------
arch/arm/dts/fsl-ls2088a-rdb-qspi.dts | 16 +++++++-------
arch/arm/dts/fsl-sch-30841.dtsi | 2 +-
arch/arm/dts/fsl-sch-30842.dtsi | 2 +-
board/Marvell/octeon_ebb7304/board.c | 6 ++---
board/freescale/ls1012aqds/eth.c | 4 ++--
board/freescale/ls1012aqds/ls1012aqds.c | 4 ++--
board/freescale/ls1012aqds/ls1012aqds_pfe.h | 2 +-
board/freescale/ls1012ardb/eth.c | 4 ++--
board/freescale/ls1043aqds/README | 2 +-
board/freescale/ls1043aqds/eth.c | 12 +++++-----
board/freescale/ls1043ardb/README | 2 +-
board/freescale/ls1043ardb/eth.c | 2 +-
board/freescale/ls1046aqds/README | 2 +-
board/freescale/ls1046aqds/eth.c | 8 +++----
board/freescale/ls1046ardb/README | 4 ++--
board/freescale/ls1046ardb/eth.c | 2 +-
board/freescale/ls1088a/README | 4 ++--
board/freescale/ls1088a/eth_ls1088ardb.c | 6 ++---
board/freescale/ls2080aqds/README | 2 +-
board/freescale/ls2080aqds/eth.c | 13 +++++------
board/freescale/ls2080ardb/README | 2 +-
board/freescale/t102xrdb/README | 2 +-
board/freescale/t102xrdb/eth_t102xrdb.c | 8 +++----
board/freescale/t208xqds/README | 18 +++++++--------
board/freescale/t208xqds/eth_t208xqds.c | 22 +++++++++----------
board/freescale/t208xqds/t208xqds.c | 8 +++----
board/freescale/t208xrdb/README | 4 ++--
board/freescale/t4rdb/eth.c | 2 +-
doc/device-tree-bindings/net/ethernet.txt | 12 +++++++++-
drivers/net/fm/b4860.c | 2 +-
drivers/net/fm/eth.c | 10 ++++-----
drivers/net/fm/ls1043.c | 4 ++--
drivers/net/fm/ls1046.c | 2 +-
drivers/net/fm/memac.c | 6 ++---
drivers/net/fm/t1024.c | 2 +-
drivers/net/fsl_enetc.c | 10 ++++-----
drivers/net/mscc_eswitch/felix_switch.c | 7 +++---
drivers/net/pfe_eth/pfe_mdio.c | 4 ++--
drivers/net/phy/aquantia.c | 18 +++++++--------
include/phy.h | 2 +-
include/phy_interface.h | 4 ++--
52 files changed, 154 insertions(+), 148 deletions(-)
--
2.25.1
More information about the U-Boot
mailing list