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