Files
BPI-CM9-Linux/build/patch/kernel/archive/sm8550-6.18/0214_arm64--dts--qcom--Add-AYANEO-Pocket-DS.patch
T

245 lines
5.3 KiB
Diff

diff --git a/arch/arm64/boot/dts/qcom/qcs8550-ayaneo-pocketds.dts b/arch/arm64/boot/dts/qcom/qcs8550-ayaneo-pocketds.dts
new file mode 100644
index 000000000..e8510012e
--- /dev/null
+++ b/arch/arm64/boot/dts/qcom/qcs8550-ayaneo-pocketds.dts
@@ -0,0 +1,238 @@
+// SPDX-License-Identifier: BSD-3-Clause
+/*
+ * Copyright (c) 2025, Teguh Sobirin.
+ * Copyright (c) 2025, ROCKNIX (https://github.com/ROCKNIX)
+ */
+
+/dts-v1/;
+
+#include "qcs8550-ayaneo-pocket-common.dtsi"
+
+/ {
+ model = "AYANEO Pocket DS";
+ qcom,board-id = <0x1000b 0x01>;
+ qcom,msm-id = <0x258 0x20000>, <0x259 0x20000>;
+ compatible = "ayaneo,pocketds", "qcom,qcs8550", "qcom,sm8550";
+ rocknix-u-boot-dt-id = "u-boot-pocket-ds";
+
+ tca6424_vcc: regulator-tca6424-vcc {
+ compatible = "regulator-fixed";
+ regulator-name = "tca6424_vcc";
+
+ regulator-min-microvolt = <3300000>;
+ regulator-max-microvolt = <3300000>;
+
+ gpio = <&tlmm 168 GPIO_ACTIVE_HIGH>;
+ enable-active-high;
+ regulator-boot-on;
+ regulator-state-mem {
+ regulator-off-in-suspend;
+ };
+ };
+
+ vdd_ts: vdd-ts {
+ compatible = "regulator-fixed";
+ regulator-name = "vdd_ts_en";
+ regulator-min-microvolt = <3300000>;
+ regulator-max-microvolt = <3300000>;
+ gpio = <&tca6408 1 GPIO_ACTIVE_HIGH>;
+ enable-active-high;
+ };
+
+};
+
+&tlmm {
+ gpio-reserved-ranges = <32 4>;
+ panel_pwr_active: panel-pwr-active-state {
+ pins = "gpio152", "gpio153";
+ function = "gpio";
+ drive-strength = <8>;
+ bias-disable;
+ output-high;
+ };
+
+ sde_dsi1_active: sde-dsi1-active-state {
+ pins = "gpio137";
+ function = "gpio";
+ drive-strength = <8>;
+ bias-disable;
+ output-high;
+ };
+
+ sde_dsi1_suspend: sde-dsi1-suspend-state {
+ pins = "gpio137";
+ function = "gpio";
+ drive-strength = <2>;
+ bias-pull-down;
+ };
+
+ ts_rst_default: ts-rst-default-state {
+ pins = "gpio24";
+ function = "gpio";
+ bias-pull-up;
+ drive-strength = <8>;
+ };
+
+ ts_rst_sleep: ts-rst-sleep-state {
+ pins = "gpio24";
+ function = "gpio";
+ bias-pull-down;
+ drive-strength = <2>;
+ };
+
+ ts_int_default: ts-int-default-state {
+ pins = "gpio25";
+ function = "gpio";
+ bias-pull-up;
+ drive-strength = <8>;
+ };
+
+ ts_int_sleep: ts-int-sleep-state {
+ pins = "gpio25";
+ function = "gpio";
+ bias-pull-down;
+ drive-strength = <2>;
+ };
+
+ ts2_irq: ts2-irq-state {
+ pins = "gpio39";
+ function = "gpio";
+ drive-strength = <8>;
+ bias-disable;
+ input-enable;
+ };
+
+ ts2_reset: ts2-reset-state {
+ pins = "gpio38";
+ function = "gpio";
+ drive-strength = <8>;
+ input-enable;
+ bias-pull-down;
+ };
+};
+
+&i2c0 {
+ clock-frequency = <400000>;
+ status = "okay";
+
+ /* Screen power */
+ sgm3804: regulator@3e {
+ compatible = "sgmicro,sgm3804";
+ reg = <0x3e>;
+ pinctrl-names = "default";
+ pinctrl-0 = <&panel_pwr_active>;
+ regulator-name = "panel-avdd";
+ regulator-min-microvolt = <5000000>;
+ regulator-max-microvolt = <5000000>;
+ reset-gpios = <&tlmm 152 GPIO_ACTIVE_HIGH>, <&tlmm 153 GPIO_ACTIVE_HIGH>;
+ };
+
+ /* Backlight */
+ backlight: backlight@2e {
+ compatible = "silergy,sy7758";
+ reg = <0x2e>;
+ status = "okay";
+ };
+
+ tca6408: tca64_20@20 {
+ gpio-controller;
+ compatible = "ti,tca6408";
+ status = "okay";
+ reg = <0x20>;
+ #gpio-cells = <0x02>;
+ vcc-supply = <&tca6424_vcc>;
+ };
+};
+
+&i2c2 {
+ clock-frequency = <400000>;
+ status = "okay";
+
+ touchscreen@5d {
+ reg = <0x5d>;
+ compatible = "goodix,gt911";
+
+ interrupt-parent = <&tlmm>;
+ interrupts = <39 IRQ_TYPE_EDGE_FALLING>;
+
+ reset-gpios = <&tlmm 38 GPIO_ACTIVE_HIGH>;
+ irq-gpios = <&tlmm 39 GPIO_ACTIVE_HIGH>;
+ VDDIO-supply = <&vdd_ts>;
+
+ touchscreen-size-x = <768>;
+ touchscreen-size-y = <1024>;
+
+ pinctrl-names = "default";
+ pinctrl-0 = <&ts2_reset>, <&ts2_irq>;
+
+ };
+};
+
+&i2c4 {
+ clock-frequency = <400000>;
+ status = "okay";
+ touchscreen: touchscreen@38 {
+ compatible = "focaltech,ft5426";
+ reg = <0x38>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ interrupt-parent = <&tlmm>;
+ interrupts = <25 IRQ_TYPE_EDGE_FALLING>;
+
+ reset-gpios = <&tlmm 24 GPIO_ACTIVE_LOW>;
+
+ vcc-supply = <&vreg_l14b_3p2>;
+ iovcc-supply = <&vreg_l12b_1p8>;
+
+ pinctrl-0 = <&ts_int_default &ts_rst_default>;
+ pinctrl-1 = <&ts_int_sleep &ts_rst_sleep>;
+ pinctrl-names = "default", "sleep";
+
+ touchscreen-size-x = <1080>;
+ touchscreen-size-y = <1920>;
+ };
+};
+
+&display_panel {
+ compatible = "chipone,icna3512";
+
+ vci-supply = <&vreg_l13b_3p0>;
+ vddio-supply = <&vreg_l12b_1p8>;
+ reset-gpios = <&tlmm 133 GPIO_ACTIVE_LOW>;
+ rotation = <270>;
+};
+
+&mdss_dsi1 {
+ vdda-supply = <&vreg_l3e_1p2>;
+ status = "okay";
+
+ panel@0 {
+ compatible = "ayaneo,pocket-ds-secondary-panel";
+ reg = <0>;
+ pinctrl-0 = <&sde_dsi1_active>;
+ pinctrl-1 = <&sde_dsi1_suspend>;
+ pinctrl-names = "default", "sleep";
+ avdd-supply = <&sgm3804>;
+ enable-gpio = <&tca6408 0 GPIO_ACTIVE_HIGH>;
+ reset-gpios = <&tca6408 2 GPIO_ACTIVE_LOW>;
+ rotation = <270>;
+ backlight = <&backlight>;
+
+ port {
+ panel1_in: endpoint {
+ remote-endpoint = <&mdss_dsi1_out>;
+ };
+ };
+ };
+};
+
+&mdss_dsi1_out {
+ remote-endpoint = <&panel1_in>;
+ data-lanes = <0 1 2 3>;
+};
+
+&mdss_dsi1_phy {
+ vdds-supply = <&vreg_l1e_0p88>;
+ status = "okay";
+};