[PATCH v2 00/23] arm64: qcom: sa8775p-ride: enable the first ethernet port

From: Bartosz Golaszewski
Date: Thu Jun 15 2023 - 08:15:09 EST


From: Bartosz Golaszewski <bartosz.golaszewski@xxxxxxxxxx>

There are three ethernet ports on sa8775p-ride. This series contains changes
required to enable one of the two 1Gb ports (the third one is 10Gb). We need
to add a new driver for the internal SerDes PHY, introduce several extensions
to the MAC driver (while at it: tweak coding style a bit etc.) and finally
add the relevant DT nodes.

v1 -> v2:
- move the phy-supply property from the MAC driver over to the SerDes PHY
driver
- rework the SerDes PHY driver to work with the correct ordering of phy
operations (init -> power_on -> set_speed)
- change the serdes_phy node label to serdes0 to be in line with other DT
sources and make it ready for the second PHY instance
- dropped the status property from the example in SerDes PHY's DT bindings
and moved properties around
- reworked the fourth clock in the ethqos driver: it's handled the same
whether it's called rgmii or phyaux
- other minor tweaks
- use 0x0 consistently in DT
- squash dwmac and ethqos-specific bindings changes
- collected tags

Bartosz Golaszewski (23):
phy: qualcomm: fix indentation in Makefile
dt-bindings: phy: describe the Qualcomm SGMII PHY
phy: qcom: add the SGMII SerDes PHY driver
arm64: defconfig: enable the SerDes PHY for Qualcomm DWMAC
net: stmmac: dwmac-qcom-ethqos: shrink clock code with devres
net: stmmac: dwmac-qcom-ethqos: rename a label in probe()
net: stmmac: dwmac-qcom-ethqos: tweak the order of local variables
net: stmmac: dwmac-qcom-ethqos: use a helper variable for &pdev->dev
net: stmmac: dwmac-qcom-ethqos: add missing include
net: stmmac: dwmac-qcom-ethqos: add a newline between headers
net: stmmac: dwmac-qcom-ethqos: remove stray space
net: stmmac: dwmac-qcom-ethqos: add support for the optional serdes
phy
net: stmmac: dwmac-qcom-ethqos: add support for the phyaux clock
net: stmmac: dwmac-qcom-ethqos: prepare the driver for more PHY modes
net: stmmac: dwmac-qcom-ethqos: add support for SGMII
net: stmmac: add new switch to struct plat_stmmacenet_data
dt-bindings: net: qcom,ethqos: add description for sa8775p
net: stmmac: dwmac-qcom-ethqos: add support for emac4 on sa8775p
platforms
arm64: dts: qcom: sa8775p: add the SGMII PHY node
arm64: dts: qcom: sa8775p: add the first 1Gb ethernet interface
arm64: dts: qcom: sa8775p-ride: enable the SerDes PHY
arm64: dts: qcom: sa8775p-ride: add pin functions for ethernet0
arm64: dts: qcom: sa8775p-ride: enable ethernet0

.../devicetree/bindings/net/qcom,ethqos.yaml | 12 +-
.../devicetree/bindings/net/snps,dwmac.yaml | 3 +
.../phy/qcom,sa8775p-dwmac-sgmii-phy.yaml | 55 +++
arch/arm64/boot/dts/qcom/sa8775p-ride.dts | 109 +++++
arch/arm64/boot/dts/qcom/sa8775p.dtsi | 42 ++
arch/arm64/configs/defconfig | 1 +
.../stmicro/stmmac/dwmac-qcom-ethqos.c | 284 ++++++++---
.../net/ethernet/stmicro/stmmac/stmmac_main.c | 2 +-
drivers/phy/qualcomm/Kconfig | 9 +
drivers/phy/qualcomm/Makefile | 3 +-
drivers/phy/qualcomm/phy-qcom-sgmii-eth.c | 451 ++++++++++++++++++
include/linux/stmmac.h | 1 +
12 files changed, 895 insertions(+), 77 deletions(-)
create mode 100644 Documentation/devicetree/bindings/phy/qcom,sa8775p-dwmac-sgmii-phy.yaml
create mode 100644 drivers/phy/qualcomm/phy-qcom-sgmii-eth.c

--
2.39.2