[PATCH v2] arm64: dts: qcom: sm8650-ayaneo-pocket-s2: add display nodes
From: Neil Armstrong <neil.armstrong@linaro.org>
Date: 2026-05-22 13:15:58
From: KancyJoe <redacted> Add nodes for the dual DSI panel, the SGM3804 regulator, the SY7758 backlight controller, the touch controller, and enable the GPU to enable full display support. Signed-off-by: KancyJoe <redacted> Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org> --- Depends on follwing bindings, all reviewed: - https://lore.kernel.org/all/20260522-topic-sm8650-ayaneo-pocket-s2-r63419-v6-1-16edddda9951@linaro.org/ - https://lore.kernel.org/all/20260521-topic-sm8650-ayaneo-pocket-s2-sy7758-v4-1-73c732615e4a@linaro.org/ - https://lore.kernel.org/all/20260522-topic-sm8650-ayaneo-pocket-s2-sgm3804-v5-1-bd6b1c300ecc@linaro.org/ --- Changes in v2: - Update for bindings changes - Remove empty line - Link to v1: https://patch.msgid.link/20260428-topic-sm8650-ayaneo-pocket-s2-display-dt-v1-1-ff132c00d076@linaro.org --- .../boot/dts/qcom/sm8650-ayaneo-pocket-s2.dts | 241 +++++++++++++++++++++ 1 file changed, 241 insertions(+)
diff --git a/arch/arm64/boot/dts/qcom/sm8650-ayaneo-pocket-s2.dts b/arch/arm64/boot/dts/qcom/sm8650-ayaneo-pocket-s2.dts
index 0dc994f4e48d..af890e76813b 100644
--- a/arch/arm64/boot/dts/qcom/sm8650-ayaneo-pocket-s2.dts
+++ b/arch/arm64/boot/dts/qcom/sm8650-ayaneo-pocket-s2.dts@@ -220,6 +220,22 @@ upd720201_vdd33_reg: upd720201-vdd33-regulator { pinctrl-names = "default"; }; + sy7758_vdd33_reg: sy7758-vdd33-regulator { + compatible = "regulator-fixed"; + + regulator-name = "sy7758_vdd33"; + regulator-min-microvolt = <3300000>; + regulator-max-microvolt = <3300000>; + + gpios = <&tlmm 163 GPIO_ACTIVE_HIGH>; + enable-active-high; + + vin-supply = <&vph_pwr>; + + pinctrl-0 = <&sy7758_vdd33>; + pinctrl-names = "default"; + }; + sound { compatible = "qcom,sm8650-sndcard", "qcom,sm8450-sndcard"; model = "SM8650-APS2";
@@ -986,6 +1002,14 @@ gpu7_active: trip-active { }; }; +&gpu { + status = "okay"; + + zap-shader { + firmware-name = "qcom/sm8650/ayaneo/ps2/gen70900_zap.mbn"; + }; +}; + &i2c3 { clock-frequency = <100000>;
@@ -1016,6 +1040,30 @@ wcd_usbss_sbu_mux: endpoint { }; }; +&i2c4 { + clock-frequency = <400000>; + + status = "okay"; + + touchscreen@5d { + compatible = "goodix,gt911"; + reg = <0x5d>; + + interrupt-parent = <&tlmm>; + interrupts = <162 IRQ_TYPE_EDGE_FALLING>; + + reset-gpios = <&tlmm 161 GPIO_ACTIVE_HIGH>; + VDDIO-supply = <&vreg_l14b_3p2>; + AVDD28-supply = <&vreg_l14b_3p2>; + + touchscreen-size-x = <1440>; + touchscreen-size-y = <2560>; + + pinctrl-names = "default"; + pinctrl-0 = <&ts_reset_default>, <&ts_irq_default>; + }; +}; + &i2c6 { clock-frequency = <100000>;
@@ -1053,6 +1101,49 @@ redriver_ss_in: endpoint { }; }; +&i2c9 { + status = "okay"; + + /* Screen power */ + regulator@3e { + compatible = "sgmicro,sgm3804"; + reg = <0x3e>; + + pinctrl-names = "default"; + pinctrl-0 = <&sgm3804_default>; + + vin-supply = <&vph_pwr>; + + sgm3804_pos: pos { + regulator-name = "panel-avdd-pos"; + regulator-min-microvolt = <5200000>; + regulator-max-microvolt = <5200000>; + regulator-active-discharge = <1>; + enable-gpios = <&tlmm 59 GPIO_ACTIVE_HIGH>; + }; + + sgm3804_neg: neg { + regulator-name = "panel-avdd-neg"; + regulator-min-microvolt = <5200000>; + regulator-max-microvolt = <5200000>; + regulator-active-discharge = <1>; + enable-gpios = <&tlmm 58 GPIO_ACTIVE_HIGH>; + }; + }; + + /* Backlight */ + sy7758_backlight: sy7758@2e { + compatible = "silergy,sy7758"; + reg = <0x2e>; + + pinctrl-names = "default"; + pinctrl-0 = <&sy7758_default>; + + vddio-supply = <&sy7758_vdd33_reg>; + enable-gpios = <&tlmm 164 GPIO_ACTIVE_HIGH>; + }; +}; + &iris { status = "okay"; };
@@ -1065,6 +1156,93 @@ &mdss { status = "okay"; }; +&mdss_dsi0 { + vdda-supply = <&vreg_l3i_1p2>; + + qcom,master-dsi; + qcom,dual-dsi-mode; + qcom,sync-dual-dsi; + + status = "okay"; + + panel@0 { + status = "okay"; + compatible = "ayaneo,wt0630-2k", "renesas,r63419"; + reg = <0>; + + pinctrl-names = "default", "sleep"; + pinctrl-0 = <&disp0_reset_n_active>; + pinctrl-1 = <&disp0_reset_n_suspend>; + + vddio-supply = <&vreg_l12b_1p8>; + vdd-supply = <&vreg_l11b_1p2>; + vsp-supply = <&sgm3804_pos>; + vsn-supply = <&sgm3804_neg>; + vci-supply = <&vreg_l13b_3p0>; + + backlight = <&sy7758_backlight>; + + reset-gpios = <&tlmm 133 GPIO_ACTIVE_LOW>; + + rotation = <90>; + + ports { + #address-cells = <1>; + #size-cells = <0>; + + port@0 { + reg = <0>; + panel0_in_0: endpoint { + remote-endpoint = <&mdss_dsi0_out>; + }; + }; + + port@1{ + reg = <1>; + panel0_in_1: endpoint { + remote-endpoint = <&mdss_dsi1_out>; + }; + }; + }; + }; +}; + +&mdss_dsi0_out { + remote-endpoint = <&panel0_in_0>; + + data-lanes = <0 1 2 3>; +}; + +&mdss_dsi0_phy { + vdds-supply = <&vreg_l1i_0p88>; + + status = "okay"; +}; + +&mdss_dsi1 { + vdda-supply = <&vreg_l3i_1p2>; + + assigned-clock-parents = <&mdss_dsi0_phy DSI_BYTE_PLL_CLK>, + <&mdss_dsi0_phy DSI_PIXEL_PLL_CLK>; + + qcom,dual-dsi-mode; + qcom,sync-dual-dsi; + + status = "okay"; +}; + +&mdss_dsi1_out { + remote-endpoint = <&panel0_in_1>; + + data-lanes = <0 1 2 3>; +}; + +&mdss_dsi1_phy { + vdds-supply = <&vreg_l1i_0p88>; + + status = "okay"; +}; + &mdss_dp0 { status = "okay"; };
@@ -1390,6 +1568,20 @@ sw-ctrl-pins { }; }; + disp0_reset_n_active: disp0-reset-n-active-state { + pins = "gpio133"; + function = "gpio"; + drive-strength = <8>; + bias-disable; + }; + + disp0_reset_n_suspend: disp0-reset-n-suspend-state { + pins = "gpio133"; + function = "gpio"; + drive-strength = <2>; + bias-pull-down; + }; + fan_pwr_pins: fan-pwr-state { pins = "gpio125"; function = "gpio";
@@ -1411,6 +1603,20 @@ fan_int: fan-int-state { bias-pull-up; }; + mdp_vsync_active: mdp-vsync-active-state { + pins = "gpio86"; + function = "mdp_vsync"; + drive-strength = <2>; + bias-pull-down; + }; + + mdp_vsync_suspend: mdp-vsync-suspend-state { + pins = "gpio86"; + function = "mdp_vsync"; + drive-strength = <2>; + bias-pull-down; + }; + upd720201_avdd33: upd720201-avdd33-state { pins = "gpio123"; function = "gpio";
@@ -1440,6 +1646,13 @@ gamepad_pwr_en: gamepad-pwr-en-active-state { output-high; }; + sgm3804_default: sgm3804-default-state { + pins = "gpio58", "gpio59"; + function = "gpio"; + drive-strength = <8>; + bias-disable; + }; + spkr_23_sd_n_active: spkr-23-sd-n-active-state { pins = "gpio77"; function = "gpio";
@@ -1454,6 +1667,34 @@ spkr_01_sd_n_active: spkr-01-sd-n-active-state { bias-disable; }; + sy7758_default: sy7758-default-state { + pins = "gpio164"; + function = "gpio"; + drive-strength = <2>; + bias-disable; + }; + + sy7758_vdd33: sy7758-vdd33-state { + pins = "gpio163"; + function = "gpio"; + drive-strength = <2>; + bias-disable; + }; + + ts_irq_default: ts-irq-active-state { + pins = "gpio162"; + function = "gpio"; + drive-strength = <8>; + bias-disable; + }; + + ts_reset_default: ts-reset-active-state { + pins = "gpio161"; + function = "gpio"; + drive-strength = <8>; + bias-pull-down; + }; + wcd_default: wcd-reset-n-active-state { pins = "gpio107"; function = "gpio";
--- base-commit: 5e9b7d093f3f77cb0af4409559e3d139babfb443 change-id: 20260428-topic-sm8650-ayaneo-pocket-s2-display-dt-539bb79eb709 prerequisite-change-id: 20260428-topic-sm8650-ayaneo-pocket-s2-sgm3804-8764fbb72eb7:v5 prerequisite-patch-id: 901a0948e1afbb03ff78a063d4f66c17665588ef prerequisite-patch-id: 5ca959a92d05c86ae7a77400d5c4c9bb8bb214f4 prerequisite-change-id: 20260428-topic-sm8650-ayaneo-pocket-s2-sy7758-3081ee7f1e25:v4 prerequisite-patch-id: eba24fd4013ddf353136a6b77cba84678e60edce prerequisite-patch-id: 63b9ea68bb624685fae324bd8db9545f73658e23 prerequisite-change-id: 20260428-topic-sm8650-ayaneo-pocket-s2-r63419-e72467e2db0f:v6 prerequisite-patch-id: 53130195c1df5886a953f3eb1ffea6e5b32257ec prerequisite-patch-id: 268452dda581581e0126cfd331cf99537544fe65 Best regards, -- Neil Armstrong [off-list ref]