2024-02-23 08:25:49

by Shengjiu Wang

[permalink] [raw]
Subject: [PATCH 1/2] arm64: dts: imx8mp-evk: Add HDMI audio sound card support

The AUD2HTX is a digital module that provides a bridge between
the Audio Subsystem and the HDMI RTX Subsystem. This
module includes intermediate storage to queue SDMA transactions
prior to being synchronized and passed to the HDMI
RTX Subsystem over the Audio Link.

AUD2HTX works as the cpu dai in HDMI audio sound card.

Signed-off-by: Shengjiu Wang <[email protected]>
---
arch/arm64/boot/dts/freescale/imx8mp-evk.dts | 12 ++++++++++++
arch/arm64/boot/dts/freescale/imx8mp.dtsi | 10 ++++++++++
2 files changed, 22 insertions(+)

diff --git a/arch/arm64/boot/dts/freescale/imx8mp-evk.dts b/arch/arm64/boot/dts/freescale/imx8mp-evk.dts
index f87fa5a948cc..63f6e72fa18a 100644
--- a/arch/arm64/boot/dts/freescale/imx8mp-evk.dts
+++ b/arch/arm64/boot/dts/freescale/imx8mp-evk.dts
@@ -138,6 +138,14 @@ simple-audio-card,codec {

};

+ sound-hdmi {
+ compatible = "fsl,imx-audio-hdmi";
+ model = "audio-hdmi";
+ audio-cpu = <&aud2htx>;
+ hdmi-out;
+ status = "okay";
+ };
+
reserved-memory {
#address-cells = <2>;
#size-cells = <2>;
@@ -191,6 +199,10 @@ &A53_3 {
cpu-supply = <&reg_arm>;
};

+&aud2htx {
+ status = "okay";
+};
+
&eqos {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_eqos>;
diff --git a/arch/arm64/boot/dts/freescale/imx8mp.dtsi b/arch/arm64/boot/dts/freescale/imx8mp.dtsi
index 9ab9c057f41e..721ab630d895 100644
--- a/arch/arm64/boot/dts/freescale/imx8mp.dtsi
+++ b/arch/arm64/boot/dts/freescale/imx8mp.dtsi
@@ -1513,6 +1513,16 @@ micfil: audio-controller@30ca0000 {
status = "disabled";
};

+ aud2htx: aud2htx@30cb0000 {
+ compatible = "fsl,imx8mp-aud2htx";
+ reg = <0x30cb0000 0x10000>;
+ interrupts = <GIC_SPI 130 IRQ_TYPE_LEVEL_HIGH>;
+ clocks = <&audio_blk_ctrl IMX8MP_CLK_AUDIOMIX_AUD2HTX_IPG>;
+ clock-names = "bus";
+ dmas = <&sdma2 26 2 0>;
+ dma-names = "tx";
+ status = "disabled";
+ };
};

sdma3: dma-controller@30e00000 {
--
2.34.1



2024-02-23 09:06:56

by Alexander Stein

[permalink] [raw]
Subject: Re: [PATCH 1/2] arm64: dts: imx8mp-evk: Add HDMI audio sound card support

Hi,

thanks for the patch.

Am Freitag, 23. Februar 2024, 09:02:18 CET schrieb Shengjiu Wang:
> The AUD2HTX is a digital module that provides a bridge between
> the Audio Subsystem and the HDMI RTX Subsystem. This
> module includes intermediate storage to queue SDMA transactions
> prior to being synchronized and passed to the HDMI
> RTX Subsystem over the Audio Link.
>
> AUD2HTX works as the cpu dai in HDMI audio sound card.
>
> Signed-off-by: Shengjiu Wang <[email protected]>
> ---
> arch/arm64/boot/dts/freescale/imx8mp-evk.dts | 12 ++++++++++++
> arch/arm64/boot/dts/freescale/imx8mp.dtsi | 10 ++++++++++
> 2 files changed, 22 insertions(+)
>
> diff --git a/arch/arm64/boot/dts/freescale/imx8mp-evk.dts b/arch/arm64/boot/dts/freescale/imx8mp-evk.dts
> index f87fa5a948cc..63f6e72fa18a 100644
> --- a/arch/arm64/boot/dts/freescale/imx8mp-evk.dts
> +++ b/arch/arm64/boot/dts/freescale/imx8mp-evk.dts
> @@ -138,6 +138,14 @@ simple-audio-card,codec {
>
> };
>
> + sound-hdmi {
> + compatible = "fsl,imx-audio-hdmi";
> + model = "audio-hdmi";
> + audio-cpu = <&aud2htx>;
> + hdmi-out;
> + status = "okay";

No need for 'status' here.

Don't you need to configure the PAI as well? See [1]
for downstream implementation. I'm wondering because I had to hack something
similar. Without I got no HDMI audio.

Best regards,
Alexander

[1] https://github.com/Freescale/linux-fslc/blob/6.1-2.0.x-imx/drivers/gpu/drm/imx/imx8mp-hdmi-pavi.c#L51-L59

> + };
> +
> reserved-memory {
> #address-cells = <2>;
> #size-cells = <2>;
> @@ -191,6 +199,10 @@ &A53_3 {
> cpu-supply = <&reg_arm>;
> };
>
> +&aud2htx {
> + status = "okay";
> +};
> +
> &eqos {
> pinctrl-names = "default";
> pinctrl-0 = <&pinctrl_eqos>;
> diff --git a/arch/arm64/boot/dts/freescale/imx8mp.dtsi b/arch/arm64/boot/dts/freescale/imx8mp.dtsi
> index 9ab9c057f41e..721ab630d895 100644
> --- a/arch/arm64/boot/dts/freescale/imx8mp.dtsi
> +++ b/arch/arm64/boot/dts/freescale/imx8mp.dtsi
> @@ -1513,6 +1513,16 @@ micfil: audio-controller@30ca0000 {
> status = "disabled";
> };
>
> + aud2htx: aud2htx@30cb0000 {
> + compatible = "fsl,imx8mp-aud2htx";
> + reg = <0x30cb0000 0x10000>;
> + interrupts = <GIC_SPI 130 IRQ_TYPE_LEVEL_HIGH>;
> + clocks = <&audio_blk_ctrl IMX8MP_CLK_AUDIOMIX_AUD2HTX_IPG>;
> + clock-names = "bus";
> + dmas = <&sdma2 26 2 0>;
> + dma-names = "tx";
> + status = "disabled";
> + };
> };
>
> sdma3: dma-controller@30e00000 {
>


--
TQ-Systems GmbH | M?hlstra?e 2, Gut Delling | 82229 Seefeld, Germany
Amtsgericht M?nchen, HRB 105018
Gesch?ftsf?hrer: Detlef Schneider, R?diger Stahl, Stefan Schneider
http://www.tq-group.com/



2024-02-26 03:08:43

by Shengjiu Wang

[permalink] [raw]
Subject: Re: [PATCH 1/2] arm64: dts: imx8mp-evk: Add HDMI audio sound card support

On Fri, Feb 23, 2024 at 5:06 PM Alexander Stein
<[email protected]> wrote:
>
> Hi,
>
> thanks for the patch.
>
> Am Freitag, 23. Februar 2024, 09:02:18 CET schrieb Shengjiu Wang:
> > The AUD2HTX is a digital module that provides a bridge between
> > the Audio Subsystem and the HDMI RTX Subsystem. This
> > module includes intermediate storage to queue SDMA transactions
> > prior to being synchronized and passed to the HDMI
> > RTX Subsystem over the Audio Link.
> >
> > AUD2HTX works as the cpu dai in HDMI audio sound card.
> >
> > Signed-off-by: Shengjiu Wang <[email protected]>
> > ---
> > arch/arm64/boot/dts/freescale/imx8mp-evk.dts | 12 ++++++++++++
> > arch/arm64/boot/dts/freescale/imx8mp.dtsi | 10 ++++++++++
> > 2 files changed, 22 insertions(+)
> >
> > diff --git a/arch/arm64/boot/dts/freescale/imx8mp-evk.dts b/arch/arm64/boot/dts/freescale/imx8mp-evk.dts
> > index f87fa5a948cc..63f6e72fa18a 100644
> > --- a/arch/arm64/boot/dts/freescale/imx8mp-evk.dts
> > +++ b/arch/arm64/boot/dts/freescale/imx8mp-evk.dts
> > @@ -138,6 +138,14 @@ simple-audio-card,codec {
> >
> > };
> >
> > + sound-hdmi {
> > + compatible = "fsl,imx-audio-hdmi";
> > + model = "audio-hdmi";
> > + audio-cpu = <&aud2htx>;
> > + hdmi-out;
> > + status = "okay";
>
> No need for 'status' here.

ok, will remove it.

>
> Don't you need to configure the PAI as well? See [1]
> for downstream implementation. I'm wondering because I had to hack something
> similar. Without I got no HDMI audio.

Yes, the PAI part is needed.
But this commit is just for sound card dts update.

Best regards
Wang shengjiu

>
> Best regards,
> Alexander
>
> [1] https://github.com/Freescale/linux-fslc/blob/6.1-2.0.x-imx/drivers/gpu/drm/imx/imx8mp-hdmi-pavi.c#L51-L59
>
> > + };
> > +
> > reserved-memory {
> > #address-cells = <2>;
> > #size-cells = <2>;
> > @@ -191,6 +199,10 @@ &A53_3 {
> > cpu-supply = <&reg_arm>;
> > };
> >
> > +&aud2htx {
> > + status = "okay";
> > +};
> > +
> > &eqos {
> > pinctrl-names = "default";
> > pinctrl-0 = <&pinctrl_eqos>;
> > diff --git a/arch/arm64/boot/dts/freescale/imx8mp.dtsi b/arch/arm64/boot/dts/freescale/imx8mp.dtsi
> > index 9ab9c057f41e..721ab630d895 100644
> > --- a/arch/arm64/boot/dts/freescale/imx8mp.dtsi
> > +++ b/arch/arm64/boot/dts/freescale/imx8mp.dtsi
> > @@ -1513,6 +1513,16 @@ micfil: audio-controller@30ca0000 {
> > status = "disabled";
> > };
> >
> > + aud2htx: aud2htx@30cb0000 {
> > + compatible = "fsl,imx8mp-aud2htx";
> > + reg = <0x30cb0000 0x10000>;
> > + interrupts = <GIC_SPI 130 IRQ_TYPE_LEVEL_HIGH>;
> > + clocks = <&audio_blk_ctrl IMX8MP_CLK_AUDIOMIX_AUD2HTX_IPG>;
> > + clock-names = "bus";
> > + dmas = <&sdma2 26 2 0>;
> > + dma-names = "tx";
> > + status = "disabled";
> > + };
> > };
> >
> > sdma3: dma-controller@30e00000 {
> >
>
>
> --
> TQ-Systems GmbH | Mühlstraße 2, Gut Delling | 82229 Seefeld, Germany
> Amtsgericht München, HRB 105018
> Geschäftsführer: Detlef Schneider, Rüdiger Stahl, Stefan Schneider
> http://www.tq-group.com/
>
>