diff mbox series

[v6,03/12] arm64: dts: qcom: sdm845-starqltechn: fix usb regulator mistake

Message ID 20241008-starqltechn_integration_upstream-v6-3-5445365d3052@gmail.com (mailing list archive)
State Superseded
Headers show
Series This is continued work on Samsung S9(SM-9600) starqltechn | expand

Commit Message

Dzmitry Sankouski Oct. 8, 2024, 4:51 p.m. UTC
Usb regulator was wrongly pointed to vreg_l1a_0p875.
However, on starqltechn it's powered from vreg_l5a_0p8.

Fixes: d711b22eee55 ("arm64: dts: qcom: starqltechn: add initial device tree for starqltechn")
Signed-off-by: Dzmitry Sankouski <dsankouski@gmail.com>

---
Changes in v6:
- refactor: no space between tag in commit message.
- refactor: s/starqltechn/sdm845-starqltechn in subject.
---
 arch/arm64/boot/dts/qcom/sdm845-samsung-starqltechn.dts | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

Comments

Konrad Dybcio Oct. 26, 2024, 10:41 a.m. UTC | #1
On 8.10.2024 6:51 PM, Dzmitry Sankouski wrote:
> Usb regulator was wrongly pointed to vreg_l1a_0p875.
> However, on starqltechn it's powered from vreg_l5a_0p8.
> 
> Fixes: d711b22eee55 ("arm64: dts: qcom: starqltechn: add initial device tree for starqltechn")
> Signed-off-by: Dzmitry Sankouski <dsankouski@gmail.com>
> 
> ---

I really really doubt that the supplies for on-SoC PHYs were altered,
given these regulators are assigned based on their specific characteristics

Konrad
Dzmitry Sankouski Dec. 2, 2024, 1:41 p.m. UTC | #2
сб, 26 окт. 2024 г. в 13:41, Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>:
>
> On 8.10.2024 6:51 PM, Dzmitry Sankouski wrote:
> > Usb regulator was wrongly pointed to vreg_l1a_0p875.
> > However, on starqltechn it's powered from vreg_l5a_0p8.
> >
> > Fixes: d711b22eee55 ("arm64: dts: qcom: starqltechn: add initial device tree for starqltechn")
> > Signed-off-by: Dzmitry Sankouski <dsankouski@gmail.com>
> >
> > ---
>
> I really really doubt that the supplies for on-SoC PHYs were altered,
> given these regulators are assigned based on their specific characteristics
>

From rooted android system from klabit87 on starqltechn:

```
starqltechn:/ # cat /proc/cpuinfo | grep Hardware
Hardware        : Qualcomm Technologies, Inc SDM845
starqltechn:/ # uname -a
Linux localhost 4.9.186-klabitV6.5 #1 SMP PREEMPT Thu Dec 10 19:42:53
CST 2020 aarch64
starqltechn:/ # cat
/sys/kernel/debug/regulator/soc:rpmh-regulator-ldoa1-pm8998_l1/consumers
Device-Supply                    EN    Min_uV   Max_uV  load_uA
ae90000.qcom,dp_display-vdda-0p9 N     880000   880000        0
1d87000.ufsphy_mem-vdda-phy      Y     880000   880000    62900
ae96400.qcom,mdss_dsi_phy0-vdda-0p9 N          0        0        0
ae94400.qcom,mdss_dsi_phy0-vdda-0p9 Y     880000   880000    36000
1c00000.qcom,pcie-vreg-0.9       Y     880000   880000    24000
pm8998_l1                        N          0        0        0
starqltechn:/ # cat
/sys/kernel/debug/regulator/soc:rpmh-regulator-ldoa5-pm8998_l5/consumers
Device-Supply                    EN    Min_uV   Max_uV  load_uA
ae90000.qcom,dp_display-vdda-usb1-ss-core N          0        0        0
88e2000.qusb-vdd                 Y     800000   800000        0
88e8000.ssphy-vdd                Y     800000   800000        0
pm8998_l5                        N          0        0        0
```

I also downloaded kernel source from Samsung, to check its dts,
and it also powers qusb@88e2000 and ssphy@88e8000 from 'pm8998_l5' regulator.
Konrad Dybcio Dec. 2, 2024, 3:09 p.m. UTC | #3
On 2.12.2024 2:41 PM, Dzmitry Sankouski wrote:
> сб, 26 окт. 2024 г. в 13:41, Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>:
>>
>> On 8.10.2024 6:51 PM, Dzmitry Sankouski wrote:
>>> Usb regulator was wrongly pointed to vreg_l1a_0p875.
>>> However, on starqltechn it's powered from vreg_l5a_0p8.
>>>
>>> Fixes: d711b22eee55 ("arm64: dts: qcom: starqltechn: add initial device tree for starqltechn")
>>> Signed-off-by: Dzmitry Sankouski <dsankouski@gmail.com>
>>>
>>> ---
>>
>> I really really doubt that the supplies for on-SoC PHYs were altered,
>> given these regulators are assigned based on their specific characteristics
>>
> 
> From rooted android system from klabit87 on starqltechn:
> 
> ```
> starqltechn:/ # cat /proc/cpuinfo | grep Hardware
> Hardware        : Qualcomm Technologies, Inc SDM845
> starqltechn:/ # uname -a
> Linux localhost 4.9.186-klabitV6.5 #1 SMP PREEMPT Thu Dec 10 19:42:53
> CST 2020 aarch64
> starqltechn:/ # cat
> /sys/kernel/debug/regulator/soc:rpmh-regulator-ldoa1-pm8998_l1/consumers
> Device-Supply                    EN    Min_uV   Max_uV  load_uA
> ae90000.qcom,dp_display-vdda-0p9 N     880000   880000        0
> 1d87000.ufsphy_mem-vdda-phy      Y     880000   880000    62900
> ae96400.qcom,mdss_dsi_phy0-vdda-0p9 N          0        0        0
> ae94400.qcom,mdss_dsi_phy0-vdda-0p9 Y     880000   880000    36000
> 1c00000.qcom,pcie-vreg-0.9       Y     880000   880000    24000
> pm8998_l1                        N          0        0        0
> starqltechn:/ # cat
> /sys/kernel/debug/regulator/soc:rpmh-regulator-ldoa5-pm8998_l5/consumers
> Device-Supply                    EN    Min_uV   Max_uV  load_uA
> ae90000.qcom,dp_display-vdda-usb1-ss-core N          0        0        0
> 88e2000.qusb-vdd                 Y     800000   800000        0
> 88e8000.ssphy-vdd                Y     800000   800000        0
> pm8998_l5                        N          0        0        0
> ```
> 
> I also downloaded kernel source from Samsung, to check its dts,
> and it also powers qusb@88e2000 and ssphy@88e8000 from 'pm8998_l5' regulator.

Interesting.. could you try to forcefully shut down L5A (I doubt you'll
be able to do so with L1A given it powers so much digital logic), or
set its regulator-min&max-microvolt to a way-too-low voltage (vmin
seems to be 312000)?

You should then be able to tell fairly easily, depending on whether usb2
still works after a replug

Konrad
Dzmitry Sankouski Dec. 2, 2024, 8:10 p.m. UTC | #4
пн, 2 дек. 2024 г. в 18:09, Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>:
>
> On 2.12.2024 2:41 PM, Dzmitry Sankouski wrote:
> > сб, 26 окт. 2024 г. в 13:41, Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>:
> >>
> >> On 8.10.2024 6:51 PM, Dzmitry Sankouski wrote:
> >>> Usb regulator was wrongly pointed to vreg_l1a_0p875.
> >>> However, on starqltechn it's powered from vreg_l5a_0p8.
> >>>
> >>> Fixes: d711b22eee55 ("arm64: dts: qcom: starqltechn: add initial device tree for starqltechn")
> >>> Signed-off-by: Dzmitry Sankouski <dsankouski@gmail.com>
> >>>
> >>> ---
> >>
> >> I really really doubt that the supplies for on-SoC PHYs were altered,
> >> given these regulators are assigned based on their specific characteristics
> >>
> >
> > From rooted android system from klabit87 on starqltechn:
> >
> > ```
> > starqltechn:/ # cat /proc/cpuinfo | grep Hardware
> > Hardware        : Qualcomm Technologies, Inc SDM845
> > starqltechn:/ # uname -a
> > Linux localhost 4.9.186-klabitV6.5 #1 SMP PREEMPT Thu Dec 10 19:42:53
> > CST 2020 aarch64
> > starqltechn:/ # cat
> > /sys/kernel/debug/regulator/soc:rpmh-regulator-ldoa1-pm8998_l1/consumers
> > Device-Supply                    EN    Min_uV   Max_uV  load_uA
> > ae90000.qcom,dp_display-vdda-0p9 N     880000   880000        0
> > 1d87000.ufsphy_mem-vdda-phy      Y     880000   880000    62900
> > ae96400.qcom,mdss_dsi_phy0-vdda-0p9 N          0        0        0
> > ae94400.qcom,mdss_dsi_phy0-vdda-0p9 Y     880000   880000    36000
> > 1c00000.qcom,pcie-vreg-0.9       Y     880000   880000    24000
> > pm8998_l1                        N          0        0        0
> > starqltechn:/ # cat
> > /sys/kernel/debug/regulator/soc:rpmh-regulator-ldoa5-pm8998_l5/consumers
> > Device-Supply                    EN    Min_uV   Max_uV  load_uA
> > ae90000.qcom,dp_display-vdda-usb1-ss-core N          0        0        0
> > 88e2000.qusb-vdd                 Y     800000   800000        0
> > 88e8000.ssphy-vdd                Y     800000   800000        0
> > pm8998_l5                        N          0        0        0
> > ```
> >
> > I also downloaded kernel source from Samsung, to check its dts,
> > and it also powers qusb@88e2000 and ssphy@88e8000 from 'pm8998_l5' regulator.
>
> Interesting.. could you try to forcefully shut down L5A (I doubt you'll
> be able to do so with L1A given it powers so much digital logic), or
> set its regulator-min&max-microvolt to a way-too-low voltage (vmin
> seems to be 312000)?
>
> You should then be able to tell fairly easily, depending on whether usb2
> still works after a replug
>

Usb doesn't worked in such experiment:
Here's the log:
```
[    3.541733] ldo5: Setting 312000-312000uV
......
[    3.808224] dwc3 a600000.usb: Adding to iommu group 5
[    3.823116] qcom-qmp-combo-phy 88e8000.phy: phy initialization timed-out
[    3.824323] phy phy-88e8000.phy.0: phy init failed --> -110
[    3.825916] dwc3 a600000.usb: error -ETIMEDOUT: failed to initialize core
[    3.827208] dwc3 a600000.usb: probe with driver dwc3 failed with error -110
[    3.828548] probe of a600000.usb returned 110 after 20399 usecs
```
Konrad Dybcio Dec. 5, 2024, 4:41 p.m. UTC | #5
On 2.12.2024 9:10 PM, Dzmitry Sankouski wrote:
> пн, 2 дек. 2024 г. в 18:09, Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>:
>>
>> On 2.12.2024 2:41 PM, Dzmitry Sankouski wrote:
>>> сб, 26 окт. 2024 г. в 13:41, Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>:
>>>>
>>>> On 8.10.2024 6:51 PM, Dzmitry Sankouski wrote:
>>>>> Usb regulator was wrongly pointed to vreg_l1a_0p875.
>>>>> However, on starqltechn it's powered from vreg_l5a_0p8.
>>>>>
>>>>> Fixes: d711b22eee55 ("arm64: dts: qcom: starqltechn: add initial device tree for starqltechn")
>>>>> Signed-off-by: Dzmitry Sankouski <dsankouski@gmail.com>
>>>>>
>>>>> ---
>>>>
>>>> I really really doubt that the supplies for on-SoC PHYs were altered,
>>>> given these regulators are assigned based on their specific characteristics
>>>>
>>>
>>> From rooted android system from klabit87 on starqltechn:
>>>
>>> ```
>>> starqltechn:/ # cat /proc/cpuinfo | grep Hardware
>>> Hardware        : Qualcomm Technologies, Inc SDM845
>>> starqltechn:/ # uname -a
>>> Linux localhost 4.9.186-klabitV6.5 #1 SMP PREEMPT Thu Dec 10 19:42:53
>>> CST 2020 aarch64
>>> starqltechn:/ # cat
>>> /sys/kernel/debug/regulator/soc:rpmh-regulator-ldoa1-pm8998_l1/consumers
>>> Device-Supply                    EN    Min_uV   Max_uV  load_uA
>>> ae90000.qcom,dp_display-vdda-0p9 N     880000   880000        0
>>> 1d87000.ufsphy_mem-vdda-phy      Y     880000   880000    62900
>>> ae96400.qcom,mdss_dsi_phy0-vdda-0p9 N          0        0        0
>>> ae94400.qcom,mdss_dsi_phy0-vdda-0p9 Y     880000   880000    36000
>>> 1c00000.qcom,pcie-vreg-0.9       Y     880000   880000    24000
>>> pm8998_l1                        N          0        0        0
>>> starqltechn:/ # cat
>>> /sys/kernel/debug/regulator/soc:rpmh-regulator-ldoa5-pm8998_l5/consumers
>>> Device-Supply                    EN    Min_uV   Max_uV  load_uA
>>> ae90000.qcom,dp_display-vdda-usb1-ss-core N          0        0        0
>>> 88e2000.qusb-vdd                 Y     800000   800000        0
>>> 88e8000.ssphy-vdd                Y     800000   800000        0
>>> pm8998_l5                        N          0        0        0
>>> ```
>>>
>>> I also downloaded kernel source from Samsung, to check its dts,
>>> and it also powers qusb@88e2000 and ssphy@88e8000 from 'pm8998_l5' regulator.
>>
>> Interesting.. could you try to forcefully shut down L5A (I doubt you'll
>> be able to do so with L1A given it powers so much digital logic), or
>> set its regulator-min&max-microvolt to a way-too-low voltage (vmin
>> seems to be 312000)?
>>
>> You should then be able to tell fairly easily, depending on whether usb2
>> still works after a replug
>>
> 
> Usb doesn't worked in such experiment:
> Here's the log:
> ```
> [    3.541733] ldo5: Setting 312000-312000uV
> ......
> [    3.808224] dwc3 a600000.usb: Adding to iommu group 5
> [    3.823116] qcom-qmp-combo-phy 88e8000.phy: phy initialization timed-out
> [    3.824323] phy phy-88e8000.phy.0: phy init failed --> -110
> [    3.825916] dwc3 a600000.usb: error -ETIMEDOUT: failed to initialize core
> [    3.827208] dwc3 a600000.usb: probe with driver dwc3 failed with error -110
> [    3.828548] probe of a600000.usb returned 110 after 20399 usecs

Wow, I'm really surprised

That said, thank you for confirming

Konrad
diff mbox series

Patch

diff --git a/arch/arm64/boot/dts/qcom/sdm845-samsung-starqltechn.dts b/arch/arm64/boot/dts/qcom/sdm845-samsung-starqltechn.dts
index 6fc30fd1262b..f3f2b25883d8 100644
--- a/arch/arm64/boot/dts/qcom/sdm845-samsung-starqltechn.dts
+++ b/arch/arm64/boot/dts/qcom/sdm845-samsung-starqltechn.dts
@@ -135,8 +135,6 @@  vdda_pll_cc_ebi23:
 		vdda_sp_sensor:
 		vdda_ufs1_core:
 		vdda_ufs2_core:
-		vdda_usb1_ss_core:
-		vdda_usb2_ss_core:
 		vreg_l1a_0p875: ldo1 {
 			regulator-min-microvolt = <880000>;
 			regulator-max-microvolt = <880000>;
@@ -157,6 +155,7 @@  vreg_l3a_1p0: ldo3 {
 			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
 		};
 
+		vdda_usb1_ss_core:
 		vdd_wcss_cx:
 		vdd_wcss_mx:
 		vdda_wcss_pll: