From: Riccardo Mereu <r.mereu.kernel@arduino.cc>
To: andersson@kernel.org, konradybcio@kernel.org, robh@kernel.org,
krzk+dt@kernel.org, conor+dt@kernel.org, broonie@kernel.org
Cc: linux@roeck-us.net, Jonathan.Cameron@huawei.com,
wenswang@yeah.net, naresh.solanki@9elements.com,
michal.simek@amd.com, nuno.sa@analog.com, chou.cosmo@gmail.com,
grantpeltier93@gmail.com, eajames@linux.ibm.com,
linux-arm-msm@vger.kernel.org, devicetree@vger.kernel.org,
linux-kernel@vger.kernel.org, festevam@gmail.com,
imx@lists.linux.dev, m.facchin@arduino.cc,
dmitry.baryshkov@oss.qualcomm.com, loic.poulain@oss.qualcomm.com,
Riccardo Mereu <r.mereu@arduino.cc>
Subject: [PATCH 2/3] arm64: qcom: imola: Move analogix video/audio output to dtso
Date: Thu, 30 Apr 2026 15:21:39 +0200 [thread overview]
Message-ID: <20260430132140.30369-3-r.mereu.kernel@arduino.cc> (raw)
In-Reply-To: <20260430132140.30369-1-r.mereu.kernel@arduino.cc>
From: Riccardo Mereu <r.mereu@arduino.cc>
This is done in order to support different video output over DSI.
Since audio part is linked to Analogix USB-C controller it is moved to
the same DTSO.
Signed-off-by: Riccardo Mereu <r.mereu@arduino.cc>
---
arch/arm64/boot/dts/qcom/Makefile | 5 +
...ola.dts => qrb2210-arduino-imola-base.dts} | 122 +++++++++++++++---
...rb2210-arduino-imola-video_sound-usbc.dtso | 61 +++++++++
3 files changed, 168 insertions(+), 20 deletions(-)
rename arch/arm64/boot/dts/qcom/{qrb2210-arduino-imola.dts => qrb2210-arduino-imola-base.dts} (85%)
create mode 100644 arch/arm64/boot/dts/qcom/qrb2210-arduino-imola-video_sound-usbc.dtso
diff --git a/arch/arm64/boot/dts/qcom/Makefile b/arch/arm64/boot/dts/qcom/Makefile
index 4ba8e7306419..e89a0e77072b 100644
--- a/arch/arm64/boot/dts/qcom/Makefile
+++ b/arch/arm64/boot/dts/qcom/Makefile
@@ -193,6 +193,11 @@ qcs9100-ride-r3-el2-dtbs := qcs9100-ride-r3.dtb lemans-el2.dtbo
dtb-$(CONFIG_ARCH_QCOM) += qcs9100-ride-el2.dtb
dtb-$(CONFIG_ARCH_QCOM) += qcs9100-ride-r3-el2.dtb
dtb-$(CONFIG_ARCH_QCOM) += qdu1000-idp.dtb
+dtb-$(CONFIG_ARCH_QCOM) += qrb2210-arduino-imola-base.dtb
+
+dtb-$(CONFIG_ARCH_QCOM) += qrb2210-arduino-imola-video_sound-usbc.dtbo
+
+qrb2210-arduino-imola-dtbs := qrb2210-arduino-imola-base.dtb qrb2210-arduino-imola-video_sound-usbc.dtbo
dtb-$(CONFIG_ARCH_QCOM) += qrb2210-arduino-imola.dtb
dtb-$(CONFIG_ARCH_QCOM) += qrb2210-rb1.dtb
diff --git a/arch/arm64/boot/dts/qcom/qrb2210-arduino-imola.dts b/arch/arm64/boot/dts/qcom/qrb2210-arduino-imola-base.dts
similarity index 85%
rename from arch/arm64/boot/dts/qcom/qrb2210-arduino-imola.dts
rename to arch/arm64/boot/dts/qcom/qrb2210-arduino-imola-base.dts
index bf088fa9807f..fb22effb9a35 100644
--- a/arch/arm64/boot/dts/qcom/qrb2210-arduino-imola.dts
+++ b/arch/arm64/boot/dts/qcom/qrb2210-arduino-imola-base.dts
@@ -1,6 +1,6 @@
// SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause)
/*
- * Copyright (c) 2025, Arduino SRL
+ * Copyright (c) 2026, Arduino SRL
*/
/dts-v1/;
@@ -110,6 +110,106 @@ multi-led {
leds = <&ledr>, <&ledg>, <&ledb>;
};
+ sound: sound {
+ compatible = "qcom,qrb2210-sndcard";
+ model = "Arduino-Imola-HPH-LOUT";
+ audio-routing = "IN1_HPHL", "HPHL_OUT",
+ "IN2_HPHR", "HPHR_OUT",
+ "AMIC2", "MIC BIAS2";
+
+ mm1-dai-link {
+ link-name = "MultiMedia1";
+
+ cpu {
+ sound-dai = <&q6asmdai MSM_FRONTEND_DAI_MULTIMEDIA1>;
+ };
+ };
+
+ mm2-dai-link {
+ link-name = "MultiMedia2";
+
+ cpu {
+ sound-dai = <&q6asmdai MSM_FRONTEND_DAI_MULTIMEDIA2>;
+ };
+ };
+
+ mm3-dai-link {
+ link-name = "MultiMedia3";
+
+ cpu {
+ sound-dai = <&q6asmdai MSM_FRONTEND_DAI_MULTIMEDIA3>;
+ };
+ };
+
+ mm4-dai-link {
+ link-name = "MultiMedia4";
+
+ cpu {
+ sound-dai = <&q6asmdai MSM_FRONTEND_DAI_MULTIMEDIA4>;
+ };
+ };
+
+ hph-playback-dai-link {
+ link-name = "HPH Playback";
+ cpu {
+ sound-dai = <&q6afedai RX_CODEC_DMA_RX_0>;
+ };
+
+ platform {
+ sound-dai = <&q6routing>;
+ };
+
+ codec {
+ sound-dai = <&pmic4125_codec 0>, <&swr1 0>, <&rxmacro 0>;
+ };
+ };
+
+ lo-playback-dai-link {
+ link-name = "LO Playback";
+ cpu {
+ sound-dai = <&q6afedai RX_CODEC_DMA_RX_0>;
+ };
+
+ platform {
+ sound-dai = <&q6routing>;
+ };
+
+ codec {
+ sound-dai = <&pmic4125_codec 0>, <&swr1 0>, <&rxmacro 0>;
+ };
+ };
+
+ ear-playback-dai-link {
+ link-name = "Ear Playback";
+ cpu {
+ sound-dai = <&q6afedai RX_CODEC_DMA_RX_0>;
+ };
+
+ platform {
+ sound-dai = <&q6routing>;
+ };
+
+ codec {
+ sound-dai = <&pmic4125_codec 0>, <&swr1 0>, <&rxmacro 0>;
+ };
+ };
+
+ hph-capture-dai-link {
+ link-name = "HP Capture";
+ cpu {
+ sound-dai = <&q6afedai TX_CODEC_DMA_TX_3>;
+ };
+
+ platform {
+ sound-dai = <&q6routing>;
+ };
+
+ codec {
+ sound-dai = <&pmic4125_codec 1>, <&swr0 0>, <&txmacro 0>;
+ };
+ };
+ };
+
vreg_anx_30: regulator-anx-30 {
compatible = "regulator-fixed";
regulator-name = "anx30";
@@ -165,6 +265,7 @@ anx7625: encoder@58 {
analogix,lane1-swing = /bits/ 8 <0x14 0x54 0x64 0x74>;
pinctrl-0 = <&anx7625_int_pin>, <&anx7625_cable_det_pin>;
+ #sound-dai-cells = <1>;
connector {
compatible = "usb-c-connector";
@@ -198,20 +299,6 @@ anx_ss_in: endpoint {
};
};
};
-
- ports {
- #address-cells = <1>;
- #size-cells = <0>;
-
- port@0 {
- reg = <0>;
-
- anx_dsi0_in: endpoint {
- remote-endpoint = <&mdss_dsi0_out>;
- data-lanes = <0 1 2 3>;
- };
- };
- };
};
};
@@ -225,11 +312,6 @@ &mdss_dsi0 {
status = "okay";
};
-&mdss_dsi0_out {
- remote-endpoint = <&anx_dsi0_in>;
- data-lanes = <0 1 2 3>;
-};
-
&mdss_dsi0_phy {
status = "okay";
};
diff --git a/arch/arm64/boot/dts/qcom/qrb2210-arduino-imola-video_sound-usbc.dtso b/arch/arm64/boot/dts/qcom/qrb2210-arduino-imola-video_sound-usbc.dtso
new file mode 100644
index 000000000000..6fb256498cd1
--- /dev/null
+++ b/arch/arm64/boot/dts/qcom/qrb2210-arduino-imola-video_sound-usbc.dtso
@@ -0,0 +1,61 @@
+// SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause)
+/*
+ * Copyright (c) 2025, Arduino SA
+ */
+
+/dts-v1/;
+/plugin/;
+
+#include <dt-bindings/sound/qcom,q6asm.h>
+#include <dt-bindings/sound/qcom,q6dsp-lpass-ports.h>
+
+&anx7625 {
+ ports {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ port@0 {
+ reg = <0>;
+ anx_dsi0_in: endpoint {
+ remote-endpoint = <&mdss_dsi0_out>;
+ data-lanes = <0 1 2 3>;
+ };
+ };
+ };
+};
+
+&mdss_dsi0_out {
+ remote-endpoint = <&anx_dsi0_in>;
+ data-lanes = <0 1 2 3>;
+};
+
+&q6afedai {
+ #address-cells = <1>;
+ #size-cells = <0>;
+ #sound-dai-cells = <1>;
+ dai@18 {
+ reg = <SECONDARY_MI2S_RX>;
+ qcom,sd-lines = <0>;
+ };
+};
+
+&sound {
+ pinctrl-0 = <&lpi_i2s2_active>;
+ pinctrl-names = "default";
+
+ hdmi-i2s-dai-link {
+ link-name = "HDMI/I2S Playback";
+
+ cpu {
+ sound-dai = <&q6afedai SECONDARY_MI2S_RX>;
+ };
+
+ platform {
+ sound-dai = <&q6routing>;
+ };
+
+ codec {
+ sound-dai = <&anx7625 0>;
+ };
+ };
+};
--
2.53.0
next prev parent reply other threads:[~2026-04-30 13:21 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-04-30 13:21 [PATCH 0/3] arm64: qcom: imola: add support for Media Carrier Riccardo Mereu
2026-04-30 13:21 ` [PATCH 1/3] arm64: qcom: agatti: Add dai@3 Riccardo Mereu
2026-04-30 13:57 ` Konrad Dybcio
2026-04-30 13:21 ` Riccardo Mereu [this message]
2026-04-30 14:10 ` [PATCH 2/3] arm64: qcom: imola: Move analogix video/audio output to dtso Konrad Dybcio
2026-05-05 14:16 ` Riccardo Mereu Linux Kernel
2026-05-05 15:44 ` Loic Poulain
2026-04-30 13:21 ` [PATCH 3/3] arm64: dts: qcom: imola: add support for media carrier board Riccardo Mereu
2026-04-30 14:11 ` Konrad Dybcio
2026-05-05 14:19 ` Riccardo Mereu Linux Kernel
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20260430132140.30369-3-r.mereu.kernel@arduino.cc \
--to=r.mereu.kernel@arduino.cc \
--cc=Jonathan.Cameron@huawei.com \
--cc=andersson@kernel.org \
--cc=broonie@kernel.org \
--cc=chou.cosmo@gmail.com \
--cc=conor+dt@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=dmitry.baryshkov@oss.qualcomm.com \
--cc=eajames@linux.ibm.com \
--cc=festevam@gmail.com \
--cc=grantpeltier93@gmail.com \
--cc=imx@lists.linux.dev \
--cc=konradybcio@kernel.org \
--cc=krzk+dt@kernel.org \
--cc=linux-arm-msm@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux@roeck-us.net \
--cc=loic.poulain@oss.qualcomm.com \
--cc=m.facchin@arduino.cc \
--cc=michal.simek@amd.com \
--cc=naresh.solanki@9elements.com \
--cc=nuno.sa@analog.com \
--cc=r.mereu@arduino.cc \
--cc=robh@kernel.org \
--cc=wenswang@yeah.net \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox