245 lines
5.3 KiB
Diff
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";
|
|
+};
|