Devicetree
 help / color / mirror / Atom feed
* [PATCH] arm64: dts: qcom: sc8280xp-huawei-gaokun3: Add dsi panel DT node
@ 2026-06-30  4:22 Pengyu Luo
  2026-06-30  9:18 ` Konrad Dybcio
  2026-06-30  9:18 ` Konrad Dybcio
  0 siblings, 2 replies; 10+ messages in thread
From: Pengyu Luo @ 2026-06-30  4:22 UTC (permalink / raw)
  To: Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski,
	Conor Dooley
  Cc: linux-arm-msm, devicetree, linux-kernel, Pengyu Luo

DSI panel driver have been added for a while, so add the DT node to
enable it. vdd{a,s}-supply for dsi, dsi_phy are blank since the DSDT
describes the wrong, no impact after manual disabling these wrong
supplies.

Signed-off-by: Pengyu Luo <mitltlatltl@gmail.com>
---
 .../boot/dts/qcom/sc8280xp-huawei-gaokun3.dts | 165 ++++++++++++++++++
 1 file changed, 165 insertions(+)

diff --git a/arch/arm64/boot/dts/qcom/sc8280xp-huawei-gaokun3.dts b/arch/arm64/boot/dts/qcom/sc8280xp-huawei-gaokun3.dts
index f3c00be67081..658bb253394a 100644
--- a/arch/arm64/boot/dts/qcom/sc8280xp-huawei-gaokun3.dts
+++ b/arch/arm64/boot/dts/qcom/sc8280xp-huawei-gaokun3.dts
@@ -11,6 +11,7 @@
 
 /dts-v1/;
 
+#include <dt-bindings/clock/qcom,dsi-phy-28nm.h>
 #include <dt-bindings/iio/qcom,spmi-adc7-pm8350.h>
 #include <dt-bindings/gpio/gpio.h>
 #include <dt-bindings/input/gpio-keys.h>
@@ -98,6 +99,52 @@ switch-mode {
 		};
 	};
 
+	vreg_avdd_5p5: regulator-avdd-5p5 {
+		compatible = "regulator-fixed";
+
+		regulator-name = "vreg_avdd_5p5";
+		regulator-min-microvolt = <5500000>;
+		regulator-max-microvolt = <5500000>;
+
+		gpio = <&tlmm 53 GPIO_ACTIVE_HIGH>;
+		enable-active-high;
+
+		pinctrl-0 = <&avdd_reg_en>;
+		pinctrl-names = "default";
+
+		regulator-boot-on;
+	};
+
+	vreg_avee_5p5: regulator-avee-5p5 {
+		compatible = "regulator-fixed";
+
+		regulator-name = "vreg_avee_5p5";
+		regulator-min-microvolt = <5500000>;
+		regulator-max-microvolt = <5500000>;
+
+		gpio = <&tlmm 52 GPIO_ACTIVE_HIGH>;
+		enable-active-high;
+
+		pinctrl-0 = <&avee_reg_en>;
+		pinctrl-names = "default";
+
+		regulator-boot-on;
+	};
+
+	vreg_vddi_1p8: regulator-vddi-1p8 {
+		compatible = "regulator-fixed";
+
+		regulator-name = "vreg_vddi_1p8";
+
+		gpio = <&tlmm 0 GPIO_ACTIVE_HIGH>;
+		enable-active-high;
+
+		pinctrl-0 = <&vddi_reg_en>;
+		pinctrl-names = "default";
+
+		regulator-boot-on;
+	};
+
 	vreg_misc_3p3: regulator-misc-3p3 {
 		compatible = "regulator-fixed";
 
@@ -616,6 +663,9 @@ touchscreen@4f {
 		hid-descr-addr = <0x1>;
 		interrupts-extended = <&tlmm 175 IRQ_TYPE_LEVEL_LOW>;
 
+		/* TODO: set post-reset-deassert-delay-ms */
+		panel = <&panel>;
+
 		vdd-supply = <&vreg_misc_3p3>;
 		vddl-supply = <&vreg_s10b>;
 
@@ -738,6 +788,86 @@ &mdss0_dp1_out {
 	remote-endpoint = <&usb_1_qmpphy_dp_in>;
 };
 
+&mdss0_dsi0 {
+	/* real vdda is unknown */
+
+	qcom,dual-dsi-mode;
+	qcom,master-dsi;
+	qcom,sync-dual-dsi;
+
+	status = "okay";
+
+	panel: panel@0 {
+		compatible = "csot,ppc357db1-4", "himax,hx83121a";
+		reg = <0>;
+
+		pinctrl-0 = <&disp_reset_n>, <&mdp_vsync_default>;
+		pinctrl-names = "default";
+
+		reset-gpios = <&tlmm 38 GPIO_ACTIVE_LOW>;
+
+		vddi-supply = <&vreg_vddi_1p8>;
+		avdd-supply = <&vreg_avdd_5p5>;
+		avee-supply = <&vreg_avee_5p5>;
+
+		ports {
+			#address-cells = <1>;
+			#size-cells = <0>;
+
+			port@0 {
+				reg = <0>;
+
+				panel_in_0: endpoint {
+					remote-endpoint = <&mdss0_dsi0_out>;
+				};
+			};
+
+			port@1 {
+				reg = <1>;
+
+				panel_in_1: endpoint {
+					remote-endpoint = <&mdss0_dsi1_out>;
+				};
+			};
+		};
+	};
+};
+
+&mdss0_dsi0_out {
+	data-lanes = <0 1 2 3>;
+	remote-endpoint = <&panel_in_0>;
+};
+
+&mdss0_dsi0_phy {
+	/* real vdds is unknown */
+
+	status = "okay";
+};
+
+&mdss0_dsi1 {
+	/* real vdda is unknown */
+
+	qcom,dual-dsi-mode;
+	qcom,sync-dual-dsi;
+
+	status = "okay";
+
+	/* DSI1 is slave, so use DSI0 clocks */
+	assigned-clock-parents = <&mdss0_dsi0_phy DSI_BYTE_PLL_CLK>,
+				 <&mdss0_dsi0_phy DSI_PIXEL_PLL_CLK>;
+};
+
+&mdss0_dsi1_out {
+	data-lanes = <0 1 2 3>;
+	remote-endpoint = <&panel_in_1>;
+};
+
+&mdss0_dsi1_phy {
+	/* real vdds is unknown */
+
+	status = "okay";
+};
+
 &pcie2a {
 	perst-gpios = <&tlmm 143 GPIO_ACTIVE_LOW>;
 	wake-gpios = <&tlmm 145 GPIO_ACTIVE_LOW>;
@@ -1303,6 +1433,20 @@ &tlmm {
 
 	gpio-reserved-ranges = <70 2>, <74 6>, <83 4>, <125 2>, <128 2>, <154 4>;
 
+	avdd_reg_en: avdd-reg-en-state {
+		pins = "gpio53";
+		function = "gpio";
+		drive-strength = <2>;
+		bias-disable;
+	};
+
+	avee_reg_en: avee-reg-en-state {
+		pins = "gpio52";
+		function = "gpio";
+		drive-strength = <2>;
+		bias-disable;
+	};
+
 	bt_default: bt-default-state {
 		hstp-bt-en-pins {
 			pins = "gpio133";
@@ -1318,6 +1462,20 @@ hstp-sw-ctrl-pins {
 		};
 	};
 
+	disp_reset_n: disp-reset-n-state {
+		pins = "gpio38";
+		function = "gpio";
+		drive-strength = <2>;
+		bias-pull-up;
+	};
+
+	mdp_vsync_default: mdp-vsync-default-state {
+		pins = "gpio8";
+		function = "mdp_vsync";
+		drive-strength = <2>;
+		bias-disable;
+	};
+
 	i2c4_default: i2c4-default-state {
 		pins = "gpio171", "gpio172";
 		function = "qup4";
@@ -1470,6 +1628,13 @@ usb1_sbu_default: usb1-sbu-state {
 		bias-disable;
 	};
 
+	vddi_reg_en: vddi-reg-en-state {
+		pins = "gpio0";
+		function = "gpio";
+		drive-strength = <2>;
+		bias-disable;
+	};
+
 	wcd_default: wcd-default-state {
 		reset-pins {
 			pins = "gpio106";
-- 
2.54.0


^ permalink raw reply related	[flat|nested] 10+ messages in thread

* Re: [PATCH] arm64: dts: qcom: sc8280xp-huawei-gaokun3: Add dsi panel DT node
  2026-06-30  4:22 [PATCH] arm64: dts: qcom: sc8280xp-huawei-gaokun3: Add dsi panel DT node Pengyu Luo
@ 2026-06-30  9:18 ` Konrad Dybcio
  2026-06-30  9:28   ` Pengyu Luo
  2026-06-30  9:18 ` Konrad Dybcio
  1 sibling, 1 reply; 10+ messages in thread
From: Konrad Dybcio @ 2026-06-30  9:18 UTC (permalink / raw)
  To: Pengyu Luo, Bjorn Andersson, Konrad Dybcio, Rob Herring,
	Krzysztof Kozlowski, Conor Dooley
  Cc: linux-arm-msm, devicetree, linux-kernel

On 6/30/26 6:22 AM, Pengyu Luo wrote:
> DSI panel driver have been added for a while, so add the DT node to
> enable it. vdd{a,s}-supply for dsi, dsi_phy are blank since the DSDT
> describes the wrong, no impact after manual disabling these wrong
> supplies.
> 
> Signed-off-by: Pengyu Luo <mitltlatltl@gmail.com>
> ---

[...]

> +&mdss0_dsi0 {
> +	/* real vdda is unknown */
> +

L3B: DSI core 1.2 V (both?)
L6B: DSI0/1 PLL and core 0.9 V

Konrad

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH] arm64: dts: qcom: sc8280xp-huawei-gaokun3: Add dsi panel DT node
  2026-06-30  4:22 [PATCH] arm64: dts: qcom: sc8280xp-huawei-gaokun3: Add dsi panel DT node Pengyu Luo
  2026-06-30  9:18 ` Konrad Dybcio
@ 2026-06-30  9:18 ` Konrad Dybcio
  2026-06-30  9:31   ` Pengyu Luo
  1 sibling, 1 reply; 10+ messages in thread
From: Konrad Dybcio @ 2026-06-30  9:18 UTC (permalink / raw)
  To: Pengyu Luo, Bjorn Andersson, Konrad Dybcio, Rob Herring,
	Krzysztof Kozlowski, Conor Dooley
  Cc: linux-arm-msm, devicetree, linux-kernel

On 6/30/26 6:22 AM, Pengyu Luo wrote:
> DSI panel driver have been added for a while, so add the DT node to
> enable it. vdd{a,s}-supply for dsi, dsi_phy are blank since the DSDT
> describes the wrong, no impact after manual disabling these wrong
> supplies.
> 
> Signed-off-by: Pengyu Luo <mitltlatltl@gmail.com>
> ---

[...]


> @@ -616,6 +663,9 @@ touchscreen@4f {
>  		hid-descr-addr = <0x1>;
>  		interrupts-extended = <&tlmm 175 IRQ_TYPE_LEVEL_LOW>;
>  
> +		/* TODO: set post-reset-deassert-delay-ms */
> +		panel = <&panel>;

So.. are you going to add it?

Konrad

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH] arm64: dts: qcom: sc8280xp-huawei-gaokun3: Add dsi panel DT node
  2026-06-30  9:18 ` Konrad Dybcio
@ 2026-06-30  9:28   ` Pengyu Luo
  2026-06-30 10:29     ` Konrad Dybcio
  0 siblings, 1 reply; 10+ messages in thread
From: Pengyu Luo @ 2026-06-30  9:28 UTC (permalink / raw)
  To: Konrad Dybcio
  Cc: Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski,
	Conor Dooley, linux-arm-msm, devicetree, linux-kernel

On Tue, Jun 30, 2026 at 5:18 PM Konrad Dybcio
<konrad.dybcio@oss.qualcomm.com> wrote:
>
> On 6/30/26 6:22 AM, Pengyu Luo wrote:
> > DSI panel driver have been added for a while, so add the DT node to
> > enable it. vdd{a,s}-supply for dsi, dsi_phy are blank since the DSDT
> > describes the wrong, no impact after manual disabling these wrong
> > supplies.
> >
> > Signed-off-by: Pengyu Luo <mitltlatltl@gmail.com>
> > ---
>
> [...]
>
> > +&mdss0_dsi0 {
> > +     /* real vdda is unknown */
> > +
>
> L3B: DSI core 1.2 V (both?)
> L6B: DSI0/1 PLL and core 0.9 V
>

Yes, that is what I saw in the DSDT, however, I can disable them
safely (hack the regulator driver to add a sysfs to handle these
regulators), the panel works well.

Best wishes,
Pengyu

> Konrad

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH] arm64: dts: qcom: sc8280xp-huawei-gaokun3: Add dsi panel DT node
  2026-06-30  9:18 ` Konrad Dybcio
@ 2026-06-30  9:31   ` Pengyu Luo
  0 siblings, 0 replies; 10+ messages in thread
From: Pengyu Luo @ 2026-06-30  9:31 UTC (permalink / raw)
  To: Konrad Dybcio
  Cc: Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski,
	Conor Dooley, linux-arm-msm, devicetree, linux-kernel

On Tue, Jun 30, 2026 at 5:18 PM Konrad Dybcio
<konrad.dybcio@oss.qualcomm.com> wrote:
>
> On 6/30/26 6:22 AM, Pengyu Luo wrote:
> > DSI panel driver have been added for a while, so add the DT node to
> > enable it. vdd{a,s}-supply for dsi, dsi_phy are blank since the DSDT
> > describes the wrong, no impact after manual disabling these wrong
> > supplies.
> >
> > Signed-off-by: Pengyu Luo <mitltlatltl@gmail.com>
> > ---
>
> [...]
>
>
> > @@ -616,6 +663,9 @@ touchscreen@4f {
> >               hid-descr-addr = <0x1>;
> >               interrupts-extended = <&tlmm 175 IRQ_TYPE_LEVEL_LOW>;
> >
> > +             /* TODO: set post-reset-deassert-delay-ms */
> > +             panel = <&panel>;
>
> So.. are you going to add it?
>

Yes, this is a TDDI, so the timing(ts after display) is required,
panel_follower will handle this.

Best wishes,
Pengyu

> Konrad

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH] arm64: dts: qcom: sc8280xp-huawei-gaokun3: Add dsi panel DT node
  2026-06-30  9:28   ` Pengyu Luo
@ 2026-06-30 10:29     ` Konrad Dybcio
  2026-06-30 10:30       ` Pengyu Luo
  0 siblings, 1 reply; 10+ messages in thread
From: Konrad Dybcio @ 2026-06-30 10:29 UTC (permalink / raw)
  To: Pengyu Luo
  Cc: Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski,
	Conor Dooley, linux-arm-msm, devicetree, linux-kernel

On 6/30/26 11:28 AM, Pengyu Luo wrote:
> On Tue, Jun 30, 2026 at 5:18 PM Konrad Dybcio
> <konrad.dybcio@oss.qualcomm.com> wrote:
>>
>> On 6/30/26 6:22 AM, Pengyu Luo wrote:
>>> DSI panel driver have been added for a while, so add the DT node to
>>> enable it. vdd{a,s}-supply for dsi, dsi_phy are blank since the DSDT
>>> describes the wrong, no impact after manual disabling these wrong
>>> supplies.
>>>
>>> Signed-off-by: Pengyu Luo <mitltlatltl@gmail.com>
>>> ---
>>
>> [...]
>>
>>> +&mdss0_dsi0 {
>>> +     /* real vdda is unknown */
>>> +
>>
>> L3B: DSI core 1.2 V (both?)
>> L6B: DSI0/1 PLL and core 0.9 V
>>
> 
> Yes, that is what I saw in the DSDT, however, I can disable them
> safely (hack the regulator driver to add a sysfs to handle these
> regulators), the panel works well.

L3B additionally powers CSIPHY2/3, EDP0/1, REFGEN (probably why it
ends up being on), UFSPHY and USB1_PHY

L6B additionally powers the same components, minus refgen and USB

Konrad

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH] arm64: dts: qcom: sc8280xp-huawei-gaokun3: Add dsi panel DT node
  2026-06-30 10:29     ` Konrad Dybcio
@ 2026-06-30 10:30       ` Pengyu Luo
  2026-06-30 10:34         ` Konrad Dybcio
  0 siblings, 1 reply; 10+ messages in thread
From: Pengyu Luo @ 2026-06-30 10:30 UTC (permalink / raw)
  To: Konrad Dybcio
  Cc: Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski,
	Conor Dooley, linux-arm-msm, devicetree, linux-kernel

On Tue, Jun 30, 2026 at 6:29 PM Konrad Dybcio
<konrad.dybcio@oss.qualcomm.com> wrote:
>
> On 6/30/26 11:28 AM, Pengyu Luo wrote:
> > On Tue, Jun 30, 2026 at 5:18 PM Konrad Dybcio
> > <konrad.dybcio@oss.qualcomm.com> wrote:
> >>
> >> On 6/30/26 6:22 AM, Pengyu Luo wrote:
> >>> DSI panel driver have been added for a while, so add the DT node to
> >>> enable it. vdd{a,s}-supply for dsi, dsi_phy are blank since the DSDT
> >>> describes the wrong, no impact after manual disabling these wrong
> >>> supplies.
> >>>
> >>> Signed-off-by: Pengyu Luo <mitltlatltl@gmail.com>
> >>> ---
> >>
> >> [...]
> >>
> >>> +&mdss0_dsi0 {
> >>> +     /* real vdda is unknown */
> >>> +
> >>
> >> L3B: DSI core 1.2 V (both?)
> >> L6B: DSI0/1 PLL and core 0.9 V
> >>
> >
> > Yes, that is what I saw in the DSDT, however, I can disable them
> > safely (hack the regulator driver to add a sysfs to handle these
> > regulators), the panel works well.
>
> L3B additionally powers CSIPHY2/3, EDP0/1, REFGEN (probably why it
> ends up being on), UFSPHY and USB1_PHY
>
> L6B additionally powers the same components, minus refgen and USB
>

No, I confirmed they are totally disabled, since there is a way to check it now.
https://lore.kernel.org/linux-arm-msm/20260420-read-rpmh-v3-v4-0-70c152e6c958@oss.qualcomm.com/

Best wishes,
Pengyu

> Konrad

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH] arm64: dts: qcom: sc8280xp-huawei-gaokun3: Add dsi panel DT node
  2026-06-30 10:30       ` Pengyu Luo
@ 2026-06-30 10:34         ` Konrad Dybcio
  2026-06-30 10:41           ` Pengyu Luo
  0 siblings, 1 reply; 10+ messages in thread
From: Konrad Dybcio @ 2026-06-30 10:34 UTC (permalink / raw)
  To: Pengyu Luo
  Cc: Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski,
	Conor Dooley, linux-arm-msm, devicetree, linux-kernel

On 6/30/26 12:30 PM, Pengyu Luo wrote:
> On Tue, Jun 30, 2026 at 6:29 PM Konrad Dybcio
> <konrad.dybcio@oss.qualcomm.com> wrote:
>>
>> On 6/30/26 11:28 AM, Pengyu Luo wrote:
>>> On Tue, Jun 30, 2026 at 5:18 PM Konrad Dybcio
>>> <konrad.dybcio@oss.qualcomm.com> wrote:
>>>>
>>>> On 6/30/26 6:22 AM, Pengyu Luo wrote:
>>>>> DSI panel driver have been added for a while, so add the DT node to
>>>>> enable it. vdd{a,s}-supply for dsi, dsi_phy are blank since the DSDT
>>>>> describes the wrong, no impact after manual disabling these wrong
>>>>> supplies.
>>>>>
>>>>> Signed-off-by: Pengyu Luo <mitltlatltl@gmail.com>
>>>>> ---
>>>>
>>>> [...]
>>>>
>>>>> +&mdss0_dsi0 {
>>>>> +     /* real vdda is unknown */
>>>>> +
>>>>
>>>> L3B: DSI core 1.2 V (both?)
>>>> L6B: DSI0/1 PLL and core 0.9 V
>>>>
>>>
>>> Yes, that is what I saw in the DSDT, however, I can disable them
>>> safely (hack the regulator driver to add a sysfs to handle these
>>> regulators), the panel works well.
>>
>> L3B additionally powers CSIPHY2/3, EDP0/1, REFGEN (probably why it
>> ends up being on), UFSPHY and USB1_PHY
>>
>> L6B additionally powers the same components, minus refgen and USB
>>
> 
> No, I confirmed they are totally disabled, since there is a way to check it now.
> https://lore.kernel.org/linux-arm-msm/20260420-read-rpmh-v3-v4-0-70c152e6c958@oss.qualcomm.com/

This presents you with the status of the votes casted by HLOS, not
the actual hardware state

To get the latter, you'd have to dump the SPMI registers

Konrad

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH] arm64: dts: qcom: sc8280xp-huawei-gaokun3: Add dsi panel DT node
  2026-06-30 10:34         ` Konrad Dybcio
@ 2026-06-30 10:41           ` Pengyu Luo
  2026-07-01 11:45             ` Konrad Dybcio
  0 siblings, 1 reply; 10+ messages in thread
From: Pengyu Luo @ 2026-06-30 10:41 UTC (permalink / raw)
  To: Konrad Dybcio
  Cc: Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski,
	Conor Dooley, linux-arm-msm, devicetree, linux-kernel

On Tue, Jun 30, 2026 at 6:34 PM Konrad Dybcio
<konrad.dybcio@oss.qualcomm.com> wrote:
>
> On 6/30/26 12:30 PM, Pengyu Luo wrote:
> > On Tue, Jun 30, 2026 at 6:29 PM Konrad Dybcio
> > <konrad.dybcio@oss.qualcomm.com> wrote:
> >>
> >> On 6/30/26 11:28 AM, Pengyu Luo wrote:
> >>> On Tue, Jun 30, 2026 at 5:18 PM Konrad Dybcio
> >>> <konrad.dybcio@oss.qualcomm.com> wrote:
> >>>>
> >>>> On 6/30/26 6:22 AM, Pengyu Luo wrote:
> >>>>> DSI panel driver have been added for a while, so add the DT node to
> >>>>> enable it. vdd{a,s}-supply for dsi, dsi_phy are blank since the DSDT
> >>>>> describes the wrong, no impact after manual disabling these wrong
> >>>>> supplies.
> >>>>>
> >>>>> Signed-off-by: Pengyu Luo <mitltlatltl@gmail.com>
> >>>>> ---
> >>>>
> >>>> [...]
> >>>>
> >>>>> +&mdss0_dsi0 {
> >>>>> +     /* real vdda is unknown */
> >>>>> +
> >>>>
> >>>> L3B: DSI core 1.2 V (both?)
> >>>> L6B: DSI0/1 PLL and core 0.9 V
> >>>>
> >>>
> >>> Yes, that is what I saw in the DSDT, however, I can disable them
> >>> safely (hack the regulator driver to add a sysfs to handle these
> >>> regulators), the panel works well.
> >>
> >> L3B additionally powers CSIPHY2/3, EDP0/1, REFGEN (probably why it
> >> ends up being on), UFSPHY and USB1_PHY
> >>
> >> L6B additionally powers the same components, minus refgen and USB
> >>
> >
> > No, I confirmed they are totally disabled, since there is a way to check it now.
> > https://lore.kernel.org/linux-arm-msm/20260420-read-rpmh-v3-v4-0-70c152e6c958@oss.qualcomm.com/
>
> This presents you with the status of the votes casted by HLOS, not
> the actual hardware state
>

If so, non-HLOS will vote on some critical regulators to keep them on,
IIRC, once I disabled L9D, system reseted immediately.

> To get the latter, you'd have to dump the SPMI registers
>
I will appreciate it if you provide more information.

Best wishes,
Pengyu

> Konrad

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH] arm64: dts: qcom: sc8280xp-huawei-gaokun3: Add dsi panel DT node
  2026-06-30 10:41           ` Pengyu Luo
@ 2026-07-01 11:45             ` Konrad Dybcio
  0 siblings, 0 replies; 10+ messages in thread
From: Konrad Dybcio @ 2026-07-01 11:45 UTC (permalink / raw)
  To: Pengyu Luo
  Cc: Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski,
	Conor Dooley, linux-arm-msm, devicetree, linux-kernel

On 6/30/26 12:41 PM, Pengyu Luo wrote:
> On Tue, Jun 30, 2026 at 6:34 PM Konrad Dybcio
> <konrad.dybcio@oss.qualcomm.com> wrote:
>>
>> On 6/30/26 12:30 PM, Pengyu Luo wrote:
>>> On Tue, Jun 30, 2026 at 6:29 PM Konrad Dybcio
>>> <konrad.dybcio@oss.qualcomm.com> wrote:
>>>>
>>>> On 6/30/26 11:28 AM, Pengyu Luo wrote:
>>>>> On Tue, Jun 30, 2026 at 5:18 PM Konrad Dybcio
>>>>> <konrad.dybcio@oss.qualcomm.com> wrote:
>>>>>>
>>>>>> On 6/30/26 6:22 AM, Pengyu Luo wrote:
>>>>>>> DSI panel driver have been added for a while, so add the DT node to
>>>>>>> enable it. vdd{a,s}-supply for dsi, dsi_phy are blank since the DSDT
>>>>>>> describes the wrong, no impact after manual disabling these wrong
>>>>>>> supplies.
>>>>>>>
>>>>>>> Signed-off-by: Pengyu Luo <mitltlatltl@gmail.com>
>>>>>>> ---
>>>>>>
>>>>>> [...]
>>>>>>
>>>>>>> +&mdss0_dsi0 {
>>>>>>> +     /* real vdda is unknown */
>>>>>>> +
>>>>>>
>>>>>> L3B: DSI core 1.2 V (both?)
>>>>>> L6B: DSI0/1 PLL and core 0.9 V
>>>>>>
>>>>>
>>>>> Yes, that is what I saw in the DSDT, however, I can disable them
>>>>> safely (hack the regulator driver to add a sysfs to handle these
>>>>> regulators), the panel works well.
>>>>
>>>> L3B additionally powers CSIPHY2/3, EDP0/1, REFGEN (probably why it
>>>> ends up being on), UFSPHY and USB1_PHY
>>>>
>>>> L6B additionally powers the same components, minus refgen and USB
>>>>
>>>
>>> No, I confirmed they are totally disabled, since there is a way to check it now.
>>> https://lore.kernel.org/linux-arm-msm/20260420-read-rpmh-v3-v4-0-70c152e6c958@oss.qualcomm.com/
>>
>> This presents you with the status of the votes casted by HLOS, not
>> the actual hardware state
>>
> 
> If so, non-HLOS will vote on some critical regulators to keep them on,
> IIRC, once I disabled L9D, system reseted immediately.

NHLOS will generally ensure that the hardware that it needs is
powered. This does not extend to hardware that *you* may want to
access in Linux (or which was left online by UEFI), which I suspect
was the case here

>> To get the latter, you'd have to dump the SPMI registers
>>
> I will appreciate it if you provide more information.

Take a look at drivers/regulator/qcom_spmi-regulator.c, you can get
the actual live value of the enable register and the voltage selector
for each regulator

Konrad

^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2026-07-01 11:45 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-06-30  4:22 [PATCH] arm64: dts: qcom: sc8280xp-huawei-gaokun3: Add dsi panel DT node Pengyu Luo
2026-06-30  9:18 ` Konrad Dybcio
2026-06-30  9:28   ` Pengyu Luo
2026-06-30 10:29     ` Konrad Dybcio
2026-06-30 10:30       ` Pengyu Luo
2026-06-30 10:34         ` Konrad Dybcio
2026-06-30 10:41           ` Pengyu Luo
2026-07-01 11:45             ` Konrad Dybcio
2026-06-30  9:18 ` Konrad Dybcio
2026-06-30  9:31   ` Pengyu Luo

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox