Files
BPI-CM9-Linux/build/patch/kernel/archive/sm8550-6.18/0202_arm64--dts--qcom--Add-AYN-Odin2-Mini.patch

226 lines
5.4 KiB
Diff

From 82580def34aa466b2ff118f15b8cc6c83c7664d5 Mon Sep 17 00:00:00 2001
From: Teguh Sobirin <[email protected]>
Date: Mon, 27 Oct 2025 17:38:53 +0800
Subject: [PATCH] arm64: dts: qcom: Add AYN Odin2 Mini
Signed-off-by: Teguh Sobirin <[email protected]>
---
arch/arm64/boot/dts/qcom/Makefile | 1 +
.../boot/dts/qcom/qcs8550-ayn-odin2mini.dts | 192 ++++++++++++++++++
2 files changed, 193 insertions(+)
create mode 100644 arch/arm64/boot/dts/qcom/qcs8550-ayn-odin2mini.dts
diff --git a/arch/arm64/boot/dts/qcom/Makefile b/arch/arm64/boot/dts/qcom/Makefile
index 80e4d5b3a03d..010c44b21573 100644
--- a/arch/arm64/boot/dts/qcom/Makefile
+++ b/arch/arm64/boot/dts/qcom/Makefile
@@ -127,6 +127,7 @@ dtb-$(CONFIG_ARCH_QCOM) += qcs6490-rb3gen2-vision-mezzanine.dtb
dtb-$(CONFIG_ARCH_QCOM) += qcs8300-ride.dtb
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) += 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-odin2mini.dts b/arch/arm64/boot/dts/qcom/qcs8550-ayn-odin2mini.dts
new file mode 100644
index 000000000000..c3f0219cdb3d
--- /dev/null
+++ b/arch/arm64/boot/dts/qcom/qcs8550-ayn-odin2mini.dts
@@ -0,0 +1,192 @@
+// SPDX-License-Identifier: BSD-3-Clause
+/*
+ * Copyright (c) 2025, Teguh Sobirin.
+ */
+
+/dts-v1/;
+
+#include "qcs8550-ayn-common.dtsi"
+
+/ {
+ model = "AYN Odin 2 Mini";
+ compatible = "ayn,odin2mini", "qcom,qcs8550", "qcom,sm8550";
+ qcom,msm-id = <603 0x20000>;
+ qcom,board-id = <0x1001f 0>;
+
+ hdmi-out {
+ compatible = "hdmi-connector";
+ type = "d";
+ hpd-gpios = <&tlmm 9 GPIO_ACTIVE_HIGH>;
+ hdmi-pwr-supply = <&vdd_hdmi_1v8>;
+
+ port {
+ hdmi_con: endpoint {
+ remote-endpoint = <&lt8912_out>;
+ };
+ };
+ };
+
+ vcc_hdmi_1v8: vcc-hdmi-1v8-regulator {
+ compatible = "regulator-fixed";
+ regulator-name = "vcc_hdmi_1v8";
+
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <1800000>;
+
+ gpio = <&tlmm 10 GPIO_ACTIVE_HIGH>;
+ enable-active-high;
+ };
+
+ 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 55 GPIO_ACTIVE_HIGH>;
+ enable-active-high;
+ };
+
+ vdd_disp_2v8: vdd-disp-2v8-regulator {
+ compatible = "regulator-fixed";
+ regulator-name = "vdd_disp_2v8";
+
+ regulator-min-microvolt = <2800000>;
+ regulator-max-microvolt = <2800000>;
+
+ gpio = <&tlmm 142 GPIO_ACTIVE_HIGH>;
+ enable-active-high;
+ };
+
+ vdd_hdmi_1v8: vdd-hdmi-1v8-regulator {
+ compatible = "regulator-fixed";
+ regulator-name = "vdd_hdmi_1v8";
+
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <1800000>;
+
+ gpio = <&tlmm 6 GPIO_ACTIVE_HIGH>;
+ enable-active-high;
+ };
+};
+
+&display_panel {
+ compatible = "boe,xm91080g";
+
+ pinctrl-0 = <&dsi_p_rst_active>, <&dsi_p_te_active>;
+ pinctrl-1 = <&dsi_p_rst_suspend>, <&dsi_p_te_suspend>;
+ pinctrl-names = "default", "sleep";
+
+ vdd-supply = <&vreg_l11b_1p2>;
+ vddio-supply = <&vreg_l12b_1p8>;
+ vci-supply = <&vreg_l13b_3p0>;
+ disp-supply = <&vdd_disp_2v8>;
+ blvdd-supply = <&vdd_bl_5v0>;
+
+ reset-gpios = <&tlmm 133 GPIO_ACTIVE_LOW>;
+
+ rotation = <90>;
+};
+
+&i2c0 {
+ backlight: backlight@46 {
+ compatible = "ayn,odin2miniled";
+ reg = <0x46>;
+ enable-gpios = <&tlmm 55 GPIO_ACTIVE_HIGH>;
+ vcc_1v2-supply = <&vreg_l11b_1p2>;
+ vcc_3v3-supply = <&vreg_bob2>;
+ };
+};
+
+&i2c4 {
+ touchscreen@1a {
+ compatible = "hynitron,cst340";
+ reg = <0x1a>;
+ interrupt-parent = <&tlmm>;
+ interrupts = <25 IRQ_TYPE_EDGE_FALLING>;
+ reset-gpios = <&tlmm 24 GPIO_ACTIVE_LOW>;
+ vdd-supply = <&vreg_l2b_3p0>;
+
+ 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 = <1920>;
+ touchscreen-size-y = <1080>;
+ touchscreen-swapped-x-y;
+ touchscreen-inverted-y;
+ };
+};
+
+&i2c_hub_0 {
+ clock-frequency = <100000>;
+ status = "okay";
+
+ lt8912_codec: hdmi-bridge@48 {
+ compatible = "lontium,lt8912b";
+ reg = <0x48> ;
+
+ reset-gpios = <&tlmm 7 GPIO_ACTIVE_LOW>;
+
+ vdd-supply = <&vdd_hdmi_1v8>;
+ vccmipirx-supply = <&vcc_hdmi_1v8>;
+ vccsysclk-supply = <&vcc_hdmi_1v8>;
+ vcclvdstx-supply = <&vcc_hdmi_1v8>;
+ vcchdmitx-supply = <&vcc_hdmi_1v8>;
+ vcclvdspll-supply = <&vcc_hdmi_1v8>;
+ vcchdmipll-supply = <&vcc_hdmi_1v8>;
+
+ ports {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ port@0 {
+ reg = <0>;
+
+ hdmi_out_in: endpoint {
+ data-lanes = <1 2 3 4>;
+ remote-endpoint = <&mdss_dsi0_out>;
+ };
+ };
+
+ port@1 {
+ reg = <1>;
+
+ lt8912_out: endpoint {
+ remote-endpoint = <&hdmi_con>;
+ };
+ };
+ };
+ };
+};
+
+&mdss_dsi0 {
+ vdda-supply = <&vreg_l3e_1p2>;
+ status = "okay";
+};
+
+&mdss_dsi0_out {
+ remote-endpoint = <&hdmi_out_in>;
+ data-lanes = <0 1 2 3>;
+};
+
+&mdss_dsi0_phy {
+ vdds-supply = <&vreg_l1e_0p88>;
+ status = "okay";
+};
+
+&remoteproc_adsp {
+ firmware-name = "qcom/sm8550/ayn/odin2mini/adsp.mbn",
+ "qcom/sm8550/ayn/odin2mini/adsp_dtb.mbn";
+ status = "okay";
+};
+
+&spk_amp_l {
+ firmware-name = "qcom/sm8550/ayn/odin2mini/aw883xx_acf.bin";
+};
+
+&spk_amp_r {
+ firmware-name = "qcom/sm8550/ayn/odin2mini/aw883xx_acf.bin";
+};
+
--
2.34.1