* [PATCH] arm64: dts: qcom: sc8280xp: correct usb phy power supply
@ 2025-01-10 9:23 Pengyu Luo
2025-01-10 12:28 ` Konrad Dybcio
2026-05-16 19:19 ` Jens Glathe
0 siblings, 2 replies; 7+ messages in thread
From: Pengyu Luo @ 2025-01-10 9:23 UTC (permalink / raw)
To: Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski,
Conor Dooley
Cc: Pengyu Luo, linux-arm-msm, devicetree, linux-kernel
On this platform, according to dsdt tables, usb{0,1} phy consume the
following regulators. usb2 phy should be corrected also, usb2 in dsdt
is a little complicated, so correct usb{0,1} only for now.
usb0 usb1 voltage consumer
hsphy:
l1c l1c 1.8v vdda18-supply
l9d l4b 0.912v vdda-pll-supply
l7d l13c 3.072v vdda33-supply
qmpphy:
l4d l3b 1.2v vdda-phy-supply
l6d l6b 0.88v vdda-pll-supply
base-commit: 2b88851f583d3c4e40bcd40cfe1965241ec229dd
Signed-off-by: Pengyu Luo <mitltlatltl@gmail.com>
---
arch/arm64/boot/dts/qcom/sc8280xp-crd.dts | 8 ++++----
arch/arm64/boot/dts/qcom/sc8280xp-huawei-gaokun3.dts | 8 ++++----
.../arm64/boot/dts/qcom/sc8280xp-lenovo-thinkpad-x13s.dts | 8 ++++----
arch/arm64/boot/dts/qcom/sc8280xp-microsoft-arcata.dts | 8 ++++----
arch/arm64/boot/dts/qcom/sc8280xp-microsoft-blackrock.dts | 4 ++--
5 files changed, 18 insertions(+), 18 deletions(-)
diff --git a/arch/arm64/boot/dts/qcom/sc8280xp-crd.dts b/arch/arm64/boot/dts/qcom/sc8280xp-crd.dts
index 75adaa19d..ad61bb206 100644
--- a/arch/arm64/boot/dts/qcom/sc8280xp-crd.dts
+++ b/arch/arm64/boot/dts/qcom/sc8280xp-crd.dts
@@ -815,8 +815,8 @@ &usb_0_hsphy {
};
&usb_0_qmpphy {
- vdda-phy-supply = <&vreg_l9d>;
- vdda-pll-supply = <&vreg_l4d>;
+ vdda-phy-supply = <&vreg_l4d>;
+ vdda-pll-supply = <&vreg_l6d>;
orientation-switch;
@@ -852,8 +852,8 @@ &usb_1_hsphy {
};
&usb_1_qmpphy {
- vdda-phy-supply = <&vreg_l4b>;
- vdda-pll-supply = <&vreg_l3b>;
+ vdda-phy-supply = <&vreg_l3b>;
+ vdda-pll-supply = <&vreg_l6b>;
orientation-switch;
diff --git a/arch/arm64/boot/dts/qcom/sc8280xp-huawei-gaokun3.dts b/arch/arm64/boot/dts/qcom/sc8280xp-huawei-gaokun3.dts
index 09b95f89e..e46f24c3f 100644
--- a/arch/arm64/boot/dts/qcom/sc8280xp-huawei-gaokun3.dts
+++ b/arch/arm64/boot/dts/qcom/sc8280xp-huawei-gaokun3.dts
@@ -1013,8 +1013,8 @@ &usb_0_hsphy {
};
&usb_0_qmpphy {
- vdda-phy-supply = <&vreg_l9d>;
- vdda-pll-supply = <&vreg_l4d>;
+ vdda-phy-supply = <&vreg_l4d>;
+ vdda-pll-supply = <&vreg_l6d>;
orientation-switch;
@@ -1042,8 +1042,8 @@ &usb_1_hsphy {
};
&usb_1_qmpphy {
- vdda-phy-supply = <&vreg_l4b>;
- vdda-pll-supply = <&vreg_l3b>;
+ vdda-phy-supply = <&vreg_l3b>;
+ vdda-pll-supply = <&vreg_l6b>;
orientation-switch;
diff --git a/arch/arm64/boot/dts/qcom/sc8280xp-lenovo-thinkpad-x13s.dts b/arch/arm64/boot/dts/qcom/sc8280xp-lenovo-thinkpad-x13s.dts
index f3190f408..5bf43050d 100644
--- a/arch/arm64/boot/dts/qcom/sc8280xp-lenovo-thinkpad-x13s.dts
+++ b/arch/arm64/boot/dts/qcom/sc8280xp-lenovo-thinkpad-x13s.dts
@@ -1363,8 +1363,8 @@ &usb_0_hsphy {
};
&usb_0_qmpphy {
- vdda-phy-supply = <&vreg_l9d>;
- vdda-pll-supply = <&vreg_l4d>;
+ vdda-phy-supply = <&vreg_l4d>;
+ vdda-pll-supply = <&vreg_l6d>;
orientation-switch;
@@ -1400,8 +1400,8 @@ &usb_1_hsphy {
};
&usb_1_qmpphy {
- vdda-phy-supply = <&vreg_l4b>;
- vdda-pll-supply = <&vreg_l3b>;
+ vdda-phy-supply = <&vreg_l3b>;
+ vdda-pll-supply = <&vreg_l6b>;
orientation-switch;
diff --git a/arch/arm64/boot/dts/qcom/sc8280xp-microsoft-arcata.dts b/arch/arm64/boot/dts/qcom/sc8280xp-microsoft-arcata.dts
index ae5daeac8..179c944a6 100644
--- a/arch/arm64/boot/dts/qcom/sc8280xp-microsoft-arcata.dts
+++ b/arch/arm64/boot/dts/qcom/sc8280xp-microsoft-arcata.dts
@@ -769,8 +769,8 @@ &usb_0_hsphy {
};
&usb_0_qmpphy {
- vdda-phy-supply = <&vreg_l9d>;
- vdda-pll-supply = <&vreg_l4d>;
+ vdda-phy-supply = <&vreg_l4d>;
+ vdda-pll-supply = <&vreg_l6d>;
orientation-switch;
@@ -806,8 +806,8 @@ &usb_1_hsphy {
};
&usb_1_qmpphy {
- vdda-phy-supply = <&vreg_l4b>;
- vdda-pll-supply = <&vreg_l3b>;
+ vdda-phy-supply = <&vreg_l3b>;
+ vdda-pll-supply = <&vreg_l6b>;
orientation-switch;
diff --git a/arch/arm64/boot/dts/qcom/sc8280xp-microsoft-blackrock.dts b/arch/arm64/boot/dts/qcom/sc8280xp-microsoft-blackrock.dts
index fa9d94105..d73b45d54 100644
--- a/arch/arm64/boot/dts/qcom/sc8280xp-microsoft-blackrock.dts
+++ b/arch/arm64/boot/dts/qcom/sc8280xp-microsoft-blackrock.dts
@@ -1003,7 +1003,7 @@ &usb_0_hsphy {
&usb_0_qmpphy {
vdda-phy-supply = <&vreg_l4d>;
- vdda-pll-supply = <&vreg_l9d>;
+ vdda-pll-supply = <&vreg_l6d>;
orientation-switch;
@@ -1040,7 +1040,7 @@ &usb_1_hsphy {
&usb_1_qmpphy {
vdda-phy-supply = <&vreg_l3b>;
- vdda-pll-supply = <&vreg_l4b>;
+ vdda-pll-supply = <&vreg_l6b>;
orientation-switch;
--
2.47.1
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH] arm64: dts: qcom: sc8280xp: correct usb phy power supply
2025-01-10 9:23 [PATCH] arm64: dts: qcom: sc8280xp: correct usb phy power supply Pengyu Luo
@ 2025-01-10 12:28 ` Konrad Dybcio
2025-01-10 14:25 ` Pengyu Luo
2026-05-16 19:19 ` Jens Glathe
1 sibling, 1 reply; 7+ messages in thread
From: Konrad Dybcio @ 2025-01-10 12:28 UTC (permalink / raw)
To: Pengyu Luo, Bjorn Andersson, Konrad Dybcio, Rob Herring,
Krzysztof Kozlowski, Conor Dooley
Cc: linux-arm-msm, devicetree, linux-kernel
On 10.01.2025 10:23 AM, Pengyu Luo wrote:
> On this platform, according to dsdt tables, usb{0,1} phy consume the
> following regulators. usb2 phy should be corrected also, usb2 in dsdt
> is a little complicated, so correct usb{0,1} only for now.
>
> usb0 usb1 voltage consumer
> hsphy:
> l1c l1c 1.8v vdda18-supply
> l9d l4b 0.912v vdda-pll-supply
> l7d l13c 3.072v vdda33-supply
> qmpphy:
> l4d l3b 1.2v vdda-phy-supply
> l6d l6b 0.88v vdda-pll-supply
Looking at the CRD schematics, it should instead be:
USB0 USB1 VOLT NAME
L1B L8D 0.9ish PHY
L4D L4D 1.2 PLL
I'm hoping I'm reading those right, it's not super obvious
Konrad
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH] arm64: dts: qcom: sc8280xp: correct usb phy power supply
2025-01-10 12:28 ` Konrad Dybcio
@ 2025-01-10 14:25 ` Pengyu Luo
0 siblings, 0 replies; 7+ messages in thread
From: Pengyu Luo @ 2025-01-10 14:25 UTC (permalink / raw)
To: konrad.dybcio
Cc: andersson, conor+dt, devicetree, konradybcio, krzk+dt,
linux-arm-msm, linux-kernel, mitltlatltl, robh
On Fri, Jan 10, 2025 at 8:28 PM Konrad Dybcio <konrad.dybcio@oss.qualcomm.com> wrote:
> On 10.01.2025 10:23 AM, Pengyu Luo wrote:
> > On this platform, according to dsdt tables, usb{0,1} phy consume the
> > following regulators. usb2 phy should be corrected also, usb2 in dsdt
> > is a little complicated, so correct usb{0,1} only for now.
> >
> > usb0 usb1 voltage consumer
> > hsphy:
> > l1c l1c 1.8v vdda18-supply
> > l9d l4b 0.912v vdda-pll-supply
> > l7d l13c 3.072v vdda33-supply
> > qmpphy:
> > l4d l3b 1.2v vdda-phy-supply
> > l6d l6b 0.88v vdda-pll-supply
>
> Looking at the CRD schematics, it should instead be:
>
> USB0 USB1 VOLT NAME
> L1B L8D 0.9ish PHY
> L4D L4D 1.2 PLL
>
> I'm hoping I'm reading those right, it's not super obvious
>
Yes, right.
Yours is correspond to usb2 qmpphy(internal usb)
this is from sc8280xp-crd:
&usb_2_qmpphy0 {
vdda-phy-supply = <&vreg_l1b>;
vdda-pll-supply = <&vreg_l4d>;
status = "okay";
};
&usb_2_qmpphy1 {
vdda-phy-supply = <&vreg_l8d>;
vdda-pll-supply = <&vreg_l4d>;
status = "okay";
};
I had checked many dsdt tables of sc8280xp-based devices, they are
Name (LPCC, Package (0x07)
{
...
Package (0x08)
{
"\\_SB.URS0.USB0",
...
"PPP_RESOURCE_ID_LDO1_C" // 1.8v
...
"PPP_RESOURCE_ID_LDO9_D" // 0.912v
...
"PPP_RESOURCE_ID_LDO7_D" // 3.072v
...
"PPP_RESOURCE_ID_LDO4_D" // 1.2v
...
"PPP_RESOURCE_ID_LDO6_D" // 0.88v
...
}
...
Package (0x08)
{
"\\_SB.URS1.USB1",
...
"PPP_RESOURCE_ID_LDO1_C" // 1.8v
...
"PPP_RESOURCE_ID_LDO4_B" // 0.912v
...
"PPP_RESOURCE_ID_LDO13_C" // 3.072v
...
"PPP_RESOURCE_ID_LDO3_B" // 1.2v
...
"PPP_RESOURCE_ID_LDO6_B" // 0.88v
...
}
...
}
On many platforms, such as sm8350-hdk, sc8180x-primus, x1e80100-crd, which
also support qmp phy, their PHY consumes a 1.2v vreg, their PLL consumes a
0.88v(approx) vreg. So I wirite this patch.
> Konrad
>
Best wishes,
Pengyu
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH] arm64: dts: qcom: sc8280xp: correct usb phy power supply
2025-01-10 9:23 [PATCH] arm64: dts: qcom: sc8280xp: correct usb phy power supply Pengyu Luo
2025-01-10 12:28 ` Konrad Dybcio
@ 2026-05-16 19:19 ` Jens Glathe
2026-05-18 12:08 ` Pengyu Luo
1 sibling, 1 reply; 7+ messages in thread
From: Jens Glathe @ 2026-05-16 19:19 UTC (permalink / raw)
To: Pengyu Luo, Bjorn Andersson, Konrad Dybcio, Rob Herring,
Krzysztof Kozlowski, Conor Dooley
Cc: linux-arm-msm, devicetree, linux-kernel
On 10.01.25 10:23, Pengyu Luo wrote:
> On this platform, according to dsdt tables, usb{0,1} phy consume the
> following regulators. usb2 phy should be corrected also, usb2 in dsdt
> is a little complicated, so correct usb{0,1} only for now.
Can confirm that this works on blackrock and x13s. And I went a
different route when I tried to verify vregs for blackrock and noticed
that the vdd voltages didn't match the layer of logic schematic in the
dwc3 block (some TI documentation), so I switched them already for
blackrock.
Tested-by: Jens Glathe <jens.glathe@oldschoolsolutions.biz>
with best regards
Jens
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH] arm64: dts: qcom: sc8280xp: correct usb phy power supply
2026-05-16 19:19 ` Jens Glathe
@ 2026-05-18 12:08 ` Pengyu Luo
2026-05-20 7:45 ` Jens Glathe
0 siblings, 1 reply; 7+ messages in thread
From: Pengyu Luo @ 2026-05-18 12:08 UTC (permalink / raw)
To: Jens Glathe
Cc: Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, linux-arm-msm, devicetree, linux-kernel
On Sun, May 17, 2026 at 3:19 AM Jens Glathe
<jens.glathe@oldschoolsolutions.biz> wrote:
>
> On 10.01.25 10:23, Pengyu Luo wrote:
> > On this platform, according to dsdt tables, usb{0,1} phy consume the
> > following regulators. usb2 phy should be corrected also, usb2 in dsdt
> > is a little complicated, so correct usb{0,1} only for now.
>
> Can confirm that this works on blackrock and x13s. And I went a
> different route when I tried to verify vregs for blackrock and noticed
> that the vdd voltages didn't match the layer of logic schematic in the
> dwc3 block (some TI documentation), so I switched them already for
> blackrock.
>
I think they might take the power sequence into account when they were
introducing the devices, vdda-phy(~0.9v) first and vdda-pll(1.2v)
later in the upstream while vdd(0.912v) first and core(1.2v) later in
the downstream. BTW, the DSDT is unreliable. On my platform, it
describes that several components are consuming several LDOs, but
these components work well with these LDOs manually disabled via rpmh.
Best wishes,
Pengyu
> Tested-by: Jens Glathe <jens.glathe@oldschoolsolutions.biz>
>
> with best regards
>
> Jens
>
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH] arm64: dts: qcom: sc8280xp: correct usb phy power supply
2026-05-18 12:08 ` Pengyu Luo
@ 2026-05-20 7:45 ` Jens Glathe
2026-05-21 9:25 ` Konrad Dybcio
0 siblings, 1 reply; 7+ messages in thread
From: Jens Glathe @ 2026-05-20 7:45 UTC (permalink / raw)
To: Pengyu Luo
Cc: Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, linux-arm-msm, devicetree, linux-kernel, Xilin Wu
On 18.05.26 14:08, Pengyu Luo wrote:
> I think they might take the power sequence into account when they were
> introducing the devices, vdda-phy(~0.9v) first and vdda-pll(1.2v)
> later in the upstream while vdd(0.912v) first and core(1.2v) later in
> the downstream. BTW, the DSDT is unreliable. On my platform, it
> describes that several components are consuming several LDOs, but
> these components work well with these LDOs manually disabled via rpmh.
>
> Best wishes,
> Pengyu
>
Hmm looks like schematics would trump these speculations. Maybe wait
until this can be confirmed.
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH] arm64: dts: qcom: sc8280xp: correct usb phy power supply
2026-05-20 7:45 ` Jens Glathe
@ 2026-05-21 9:25 ` Konrad Dybcio
0 siblings, 0 replies; 7+ messages in thread
From: Konrad Dybcio @ 2026-05-21 9:25 UTC (permalink / raw)
To: Jens Glathe, Pengyu Luo
Cc: Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, linux-arm-msm, devicetree, linux-kernel, Xilin Wu
On 5/20/26 9:45 AM, Jens Glathe wrote:
> On 18.05.26 14:08, Pengyu Luo wrote:
>> I think they might take the power sequence into account when they were
>> introducing the devices, vdda-phy(~0.9v) first and vdda-pll(1.2v)
>> later in the upstream while vdd(0.912v) first and core(1.2v) later in
>> the downstream. BTW, the DSDT is unreliable. On my platform, it
>> describes that several components are consuming several LDOs, but
>> these components work well with these LDOs manually disabled via rpmh.
>>
>> Best wishes,
>> Pengyu
>>
> Hmm looks like schematics would trump these speculations. Maybe wait until this can be confirmed.
My previous reply was wrong.
via CRD8280X schematics:
USB0 USB1 USB2 USB3 USB4 USB5
HSPHY 0p9 L9D L4B L1B L8D [L10D L10D]
HSPHY 1p8 L1C L1C [L1C L1C] [L8C L8C]
HSPHY 3p1 L7D L13C [L7D L7D] [L2D L2D]
SSPHY 0p9 L9D L4B L1B L8D N/A N/A
SSPHY 1p2 L4D L3B L4D L4D N/A N/A
USB0 - usb@a600000
USB1 - usb@a800000
USB2/3 - usb@a400000 ports 0/1
USB4/5 - usb@a400000 ports 2/3
Regulators in square brackets share a single input pin on the SoC
Konrad
^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2026-05-21 9:25 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2025-01-10 9:23 [PATCH] arm64: dts: qcom: sc8280xp: correct usb phy power supply Pengyu Luo
2025-01-10 12:28 ` Konrad Dybcio
2025-01-10 14:25 ` Pengyu Luo
2026-05-16 19:19 ` Jens Glathe
2026-05-18 12:08 ` Pengyu Luo
2026-05-20 7:45 ` Jens Glathe
2026-05-21 9:25 ` Konrad Dybcio
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®