linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 1/2] arm64: dts: imx8mp-evk: Add HDMI audio sound card support
@ 2024-02-23  8:02 Shengjiu Wang
  2024-02-23  8:02 ` [PATCH 2/2] arm64: dts: imx8mp-evk:Add PDM micphone " Shengjiu Wang
  2024-02-23  9:06 ` [PATCH 1/2] arm64: dts: imx8mp-evk: Add HDMI audio " Alexander Stein
  0 siblings, 2 replies; 4+ messages in thread
From: Shengjiu Wang @ 2024-02-23  8:02 UTC (permalink / raw)
  To: robh+dt, krzysztof.kozlowski+dt, conor+dt, shawnguo, s.hauer,
	kernel, festevam, linux-imx, devicetree, linux-arm-kernel,
	linux-kernel, 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 <shengjiu.wang@nxp.com>
---
 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


^ permalink raw reply related	[flat|nested] 4+ messages in thread

* [PATCH 2/2] arm64: dts: imx8mp-evk:Add PDM micphone sound card support
  2024-02-23  8:02 [PATCH 1/2] arm64: dts: imx8mp-evk: Add HDMI audio sound card support Shengjiu Wang
@ 2024-02-23  8:02 ` Shengjiu Wang
  2024-02-23  9:06 ` [PATCH 1/2] arm64: dts: imx8mp-evk: Add HDMI audio " Alexander Stein
  1 sibling, 0 replies; 4+ messages in thread
From: Shengjiu Wang @ 2024-02-23  8:02 UTC (permalink / raw)
  To: robh+dt, krzysztof.kozlowski+dt, conor+dt, shawnguo, s.hauer,
	kernel, festevam, linux-imx, devicetree, linux-arm-kernel,
	linux-kernel, shengjiu.wang

Add PDM micphone sound card support, configure the pinmux.

This sound card supports recording sound from PDM micphone
and convert the PDM format data to PCM data.

Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com>
---
 arch/arm64/boot/dts/freescale/imx8mp-evk.dts | 34 ++++++++++++++++++++
 1 file changed, 34 insertions(+)

diff --git a/arch/arm64/boot/dts/freescale/imx8mp-evk.dts b/arch/arm64/boot/dts/freescale/imx8mp-evk.dts
index 63f6e72fa18a..fdcd1158a34a 100644
--- a/arch/arm64/boot/dts/freescale/imx8mp-evk.dts
+++ b/arch/arm64/boot/dts/freescale/imx8mp-evk.dts
@@ -146,6 +146,20 @@ sound-hdmi {
 		status = "okay";
 	};
 
+	sound-micfil {
+		compatible = "fsl,imx-audio-card";
+		model = "micfil-audio";
+
+		pri-dai-link {
+			link-name = "micfil hifi";
+			format = "i2s";
+
+			cpu {
+				sound-dai = <&micfil>;
+			};
+		};
+	};
+
 	reserved-memory {
 		#address-cells = <2>;
 		#size-cells = <2>;
@@ -527,6 +541,16 @@ &lcdif1 {
 	status = "okay";
 };
 
+&micfil {
+	#sound-dai-cells = <0>;
+	pinctrl-names = "default";
+	pinctrl-0 = <&pinctrl_pdm>;
+	assigned-clocks = <&clk IMX8MP_CLK_PDM>;
+	assigned-clock-parents = <&clk IMX8MP_AUDIO_PLL1_OUT>;
+	assigned-clock-rates = <196608000>;
+	status = "okay";
+};
+
 &mipi_dsi {
 	samsung,esc-clock-frequency = <10000000>;
 	status = "okay";
@@ -793,6 +817,16 @@ MX8MP_IOMUXC_SD1_DATA4__GPIO2_IO06	0x40
 		>;
 	};
 
+	pinctrl_pdm: pdmgrp {
+		fsl,pins = <
+			MX8MP_IOMUXC_SAI5_RXC__AUDIOMIX_PDM_CLK		0xd6
+			MX8MP_IOMUXC_SAI5_RXD0__AUDIOMIX_PDM_BIT_STREAM00	0xd6
+			MX8MP_IOMUXC_SAI5_RXD1__AUDIOMIX_PDM_BIT_STREAM01	0xd6
+			MX8MP_IOMUXC_SAI5_RXD2__AUDIOMIX_PDM_BIT_STREAM02	0xd6
+			MX8MP_IOMUXC_SAI5_RXD3__AUDIOMIX_PDM_BIT_STREAM03	0xd6
+		>;
+	};
+
 	pinctrl_pmic: pmicgrp {
 		fsl,pins = <
 			MX8MP_IOMUXC_GPIO1_IO03__GPIO1_IO03	0x000001c0
-- 
2.34.1


^ permalink raw reply related	[flat|nested] 4+ messages in thread

* Re: [PATCH 1/2] arm64: dts: imx8mp-evk: Add HDMI audio sound card support
  2024-02-23  8:02 [PATCH 1/2] arm64: dts: imx8mp-evk: Add HDMI audio sound card support Shengjiu Wang
  2024-02-23  8:02 ` [PATCH 2/2] arm64: dts: imx8mp-evk:Add PDM micphone " Shengjiu Wang
@ 2024-02-23  9:06 ` Alexander Stein
  2024-02-26  3:06   ` Shengjiu Wang
  1 sibling, 1 reply; 4+ messages in thread
From: Alexander Stein @ 2024-02-23  9:06 UTC (permalink / raw)
  To: robh+dt, krzysztof.kozlowski+dt, conor+dt, shawnguo, s.hauer,
	kernel, festevam, linux-imx, devicetree, linux-arm-kernel,
	linux-kernel, shengjiu.wang
  Cc: Shengjiu Wang

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 <shengjiu.wang@nxp.com>
> ---
>  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/



^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH 1/2] arm64: dts: imx8mp-evk: Add HDMI audio sound card support
  2024-02-23  9:06 ` [PATCH 1/2] arm64: dts: imx8mp-evk: Add HDMI audio " Alexander Stein
@ 2024-02-26  3:06   ` Shengjiu Wang
  0 siblings, 0 replies; 4+ messages in thread
From: Shengjiu Wang @ 2024-02-26  3:06 UTC (permalink / raw)
  To: Alexander Stein
  Cc: robh+dt, krzysztof.kozlowski+dt, conor+dt, shawnguo, s.hauer,
	kernel, festevam, linux-imx, devicetree, linux-arm-kernel,
	linux-kernel, Shengjiu Wang

On Fri, Feb 23, 2024 at 5:06 PM Alexander Stein
<alexander.stein@ew.tq-group.com> 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 <shengjiu.wang@nxp.com>
> > ---
> >  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/
>
>

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2024-02-26  3:06 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-02-23  8:02 [PATCH 1/2] arm64: dts: imx8mp-evk: Add HDMI audio sound card support Shengjiu Wang
2024-02-23  8:02 ` [PATCH 2/2] arm64: dts: imx8mp-evk:Add PDM micphone " Shengjiu Wang
2024-02-23  9:06 ` [PATCH 1/2] arm64: dts: imx8mp-evk: Add HDMI audio " Alexander Stein
2024-02-26  3:06   ` Shengjiu Wang

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).