357 lines
7.7 KiB
Diff
357 lines
7.7 KiB
Diff
From d4c61eea0faae54d278058b39c5c568078025e60 Mon Sep 17 00:00:00 2001
|
|
From: Teguh Sobirin <teguh@sobir.in>
|
|
Date: Mon, 27 Oct 2025 17:38:24 +0800
|
|
Subject: [PATCH] arm64: dts: qcom: Add AYN Odin2
|
|
|
|
Signed-off-by: Teguh Sobirin <teguh@sobir.in>
|
|
---
|
|
arch/arm64/boot/dts/qcom/Makefile | 1 +
|
|
.../arm64/boot/dts/qcom/qcs8550-ayn-odin2.dts | 323 ++++++++++++++++++
|
|
2 files changed, 324 insertions(+)
|
|
create mode 100644 arch/arm64/boot/dts/qcom/qcs8550-ayn-odin2.dts
|
|
|
|
diff --git a/arch/arm64/boot/dts/qcom/Makefile b/arch/arm64/boot/dts/qcom/Makefile
|
|
index 4bfa926b6a08..80e4d5b3a03d 100644
|
|
--- a/arch/arm64/boot/dts/qcom/Makefile
|
|
+++ b/arch/arm64/boot/dts/qcom/Makefile
|
|
@@ -126,6 +126,7 @@ dtb-$(CONFIG_ARCH_QCOM) += qcs6490-rb3gen2-industrial-mezzanine.dtb
|
|
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) += 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-odin2.dts b/arch/arm64/boot/dts/qcom/qcs8550-ayn-odin2.dts
|
|
new file mode 100644
|
|
index 000000000000..98cf638b24f4
|
|
--- /dev/null
|
|
+++ b/arch/arm64/boot/dts/qcom/qcs8550-ayn-odin2.dts
|
|
@@ -0,0 +1,323 @@
|
|
+// SPDX-License-Identifier: BSD-3-Clause
|
|
+/*
|
|
+ * Copyright (c) 2025, Teguh Sobirin.
|
|
+ */
|
|
+
|
|
+/dts-v1/;
|
|
+
|
|
+#include "qcs8550-ayn-common.dtsi"
|
|
+
|
|
+/ {
|
|
+ model = "AYN Odin 2";
|
|
+ compatible = "ayn,odin2", "qcom,qcs8550", "qcom,sm8550";
|
|
+ qcom,msm-id = <603 0x20000>;
|
|
+ qcom,board-id = <0x1001f 0>;
|
|
+
|
|
+ backlight: backlight {
|
|
+ compatible = "pwm-backlight";
|
|
+ pwms = <&pmk8550_pwm 0 860000>;
|
|
+ brightness-levels = <1023 0>;
|
|
+ num-interpolated-steps = <1023>;
|
|
+ default-brightness-level = <600>;
|
|
+ power-supply = <&vph_pwr>;
|
|
+ enable-gpios = <&pmk8550_gpios 5 GPIO_ACTIVE_HIGH>;
|
|
+ pinctrl-names = "default";
|
|
+ pinctrl-0 = <&pwm_backlight_default>;
|
|
+ status = "okay";
|
|
+ };
|
|
+
|
|
+ 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>;
|
|
+ };
|
|
+ };
|
|
+ };
|
|
+
|
|
+ led_left_side: led-controller-1 {
|
|
+ compatible = "pwm-leds-multicolor";
|
|
+
|
|
+ multi-led {
|
|
+ label = "left-side";
|
|
+ color = <LED_COLOR_ID_RGB>;
|
|
+ max-brightness = <255>;
|
|
+
|
|
+ led-red {
|
|
+ color = <LED_COLOR_ID_RED>;
|
|
+ pwms = <&pwm_rgb_left 0>;
|
|
+ };
|
|
+
|
|
+ led-green {
|
|
+ color = <LED_COLOR_ID_GREEN>;
|
|
+ pwms = <&pwm_rgb_left 1>;
|
|
+ };
|
|
+
|
|
+ led-blue {
|
|
+ color = <LED_COLOR_ID_BLUE>;
|
|
+ pwms = <&pwm_rgb_left 2>;
|
|
+ };
|
|
+ };
|
|
+ };
|
|
+
|
|
+ led_left_joystick: led-controller-2 {
|
|
+ compatible = "pwm-leds-multicolor";
|
|
+
|
|
+ multi-led {
|
|
+ label = "left-joystick";
|
|
+ color = <LED_COLOR_ID_RGB>;
|
|
+ max-brightness = <255>;
|
|
+
|
|
+ led-red {
|
|
+ color = <LED_COLOR_ID_RED>;
|
|
+ pwms = <&pwm_rgb_left 6>;
|
|
+ };
|
|
+
|
|
+ led-green {
|
|
+ color = <LED_COLOR_ID_GREEN>;
|
|
+ pwms = <&pwm_rgb_left 7>;
|
|
+ };
|
|
+
|
|
+ led-blue {
|
|
+ color = <LED_COLOR_ID_BLUE>;
|
|
+ pwms = <&pwm_rgb_left 8>;
|
|
+ };
|
|
+ };
|
|
+ };
|
|
+
|
|
+ led_right_side: led-controller-3 {
|
|
+ compatible = "pwm-leds-multicolor";
|
|
+
|
|
+ multi-led {
|
|
+ label = "right-side";
|
|
+ color = <LED_COLOR_ID_RGB>;
|
|
+ max-brightness = <255>;
|
|
+
|
|
+ led-red {
|
|
+ color = <LED_COLOR_ID_RED>;
|
|
+ pwms = <&pwm_rgb_right 0>;
|
|
+ };
|
|
+
|
|
+ led-green {
|
|
+ color = <LED_COLOR_ID_GREEN>;
|
|
+ pwms = <&pwm_rgb_right 1>;
|
|
+ };
|
|
+
|
|
+ led-blue {
|
|
+ color = <LED_COLOR_ID_BLUE>;
|
|
+ pwms = <&pwm_rgb_right 2>;
|
|
+ };
|
|
+ };
|
|
+ };
|
|
+
|
|
+ led_right_joystick: led-controller-4 {
|
|
+ compatible = "pwm-leds-multicolor";
|
|
+
|
|
+ multi-led {
|
|
+ label = "right-joystick";
|
|
+ color = <LED_COLOR_ID_RGB>;
|
|
+ max-brightness = <255>;
|
|
+
|
|
+ led-red {
|
|
+ color = <LED_COLOR_ID_RED>;
|
|
+ pwms = <&pwm_rgb_right 6>;
|
|
+ };
|
|
+
|
|
+ led-green {
|
|
+ color = <LED_COLOR_ID_GREEN>;
|
|
+ pwms = <&pwm_rgb_right 7>;
|
|
+ };
|
|
+
|
|
+ led-blue {
|
|
+ color = <LED_COLOR_ID_BLUE>;
|
|
+ pwms = <&pwm_rgb_right 8>;
|
|
+ };
|
|
+ };
|
|
+ };
|
|
+
|
|
+ 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_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 = "syna,td4328";
|
|
+
|
|
+ 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 = <&vdd_disp_2v8>;
|
|
+ vddio-supply = <&vreg_l12b_1p8>;
|
|
+
|
|
+ backlight = <&backlight>;
|
|
+
|
|
+ reset-gpios = <&tlmm 133 GPIO_ACTIVE_LOW>;
|
|
+
|
|
+ rotation = <90>;
|
|
+};
|
|
+
|
|
+&i2c0 {
|
|
+ pwm_rgb_left: sn3112@54 {
|
|
+ compatible = "si-en,sn3112-pwm";
|
|
+ reg = <0x54>;
|
|
+ sdb-gpios = <&tlmm 55 GPIO_ACTIVE_LOW>;
|
|
+ vdd-supply = <&vdd_mcu_3v3>;
|
|
+ #pwm-cells = <1>;
|
|
+ };
|
|
+};
|
|
+
|
|
+&i2c4 {
|
|
+ touchscreen@20 {
|
|
+ compatible = "syna,rmi4-i2c";
|
|
+ reg = <0x20>;
|
|
+ #address-cells = <1>;
|
|
+ #size-cells = <0>;
|
|
+ interrupt-parent = <&tlmm>;
|
|
+ interrupts = <25 IRQ_TYPE_EDGE_FALLING>;
|
|
+
|
|
+ pinctrl-names = "default", "sleep";
|
|
+ pinctrl-0 = <&ts_p_int_default>;
|
|
+ pinctrl-1 = <&ts_p_int_sleep>;
|
|
+
|
|
+ vio-supply = <&vreg_l12b_1p8>;
|
|
+
|
|
+ syna,startup-delay-ms = <200>;
|
|
+ syna,reset-delay-ms = <200>;
|
|
+
|
|
+ rmi4-f01@1 {
|
|
+ syna,nosleep-mode = <0x1>;
|
|
+ reg = <0x1>;
|
|
+ };
|
|
+
|
|
+ rmi4-f12@12 {
|
|
+ reg = <0x12>;
|
|
+ syna,rezero-wait-ms = <20>;
|
|
+ syna,clip-x-low = <0>;
|
|
+ syna,clip-y-low = <0>;
|
|
+ syna,clip-x-high = <1080>;
|
|
+ syna,clip-y-high = <1920>;
|
|
+ syna,sensor-type = <1>;
|
|
+ touchscreen-inverted-x;
|
|
+ };
|
|
+ };
|
|
+};
|
|
+
|
|
+&i2c12 {
|
|
+ pwm_rgb_right: sn3112@54 {
|
|
+ compatible = "si-en,sn3112-pwm";
|
|
+ reg = <0x54>;
|
|
+ sdb-gpios = <&tlmm 56 GPIO_ACTIVE_LOW>;
|
|
+ vdd-supply = <&vdd_mcu_3v3>;
|
|
+ #pwm-cells = <1>;
|
|
+ };
|
|
+};
|
|
+
|
|
+&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";
|
|
+};
|
|
+
|
|
+&pmk8550_pwm {
|
|
+ status = "okay";
|
|
+};
|
|
+
|
|
+&remoteproc_adsp {
|
|
+ firmware-name = "qcom/sm8550/ayn/odin2/adsp.mbn",
|
|
+ "qcom/sm8550/ayn/odin2/adsp_dtb.mbn";
|
|
+ status = "okay";
|
|
+};
|
|
+
|
|
+&spk_amp_l {
|
|
+ firmware-name = "qcom/sm8550/ayn/odin2/aw883xx_acf.bin";
|
|
+};
|
|
+
|
|
+&spk_amp_r {
|
|
+ firmware-name = "qcom/sm8550/ayn/odin2/aw883xx_acf.bin";
|
|
+};
|
|
+
|
|
--
|
|
2.34.1
|
|
|