From 82580def34aa466b2ff118f15b8cc6c83c7664d5 Mon Sep 17 00:00:00 2001 From: Teguh Sobirin Date: Mon, 27 Oct 2025 17:38:53 +0800 Subject: [PATCH] arm64: dts: qcom: Add AYN Odin2 Mini Signed-off-by: Teguh Sobirin --- 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 = <<8912_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