2024-02-28 03:46:07

by Shengjiu Wang

[permalink] [raw]
Subject: [PATCH v3 0/3] Add HDMI and PDM sound card for imx8mp-evk

Add HDMI and PDM sound card

changes in v3:
- split imx8mp and imx8mp-evk changes for HDMI audio.

changes in v2:
- remove 'status' in sound-hdmi

Shengjiu Wang (3):
arm64: dts: imx8mp: Add AUD2HTX device node
arm64: dts: imx8mp-evk: Add HDMI audio sound card support
arm64: dts: imx8mp-evk: Add PDM micphone sound card support

arch/arm64/boot/dts/freescale/imx8mp-evk.dts | 45 ++++++++++++++++++++
arch/arm64/boot/dts/freescale/imx8mp.dtsi | 10 +++++
2 files changed, 55 insertions(+)

--
2.34.1



2024-02-28 03:46:17

by Shengjiu Wang

[permalink] [raw]
Subject: [PATCH v3 1/3] arm64: dts: imx8mp: Add AUD2HTX device node

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.

Signed-off-by: Shengjiu Wang <[email protected]>
Reviewed-by: Alexander Stein <[email protected]>
---
arch/arm64/boot/dts/freescale/imx8mp.dtsi | 10 ++++++++++
1 file changed, 10 insertions(+)

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-28 03:46:27

by Shengjiu Wang

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

AUD2HTX works as the cpu dai in HDMI audio sound card.
This sound card only support playback/output.

Signed-off-by: Shengjiu Wang <[email protected]>
Acked-by: Alexander Stein <[email protected]>
---
arch/arm64/boot/dts/freescale/imx8mp-evk.dts | 11 +++++++++++
1 file changed, 11 insertions(+)

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

};

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

+&aud2htx {
+ status = "okay";
+};
+
&eqos {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_eqos>;
--
2.34.1


2024-02-28 03:48:28

by Shengjiu Wang

[permalink] [raw]
Subject: [PATCH v3 3/3] arm64: dts: imx8mp-evk: Add PDM micphone sound card support

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 <[email protected]>
---
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 0fc6c0d21cd6..97a3198f2b59 100644
--- a/arch/arm64/boot/dts/freescale/imx8mp-evk.dts
+++ b/arch/arm64/boot/dts/freescale/imx8mp-evk.dts
@@ -145,6 +145,20 @@ sound-hdmi {
hdmi-out;
};

+ 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>;
@@ -526,6 +540,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";
@@ -792,6 +816,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


2024-03-29 03:24:23

by Shawn Guo

[permalink] [raw]
Subject: Re: [PATCH v3 0/3] Add HDMI and PDM sound card for imx8mp-evk

On Wed, Feb 28, 2024 at 11:30:10AM +0800, Shengjiu Wang wrote:
> Add HDMI and PDM sound card
>
> changes in v3:
> - split imx8mp and imx8mp-evk changes for HDMI audio.
>
> changes in v2:
> - remove 'status' in sound-hdmi
>
> Shengjiu Wang (3):
> arm64: dts: imx8mp: Add AUD2HTX device node
> arm64: dts: imx8mp-evk: Add HDMI audio sound card support
> arm64: dts: imx8mp-evk: Add PDM micphone sound card support

Applied all, thanks!