Re: [PATCH v2 0/6] Fix regulator voting for the Qualcomm SGMII SerDes PHY

Manivannan Sadhasivam <[email protected]>
Newsgroups org.infradead.lists.linux-phy,org.kernel.vger.linux-arm-msm,org.kernel.vger.linux-devicetree,org.kernel.vger.linux-kernel
Message-ID <efu6xalzkpim3cu2r4mkzksseviqrxqmpmblm24r3ip6bwt3dh@nqntulmbkgwa>
On Tue, Aug 04, 2026 at 12:57:56AM +0530, Mohd Ayaan Anwar wrote:
> This is a long overdue v2 of the original patch series which tried to
> address a SerDes power-up failure observed on the QCS8300 Ride board
> using the phy-qcom-sgmii-eth driver. After going through a rabbit hole
> of hardware schematics and power data, I now have a fuller picture of
> this IP.
> 
> The Qualcomm SGMII SerDes PHY (used in Lemans and Monaco SoCs) is
> powered by two voltage rails. The schematics call them vdda-0p9 and
> vdda-1p2, so that's what we follow in the series. Additionally, the
> 0.9V regulator draws a peak current of 46 mA and the 1.2V regulator
> draws a peak current of 15 mA.
> 
> If both rails are not enabled, we see the original issue where the
> SerDes calibration times out:
> 
>   qcom-dwmac-sgmii-phy 8909000.phy: QSERDES_COM_C_READY_STATUS timed-out
>   qcom-ethqos 23040000.ethernet eth0: __stmmac_open: Serdes powerup failed
> 
> Currently, the DT nodes across affected boards incorrectly describe
> only a single regulator via the generic 'phy-supply' property (and in
> some cases point to the wrong rail entirely). Moreover, the driver does
> not set the proper current loads and just relies on an enable vote.
> 
> This series corrects this by:
> 
>   1. Fixing the DT binding to describe both named supplies.
>   2. Fixing all affected board DTS to use the correct vdda-0p9-supply
>      and vdda-1p2-supply properties.
>   3. Adding bulk regulator support to the PHY driver so it enables both
>      supplies and sets the proper current loads.
> 
> The patches are sequenced to maintain bisectability. With the driver
> change, the PHY framework will continue to vote for the regulator
> described by 'phy-supply'. The DT changes which follow then remove
> 'phy-supply' in favour of 'vdda-0p9' and 'vdda-1p2'.
> 
> Testing:
> This series was tested on the following Lemans and Monaco based boards.
>   1. Lemans IQ-9075 EVK with the IFP+ Mezzanine attach (dual GMAC +
>  QCOM SGMII SerDes + QCA8081 PHY)
>   2. Lemans QCS9100 Ride (dual GMAC + QCOM SGMII SerDes + AQR115C PHY)
>   3. Monaco IQ-8275 EVK (single GMAC + QCOM SGMII SerDes + QCA8081 PHY)
>   4. Monaco QCS8300 Ride (dual GMAC + QCOM SGMII SerDes + AQR115C PHY)
> To conclusively test the new regulator voting, I tested builds with all
> the other consumers of the regulators disabled from the DTS to ensure
> that the phy-qcom-sgmii-eth driver held the only vote.
> 
> Changes since v1:
>   - Fixed the DT bindings to describe the actual SerDes PHY hardware,
>     which actually has two supplies rather than only one - Krzysztof.
>   - Use regulator_bulk_* APIs to properly set the current loads of the
>     two supplies - Konrad.
>   - Fixed Lemans board DTS files that incorrectly voted for vreg_l5a;
>     the correct rails per the power diagram are vreg_l4a (0.9V) and
>     vreg_l1c (1.2V).
>   - Link to v1: https://lore.kernel.org/linux-arm-msm/20251124-sgmiieth_serdes_regulator-v1-0-73ae8f9cbe2a@oss.qualcomm.com/T/#m0b93e06a0d6a09c4c1b65c500b475958ed5e288d.
> 
> Signed-off-by: Mohd Ayaan Anwar <[email protected]>

Reviewed-by: Manivannan Sadhasivam <[email protected]>

- Mani

-- 
மணிவண்ணன் சதாசிவம்

-- 
linux-phy mailing list
[email protected]
https://lists.infradead.org/mailman/listinfo/linux-phy
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.