* [PATCH v4] arm64: dts: qcom: sm8650-ayaneo-pocket-s2: add display nodes
@ 2026-07-21 12:10 Neil Armstrong
2026-07-21 12:21 ` sashiko-bot
2026-07-21 13:26 ` Dmitry Baryshkov
0 siblings, 2 replies; 3+ messages in thread
From: Neil Armstrong @ 2026-07-21 12:10 UTC (permalink / raw)
To: Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, Geert Uytterhoeven, Magnus Damm
Cc: linux-arm-msm, devicetree, linux-kernel, linux-renesas-soc,
KancyJoe, Konrad Dybcio, Neil Armstrong
From: KancyJoe <kancy2333@outlook.com>
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.
Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Signed-off-by: KancyJoe <kancy2333@outlook.com>
Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org>
---
Depends on follwing bindings, all applied into linux-next:
- https://lore.kernel.org/all/20260522-topic-sm8650-ayaneo-pocket-s2-r63419-v7-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 v4:
- Reordered regulator & mdss nodes
- Moved zap shared firmware into separate node
- Link to v3: https://patch.msgid.link/20260702-topic-sm8650-ayaneo-pocket-s2-display-dt-v3-1-e6de68d33f9b@linaro.org
Changes in v3:
- renamed backlight label and node as "backlight"
- reordered pinctrl properties
- added regulator-boot-on to display regulators
- Link to v2: https://patch.msgid.link/20260522-topic-sm8650-ayaneo-pocket-s2-display-dt-v2-1-cdd4b70e5a16@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 | 244 +++++++++++++++++++++
1 file changed, 244 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..035efeacc7db 100644
--- a/arch/arm64/boot/dts/qcom/sm8650-ayaneo-pocket-s2.dts
+++ b/arch/arm64/boot/dts/qcom/sm8650-ayaneo-pocket-s2.dts
@@ -325,6 +325,23 @@ platform {
};
};
+ sy7758_vdd33_reg: sy7758-vdd33-regulator {
+ compatible = "regulator-fixed";
+
+ regulator-name = "sy7758_vdd33";
+ regulator-min-microvolt = <3300000>;
+ regulator-max-microvolt = <3300000>;
+ regulator-boot-on;
+
+ gpios = <&tlmm 163 GPIO_ACTIVE_HIGH>;
+ enable-active-high;
+
+ vin-supply = <&vph_pwr>;
+
+ pinctrl-0 = <&sy7758_vdd33>;
+ pinctrl-names = "default";
+ };
+
vph_pwr: vph-pwr-regulator {
compatible = "regulator-fixed";
@@ -986,6 +1003,10 @@ gpu7_active: trip-active {
};
};
+&gpu {
+ status = "okay";
+};
+
&i2c3 {
clock-frequency = <100000>;
@@ -1016,6 +1037,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 +1098,51 @@ redriver_ss_in: endpoint {
};
};
+&i2c9 {
+ status = "okay";
+
+ /* Screen power */
+ regulator@3e {
+ compatible = "sgmicro,sgm3804";
+ reg = <0x3e>;
+
+ pinctrl-0 = <&sgm3804_default>;
+ pinctrl-names = "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>;
+ regulator-boot-on;
+ 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>;
+ regulator-boot-on;
+ enable-gpios = <&tlmm 58 GPIO_ACTIVE_HIGH>;
+ };
+ };
+
+ /* Backlight */
+ backlight: backlight@2e {
+ compatible = "silergy,sy7758";
+ reg = <0x2e>;
+
+ pinctrl-0 = <&sy7758_default>;
+ pinctrl-names = "default";
+
+ vdd-supply = <&sy7758_vdd33_reg>;
+ enable-gpios = <&tlmm 164 GPIO_ACTIVE_HIGH>;
+ };
+};
+
&iris {
status = "okay";
};
@@ -1073,6 +1163,93 @@ &mdss_dp0_out {
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-0 = <&disp0_reset_n_active>;
+ pinctrl-1 = <&disp0_reset_n_suspend>;
+ pinctrl-names = "default", "sleep";
+
+ vddio-supply = <&vreg_l12b_1p8>;
+ vdd-supply = <&vreg_l11b_1p2>;
+ vsp-supply = <&sgm3804_pos>;
+ vsn-supply = <&sgm3804_neg>;
+ vci-supply = <&vreg_l13b_3p0>;
+
+ backlight = <&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";
+};
+
&pcie0 {
wake-gpios = <&tlmm 96 GPIO_ACTIVE_HIGH>;
perst-gpios = <&tlmm 94 GPIO_ACTIVE_LOW>;
@@ -1390,6 +1567,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 +1602,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 +1645,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 +1666,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";
@@ -1549,3 +1789,7 @@ &usb_dp_qmpphy_out {
&xo_board {
clock-frequency = <76800000>;
};
+
+&gpu_zap_shader {
+ firmware-name = "qcom/sm8650/ayaneo/ps2/gen70900_zap.mbn";
+};
---
base-commit: b3f94b2b3f3e51ab880a51fc6510e1dafba654ed
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:v5
prerequisite-patch-id: dd1c5acff71bcfe0730472051c0a5c7c339e2116
prerequisite-patch-id: 30e1bf23756ac7de0e29e4c30e7c9737366cf856
prerequisite-change-id: 20260428-topic-sm8650-ayaneo-pocket-s2-r63419-e72467e2db0f:v8
prerequisite-patch-id: 53130195c1df5886a953f3eb1ffea6e5b32257ec
prerequisite-patch-id: 016545217702b15d67b3ac48392c2978fc04b000
Best regards,
--
Neil Armstrong <neil.armstrong@linaro.org>
^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [PATCH v4] arm64: dts: qcom: sm8650-ayaneo-pocket-s2: add display nodes
2026-07-21 12:10 [PATCH v4] arm64: dts: qcom: sm8650-ayaneo-pocket-s2: add display nodes Neil Armstrong
@ 2026-07-21 12:21 ` sashiko-bot
2026-07-21 13:26 ` Dmitry Baryshkov
1 sibling, 0 replies; 3+ messages in thread
From: sashiko-bot @ 2026-07-21 12:21 UTC (permalink / raw)
To: Neil Armstrong; +Cc: robh, devicetree, wsa+renesas, conor+dt
Thank you for your contribution! Sashiko AI review found 2 potential issue(s) to consider:
- [High] The `goodix,gt911` touchscreen node is missing the `irq-gpios` property, preventing hardware reset and reliable I2C address selection.
- [Medium] The `mdp_vsync_active` and `mdp_vsync_suspend` pinctrl states are defined but never referenced, leaving the hardware vsync pin unconfigured.
--
--- Patch [1]: [PATCH v4] arm64: dts: qcom: sm8650-ayaneo-pocket-s2: add display nodes ---
commit 4aa8da2a051a6d25d51dd20f442ad0cf6d0b5e21
Author: KancyJoe <kancy2333@outlook.com>
Date: Tue Jul 21 12:10:55 2026 +0000
arm64: dts: qcom: sm8650-ayaneo-pocket-s2: add display nodes
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.
Link: https://patch.msgid.link/20260702-topic-sm8650-ayaneo-pocket-s2-display-dt-v3-1-e6de68d33f9b@linaro.org
Link: https://patch.msgid.link/20260522-topic-sm8650-ayaneo-pocket-s2-display-dt-v2-1-cdd4b70e5a16@linaro.org
Link: https://patch.msgid.link/20260428-topic-sm8650-ayaneo-pocket-s2-display-dt-v1-1-ff132c00d076@linaro.org
> 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 0dc994f4e48d9..035efeacc7db7 100644
> --- a/arch/arm64/boot/dts/qcom/sm8650-ayaneo-pocket-s2.dts
> +++ b/arch/arm64/boot/dts/qcom/sm8650-ayaneo-pocket-s2.dts
[ ... ]
> @@ -1016,6 +1037,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>;
[Severity: High]
Is this node missing the irq-gpios property? The goodix driver needs both
reset-gpios and irq-gpios to execute its hardware reset and i2c address
selection sequence.
Without irq-gpios, the driver skips the reset sequence completely, which can
leave the controller in an undefined state and cause initialization to fail.
> +
> + touchscreen-size-x = <1440>;
> + touchscreen-size-y = <2560>;
> +
> + pinctrl-names = "default";
> + pinctrl-0 = <&ts_reset_default>, <&ts_irq_default>;
> + };
> +};
> +
[ ... ]
> @@ -1073,6 +1163,93 @@ &mdss_dp0_out {
> +&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-0 = <&disp0_reset_n_active>;
> + pinctrl-1 = <&disp0_reset_n_suspend>;
> + pinctrl-names = "default", "sleep";
[Severity: Medium]
Should the mdp_vsync_active and mdp_vsync_suspend states be referenced
here?
They are defined later in this file to configure the hardware vsync pin, but
without being included in these pinctrl properties, the pin remains
unconfigured. This could break hardware tearing effect synchronization
delivery to the DPU and lead to display tearing or update timeouts.
> +
> + vddio-supply = <&vreg_l12b_1p8>;
> + vdd-supply = <&vreg_l11b_1p2>;
> + vsp-supply = <&sgm3804_pos>;
> + vsn-supply = <&sgm3804_neg>;
> + vci-supply = <&vreg_l13b_3p0>;
> +
[ ... ]
> @@ -1411,6 +1602,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;
> + };
> +
--
Sashiko AI review · https://sashiko.dev/#/patchset/20260721-topic-sm8650-ayaneo-pocket-s2-display-dt-v4-1-68e5fa9056ad@linaro.org?part=1
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH v4] arm64: dts: qcom: sm8650-ayaneo-pocket-s2: add display nodes
2026-07-21 12:10 [PATCH v4] arm64: dts: qcom: sm8650-ayaneo-pocket-s2: add display nodes Neil Armstrong
2026-07-21 12:21 ` sashiko-bot
@ 2026-07-21 13:26 ` Dmitry Baryshkov
1 sibling, 0 replies; 3+ messages in thread
From: Dmitry Baryshkov @ 2026-07-21 13:26 UTC (permalink / raw)
To: Neil Armstrong
Cc: Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, Geert Uytterhoeven, Magnus Damm, linux-arm-msm,
devicetree, linux-kernel, linux-renesas-soc, KancyJoe,
Konrad Dybcio
On Tue, Jul 21, 2026 at 02:10:55PM +0200, Neil Armstrong wrote:
> From: KancyJoe <kancy2333@outlook.com>
>
> 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.
>
> Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
> Signed-off-by: KancyJoe <kancy2333@outlook.com>
> Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org>
> ---
> Depends on follwing bindings, all applied into linux-next:
> - https://lore.kernel.org/all/20260522-topic-sm8650-ayaneo-pocket-s2-r63419-v7-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 v4:
> - Reordered regulator & mdss nodes
> - Moved zap shared firmware into separate node
> - Link to v3: https://patch.msgid.link/20260702-topic-sm8650-ayaneo-pocket-s2-display-dt-v3-1-e6de68d33f9b@linaro.org
>
> Changes in v3:
> - renamed backlight label and node as "backlight"
> - reordered pinctrl properties
> - added regulator-boot-on to display regulators
> - Link to v2: https://patch.msgid.link/20260522-topic-sm8650-ayaneo-pocket-s2-display-dt-v2-1-cdd4b70e5a16@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 | 244 +++++++++++++++++++++
> 1 file changed, 244 insertions(+)
>
> @@ -1411,6 +1602,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;
> + };
Should these be referenced by the panel too? Or by the DSI controller?
> +
> upd720201_avdd33: upd720201-avdd33-state {
> pins = "gpio123";
> function = "gpio";
--
With best wishes
Dmitry
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2026-07-21 13:26 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-07-21 12:10 [PATCH v4] arm64: dts: qcom: sm8650-ayaneo-pocket-s2: add display nodes Neil Armstrong
2026-07-21 12:21 ` sashiko-bot
2026-07-21 13:26 ` Dmitry Baryshkov
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.