[PATCH] arm64: dts: qcom: sc8280xp-huawei-gaokun3: Add dsi panel DT node

From: Pengyu Luo

Date: Tue Jun 30 2026 - 00:24:18 EST


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@xxxxxxxxx>
---
.../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