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

Shengjiu Wang shengjiu.wang at gmail.com
Wed Mar 11 23:54:24 PDT 2026


On Thu, Mar 12, 2026 at 2:40 PM Daniel Baluta <daniel.baluta at oss.nxp.com> wrote:
>
> On 3/12/26 05:49, Shengjiu Wang wrote:
> > Add audio device nodes, include SAI, MICFIL, ASRC, Audio Mixer.
> >
> > Signed-off-by: Shengjiu Wang <shengjiu.wang at nxp.com>
> > ---
> >  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 at 42c40000 {
> >                       };
> >               };
> >
> > +             aips5: bus at 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 at 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

>
>
> > +                             dma-names = "rxa", "rxb", "rxc",
> > +                                         "txa", "txb", "txc";
> > +                             #sound-dai-cells = <0>;
> > +                             fsl,asrc-rate  = <8000>;
> > +                             fsl,asrc-width = <16>;
> > +                             status = "disabled";
> > +                     };
>
>
> [...]
>
> > +                     sai3: sai at 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.
>
>
>
>



More information about the linux-arm-kernel mailing list