[PATCH net-next v2 0/9] net: stmmac: qcom-ethqos: add Shikra EMAC support
From: Mohd Ayaan Anwar <mohd.anwar@oss.qualcomm.com>
Date: 2026-09-07 20:24:03
Also in:
linux-arm-kernel, linux-arm-msm, lkml, netdev
This series incorporates feedback from the RFC and adds the dt-bindings and driver changes required to enable Gigabit Ethernet support on the Qualcomm Shikra SoC. DTS changes will be sent out separately. The series has grown from the RFC and can be broadly divided into three areas: PHY power supply management, proper support for RGMII ID mode in the Qualcomm ETHQOS driver, and Shikra specific clock dependencies required for NOC access. 1. Shikra EVK boards use a GPIO-gated regulator for the DP83867 PHY power supply. Patches 1 and 2 add supply management to the DP83867 driver so the PHY driver holds the regulator vote at probe. These changes are largely inspired by similar work done for the QCA8081 PHY: https://lore.kernel.org/netdev/20260605010022.968612-3-elder@riscstar.com/ (local) 2. The generic RGMII fixes from the RFC remain. As suggested, an additional patch now emits a warning (patch 6) when the legacy "rgmii" or "rgmii-txid" modes are detected. A new change (patch 7) now initialises the RGMII link clock at SPEED_10 on probe instead of SPEED_1000, dropping the unnecessary 250 MHz source before link up. 3. NOC clock voting (patch 8) now uses dev_pm_opp_set_rate() so the required VDD_CX performance state can be propagated through the clock controller. The Shikra binding (patch 3) is updated accordingly: an if/else block constrains Shikra to exactly six clocks and requires operating-points-v2. Testing: The following boards have been tested with this new (proper) handling for RGMII ID: - Shikra CQ/IQ variants (with the TI DP83867 PHY) - QCS615 Ride (with the Micrel KSZ9031 PHY) - Talos EVK (again with the Micrel KSZ9031 PHY) - Talos Lyra EVK (TI DP83867 PHY, this board also has a GPIO-gated regulator for the PHY power supply) Changes in v2: - Collected Maxime's Reviewed-by tags. - Updated Patch 9's commit message to explain the double enable vote on the "stmmaceth" clock. Open to discussion on how best to handle this. - Wrapped regulator vote for dp83867 inside an #ifdef CONFIG_OF check to avoid adding an unnecessary 200 ms delay on systems where devm_regulator_get_enable_optional() would return 0. The change now mirrors the QCA8081 patch -- Sashiko. - Fixed ethqos_set_clk_tx_rate() to double the rate for all PHY modes other than RGMII-ID -- Sashiko. - Moved warning about the use of non RGMII-ID mode to probe instead of fix_mac_speed to avoid spamming during each link up event -- Sashiko. - Fixed error unwind drops OPP before stopping link_clk -- Sashiko. - Fixed OPP vote set in probe not cleaned up on error -- Sashiko. - Link to v1: https://lore.kernel.org/netdev/20260904-shikra_ethernet-v1-0-a50765996035@oss.qualcomm.com/#t (local) Changes since RFC: - Two new patches add supply management for the DP83867, replacing the gpio-hog approach for PHY power -- Konrad, Andrew. - Use dev_pm_opp_set_rate() for the NOC AXI clock and require operating-points-v2 for Shikra -- Konrad. - Warn on legacy "rgmii"/"rgmii-txid" to encourage DTB migration -- Andrew, Maxime. - Updated binding document for qcom,ethqos and snps,dwmac. - Drop the duplicate "axi" clock from Shikra's DT; use "axi-noc" and "pcie-tile-axi-noc" as the only additional clock-names. - Initialise RGMII link clock at SPEED_10 rather than SPEED_1000 on probe. - Link to RFC: https://lore.kernel.org/netdev/20260612-shikra_ethernet-v1-0-f0f4a1d19929@oss.qualcomm.com/ (local) Signed-off-by: Mohd Ayaan Anwar <mohd.anwar@oss.qualcomm.com> --- Mohd Ayaan Anwar (9): dt-bindings: net: ti,dp83867: add supply properties net: phy: dp83867: add regulator supply management dt-bindings: net: qcom,ethqos: add qcom,shikra-ethqos compatible net: stmmac: qcom-ethqos: convert ethqos_rgmii_macro_init() to void net: stmmac: qcom-ethqos: fix RGMII_ID mode to use DLL bypass net: stmmac: qcom-ethqos: warn about legacy RGMII PHY modes net: stmmac: qcom-ethqos: set initial RGMII link clock to lowest speed net: stmmac: qcom-ethqos: add per-platform NOC clock voting net: stmmac: qcom-ethqos: add Shikra EMAC support .../devicetree/bindings/net/qcom,ethqos.yaml | 50 ++++- .../devicetree/bindings/net/snps,dwmac.yaml | 2 + .../devicetree/bindings/net/ti,dp83867.yaml | 14 ++ .../ethernet/stmicro/stmmac/dwmac-qcom-ethqos.c | 218 +++++++++++++++++++-- drivers/net/phy/dp83867.c | 33 ++++ 5 files changed, 300 insertions(+), 17 deletions(-) --- base-commit: 7042c8c193e5d634198b7c766bb3a01c8e3ee0e2 change-id: 20260903-shikra_ethernet-ae7bee5e804e Best regards, -- Mohd Ayaan Anwar [off-list ref]