Skip to contentSkip to conversation

arm64: dts: qcom: sc8280xp: use refgen regulator for DSI

PATCH In review Pengyu Luo 3 participants 8 messages Feb 28 – Apr 17

Subsystems (3)
lore
Share & tools
lore

Pengyu Luo

author
#0 lore raw

PATCH 1/1 arm64: dts: qcom: sc8280xp: use refgen regulator for DSI

Use it for the DSI controllers, since DSI nodes have been added.

---
This patch depends on the below series:
https://lore.kernel.org/linux-arm-msm/[email protected]/

---
 arch/arm64/boot/dts/qcom/sc8280xp.dtsi | 8 ++++++++
 1 file changed, 8 insertions(+)
arch/arm64/boot/dts/qcom/sc8280xp.dtsi +8 -0
index 79021267d..1599d698b 100644
@@ -4843,6 +4843,8 @@ mdss0_dsi0: dsi@ae94000 {
 				operating-points-v2 = <&dsi_opp_table>;
 				power-domains = <&rpmhpd SC8280XP_MMCX>;
 
+				refgen-supply = <&refgen>;
+
 				phys = <&mdss0_dsi0_phy>;
 				phy-names = "dsi";
 
@@ -4942,6 +4944,8 @@ mdss0_dsi1: dsi@ae96000 {
 				operating-points-v2 = <&dsi_opp_table>;
 				power-domains = <&rpmhpd SC8280XP_MMCX>;
 
+				refgen-supply = <&refgen>;
+
 				phys = <&mdss0_dsi1_phy>;
 				phy-names = "dsi";
 
@@ -6398,6 +6402,8 @@ mdss1_dsi0: dsi@22094000 {
 				operating-points-v2 = <&dsi_opp_table>;
 				power-domains = <&rpmhpd SC8280XP_MMCX>;
 
+				refgen-supply = <&refgen>;
+
 				phys = <&mdss1_dsi0_phy>;
 				phy-names = "dsi";
 
@@ -6478,6 +6484,8 @@ mdss1_dsi1: dsi@22096000 {
 				operating-points-v2 = <&dsi_opp_table>;
 				power-domains = <&rpmhpd SC8280XP_MMCX>;
 
+				refgen-supply = <&refgen>;
+
 				phys = <&mdss1_dsi1_phy>;
 				phy-names = "dsi";
 
Signature · 1 line
2.53.0
#1 lore raw
Quoted 6 lines · Pengyu Luo

Use it for the DSI controllers, since DSI nodes have been added.

---
This patch depends on the below series:
https://lore.kernel.org/linux-arm-msm/[email protected]/

Why was it not squashed into that series? I'd assume that DSI nodes are incomplete and are working "by luck" without the refgen supplies.

Quoted 47 lines
---
 arch/arm64/boot/dts/qcom/sc8280xp.dtsi | 8 ++++++++
 1 file changed, 8 insertions(+)
arch/arm64/boot/dts/qcom/sc8280xp.dtsi +8 -0
index 79021267d..1599d698b 100644
@@ -4843,6 +4843,8 @@ mdss0_dsi0: dsi@ae94000 {
 				operating-points-v2 = <&dsi_opp_table>;
 				power-domains = <&rpmhpd SC8280XP_MMCX>;
 
+				refgen-supply = <&refgen>;
+
 				phys = <&mdss0_dsi0_phy>;
 				phy-names = "dsi";
 
@@ -4942,6 +4944,8 @@ mdss0_dsi1: dsi@ae96000 {
 				operating-points-v2 = <&dsi_opp_table>;
 				power-domains = <&rpmhpd SC8280XP_MMCX>;
 
+				refgen-supply = <&refgen>;
+
 				phys = <&mdss0_dsi1_phy>;
 				phy-names = "dsi";
 
@@ -6398,6 +6402,8 @@ mdss1_dsi0: dsi@22094000 {
 				operating-points-v2 = <&dsi_opp_table>;
 				power-domains = <&rpmhpd SC8280XP_MMCX>;
 
+				refgen-supply = <&refgen>;
+
 				phys = <&mdss1_dsi0_phy>;
 				phy-names = "dsi";
 
@@ -6478,6 +6484,8 @@ mdss1_dsi1: dsi@22096000 {
 				operating-points-v2 = <&dsi_opp_table>;
 				power-domains = <&rpmhpd SC8280XP_MMCX>;
 
+				refgen-supply = <&refgen>;
+
 				phys = <&mdss1_dsi1_phy>;
 				phy-names = "dsi";
 
Signature · 1 line
2.53.0
Signature · 2 lines
With best wishes
Dmitry
author
#2 lore raw
Quoted 4 lines · Dmitry Baryshkov
Quoted 2 lines · Pengyu Luo

Use it for the DSI controllers, since DSI nodes have been added.

Quoted 8 lines
Quoted 4 lines

---
This patch depends on the below series:
https://lore.kernel.org/linux-arm-msm/[email protected]/

Why was it not squashed into that series? I'd assume that DSI nodes are incomplete and are working "by luck" without the refgen supplies.

I had completely forgotten about it until I found the patch when I was sorting these old day unverified patches. At that time, I just sent DSI patches. I will put it into DSI patches.

Many platforms should work without refgen. Bootloder may have initialized it and be untouched later? Once there was no refgen regulator, my sdm845 phone worked.

Best wishes,
Pengyu

#3 lore raw
Quoted 15 lines · Pengyu Luo
Quoted 4 lines · Dmitry Baryshkov
Quoted 2 lines · Pengyu Luo

Use it for the DSI controllers, since DSI nodes have been added.

Quoted 8 lines
Quoted 4 lines

---
This patch depends on the below series:
https://lore.kernel.org/linux-arm-msm/[email protected]/

Why was it not squashed into that series? I'd assume that DSI nodes are incomplete and are working "by luck" without the refgen supplies.

Quoted 7 lines

I had completely forgotten about it until I found the patch when I was sorting these old day unverified patches. At that time, I just sent DSI patches. I will put it into DSI patches.

Many platforms should work without refgen. Bootloder may have initialized it and be untouched later? Once there was no refgen regulator, my sdm845 phone worked.

If there is no refgen driver, then the bootloader setup will continue to work since nobody touches it. If there is a refgen driver, then the kernel will shut it off during the bootup procedure.

Signature · 2 lines
With best wishes
Dmitry
author
#4 lore raw
Quoted 21 lines · Dmitry Baryshkov
Quoted 19 lines · Pengyu Luo
Quoted 4 lines · Dmitry Baryshkov
Quoted 2 lines · Pengyu Luo

Use it for the DSI controllers, since DSI nodes have been added.

Quoted 8 lines
Quoted 4 lines

---
This patch depends on the below series:
https://lore.kernel.org/linux-arm-msm/[email protected]/

Why was it not squashed into that series? I'd assume that DSI nodes are incomplete and are working "by luck" without the refgen supplies.

I had completely forgotten about it until I found the patch when I was sorting these old day unverified patches. At that time, I just sent DSI patches. I will put it into DSI patches.

Quoted 8 lines
Quoted 3 lines

Many platforms should work without refgen. Bootloder may have initialized it and be untouched later? Once there was no refgen regulator, my sdm845 phone worked.

If there is no refgen driver, then the bootloader setup will continue to work since nobody touches it. If there is a refgen driver, then the kernel will shut it off during the bootup procedure.

Thanks for explaining this. I saw a similar thing on sm8750, I had to reboot again and again to turn on the display once.

Best wishes,
Pengyu

author
#5 lore raw
In reply to Dmitry Baryshkov
Quoted 4 lines · Dmitry Baryshkov
Quoted 2 lines · Pengyu Luo

Use it for the DSI controllers, since DSI nodes have been added.

Quoted 8 lines
Quoted 4 lines

---
This patch depends on the below series:
https://lore.kernel.org/linux-arm-msm/[email protected]/

Why was it not squashed into that series? I'd assume that DSI nodes are incomplete and are working "by luck" without the refgen supplies.

Today, I did a casual read. I found the register(0x8900000 + 0x80) to enable refgen is always 0 on windows. The refgen driver may be not compatible with sc8280xp or the DT configuration is wrong.

Best wishes,
Pengyu

#6 lore raw
Quoted 11 lines · Pengyu Luo
Quoted 9 lines · Dmitry Baryshkov
Quoted 6 lines · Pengyu Luo

Use it for the DSI controllers, since DSI nodes have been added.

---
This patch depends on the below series:
https://lore.kernel.org/linux-arm-msm/[email protected]/

Quoted 7 lines
Quoted 3 lines

Why was it not squashed into that series? I'd assume that DSI nodes are incomplete and are working "by luck" without the refgen supplies.

Today, I did a casual read. I found the register(0x8900000 + 0x80) to enable refgen is always 0 on windows. The refgen driver may be not compatible with sc8280xp or the DT configuration is wrong.

The Linux driver casts a software vote. Most newer SoCs should have a separate hw line between the PHYs and the REFGEN regulator to take care of it automatically.

Even if a little unnecessary, this won't hurt

I *think* base+0xc & BIT(3) should tell you whether the power is actually flowing at a given moment

Konrad

author
#7 lore raw
Quoted 21 lines · Konrad Dybcio
Quoted 11 lines · Pengyu Luo
Quoted 9 lines · Dmitry Baryshkov
Quoted 6 lines · Pengyu Luo

Use it for the DSI controllers, since DSI nodes have been added.

---
This patch depends on the below series:
https://lore.kernel.org/linux-arm-msm/[email protected]/

Quoted 7 lines
Quoted 3 lines

Why was it not squashed into that series? I'd assume that DSI nodes are incomplete and are working "by luck" without the refgen supplies.

Today, I did a casual read. I found the register(0x8900000 + 0x80) to enable refgen is always 0 on windows. The refgen driver may be not compatible with sc8280xp or the DT configuration is wrong.

Quoted 9 lines

The Linux driver casts a software vote. Most newer SoCs should have a separate hw line between the PHYs and the REFGEN regulator to take care of it automatically.

Even if a little unnecessary, this won't hurt

I *think* base+0xc & BIT(3) should tell you whether the power is actually flowing at a given moment

I see. Thanks for your explanation!

Best wishes,
Pengyu

Quoted 1 line

Konrad