468 lines
10 KiB
Diff
468 lines
10 KiB
Diff
From 2e93d0d0712174aa7c518daa4856a5662f830616 Mon Sep 17 00:00:00 2001
|
|
From: Teguh Sobirin <[email protected]>
|
|
Date: Mon, 27 Oct 2025 17:40:08 +0800
|
|
Subject: [PATCH] arm64: dts: qcom: Add AYN Thor
|
|
|
|
Signed-off-by: Teguh Sobirin <[email protected]>
|
|
---
|
|
arch/arm64/boot/dts/qcom/Makefile | 1 +
|
|
arch/arm64/boot/dts/qcom/qcs8550-ayn-thor.dts | 374 ++++++++++++++++++
|
|
2 files changed, 375 insertions(+)
|
|
create mode 100644 arch/arm64/boot/dts/qcom/qcs8550-ayn-thor.dts
|
|
|
|
diff --git a/arch/arm64/boot/dts/qcom/Makefile b/arch/arm64/boot/dts/qcom/Makefile
|
|
index 356209923ce0..58d221f10f40 100644
|
|
--- a/arch/arm64/boot/dts/qcom/Makefile
|
|
+++ b/arch/arm64/boot/dts/qcom/Makefile
|
|
@@ -129,6 +129,7 @@ dtb-$(CONFIG_ARCH_QCOM) += qcs8550-aim300-aiot.dtb
|
|
dtb-$(CONFIG_ARCH_QCOM) += qcs8550-ayn-odin2.dtb
|
|
dtb-$(CONFIG_ARCH_QCOM) += qcs8550-ayn-odin2mini.dtb
|
|
dtb-$(CONFIG_ARCH_QCOM) += qcs8550-ayn-odin2portal.dtb
|
|
+dtb-$(CONFIG_ARCH_QCOM) += qcs8550-ayn-thor.dtb
|
|
dtb-$(CONFIG_ARCH_QCOM) += qcs9100-ride.dtb
|
|
dtb-$(CONFIG_ARCH_QCOM) += qcs9100-ride-r3.dtb
|
|
dtb-$(CONFIG_ARCH_QCOM) += qdu1000-idp.dtb
|
|
diff --git a/arch/arm64/boot/dts/qcom/qcs8550-ayn-thor.dts b/arch/arm64/boot/dts/qcom/qcs8550-ayn-thor.dts
|
|
new file mode 100644
|
|
index 000000000000..f107519c0e5c
|
|
--- /dev/null
|
|
+++ b/arch/arm64/boot/dts/qcom/qcs8550-ayn-thor.dts
|
|
@@ -0,0 +1,434 @@
|
|
+// SPDX-License-Identifier: BSD-3-Clause
|
|
+/*
|
|
+ * Copyright (c) 2025, Teguh Sobirin.
|
|
+ */
|
|
+
|
|
+/dts-v1/;
|
|
+
|
|
+#include "qcs8550-ayn-common.dtsi"
|
|
+
|
|
+/ {
|
|
+ model = "AYN Thor";
|
|
+ compatible = "ayn,thor", "qcom,qcs8550", "qcom,sm8550";
|
|
+ qcom,msm-id = <603 0x20000>;
|
|
+ qcom,board-id = <0x1001f 0>;
|
|
+
|
|
+ gpio-keys {
|
|
+ compatible = "gpio-keys";
|
|
+
|
|
+ key-ayn {
|
|
+ label = "AYN Key";
|
|
+ debounce-interval = <15>;
|
|
+ gpios = <&tlmm 41 GPIO_ACTIVE_LOW>;
|
|
+ linux,code = <KEY_F24>;
|
|
+ linux,can-disable;
|
|
+ };
|
|
+
|
|
+ hall-lid-sensor {
|
|
+ label = "Hall Lid Sensor";
|
|
+ gpios = <&tlmm 17 GPIO_ACTIVE_LOW>;
|
|
+ linux,input-type = <EV_SW>;
|
|
+ linux,code = <SW_LID>;
|
|
+ linux,can-disable;
|
|
+ wakeup-source;
|
|
+ };
|
|
+ };
|
|
+
|
|
+ vdd_bl_5v0: vdd-bl-5v0-regulator {
|
|
+ compatible = "regulator-fixed";
|
|
+ regulator-name = "vdd_bl_5v0";
|
|
+
|
|
+ regulator-min-microvolt = <5000000>;
|
|
+ regulator-max-microvolt = <5000000>;
|
|
+
|
|
+ gpio = <&tlmm 52 GPIO_ACTIVE_HIGH>;
|
|
+ enable-active-high;
|
|
+ };
|
|
+
|
|
+ vdd_disp_1v8: vdd-disp-1v8-regulator {
|
|
+ compatible = "regulator-fixed";
|
|
+ regulator-name = "vdd_disp_1v8";
|
|
+
|
|
+ regulator-min-microvolt = <1800000>;
|
|
+ regulator-max-microvolt = <1800000>;
|
|
+
|
|
+ gpio = <&tlmm 70 GPIO_ACTIVE_HIGH>;
|
|
+ enable-active-high;
|
|
+ };
|
|
+
|
|
+ vdd_disp1_2v8: vdd-disp1-2v8-regulator {
|
|
+ compatible = "regulator-fixed";
|
|
+ regulator-name = "vdd_disp1_2v8";
|
|
+
|
|
+ regulator-min-microvolt = <2800000>;
|
|
+ regulator-max-microvolt = <2800000>;
|
|
+
|
|
+ gpio = <&tlmm 142 GPIO_ACTIVE_HIGH>;
|
|
+ enable-active-high;
|
|
+ };
|
|
+
|
|
+ vdd_disp2_2v8: vdd-disp2-2v8-regulator {
|
|
+ compatible = "regulator-fixed";
|
|
+ regulator-name = "vdd_disp2_2v8";
|
|
+
|
|
+ regulator-min-microvolt = <2800000>;
|
|
+ regulator-max-microvolt = <2800000>;
|
|
+
|
|
+ gpio = <&tlmm 143 GPIO_ACTIVE_HIGH>;
|
|
+ enable-active-high;
|
|
+ };
|
|
+
|
|
+ vdd_ts_3v0: vdd-ts-3v0-regulator {
|
|
+ compatible = "regulator-fixed";
|
|
+ regulator-name = "vdd_ts_3v0";
|
|
+
|
|
+ regulator-min-microvolt = <3000000>;
|
|
+ regulator-max-microvolt = <3000000>;
|
|
+
|
|
+ gpio = <&tlmm 144 GPIO_ACTIVE_HIGH>;
|
|
+ enable-active-high;
|
|
+ };
|
|
+
|
|
+ vdd_ts_1v8: vdd-ts-1v8-regulator {
|
|
+ compatible = "regulator-fixed";
|
|
+ regulator-name = "vdd_ts_1v8";
|
|
+
|
|
+ regulator-min-microvolt = <1800000>;
|
|
+ regulator-max-microvolt = <1800000>;
|
|
+
|
|
+ gpio = <&tlmm 102 GPIO_ACTIVE_HIGH>;
|
|
+ enable-active-high;
|
|
+ };
|
|
+
|
|
+ multi-ledr1 {
|
|
+ compatible = "leds-group-multicolor";
|
|
+ color = <LED_COLOR_ID_RGB>;
|
|
+ function = "r1";
|
|
+ leds = <&ledr_r4>, <&ledr_g4>, <&ledr_b4>;
|
|
+ };
|
|
+
|
|
+ multi-ledl1 {
|
|
+ compatible = "leds-group-multicolor";
|
|
+ color = <LED_COLOR_ID_RGB>;
|
|
+ function = "l1";
|
|
+ leds = <&ledl_r4>, <&ledl_g4>, <&ledl_b4>;
|
|
+ };
|
|
+
|
|
+ multi-ledr2 {
|
|
+ compatible = "leds-group-multicolor";
|
|
+ color = <LED_COLOR_ID_RGB>;
|
|
+ function = "r2";
|
|
+ leds = <&ledr_r1>, <&ledr_g1>, <&ledr_b1>;
|
|
+ };
|
|
+
|
|
+ multi-ledl2 {
|
|
+ compatible = "leds-group-multicolor";
|
|
+ color = <LED_COLOR_ID_RGB>;
|
|
+ function = "l2";
|
|
+ leds = <&ledl_r1>, <&ledl_g1>, <&ledl_b1>;
|
|
+ };
|
|
+
|
|
+ multi-ledr3 {
|
|
+ compatible = "leds-group-multicolor";
|
|
+ color = <LED_COLOR_ID_RGB>;
|
|
+ function = "r3";
|
|
+ leds = <&ledr_r2>, <&ledr_g2>, <&ledr_b2>;
|
|
+ };
|
|
+
|
|
+ multi-ledl3 {
|
|
+ compatible = "leds-group-multicolor";
|
|
+ color = <LED_COLOR_ID_RGB>;
|
|
+ function = "l3";
|
|
+ leds = <&ledl_r2>, <&ledl_g2>, <&ledl_b2>;
|
|
+ };
|
|
+
|
|
+ multi-ledr4 {
|
|
+ compatible = "leds-group-multicolor";
|
|
+ color = <LED_COLOR_ID_RGB>;
|
|
+ function = "r4";
|
|
+ leds = <&ledr_r3>, <&ledr_g3>, <&ledr_b3>;
|
|
+ };
|
|
+
|
|
+ multi-ledl4 {
|
|
+ compatible = "leds-group-multicolor";
|
|
+ color = <LED_COLOR_ID_RGB>;
|
|
+ function = "l4";
|
|
+ leds = <&ledl_r3>, <&ledl_g3>, <&ledl_b3>;
|
|
+ };
|
|
+};
|
|
+
|
|
+&display_panel {
|
|
+ compatible = "chipone,icna3520";
|
|
+
|
|
+ pinctrl-0 = <&dsi_s_rst_active>, <&dsi_s_te_active>;
|
|
+ pinctrl-1 = <&dsi_s_rst_suspend>, <&dsi_s_te_suspend>;
|
|
+ pinctrl-names = "default", "sleep";
|
|
+
|
|
+ vdd-supply = <&vreg_l11b_1p2>;
|
|
+ vddio-supply = <&vreg_l12b_1p8>;
|
|
+ vci-supply = <&vreg_l14b_3p2>;
|
|
+ disp-supply = <&vdd_disp1_2v8>;
|
|
+ blvdd-supply = <&vdd_bl_5v0>;
|
|
+
|
|
+ reset-gpios = <&tlmm 137 GPIO_ACTIVE_LOW>;
|
|
+
|
|
+ rotation = <90>;
|
|
+};
|
|
+
|
|
+&i2c0 {
|
|
+ htr3212l: led-controller@3c {
|
|
+ compatible = "heroic,htr3212";
|
|
+ reg = <0x3c>;
|
|
+ #address-cells = <1>;
|
|
+ #size-cells = <0>;
|
|
+ sdb-gpios = <&tlmm 55 GPIO_ACTIVE_HIGH>;
|
|
+ vdd-supply = <&vdd_mcu_3v3>;
|
|
+
|
|
+ ledl_b1: led@1 {
|
|
+ reg = <1>;
|
|
+ label = "l:r1";
|
|
+ color = <LED_COLOR_ID_RED>;
|
|
+ };
|
|
+ ledl_g1: led@2 {
|
|
+ reg = <2>;
|
|
+ label = "l:g1";
|
|
+ color = <LED_COLOR_ID_GREEN>;
|
|
+ };
|
|
+ ledl_r1: led@3 {
|
|
+ reg = <3>;
|
|
+ label = "l:b1";
|
|
+ color = <LED_COLOR_ID_BLUE>;
|
|
+ };
|
|
+ ledl_b2: led@4 {
|
|
+ reg = <4>;
|
|
+ label = "l:r2";
|
|
+ color = <LED_COLOR_ID_RED>;
|
|
+ };
|
|
+ ledl_g2: led@5 {
|
|
+ reg = <5>;
|
|
+ label = "l:g2";
|
|
+ color = <LED_COLOR_ID_GREEN>;
|
|
+ };
|
|
+ ledl_r2: led@6 {
|
|
+ reg = <6>;
|
|
+ label = "l:b2";
|
|
+ color = <LED_COLOR_ID_BLUE>;
|
|
+ };
|
|
+ ledl_b3: led@7 {
|
|
+ reg = <7>;
|
|
+ label = "l:r3";
|
|
+ color = <LED_COLOR_ID_RED>;
|
|
+ };
|
|
+ ledl_g3: led@8 {
|
|
+ reg = <8>;
|
|
+ label = "l:g3";
|
|
+ color = <LED_COLOR_ID_GREEN>;
|
|
+ };
|
|
+ ledl_r3: led@9 {
|
|
+ reg = <9>;
|
|
+ label = "l:b3";
|
|
+ color = <LED_COLOR_ID_BLUE>;
|
|
+ };
|
|
+ ledl_b4: led@10 {
|
|
+ reg = <10>;
|
|
+ label = "l:r4";
|
|
+ color = <LED_COLOR_ID_RED>;
|
|
+ };
|
|
+ ledl_g4: led@11 {
|
|
+ reg = <11>;
|
|
+ label = "l:g4";
|
|
+ color = <LED_COLOR_ID_GREEN>;
|
|
+ };
|
|
+ ledl_r4: led@12 {
|
|
+ reg = <12>;
|
|
+ label = "l:b4";
|
|
+ color = <LED_COLOR_ID_BLUE>;
|
|
+ };
|
|
+ };
|
|
+};
|
|
+
|
|
+&i2c4 {
|
|
+ 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_p_rst_default &ts_p_int_default>;
|
|
+ pinctrl-1 = <&ts_p_rst_sleep &ts_p_int_sleep>;
|
|
+ pinctrl-names = "default", "sleep";
|
|
+
|
|
+ touchscreen-size-x = <1080>;
|
|
+ touchscreen-size-y = <1920>;
|
|
+ touchscreen-swapped-x-y;
|
|
+ touchscreen-inverted-x;
|
|
+ };
|
|
+};
|
|
+
|
|
+&i2c12 {
|
|
+ htr3212r: led-controller@3c {
|
|
+ compatible = "heroic,htr3212";
|
|
+ reg = <0x3c>;
|
|
+ #address-cells = <1>;
|
|
+ #size-cells = <0>;
|
|
+ sdb-gpios = <&tlmm 56 GPIO_ACTIVE_HIGH>;
|
|
+ vdd-supply = <&vdd_mcu_3v3>;
|
|
+
|
|
+ ledr_b1: led@1 {
|
|
+ reg = <1>;
|
|
+ label = "r:r1";
|
|
+ color = <LED_COLOR_ID_RED>;
|
|
+ };
|
|
+ ledr_g1: led@2 {
|
|
+ reg = <2>;
|
|
+ label = "r:g1";
|
|
+ color = <LED_COLOR_ID_GREEN>;
|
|
+ };
|
|
+ ledr_r1: led@3 {
|
|
+ reg = <3>;
|
|
+ label = "r:b1";
|
|
+ color = <LED_COLOR_ID_BLUE>;
|
|
+ };
|
|
+ ledr_b2: led@4 {
|
|
+ reg = <4>;
|
|
+ label = "r:r2";
|
|
+ color = <LED_COLOR_ID_RED>;
|
|
+ };
|
|
+ ledr_g2: led@5 {
|
|
+ reg = <5>;
|
|
+ label = "r:g2";
|
|
+ color = <LED_COLOR_ID_GREEN>;
|
|
+ };
|
|
+ ledr_r2: led@6 {
|
|
+ reg = <6>;
|
|
+ label = "r:b2";
|
|
+ color = <LED_COLOR_ID_BLUE>;
|
|
+ };
|
|
+ ledr_b3: led@7 {
|
|
+ reg = <7>;
|
|
+ label = "r:r3";
|
|
+ color = <LED_COLOR_ID_RED>;
|
|
+ };
|
|
+ ledr_g3: led@8 {
|
|
+ reg = <8>;
|
|
+ label = "r:g3";
|
|
+ color = <LED_COLOR_ID_GREEN>;
|
|
+ };
|
|
+ ledr_r3: led@9 {
|
|
+ reg = <9>;
|
|
+ label = "r:b3";
|
|
+ color = <LED_COLOR_ID_BLUE>;
|
|
+ };
|
|
+ ledr_b4: led@10 {
|
|
+ reg = <10>;
|
|
+ label = "r:r4";
|
|
+ color = <LED_COLOR_ID_RED>;
|
|
+ };
|
|
+ ledr_g4: led@11 {
|
|
+ reg = <11>;
|
|
+ label = "r:g4";
|
|
+ color = <LED_COLOR_ID_GREEN>;
|
|
+ };
|
|
+ ledr_r4: led@12 {
|
|
+ reg = <12>;
|
|
+ label = "r:b4";
|
|
+ color = <LED_COLOR_ID_BLUE>;
|
|
+ };
|
|
+ };
|
|
+};
|
|
+
|
|
+&i2c_hub_3 {
|
|
+ clock-frequency = <100000>;
|
|
+ status = "okay";
|
|
+
|
|
+ touchscreen@38 {
|
|
+ compatible = "focaltech,ft5452";
|
|
+ reg = <0x38>;
|
|
+ #address-cells = <1>;
|
|
+ #size-cells = <0>;
|
|
+
|
|
+ interrupt-parent = <&tlmm>;
|
|
+ interrupts = <15 IRQ_TYPE_EDGE_FALLING>;
|
|
+
|
|
+ reset-gpios = <&tlmm 14 GPIO_ACTIVE_LOW>;
|
|
+
|
|
+ vcc-supply = <&vdd_ts_3v0>;
|
|
+ iovcc-supply = <&vdd_ts_1v8>;
|
|
+
|
|
+ pinctrl-0 = <&ts_s_rst_default &ts_s_int_default>;
|
|
+ pinctrl-1 = <&ts_s_rst_sleep &ts_s_int_sleep>;
|
|
+ pinctrl-names = "default", "sleep";
|
|
+
|
|
+ touchscreen-size-x = <1080>;
|
|
+ touchscreen-size-y = <1240>;
|
|
+ touchscreen-swapped-x-y;
|
|
+ touchscreen-inverted-x;
|
|
+
|
|
+ no-regmap-bulk-read;
|
|
+ };
|
|
+};
|
|
+
|
|
+&mdss_dsi0 {
|
|
+ vdda-supply = <&vreg_l3e_1p2>;
|
|
+ status = "okay";
|
|
+
|
|
+ panel@0 {
|
|
+ reg = <0>;
|
|
+ compatible = "ch13726a,thor";
|
|
+
|
|
+ pinctrl-0 = <&dsi_p_rst_active>, <&dsi_p_te_active>;
|
|
+ pinctrl-1 = <&dsi_p_rst_suspend>, <&dsi_p_te_suspend>;
|
|
+ pinctrl-names = "default", "sleep";
|
|
+
|
|
+ vdd1v2-supply = <&vreg_l11b_1p2>;
|
|
+ vddio-supply = <&vdd_disp_1v8>;
|
|
+ vdd-supply = <&vreg_l13b_3p0>;
|
|
+ avdd-supply = <&vdd_disp2_2v8>;
|
|
+
|
|
+ reset-gpios = <&tlmm 133 GPIO_ACTIVE_HIGH>;
|
|
+
|
|
+ rotation = <90>;
|
|
+
|
|
+ port {
|
|
+ panel0_in: endpoint {
|
|
+ remote-endpoint = <&mdss_dsi0_out>;
|
|
+ };
|
|
+ };
|
|
+ };
|
|
+};
|
|
+
|
|
+&mdss_dsi0_out {
|
|
+ remote-endpoint = <&panel0_in>;
|
|
+ data-lanes = <0 1 2 3>;
|
|
+};
|
|
+
|
|
+&mdss_dsi0_phy {
|
|
+ vdds-supply = <&vreg_l1e_0p88>;
|
|
+ status = "okay";
|
|
+};
|
|
+
|
|
+&mdss_dsi1_out {
|
|
+ qcom,te-source = "mdp_vsync_s";
|
|
+};
|
|
+
|
|
+&remoteproc_adsp {
|
|
+ firmware-name = "qcom/sm8550/ayn/thor/adsp.mbn",
|
|
+ "qcom/sm8550/ayn/thor/adsp_dtb.mbn";
|
|
+ status = "okay";
|
|
+};
|
|
+
|
|
+&spk_amp_l {
|
|
+ firmware-name = "qcom/sm8550/ayn/thor/aw883xx_acf.bin";
|
|
+};
|
|
+
|
|
+&spk_amp_r {
|
|
+ firmware-name = "qcom/sm8550/ayn/thor/aw883xx_acf.bin";
|
|
+};
|
|
--
|
|
2.34.1
|
|
|