* [PATCH 0/3] arm64: dts: qcom: Add audio support for Nord platform
@ 2026-09-14 2:40 Shawn Guo
2026-09-14 2:40 ` [PATCH 1/3] arm64: dts: qcom: nord: Add gpr node Shawn Guo
` (2 more replies)
0 siblings, 3 replies; 8+ messages in thread
From: Shawn Guo @ 2026-09-14 2:40 UTC (permalink / raw)
To: Bjorn Andersson
Cc: Konrad Dybcio, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
Bartosz Golaszewski, Mohammad Rafi Shaik, devicetree,
linux-arm-msm, linux-kernel, Shawn Guo
This series enables audio playback and capture on the Nord RRD and
Nord Ride SX (nord-ride-embedded) boards.
The first patch adds the GPR node with the APM and PRM services to the
Nord SoC DTSI, which the Q6APM audio stack needs to talk to the ADSP.
The remaining two patches add the board-level pieces: a sound card with
a PCM1681 playback link and an ADAU1979 capture link, both over
Tertiary MI2S, the codec nodes on I2C18, and the TCA6408 I/O expander
whose hogged outputs gate the DAC.
Dependencies:
- ASoC : https://lore.kernel.org/all/20260907-nord-asoc-driver-support-v1-0-997d3b20cf43@oss.qualcomm.com/
- Prerequisite DTS: https://lore.kernel.org/all/20260911142040.100263-1-shengchao.guo@oss.qualcomm.com/
Mohammad Rafi Shaik (3):
arm64: dts: qcom: nord: Add gpr node
arm64: dts: qcom: nord-rrd: Add sound support
arm64: dts: qcom: nord-ride-embedded: Add sound support
arch/arm64/boot/dts/qcom/nord-embedded.dtsi | 30 +++++
.../boot/dts/qcom/nord-ride-embedded.dts | 112 ++++++++++++++++++
arch/arm64/boot/dts/qcom/nord-rrd.dts | 112 ++++++++++++++++++
arch/arm64/boot/dts/qcom/nord.dtsi | 36 ++++++
4 files changed, 290 insertions(+)
--
2.43.0
^ permalink raw reply [flat|nested] 8+ messages in thread
* [PATCH 1/3] arm64: dts: qcom: nord: Add gpr node
2026-09-14 2:40 [PATCH 0/3] arm64: dts: qcom: Add audio support for Nord platform Shawn Guo
@ 2026-09-14 2:40 ` Shawn Guo
2026-09-14 9:00 ` Konrad Dybcio
2026-09-14 2:40 ` [PATCH 2/3] arm64: dts: qcom: nord-rrd: Add sound support Shawn Guo
2026-09-14 2:40 ` [PATCH 3/3] arm64: dts: qcom: nord-ride-embedded: " Shawn Guo
2 siblings, 1 reply; 8+ messages in thread
From: Shawn Guo @ 2026-09-14 2:40 UTC (permalink / raw)
To: Bjorn Andersson
Cc: Konrad Dybcio, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
Bartosz Golaszewski, Mohammad Rafi Shaik, devicetree,
linux-arm-msm, linux-kernel, Shawn Guo
From: Mohammad Rafi Shaik <mohammad.rafi.shaik@oss.qualcomm.com>
Add the GPR (Generic Packet Router) node to the nord SoC DTSI along
with the APM (Audio Process Manager) and PRM (Proxy Resource Manager)
audio services. These nodes are required by the Q6APM audio stack to
route audio packets between the application processor and the DSP.
Assisted-by: LLM
Signed-off-by: Mohammad Rafi Shaik <mohammad.rafi.shaik@oss.qualcomm.com>
Signed-off-by: Shawn Guo <shengchao.guo@oss.qualcomm.com>
---
arch/arm64/boot/dts/qcom/nord.dtsi | 36 ++++++++++++++++++++++++++++++
1 file changed, 36 insertions(+)
diff --git a/arch/arm64/boot/dts/qcom/nord.dtsi b/arch/arm64/boot/dts/qcom/nord.dtsi
index 98967478fc3a..4526b3bd608a 100644
--- a/arch/arm64/boot/dts/qcom/nord.dtsi
+++ b/arch/arm64/boot/dts/qcom/nord.dtsi
@@ -5,6 +5,7 @@
#include <dt-bindings/interrupt-controller/arm-gic.h>
#include <dt-bindings/mailbox/qcom-ipcc.h>
+#include <dt-bindings/soc/qcom,gpr.h>
#include "nord-ipcc.h"
@@ -1723,6 +1724,41 @@ compute-cb@6 {
dma-coherent;
};
};
+
+ gpr {
+ compatible = "qcom,gpr";
+ qcom,glink-channels = "adsp_apps";
+ qcom,domain = <GPR_DOMAIN_ID_ADSP>;
+ qcom,intents = <512 20>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ q6apm: service@1 {
+ compatible = "qcom,q6apm";
+ reg = <GPR_APM_MODULE_IID>;
+ #sound-dai-cells = <0>;
+
+ q6apmbedai: bedais {
+ compatible = "qcom,q6apm-lpass-dais";
+ #sound-dai-cells = <1>;
+ };
+
+ q6apmdai: dais {
+ compatible = "qcom,q6apm-dais";
+ iommus = <&apps_smmu_0 0x09E1 0x0400>;
+ };
+ };
+
+ q6prm: service@2 {
+ compatible = "qcom,q6prm";
+ reg = <GPR_PRM_MODULE_IID>;
+
+ q6prmcc: clock-controller {
+ compatible = "qcom,q6prm-lpass-clocks";
+ #clock-cells = <2>;
+ };
+ };
+ };
};
};
--
2.43.0
^ permalink raw reply [flat|nested] 8+ messages in thread
* [PATCH 2/3] arm64: dts: qcom: nord-rrd: Add sound support
2026-09-14 2:40 [PATCH 0/3] arm64: dts: qcom: Add audio support for Nord platform Shawn Guo
2026-09-14 2:40 ` [PATCH 1/3] arm64: dts: qcom: nord: Add gpr node Shawn Guo
@ 2026-09-14 2:40 ` Shawn Guo
2026-09-14 9:01 ` Konrad Dybcio
2026-09-14 2:40 ` [PATCH 3/3] arm64: dts: qcom: nord-ride-embedded: " Shawn Guo
2 siblings, 1 reply; 8+ messages in thread
From: Shawn Guo @ 2026-09-14 2:40 UTC (permalink / raw)
To: Bjorn Andersson
Cc: Konrad Dybcio, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
Bartosz Golaszewski, Mohammad Rafi Shaik, devicetree,
linux-arm-msm, linux-kernel, Shawn Guo
From: Mohammad Rafi Shaik <mohammad.rafi.shaik@oss.qualcomm.com>
Enable audio on the nord RRD board. Add a soundcard node using the
qcom,nord-ride-sndcard compatible with two DAI links:
- PCM1681 playback over Tertiary MI2S RX
- ADAU1979 capture over Tertiary MI2S TX
Add MI2S pin mux states (data, SCLK, WS on GPIO 73-76) and the MCLK0
pin state (GPIO 99) to nord-embedded.dtsi so they can be shared with
other nord board variants.
Add PCM1681/ADAU1979 codec nodes on I2C18, with the PCM1681 system
clock supplied via MCLK0. The DAC control lines come off a TCA6408 I/O
expander on the same bus, so add that too and hog its dac_enable and
click-pop-mute-n outputs, both of which have to be asserted before the
DAC produces sound.
Assisted-by: LLM
Signed-off-by: Mohammad Rafi Shaik <mohammad.rafi.shaik@oss.qualcomm.com>
Signed-off-by: Shawn Guo <shengchao.guo@oss.qualcomm.com>
---
arch/arm64/boot/dts/qcom/nord-embedded.dtsi | 30 ++++++
arch/arm64/boot/dts/qcom/nord-rrd.dts | 112 ++++++++++++++++++++
2 files changed, 142 insertions(+)
diff --git a/arch/arm64/boot/dts/qcom/nord-embedded.dtsi b/arch/arm64/boot/dts/qcom/nord-embedded.dtsi
index 84ce57a07361..1cd6e0e17345 100644
--- a/arch/arm64/boot/dts/qcom/nord-embedded.dtsi
+++ b/arch/arm64/boot/dts/qcom/nord-embedded.dtsi
@@ -1155,6 +1155,36 @@ nsp_data_noc_3: interconnect@1fe00000 {
};
&tlmm {
+ aud_intfc8_mi2s_active: aud-intfc8-mi2s-active-state {
+ data-pins {
+ pins = "gpio75", "gpio76";
+ function = "aud_intfc8_data";
+ drive-strength = <8>;
+ bias-disable;
+ };
+
+ sclk-pins {
+ pins = "gpio73";
+ function = "aud_intfc8_clk";
+ drive-strength = <8>;
+ bias-disable;
+ };
+
+ ws-pins {
+ pins = "gpio74";
+ function = "aud_intfc8_ws";
+ drive-strength = <8>;
+ bias-disable;
+ };
+ };
+
+ aud_mclk0_mira_active: aud-mclk0-mira-active-state {
+ pins = "gpio99";
+ function = "aud_mclk0_mira";
+ drive-strength = <8>;
+ bias-disable;
+ };
+
qup_i2c0_default: qup-i2c0-default-state {
pins = "gpio111", "gpio112";
function = "qup0_se0";
diff --git a/arch/arm64/boot/dts/qcom/nord-rrd.dts b/arch/arm64/boot/dts/qcom/nord-rrd.dts
index c2f870ac4234..8798f69d3967 100644
--- a/arch/arm64/boot/dts/qcom/nord-rrd.dts
+++ b/arch/arm64/boot/dts/qcom/nord-rrd.dts
@@ -8,6 +8,7 @@
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/interrupt-controller/irq.h>
#include <dt-bindings/regulator/qcom,rpmh-regulator.h>
+#include <dt-bindings/sound/qcom,q6afe.h>
#include "nord-embedded.dtsi"
#include "pmau0102-nord.dtsi"
@@ -70,6 +71,46 @@ vreg_hub_1p2: regulator-hub-1p2 {
regulator-max-microvolt = <1200000>;
regulator-always-on;
};
+
+ sound {
+ compatible = "qcom,nord-ride-sndcard";
+ model = "NORD-RRD";
+
+ pinctrl-0 = <&aud_intfc8_mi2s_active>, <&aud_mclk0_mira_active>;
+ pinctrl-names = "default";
+
+ aud-intfc8-mi2s-playback-dai-link {
+ link-name = "PCM1681 Playback";
+
+ codec {
+ sound-dai = <&pcm1681>;
+ };
+
+ cpu {
+ sound-dai = <&q6apmbedai TERTIARY_MI2S_RX>;
+ };
+
+ platform {
+ sound-dai = <&q6apm>;
+ };
+ };
+
+ aud-intfc8-mi2s-capture-dai-link {
+ link-name = "ADAU1979 Capture";
+
+ codec {
+ sound-dai = <&adau1979>;
+ };
+
+ cpu {
+ sound-dai = <&q6apmbedai TERTIARY_MI2S_TX>;
+ };
+
+ platform {
+ sound-dai = <&q6apm>;
+ };
+ };
+ };
};
&apps_rsc {
@@ -464,6 +505,60 @@ usb_0_con_ss: endpoint {
};
};
+&i2c18 {
+ clock-frequency = <400000>;
+
+ status = "okay";
+
+ expander0: gpio@20 {
+ compatible = "ti,tca6408";
+ reg = <0x20>;
+ #gpio-cells = <2>;
+ gpio-controller;
+ #interrupt-cells = <2>;
+ interrupt-controller;
+ interrupts-extended = <&pmau0102_l_gpios 6 IRQ_TYPE_LEVEL_LOW>;
+ reset-gpios = <&pmau0102_l_gpios 5 GPIO_ACTIVE_LOW>;
+
+ click-pop-mute-hog {
+ gpio-hog;
+ gpios = <5 GPIO_ACTIVE_HIGH>;
+ output-high;
+ line-name = "click-pop-mute-n";
+ };
+
+ dac-enable-hog {
+ gpio-hog;
+ gpios = <6 GPIO_ACTIVE_HIGH>;
+ output-high;
+ line-name = "dac_enable";
+ };
+ };
+
+ /* ADI ADAU1979 - 4-channel 24-bit ADC */
+ adau1979: adau1979@31 {
+ compatible = "adi,adau1979";
+ reg = <0x31>;
+
+ AVDD-supply = <&vreg_per_3p3>;
+ DVDD-supply = <&vreg_per_3p3>;
+ #sound-dai-cells = <0>;
+ };
+
+ /* PCM1681 DAC */
+ pcm1681: pcm1681@4c {
+ compatible = "ti,pcm1681";
+ reg = <0x4c>;
+
+ clocks = <&q6prmcc LPASS_CLK_ID_MCLK_1 LPASS_CLK_ATTRIBUTE_COUPLE_NO>;
+ clock-names = "sck";
+ assigned-clocks = <&q6prmcc LPASS_CLK_ID_MCLK_1 LPASS_CLK_ATTRIBUTE_COUPLE_NO>;
+ assigned-clock-rates = <12288000>;
+
+ #sound-dai-cells = <0>;
+ };
+};
+
&pmau0102_i_gpios {
usb_pd_int_default: usb-pd-int-state {
pins = "gpio8";
@@ -474,6 +569,23 @@ usb_pd_int_default: usb-pd-int-state {
};
};
+&q6apmbedai {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ dai@20 {
+ reg = <TERTIARY_MI2S_RX>;
+ clocks = <&q6prmcc LPASS_CLK_ID_QAIF_IF8_IBIT LPASS_CLK_ATTRIBUTE_COUPLE_NO>;
+ clock-names = "bclk";
+ };
+
+ dai@21 {
+ reg = <TERTIARY_MI2S_TX>;
+ clocks = <&q6prmcc LPASS_CLK_ID_QAIF_IF8_IBIT LPASS_CLK_ATTRIBUTE_COUPLE_NO>;
+ clock-names = "bclk";
+ };
+};
+
&qupv3_0 {
firmware-name = "qcom/nord/qupv3fw.elf";
--
2.43.0
^ permalink raw reply [flat|nested] 8+ messages in thread
* [PATCH 3/3] arm64: dts: qcom: nord-ride-embedded: Add sound support
2026-09-14 2:40 [PATCH 0/3] arm64: dts: qcom: Add audio support for Nord platform Shawn Guo
2026-09-14 2:40 ` [PATCH 1/3] arm64: dts: qcom: nord: Add gpr node Shawn Guo
2026-09-14 2:40 ` [PATCH 2/3] arm64: dts: qcom: nord-rrd: Add sound support Shawn Guo
@ 2026-09-14 2:40 ` Shawn Guo
2 siblings, 0 replies; 8+ messages in thread
From: Shawn Guo @ 2026-09-14 2:40 UTC (permalink / raw)
To: Bjorn Andersson
Cc: Konrad Dybcio, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
Bartosz Golaszewski, Mohammad Rafi Shaik, devicetree,
linux-arm-msm, linux-kernel, Shawn Guo
From: Mohammad Rafi Shaik <mohammad.rafi.shaik@oss.qualcomm.com>
Enable audio on the nord-ride-sx board. Add a soundcard node using
the qcom,nord-ride-sndcard compatible with two DAI links:
- PCM1681 playback over Tertiary MI2S RX
- ADAU1979 capture over Tertiary MI2S TX
Add PCM1681/ADAU1979 codec nodes on I2C18, with the PCM1681 system
clock supplied via MCLK0. The DAC control lines come off a TCA6408 I/O
expander on the same bus, so add that too and hog its dac_enable and
click-pop-mute-n outputs, both of which have to be asserted before the
DAC produces sound.
Assisted-by: LLM
Signed-off-by: Mohammad Rafi Shaik <mohammad.rafi.shaik@oss.qualcomm.com>
Signed-off-by: Shawn Guo <shengchao.guo@oss.qualcomm.com>
---
.../boot/dts/qcom/nord-ride-embedded.dts | 112 ++++++++++++++++++
1 file changed, 112 insertions(+)
diff --git a/arch/arm64/boot/dts/qcom/nord-ride-embedded.dts b/arch/arm64/boot/dts/qcom/nord-ride-embedded.dts
index f225c6d39b0a..0a201c19bfc0 100644
--- a/arch/arm64/boot/dts/qcom/nord-ride-embedded.dts
+++ b/arch/arm64/boot/dts/qcom/nord-ride-embedded.dts
@@ -8,6 +8,7 @@
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/interrupt-controller/irq.h>
#include <dt-bindings/regulator/qcom,rpmh-regulator.h>
+#include <dt-bindings/sound/qcom,q6afe.h>
#include "nord-embedded.dtsi"
#include "pmau0102-nord.dtsi"
@@ -72,6 +73,46 @@ regulator-usb2-vbus {
enable-active-high;
regulator-always-on;
};
+
+ sound {
+ compatible = "qcom,nord-ride-sndcard";
+ model = "NORD-RIDE-SX";
+
+ pinctrl-0 = <&aud_intfc8_mi2s_active>, <&aud_mclk0_mira_active>;
+ pinctrl-names = "default";
+
+ aud-intfc8-mi2s-playback-dai-link {
+ link-name = "PCM1681 Playback";
+
+ codec {
+ sound-dai = <&pcm1681>;
+ };
+
+ cpu {
+ sound-dai = <&q6apmbedai TERTIARY_MI2S_RX>;
+ };
+
+ platform {
+ sound-dai = <&q6apm>;
+ };
+ };
+
+ aud-intfc8-mi2s-capture-dai-link {
+ link-name = "ADAU1979 Capture";
+
+ codec {
+ sound-dai = <&adau1979>;
+ };
+
+ cpu {
+ sound-dai = <&q6apmbedai TERTIARY_MI2S_TX>;
+ };
+
+ platform {
+ sound-dai = <&q6apm>;
+ };
+ };
+ };
};
&apps_rsc {
@@ -490,6 +531,60 @@ usb_1_con_ss: endpoint {
};
};
+&i2c18 {
+ clock-frequency = <400000>;
+
+ status = "okay";
+
+ expander0: gpio@20 {
+ compatible = "ti,tca6408";
+ reg = <0x20>;
+ #gpio-cells = <2>;
+ gpio-controller;
+ #interrupt-cells = <2>;
+ interrupt-controller;
+ interrupts-extended = <&pmau0102_l_gpios 6 IRQ_TYPE_LEVEL_LOW>;
+ reset-gpios = <&pmau0102_l_gpios 5 GPIO_ACTIVE_LOW>;
+
+ click-pop-mute-hog {
+ gpio-hog;
+ gpios = <5 GPIO_ACTIVE_HIGH>;
+ output-high;
+ line-name = "click-pop-mute-n";
+ };
+
+ dac-enable-hog {
+ gpio-hog;
+ gpios = <6 GPIO_ACTIVE_HIGH>;
+ output-high;
+ line-name = "dac_enable";
+ };
+ };
+
+ /* ADI ADAU1979 - 4-channel 24-bit ADC */
+ adau1979: adau1979@31 {
+ compatible = "adi,adau1979";
+ reg = <0x31>;
+
+ AVDD-supply = <&vreg_per_3p3>;
+ DVDD-supply = <&vreg_per_3p3>;
+ #sound-dai-cells = <0>;
+ };
+
+ /* PCM1681 DAC */
+ pcm1681: pcm1681@4c {
+ compatible = "ti,pcm1681";
+ reg = <0x4c>;
+
+ clocks = <&q6prmcc LPASS_CLK_ID_MCLK_1 LPASS_CLK_ATTRIBUTE_COUPLE_NO>;
+ clock-names = "sck";
+ assigned-clocks = <&q6prmcc LPASS_CLK_ID_MCLK_1 LPASS_CLK_ATTRIBUTE_COUPLE_NO>;
+ assigned-clock-rates = <12288000>;
+
+ #sound-dai-cells = <0>;
+ };
+};
+
&pmau0102_i_gpios {
usb_pd_int_default: usb-pd-int-state {
pins = "gpio8";
@@ -500,6 +595,23 @@ usb_pd_int_default: usb-pd-int-state {
};
};
+&q6apmbedai {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ dai@20 {
+ reg = <TERTIARY_MI2S_RX>;
+ clocks = <&q6prmcc LPASS_CLK_ID_QAIF_IF8_IBIT LPASS_CLK_ATTRIBUTE_COUPLE_NO>;
+ clock-names = "bclk";
+ };
+
+ dai@21 {
+ reg = <TERTIARY_MI2S_TX>;
+ clocks = <&q6prmcc LPASS_CLK_ID_QAIF_IF8_IBIT LPASS_CLK_ATTRIBUTE_COUPLE_NO>;
+ clock-names = "bclk";
+ };
+};
+
&qupv3_0 {
firmware-name = "qcom/nord/qupv3fw.elf";
--
2.43.0
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH 1/3] arm64: dts: qcom: nord: Add gpr node
2026-09-14 2:40 ` [PATCH 1/3] arm64: dts: qcom: nord: Add gpr node Shawn Guo
@ 2026-09-14 9:00 ` Konrad Dybcio
2026-09-16 6:53 ` Shawn Guo
0 siblings, 1 reply; 8+ messages in thread
From: Konrad Dybcio @ 2026-09-14 9:00 UTC (permalink / raw)
To: Shawn Guo, Bjorn Andersson
Cc: Konrad Dybcio, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
Bartosz Golaszewski, Mohammad Rafi Shaik, devicetree,
linux-arm-msm, linux-kernel
On 9/14/26 4:40 AM, Shawn Guo wrote:
> From: Mohammad Rafi Shaik <mohammad.rafi.shaik@oss.qualcomm.com>
>
> Add the GPR (Generic Packet Router) node to the nord SoC DTSI along
> with the APM (Audio Process Manager) and PRM (Proxy Resource Manager)
> audio services. These nodes are required by the Q6APM audio stack to
> route audio packets between the application processor and the DSP.
[...]
> + gpr {
> + compatible = "qcom,gpr";
> + qcom,glink-channels = "adsp_apps";
> + qcom,domain = <GPR_DOMAIN_ID_ADSP>;
> + qcom,intents = <512 20>;
> + #address-cells = <1>;
> + #size-cells = <0>;
> +
> + q6apm: service@1 {
> + compatible = "qcom,q6apm";
> + reg = <GPR_APM_MODULE_IID>;
> + #sound-dai-cells = <0>;
> +
> + q6apmbedai: bedais {
> + compatible = "qcom,q6apm-lpass-dais";
> + #sound-dai-cells = <1>;
> + };
> +
> + q6apmdai: dais {
> + compatible = "qcom,q6apm-dais";
> + iommus = <&apps_smmu_0 0x09E1 0x0400>;
Please consistently use lowercase hex
Konrad
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH 2/3] arm64: dts: qcom: nord-rrd: Add sound support
2026-09-14 2:40 ` [PATCH 2/3] arm64: dts: qcom: nord-rrd: Add sound support Shawn Guo
@ 2026-09-14 9:01 ` Konrad Dybcio
2026-09-16 9:09 ` Shawn Guo
0 siblings, 1 reply; 8+ messages in thread
From: Konrad Dybcio @ 2026-09-14 9:01 UTC (permalink / raw)
To: Shawn Guo, Bjorn Andersson
Cc: Konrad Dybcio, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
Bartosz Golaszewski, Mohammad Rafi Shaik, devicetree,
linux-arm-msm, linux-kernel
On 9/14/26 4:40 AM, Shawn Guo wrote:
> From: Mohammad Rafi Shaik <mohammad.rafi.shaik@oss.qualcomm.com>
>
> Enable audio on the nord RRD board. Add a soundcard node using the
> qcom,nord-ride-sndcard compatible with two DAI links:
>
> - PCM1681 playback over Tertiary MI2S RX
> - ADAU1979 capture over Tertiary MI2S TX
>
> Add MI2S pin mux states (data, SCLK, WS on GPIO 73-76) and the MCLK0
> pin state (GPIO 99) to nord-embedded.dtsi so they can be shared with
> other nord board variants.
>
> Add PCM1681/ADAU1979 codec nodes on I2C18, with the PCM1681 system
> clock supplied via MCLK0. The DAC control lines come off a TCA6408 I/O
> expander on the same bus, so add that too and hog its dac_enable and
> click-pop-mute-n outputs, both of which have to be asserted before the
> DAC produces sound.
Sounds like something a driver should ensure?
Konrad
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH 1/3] arm64: dts: qcom: nord: Add gpr node
2026-09-14 9:00 ` Konrad Dybcio
@ 2026-09-16 6:53 ` Shawn Guo
0 siblings, 0 replies; 8+ messages in thread
From: Shawn Guo @ 2026-09-16 6:53 UTC (permalink / raw)
To: Konrad Dybcio
Cc: Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, Bartosz Golaszewski, Mohammad Rafi Shaik,
devicetree, linux-arm-msm, linux-kernel
On Mon, Sep 14, 2026 at 11:00:11AM +0200, Konrad Dybcio wrote:
> On 9/14/26 4:40 AM, Shawn Guo wrote:
> > From: Mohammad Rafi Shaik <mohammad.rafi.shaik@oss.qualcomm.com>
> >
> > Add the GPR (Generic Packet Router) node to the nord SoC DTSI along
> > with the APM (Audio Process Manager) and PRM (Proxy Resource Manager)
> > audio services. These nodes are required by the Q6APM audio stack to
> > route audio packets between the application processor and the DSP.
>
> [...]
>
> > + gpr {
> > + compatible = "qcom,gpr";
> > + qcom,glink-channels = "adsp_apps";
> > + qcom,domain = <GPR_DOMAIN_ID_ADSP>;
> > + qcom,intents = <512 20>;
> > + #address-cells = <1>;
> > + #size-cells = <0>;
> > +
> > + q6apm: service@1 {
> > + compatible = "qcom,q6apm";
> > + reg = <GPR_APM_MODULE_IID>;
> > + #sound-dai-cells = <0>;
> > +
> > + q6apmbedai: bedais {
> > + compatible = "qcom,q6apm-lpass-dais";
> > + #sound-dai-cells = <1>;
> > + };
> > +
> > + q6apmdai: dais {
> > + compatible = "qcom,q6apm-dais";
> > + iommus = <&apps_smmu_0 0x09E1 0x0400>;
>
> Please consistently use lowercase hex
Good catch! Will fix.
Shawn
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH 2/3] arm64: dts: qcom: nord-rrd: Add sound support
2026-09-14 9:01 ` Konrad Dybcio
@ 2026-09-16 9:09 ` Shawn Guo
0 siblings, 0 replies; 8+ messages in thread
From: Shawn Guo @ 2026-09-16 9:09 UTC (permalink / raw)
To: Konrad Dybcio
Cc: Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, Bartosz Golaszewski, Mohammad Rafi Shaik,
devicetree, linux-arm-msm, linux-kernel
On Mon, Sep 14, 2026 at 11:01:36AM +0200, Konrad Dybcio wrote:
> On 9/14/26 4:40 AM, Shawn Guo wrote:
> > From: Mohammad Rafi Shaik <mohammad.rafi.shaik@oss.qualcomm.com>
> >
> > Enable audio on the nord RRD board. Add a soundcard node using the
> > qcom,nord-ride-sndcard compatible with two DAI links:
> >
> > - PCM1681 playback over Tertiary MI2S RX
> > - ADAU1979 capture over Tertiary MI2S TX
> >
> > Add MI2S pin mux states (data, SCLK, WS on GPIO 73-76) and the MCLK0
> > pin state (GPIO 99) to nord-embedded.dtsi so they can be shared with
> > other nord board variants.
> >
> > Add PCM1681/ADAU1979 codec nodes on I2C18, with the PCM1681 system
> > clock supplied via MCLK0. The DAC control lines come off a TCA6408 I/O
> > expander on the same bus, so add that too and hog its dac_enable and
> > click-pop-mute-n outputs, both of which have to be asserted before the
> > DAC produces sound.
>
> Sounds like something a driver should ensure?
You are absolutely right! We will try to control them from pcm1681 and
simple-audio-amplifier driver.
Shawn
^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2026-09-16 9:10 UTC | newest]
Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-09-14 2:40 [PATCH 0/3] arm64: dts: qcom: Add audio support for Nord platform Shawn Guo
2026-09-14 2:40 ` [PATCH 1/3] arm64: dts: qcom: nord: Add gpr node Shawn Guo
2026-09-14 9:00 ` Konrad Dybcio
2026-09-16 6:53 ` Shawn Guo
2026-09-14 2:40 ` [PATCH 2/3] arm64: dts: qcom: nord-rrd: Add sound support Shawn Guo
2026-09-14 9:01 ` Konrad Dybcio
2026-09-16 9:09 ` Shawn Guo
2026-09-14 2:40 ` [PATCH 3/3] arm64: dts: qcom: nord-ride-embedded: " Shawn Guo
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®