Message ID | 20230615121419.175862-1-brgl@bgdev.pl (mailing list archive) |
---|---|
Headers | show |
Series | arm64: qcom: sa8775p-ride: enable the first ethernet port | expand |
On Thu, 15 Jun 2023 14:13:56 +0200 Bartosz Golaszewski wrote: > From: Bartosz Golaszewski <bartosz.golaszewski@linaro.org> > > 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. Did I already ask you how do you envision this getting merged? You have patches here for at least 3 different trees it seems. Can you post the stmmac driver changes + bindings as a separate series? > drivers/phy/qualcomm/phy-qcom-sgmii-eth.c | 451 ++++++++++++++++++ Noob question - what's the distinction between drivers/phy and drivers/net/phy (or actually perhaps drivers/net/pcs in this case)?
On Sat, Jun 17, 2023 at 9:16 AM Jakub Kicinski <kuba@kernel.org> wrote: > > On Thu, 15 Jun 2023 14:13:56 +0200 Bartosz Golaszewski wrote: > > From: Bartosz Golaszewski <bartosz.golaszewski@linaro.org> > > > > 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. > > Did I already ask you how do you envision this getting merged? > You have patches here for at least 3 different trees it seems. > Can you post the stmmac driver changes + bindings as a separate series? > Sure, now that bindings got reviewed, I will resend the patches separately. Them going through different trees won't break the build. > > drivers/phy/qualcomm/phy-qcom-sgmii-eth.c | 451 ++++++++++++++++++ > > Noob question - what's the distinction between drivers/phy and > drivers/net/phy (or actually perhaps drivers/net/pcs in this case)? Not sure, but it seems that most drivers in the latter are MDIO while those in drivers/phy are all kinds of PHYs (USB, UFS, etc.). Bart
From: Bartosz Golaszewski <bartosz.golaszewski@linaro.org> 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