Thread (14 messages) 14 messages, 4 authors, 2026-03-12

Re: [PATCH 1/4] arm64: dts: imx952: Add audio device nodes

From: Shengjiu Wang <shengjiu.wang@gmail.com>
Date: 2026-03-12 06:54:42
Also in: imx, linux-devicetree, lkml

On Thu, Mar 12, 2026 at 2:40 PM Daniel Baluta [off-list ref] wrote:
On 3/12/26 05:49, Shengjiu Wang wrote:
quoted
Add audio device nodes, include SAI, MICFIL, ASRC, Audio Mixer.

Signed-off-by: Shengjiu Wang <redacted>
---
 arch/arm64/boot/dts/freescale/imx952.dtsi | 199 ++++++++++++++++++++++
 1 file changed, 199 insertions(+)
diff --git a/arch/arm64/boot/dts/freescale/imx952.dtsi b/arch/arm64/boot/dts/freescale/imx952.dtsi
index 0f86b5626cdd..5787c12e788f 100644
--- a/arch/arm64/boot/dts/freescale/imx952.dtsi
+++ b/arch/arm64/boot/dts/freescale/imx952.dtsi
@@ -823,6 +823,156 @@ usdhc3: mmc@42c40000 {
                      };
              };

+             aips5: bus@43000000 {
+                     compatible = "fsl,aips-bus", "simple-bus";
+                     reg = <0 0x43000000 0 0x800000>;
+                     #address-cells = <1>;
+                     #size-cells = <1>;
+                     ranges = <0x43000000 0x0 0x43000000 0x800000>;
+
+                     asrc1: asrc@43000000 {
+                             compatible = "fsl,imx952-asrc";
+                             reg = <0x43000000 0x10000>;
+                             interrupts = <GIC_SPI 376 IRQ_TYPE_LEVEL_HIGH>;
+                             clocks = <&scmi_clk IMX952_CLK_BUSWAKEUP>,
+                                      <&scmi_clk IMX952_CLK_BUSWAKEUP>,
+                                      <&scmi_clk IMX952_CLK_ASRC1>,
+                                      <&scmi_clk IMX952_CLK_ASRC2>,
+                                      <&clk_dummy>,
+                                      <&clk_dummy>,
+                                      <&clk_dummy>,
+                                      <&clk_dummy>,
+                                      <&clk_dummy>,
+                                      <&clk_dummy>,
+                                      <&clk_dummy>,
+                                      <&clk_dummy>,
+                                      <&clk_dummy>,
+                                      <&clk_dummy>,
+                                      <&clk_dummy>,
+                                      <&clk_dummy>,
+                                      <&clk_dummy>,
+                                      <&clk_dummy>,
+                                      <&clk_dummy>;
+                             clock-names = "mem", "ipg",
+                                           "asrck_0", "asrck_1", "asrck_2", "asrck_3",
+                                           "asrck_4", "asrck_5", "asrck_6", "asrck_7",
+                                           "asrck_8", "asrck_9", "asrck_a", "asrck_b",
+                                           "asrck_c", "asrck_d", "asrck_e", "asrck_f",
+                                           "spba";
+                             dmas = <&edma2 97 0 0>, <&edma2 98 0 0>, <&edma2 99 0 0>,
+                                    <&edma2 100 0 1>, <&edma2 101 0 1>, <&edma2 102 0 1>;
For consistency we should use symbolic macros for directions like you did below.
Use FSL_EDMA_RX for rx direction and also introduce FSL_EDMA_TX for tx direction.
Yes, should use FSL_EDMA_RX.

But introduce FSL_EDMA_TX, it should be zero,  FSL_EDMA_TX = 0.
is it necessary to add it in include/dt-bindings/dma/fsl-edma.h?

Best regards
Shengjiu Wang
quoted
+                             dma-names = "rxa", "rxb", "rxc",
+                                         "txa", "txb", "txc";
+                             #sound-dai-cells = <0>;
+                             fsl,asrc-rate  = <8000>;
+                             fsl,asrc-width = <16>;
+                             status = "disabled";
+                     };

[...]
quoted
+                     sai3: sai@433e0000 {
+                             compatible = "fsl,imx952-sai", "fsl,imx95-sai";
+                             reg = <0x433e0000 0x10000>;
+                             interrupts = <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>;
+                             clocks = <&scmi_clk IMX952_CLK_BUSWAKEUP>, <&clk_dummy>,
+                                      <&scmi_clk IMX952_CLK_SAI3>, <&clk_dummy>,
+                                      <&clk_dummy>;
+                             clock-names = "bus", "mclk0", "mclk1", "mclk2", "mclk3";
+                             dmas = <&edma2 61 0 FSL_EDMA_RX>, <&edma2 60 0 0>;
As I said we should introduce FSL_EDMA_TX and this will read as:

dmas = <&edma2 61 0 FSL_EDMA_RX>, <&edma2 60 0 FSL_EDMA_TX>;

Otherwise, looks good to me.


  
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help