* [PATCH v2 0/3] arm64: dts: imx93-9x9-qsb: Add sound card support
@ 2024-09-12 1:59 Shengjiu Wang
2024-09-12 1:59 ` [PATCH v2 1/3] arm64: dts: imx93-9x9-qsb: Enable sound-wm8962 sound card Shengjiu Wang
` (2 more replies)
0 siblings, 3 replies; 9+ messages in thread
From: Shengjiu Wang @ 2024-09-12 1:59 UTC (permalink / raw)
To: robh, krzk+dt, conor+dt, shawnguo, s.hauer, kernel, festevam,
devicetree, imx, linux-arm-kernel, linux-kernel, shengjiu.wang
Add sound card support:
wm8962 sound card, bt-sco sound card, pdm microphone.
changes in v2:
- sort by node name
Shengjiu Wang (3):
arm64: dts: imx93-9x9-qsb: Enable sound-wm8962 sound card
arm64: dts: imx93-9x9-qsb: add bt-sco sound card support
arm64: dts: imx93-9x9-qsb: Add PDM microphone sound card support
.../boot/dts/freescale/imx93-9x9-qsb.dts | 154 ++++++++++++++++++
1 file changed, 154 insertions(+)
--
2.34.1
^ permalink raw reply [flat|nested] 9+ messages in thread
* [PATCH v2 1/3] arm64: dts: imx93-9x9-qsb: Enable sound-wm8962 sound card
2024-09-12 1:59 [PATCH v2 0/3] arm64: dts: imx93-9x9-qsb: Add sound card support Shengjiu Wang
@ 2024-09-12 1:59 ` Shengjiu Wang
2024-09-12 3:28 ` Frank Li
2024-10-16 8:01 ` Shawn Guo
2024-09-12 1:59 ` [PATCH v2 2/3] arm64: dts: imx93-9x9-qsb: add bt-sco sound card support Shengjiu Wang
2024-09-12 1:59 ` [PATCH v2 3/3] arm64: dts: imx93-9x9-qsb: Add PDM microphone " Shengjiu Wang
2 siblings, 2 replies; 9+ messages in thread
From: Shengjiu Wang @ 2024-09-12 1:59 UTC (permalink / raw)
To: robh, krzk+dt, conor+dt, shawnguo, s.hauer, kernel, festevam,
devicetree, imx, linux-arm-kernel, linux-kernel, shengjiu.wang
Add wm8962 sound card which connects to sai3. The connection
of SAI3 and wm8962 is controlled by PCAL6524HEAZ module, add
gpio-hog for it.
Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com>
---
.../boot/dts/freescale/imx93-9x9-qsb.dts | 74 +++++++++++++++++++
1 file changed, 74 insertions(+)
diff --git a/arch/arm64/boot/dts/freescale/imx93-9x9-qsb.dts b/arch/arm64/boot/dts/freescale/imx93-9x9-qsb.dts
index f8a73612fa05..10f3366b8253 100644
--- a/arch/arm64/boot/dts/freescale/imx93-9x9-qsb.dts
+++ b/arch/arm64/boot/dts/freescale/imx93-9x9-qsb.dts
@@ -68,6 +68,15 @@ reg_vref_1v8: regulator-adc-vref {
regulator-max-microvolt = <1800000>;
};
+ reg_audio_pwr: regulator-audio-pwr {
+ compatible = "regulator-fixed";
+ regulator-name = "audio-pwr";
+ regulator-min-microvolt = <3300000>;
+ regulator-max-microvolt = <3300000>;
+ gpio = <&pcal6524 16 GPIO_ACTIVE_HIGH>;
+ enable-active-high;
+ };
+
reg_rpi_3v3: regulator-rpi {
compatible = "regulator-fixed";
regulator-name = "VDD_RPI_3V3";
@@ -88,6 +97,22 @@ reg_usdhc2_vmmc: regulator-usdhc2 {
enable-active-high;
off-on-delay-us = <12000>;
};
+
+ sound-wm8962 {
+ compatible = "fsl,imx-audio-wm8962";
+ model = "wm8962-audio";
+ audio-cpu = <&sai3>;
+ audio-codec = <&wm8962>;
+ hp-det-gpio = <&pcal6524 4 GPIO_ACTIVE_HIGH>;
+ audio-routing =
+ "Headphone Jack", "HPOUTL",
+ "Headphone Jack", "HPOUTR",
+ "Ext Spk", "SPKOUTL",
+ "Ext Spk", "SPKOUTR",
+ "AMIC", "MICBIAS",
+ "IN3R", "AMIC",
+ "IN1R", "AMIC";
+ };
};
&adc1 {
@@ -136,6 +161,28 @@ &lpi2c1 {
pinctrl-0 = <&pinctrl_lpi2c1>;
status = "okay";
+ wm8962: codec@1a {
+ compatible = "wlf,wm8962";
+ reg = <0x1a>;
+ clocks = <&clk IMX93_CLK_SAI3_GATE>;
+ DCVDD-supply = <®_audio_pwr>;
+ DBVDD-supply = <®_audio_pwr>;
+ AVDD-supply = <®_audio_pwr>;
+ CPVDD-supply = <®_audio_pwr>;
+ MICVDD-supply = <®_audio_pwr>;
+ PLLVDD-supply = <®_audio_pwr>;
+ SPKVDD1-supply = <®_audio_pwr>;
+ SPKVDD2-supply = <®_audio_pwr>;
+ gpio-cfg = <
+ 0x0000 /* 0:Default */
+ 0x0000 /* 1:Default */
+ 0x0000 /* 2:FN_DMICCLK */
+ 0x0000 /* 3:Default */
+ 0x0000 /* 4:FN_DMICCDAT */
+ 0x0000 /* 5:Default */
+ >;
+ };
+
ptn5110: tcpc@50 {
compatible = "nxp,ptn5110", "tcpci";
reg = <0x50>;
@@ -194,6 +241,12 @@ pcal6524: gpio@22 {
interrupts = <26 IRQ_TYPE_LEVEL_LOW>;
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_pcal6524>;
+
+ exp-sel-hog {
+ gpio-hog;
+ gpios = <22 GPIO_ACTIVE_HIGH>;
+ output-low;
+ };
};
pmic@25 {
@@ -286,6 +339,17 @@ &mu2 {
status = "okay";
};
+&sai3 {
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_sai3>;
+ assigned-clocks = <&clk IMX93_CLK_SAI3>;
+ assigned-clock-parents = <&clk IMX93_CLK_AUDIO_PLL>;
+ assigned-clock-rates = <12288000>;
+ fsl,sai-mclk-direction-output;
+ fsl,sai-synchronous-rx;
+ status = "okay";
+};
+
&usbotg1 {
dr_mode = "otg";
hnp-disable;
@@ -443,6 +507,16 @@ MX93_PAD_SD2_RESET_B__GPIO3_IO07 0x31e
>;
};
+ pinctrl_sai3: sai3grp {
+ fsl,pins = <
+ MX93_PAD_GPIO_IO12__SAI3_RX_SYNC 0x31e
+ MX93_PAD_GPIO_IO18__SAI3_RX_BCLK 0x31e
+ MX93_PAD_GPIO_IO17__SAI3_MCLK 0x31e
+ MX93_PAD_GPIO_IO19__SAI3_TX_DATA00 0x31e
+ MX93_PAD_GPIO_IO20__SAI3_RX_DATA00 0x31e
+ >;
+ };
+
pinctrl_usdhc2_gpio: usdhc2gpiogrp {
fsl,pins = <
MX93_PAD_SD2_CD_B__GPIO3_IO00 0x31e
--
2.34.1
^ permalink raw reply related [flat|nested] 9+ messages in thread
* [PATCH v2 2/3] arm64: dts: imx93-9x9-qsb: add bt-sco sound card support
2024-09-12 1:59 [PATCH v2 0/3] arm64: dts: imx93-9x9-qsb: Add sound card support Shengjiu Wang
2024-09-12 1:59 ` [PATCH v2 1/3] arm64: dts: imx93-9x9-qsb: Enable sound-wm8962 sound card Shengjiu Wang
@ 2024-09-12 1:59 ` Shengjiu Wang
2024-09-12 3:29 ` Frank Li
2024-09-12 1:59 ` [PATCH v2 3/3] arm64: dts: imx93-9x9-qsb: Add PDM microphone " Shengjiu Wang
2 siblings, 1 reply; 9+ messages in thread
From: Shengjiu Wang @ 2024-09-12 1:59 UTC (permalink / raw)
To: robh, krzk+dt, conor+dt, shawnguo, s.hauer, kernel, festevam,
devicetree, imx, linux-arm-kernel, linux-kernel, shengjiu.wang
Add bt-sco sound card, which is used by BT HFP case.
It supports wb profile as default
Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com>
---
.../boot/dts/freescale/imx93-9x9-qsb.dts | 43 +++++++++++++++++++
1 file changed, 43 insertions(+)
diff --git a/arch/arm64/boot/dts/freescale/imx93-9x9-qsb.dts b/arch/arm64/boot/dts/freescale/imx93-9x9-qsb.dts
index 10f3366b8253..f44300225656 100644
--- a/arch/arm64/boot/dts/freescale/imx93-9x9-qsb.dts
+++ b/arch/arm64/boot/dts/freescale/imx93-9x9-qsb.dts
@@ -12,6 +12,11 @@ / {
model = "NXP i.MX93 9x9 Quick Start Board";
compatible = "fsl,imx93-9x9-qsb", "fsl,imx93";
+ bt_sco_codec: bt-sco-codec {
+ #sound-dai-cells = <1>;
+ compatible = "linux,bt-sco";
+ };
+
chosen {
stdout-path = &lpuart1;
};
@@ -98,6 +103,25 @@ reg_usdhc2_vmmc: regulator-usdhc2 {
off-on-delay-us = <12000>;
};
+ sound-bt-sco {
+ compatible = "simple-audio-card";
+ simple-audio-card,name = "bt-sco-audio";
+ simple-audio-card,format = "dsp_a";
+ simple-audio-card,bitclock-inversion;
+ simple-audio-card,frame-master = <&btcpu>;
+ simple-audio-card,bitclock-master = <&btcpu>;
+
+ btcpu: simple-audio-card,cpu {
+ sound-dai = <&sai1>;
+ dai-tdm-slot-num = <2>;
+ dai-tdm-slot-width = <16>;
+ };
+
+ simple-audio-card,codec {
+ sound-dai = <&bt_sco_codec 1>;
+ };
+ };
+
sound-wm8962 {
compatible = "fsl,imx-audio-wm8962";
model = "wm8962-audio";
@@ -339,6 +363,16 @@ &mu2 {
status = "okay";
};
+&sai1 {
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_sai1>;
+ assigned-clocks = <&clk IMX93_CLK_SAI1>;
+ assigned-clock-parents = <&clk IMX93_CLK_AUDIO_PLL>;
+ assigned-clock-rates = <12288000>;
+ fsl,sai-mclk-direction-output;
+ status = "okay";
+};
+
&sai3 {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_sai3>;
@@ -507,6 +541,15 @@ MX93_PAD_SD2_RESET_B__GPIO3_IO07 0x31e
>;
};
+ pinctrl_sai1: sai1grp {
+ fsl,pins = <
+ MX93_PAD_SAI1_TXC__SAI1_TX_BCLK 0x31e
+ MX93_PAD_SAI1_TXFS__SAI1_TX_SYNC 0x31e
+ MX93_PAD_SAI1_TXD0__SAI1_TX_DATA00 0x31e
+ MX93_PAD_SAI1_RXD0__SAI1_RX_DATA00 0x31e
+ >;
+ };
+
pinctrl_sai3: sai3grp {
fsl,pins = <
MX93_PAD_GPIO_IO12__SAI3_RX_SYNC 0x31e
--
2.34.1
^ permalink raw reply related [flat|nested] 9+ messages in thread
* [PATCH v2 3/3] arm64: dts: imx93-9x9-qsb: Add PDM microphone sound card support
2024-09-12 1:59 [PATCH v2 0/3] arm64: dts: imx93-9x9-qsb: Add sound card support Shengjiu Wang
2024-09-12 1:59 ` [PATCH v2 1/3] arm64: dts: imx93-9x9-qsb: Enable sound-wm8962 sound card Shengjiu Wang
2024-09-12 1:59 ` [PATCH v2 2/3] arm64: dts: imx93-9x9-qsb: add bt-sco sound card support Shengjiu Wang
@ 2024-09-12 1:59 ` Shengjiu Wang
2024-09-12 3:31 ` Frank Li
2 siblings, 1 reply; 9+ messages in thread
From: Shengjiu Wang @ 2024-09-12 1:59 UTC (permalink / raw)
To: robh, krzk+dt, conor+dt, shawnguo, s.hauer, kernel, festevam,
devicetree, imx, linux-arm-kernel, linux-kernel, shengjiu.wang
Add PDM micphone sound card support, configure the pinmux.
This sound card supports recording sound from PDM microphone
and convert the PDM format data to PCM data.
Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com>
---
.../boot/dts/freescale/imx93-9x9-qsb.dts | 37 +++++++++++++++++++
1 file changed, 37 insertions(+)
diff --git a/arch/arm64/boot/dts/freescale/imx93-9x9-qsb.dts b/arch/arm64/boot/dts/freescale/imx93-9x9-qsb.dts
index f44300225656..72a0e0290a84 100644
--- a/arch/arm64/boot/dts/freescale/imx93-9x9-qsb.dts
+++ b/arch/arm64/boot/dts/freescale/imx93-9x9-qsb.dts
@@ -122,6 +122,20 @@ simple-audio-card,codec {
};
};
+ sound-micfil {
+ compatible = "fsl,imx-audio-card";
+ model = "micfil-audio";
+
+ pri-dai-link {
+ link-name = "micfil hifi";
+ format = "i2s";
+
+ cpu {
+ sound-dai = <&micfil>;
+ };
+ };
+ };
+
sound-wm8962 {
compatible = "fsl,imx-audio-wm8962";
model = "wm8962-audio";
@@ -271,6 +285,12 @@ exp-sel-hog {
gpios = <22 GPIO_ACTIVE_HIGH>;
output-low;
};
+
+ mic-can-sel-hog {
+ gpio-hog;
+ gpios = <17 GPIO_ACTIVE_HIGH>;
+ output-low;
+ };
};
pmic@25 {
@@ -355,6 +375,15 @@ &lpuart1 { /* console */
status = "okay";
};
+&micfil {
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_pdm>;
+ assigned-clocks = <&clk IMX93_CLK_PDM>;
+ assigned-clock-parents = <&clk IMX93_CLK_AUDIO_PLL>;
+ assigned-clock-rates = <49152000>;
+ status = "okay";
+};
+
&mu1 {
status = "okay";
};
@@ -468,6 +497,14 @@ MX93_PAD_CCM_CLKO1__GPIO3_IO26 0x31e
>;
};
+ pinctrl_pdm: pdmgrp {
+ fsl,pins = <
+ MX93_PAD_PDM_CLK__PDM_CLK 0x31e
+ MX93_PAD_PDM_BIT_STREAM0__PDM_BIT_STREAM00 0x31e
+ MX93_PAD_PDM_BIT_STREAM1__PDM_BIT_STREAM01 0x31e
+ >;
+ };
+
pinctrl_uart1: uart1grp {
fsl,pins = <
MX93_PAD_UART1_RXD__LPUART1_RX 0x31e
--
2.34.1
^ permalink raw reply related [flat|nested] 9+ messages in thread
* Re: [PATCH v2 1/3] arm64: dts: imx93-9x9-qsb: Enable sound-wm8962 sound card
2024-09-12 1:59 ` [PATCH v2 1/3] arm64: dts: imx93-9x9-qsb: Enable sound-wm8962 sound card Shengjiu Wang
@ 2024-09-12 3:28 ` Frank Li
2024-10-16 8:01 ` Shawn Guo
1 sibling, 0 replies; 9+ messages in thread
From: Frank Li @ 2024-09-12 3:28 UTC (permalink / raw)
To: Shengjiu Wang
Cc: robh, krzk+dt, conor+dt, shawnguo, s.hauer, kernel, festevam,
devicetree, imx, linux-arm-kernel, linux-kernel, shengjiu.wang
On Thu, Sep 12, 2024 at 09:59:39AM +0800, Shengjiu Wang wrote:
> Add wm8962 sound card which connects to sai3. The connection
> of SAI3 and wm8962 is controlled by PCAL6524HEAZ module, add
> gpio-hog for it.
>
> Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com>
> ---
Reviewed-by: Frank Li <Frank.Li@nxp.com>
> .../boot/dts/freescale/imx93-9x9-qsb.dts | 74 +++++++++++++++++++
> 1 file changed, 74 insertions(+)
>
> diff --git a/arch/arm64/boot/dts/freescale/imx93-9x9-qsb.dts b/arch/arm64/boot/dts/freescale/imx93-9x9-qsb.dts
> index f8a73612fa05..10f3366b8253 100644
> --- a/arch/arm64/boot/dts/freescale/imx93-9x9-qsb.dts
> +++ b/arch/arm64/boot/dts/freescale/imx93-9x9-qsb.dts
> @@ -68,6 +68,15 @@ reg_vref_1v8: regulator-adc-vref {
> regulator-max-microvolt = <1800000>;
> };
>
> + reg_audio_pwr: regulator-audio-pwr {
> + compatible = "regulator-fixed";
> + regulator-name = "audio-pwr";
> + regulator-min-microvolt = <3300000>;
> + regulator-max-microvolt = <3300000>;
> + gpio = <&pcal6524 16 GPIO_ACTIVE_HIGH>;
> + enable-active-high;
> + };
> +
> reg_rpi_3v3: regulator-rpi {
> compatible = "regulator-fixed";
> regulator-name = "VDD_RPI_3V3";
> @@ -88,6 +97,22 @@ reg_usdhc2_vmmc: regulator-usdhc2 {
> enable-active-high;
> off-on-delay-us = <12000>;
> };
> +
> + sound-wm8962 {
> + compatible = "fsl,imx-audio-wm8962";
> + model = "wm8962-audio";
> + audio-cpu = <&sai3>;
> + audio-codec = <&wm8962>;
> + hp-det-gpio = <&pcal6524 4 GPIO_ACTIVE_HIGH>;
> + audio-routing =
> + "Headphone Jack", "HPOUTL",
> + "Headphone Jack", "HPOUTR",
> + "Ext Spk", "SPKOUTL",
> + "Ext Spk", "SPKOUTR",
> + "AMIC", "MICBIAS",
> + "IN3R", "AMIC",
> + "IN1R", "AMIC";
> + };
> };
>
> &adc1 {
> @@ -136,6 +161,28 @@ &lpi2c1 {
> pinctrl-0 = <&pinctrl_lpi2c1>;
> status = "okay";
>
> + wm8962: codec@1a {
> + compatible = "wlf,wm8962";
> + reg = <0x1a>;
> + clocks = <&clk IMX93_CLK_SAI3_GATE>;
> + DCVDD-supply = <®_audio_pwr>;
> + DBVDD-supply = <®_audio_pwr>;
> + AVDD-supply = <®_audio_pwr>;
> + CPVDD-supply = <®_audio_pwr>;
> + MICVDD-supply = <®_audio_pwr>;
> + PLLVDD-supply = <®_audio_pwr>;
> + SPKVDD1-supply = <®_audio_pwr>;
> + SPKVDD2-supply = <®_audio_pwr>;
> + gpio-cfg = <
> + 0x0000 /* 0:Default */
> + 0x0000 /* 1:Default */
> + 0x0000 /* 2:FN_DMICCLK */
> + 0x0000 /* 3:Default */
> + 0x0000 /* 4:FN_DMICCDAT */
> + 0x0000 /* 5:Default */
> + >;
> + };
> +
> ptn5110: tcpc@50 {
> compatible = "nxp,ptn5110", "tcpci";
> reg = <0x50>;
> @@ -194,6 +241,12 @@ pcal6524: gpio@22 {
> interrupts = <26 IRQ_TYPE_LEVEL_LOW>;
> pinctrl-names = "default";
> pinctrl-0 = <&pinctrl_pcal6524>;
> +
> + exp-sel-hog {
> + gpio-hog;
> + gpios = <22 GPIO_ACTIVE_HIGH>;
> + output-low;
> + };
> };
>
> pmic@25 {
> @@ -286,6 +339,17 @@ &mu2 {
> status = "okay";
> };
>
> +&sai3 {
> + pinctrl-names = "default";
> + pinctrl-0 = <&pinctrl_sai3>;
> + assigned-clocks = <&clk IMX93_CLK_SAI3>;
> + assigned-clock-parents = <&clk IMX93_CLK_AUDIO_PLL>;
> + assigned-clock-rates = <12288000>;
> + fsl,sai-mclk-direction-output;
> + fsl,sai-synchronous-rx;
> + status = "okay";
> +};
> +
> &usbotg1 {
> dr_mode = "otg";
> hnp-disable;
> @@ -443,6 +507,16 @@ MX93_PAD_SD2_RESET_B__GPIO3_IO07 0x31e
> >;
> };
>
> + pinctrl_sai3: sai3grp {
> + fsl,pins = <
> + MX93_PAD_GPIO_IO12__SAI3_RX_SYNC 0x31e
> + MX93_PAD_GPIO_IO18__SAI3_RX_BCLK 0x31e
> + MX93_PAD_GPIO_IO17__SAI3_MCLK 0x31e
> + MX93_PAD_GPIO_IO19__SAI3_TX_DATA00 0x31e
> + MX93_PAD_GPIO_IO20__SAI3_RX_DATA00 0x31e
> + >;
> + };
> +
> pinctrl_usdhc2_gpio: usdhc2gpiogrp {
> fsl,pins = <
> MX93_PAD_SD2_CD_B__GPIO3_IO00 0x31e
> --
> 2.34.1
>
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH v2 2/3] arm64: dts: imx93-9x9-qsb: add bt-sco sound card support
2024-09-12 1:59 ` [PATCH v2 2/3] arm64: dts: imx93-9x9-qsb: add bt-sco sound card support Shengjiu Wang
@ 2024-09-12 3:29 ` Frank Li
0 siblings, 0 replies; 9+ messages in thread
From: Frank Li @ 2024-09-12 3:29 UTC (permalink / raw)
To: Shengjiu Wang
Cc: robh, krzk+dt, conor+dt, shawnguo, s.hauer, kernel, festevam,
devicetree, imx, linux-arm-kernel, linux-kernel, shengjiu.wang
On Thu, Sep 12, 2024 at 09:59:40AM +0800, Shengjiu Wang wrote:
> Add bt-sco sound card, which is used by BT HFP case.
> It supports wb profile as default
nit, miss "." after default
Reviewed-by: Frank Li <Frank.Li@nxp.com>
>
> Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com>
> ---
> .../boot/dts/freescale/imx93-9x9-qsb.dts | 43 +++++++++++++++++++
> 1 file changed, 43 insertions(+)
>
> diff --git a/arch/arm64/boot/dts/freescale/imx93-9x9-qsb.dts b/arch/arm64/boot/dts/freescale/imx93-9x9-qsb.dts
> index 10f3366b8253..f44300225656 100644
> --- a/arch/arm64/boot/dts/freescale/imx93-9x9-qsb.dts
> +++ b/arch/arm64/boot/dts/freescale/imx93-9x9-qsb.dts
> @@ -12,6 +12,11 @@ / {
> model = "NXP i.MX93 9x9 Quick Start Board";
> compatible = "fsl,imx93-9x9-qsb", "fsl,imx93";
>
> + bt_sco_codec: bt-sco-codec {
> + #sound-dai-cells = <1>;
> + compatible = "linux,bt-sco";
> + };
> +
> chosen {
> stdout-path = &lpuart1;
> };
> @@ -98,6 +103,25 @@ reg_usdhc2_vmmc: regulator-usdhc2 {
> off-on-delay-us = <12000>;
> };
>
> + sound-bt-sco {
> + compatible = "simple-audio-card";
> + simple-audio-card,name = "bt-sco-audio";
> + simple-audio-card,format = "dsp_a";
> + simple-audio-card,bitclock-inversion;
> + simple-audio-card,frame-master = <&btcpu>;
> + simple-audio-card,bitclock-master = <&btcpu>;
> +
> + btcpu: simple-audio-card,cpu {
> + sound-dai = <&sai1>;
> + dai-tdm-slot-num = <2>;
> + dai-tdm-slot-width = <16>;
> + };
> +
> + simple-audio-card,codec {
> + sound-dai = <&bt_sco_codec 1>;
> + };
> + };
> +
> sound-wm8962 {
> compatible = "fsl,imx-audio-wm8962";
> model = "wm8962-audio";
> @@ -339,6 +363,16 @@ &mu2 {
> status = "okay";
> };
>
> +&sai1 {
> + pinctrl-names = "default";
> + pinctrl-0 = <&pinctrl_sai1>;
> + assigned-clocks = <&clk IMX93_CLK_SAI1>;
> + assigned-clock-parents = <&clk IMX93_CLK_AUDIO_PLL>;
> + assigned-clock-rates = <12288000>;
> + fsl,sai-mclk-direction-output;
> + status = "okay";
> +};
> +
> &sai3 {
> pinctrl-names = "default";
> pinctrl-0 = <&pinctrl_sai3>;
> @@ -507,6 +541,15 @@ MX93_PAD_SD2_RESET_B__GPIO3_IO07 0x31e
> >;
> };
>
> + pinctrl_sai1: sai1grp {
> + fsl,pins = <
> + MX93_PAD_SAI1_TXC__SAI1_TX_BCLK 0x31e
> + MX93_PAD_SAI1_TXFS__SAI1_TX_SYNC 0x31e
> + MX93_PAD_SAI1_TXD0__SAI1_TX_DATA00 0x31e
> + MX93_PAD_SAI1_RXD0__SAI1_RX_DATA00 0x31e
> + >;
> + };
> +
> pinctrl_sai3: sai3grp {
> fsl,pins = <
> MX93_PAD_GPIO_IO12__SAI3_RX_SYNC 0x31e
> --
> 2.34.1
>
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH v2 3/3] arm64: dts: imx93-9x9-qsb: Add PDM microphone sound card support
2024-09-12 1:59 ` [PATCH v2 3/3] arm64: dts: imx93-9x9-qsb: Add PDM microphone " Shengjiu Wang
@ 2024-09-12 3:31 ` Frank Li
0 siblings, 0 replies; 9+ messages in thread
From: Frank Li @ 2024-09-12 3:31 UTC (permalink / raw)
To: Shengjiu Wang
Cc: robh, krzk+dt, conor+dt, shawnguo, s.hauer, kernel, festevam,
devicetree, imx, linux-arm-kernel, linux-kernel, shengjiu.wang
On Thu, Sep 12, 2024 at 09:59:41AM +0800, Shengjiu Wang wrote:
> Add PDM micphone sound card support, configure the pinmux.
>
> This sound card supports recording sound from PDM microphone
> and convert the PDM format data to PCM data.
nit: wrap at 75 chars
>
> Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com>
> ---
Reviewed-by: Frank Li <Frank.Li@nxp.com>
> .../boot/dts/freescale/imx93-9x9-qsb.dts | 37 +++++++++++++++++++
> 1 file changed, 37 insertions(+)
>
> diff --git a/arch/arm64/boot/dts/freescale/imx93-9x9-qsb.dts b/arch/arm64/boot/dts/freescale/imx93-9x9-qsb.dts
> index f44300225656..72a0e0290a84 100644
> --- a/arch/arm64/boot/dts/freescale/imx93-9x9-qsb.dts
> +++ b/arch/arm64/boot/dts/freescale/imx93-9x9-qsb.dts
> @@ -122,6 +122,20 @@ simple-audio-card,codec {
> };
> };
>
> + sound-micfil {
> + compatible = "fsl,imx-audio-card";
> + model = "micfil-audio";
> +
> + pri-dai-link {
> + link-name = "micfil hifi";
> + format = "i2s";
> +
> + cpu {
> + sound-dai = <&micfil>;
> + };
> + };
> + };
> +
> sound-wm8962 {
> compatible = "fsl,imx-audio-wm8962";
> model = "wm8962-audio";
> @@ -271,6 +285,12 @@ exp-sel-hog {
> gpios = <22 GPIO_ACTIVE_HIGH>;
> output-low;
> };
> +
> + mic-can-sel-hog {
> + gpio-hog;
> + gpios = <17 GPIO_ACTIVE_HIGH>;
> + output-low;
> + };
> };
>
> pmic@25 {
> @@ -355,6 +375,15 @@ &lpuart1 { /* console */
> status = "okay";
> };
>
> +&micfil {
> + pinctrl-names = "default";
> + pinctrl-0 = <&pinctrl_pdm>;
> + assigned-clocks = <&clk IMX93_CLK_PDM>;
> + assigned-clock-parents = <&clk IMX93_CLK_AUDIO_PLL>;
> + assigned-clock-rates = <49152000>;
> + status = "okay";
> +};
> +
> &mu1 {
> status = "okay";
> };
> @@ -468,6 +497,14 @@ MX93_PAD_CCM_CLKO1__GPIO3_IO26 0x31e
> >;
> };
>
> + pinctrl_pdm: pdmgrp {
> + fsl,pins = <
> + MX93_PAD_PDM_CLK__PDM_CLK 0x31e
> + MX93_PAD_PDM_BIT_STREAM0__PDM_BIT_STREAM00 0x31e
> + MX93_PAD_PDM_BIT_STREAM1__PDM_BIT_STREAM01 0x31e
> + >;
> + };
> +
> pinctrl_uart1: uart1grp {
> fsl,pins = <
> MX93_PAD_UART1_RXD__LPUART1_RX 0x31e
> --
> 2.34.1
>
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH v2 1/3] arm64: dts: imx93-9x9-qsb: Enable sound-wm8962 sound card
2024-09-12 1:59 ` [PATCH v2 1/3] arm64: dts: imx93-9x9-qsb: Enable sound-wm8962 sound card Shengjiu Wang
2024-09-12 3:28 ` Frank Li
@ 2024-10-16 8:01 ` Shawn Guo
2024-10-16 8:17 ` Shengjiu Wang
1 sibling, 1 reply; 9+ messages in thread
From: Shawn Guo @ 2024-10-16 8:01 UTC (permalink / raw)
To: Shengjiu Wang
Cc: robh, krzk+dt, conor+dt, shawnguo, s.hauer, kernel, festevam,
devicetree, imx, linux-arm-kernel, linux-kernel, shengjiu.wang
On Thu, Sep 12, 2024 at 09:59:39AM +0800, Shengjiu Wang wrote:
> Add wm8962 sound card which connects to sai3. The connection
> of SAI3 and wm8962 is controlled by PCAL6524HEAZ module, add
> gpio-hog for it.
>
> Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com>
> ---
> .../boot/dts/freescale/imx93-9x9-qsb.dts | 74 +++++++++++++++++++
> 1 file changed, 74 insertions(+)
>
> diff --git a/arch/arm64/boot/dts/freescale/imx93-9x9-qsb.dts b/arch/arm64/boot/dts/freescale/imx93-9x9-qsb.dts
> index f8a73612fa05..10f3366b8253 100644
> --- a/arch/arm64/boot/dts/freescale/imx93-9x9-qsb.dts
> +++ b/arch/arm64/boot/dts/freescale/imx93-9x9-qsb.dts
> @@ -68,6 +68,15 @@ reg_vref_1v8: regulator-adc-vref {
> regulator-max-microvolt = <1800000>;
> };
>
> + reg_audio_pwr: regulator-audio-pwr {
> + compatible = "regulator-fixed";
> + regulator-name = "audio-pwr";
> + regulator-min-microvolt = <3300000>;
> + regulator-max-microvolt = <3300000>;
> + gpio = <&pcal6524 16 GPIO_ACTIVE_HIGH>;
> + enable-active-high;
> + };
> +
> reg_rpi_3v3: regulator-rpi {
> compatible = "regulator-fixed";
> regulator-name = "VDD_RPI_3V3";
> @@ -88,6 +97,22 @@ reg_usdhc2_vmmc: regulator-usdhc2 {
> enable-active-high;
> off-on-delay-us = <12000>;
> };
> +
> + sound-wm8962 {
> + compatible = "fsl,imx-audio-wm8962";
> + model = "wm8962-audio";
> + audio-cpu = <&sai3>;
> + audio-codec = <&wm8962>;
> + hp-det-gpio = <&pcal6524 4 GPIO_ACTIVE_HIGH>;
> + audio-routing =
> + "Headphone Jack", "HPOUTL",
> + "Headphone Jack", "HPOUTR",
> + "Ext Spk", "SPKOUTL",
> + "Ext Spk", "SPKOUTR",
> + "AMIC", "MICBIAS",
> + "IN3R", "AMIC",
> + "IN1R", "AMIC";
> + };
> };
>
> &adc1 {
> @@ -136,6 +161,28 @@ &lpi2c1 {
> pinctrl-0 = <&pinctrl_lpi2c1>;
> status = "okay";
>
> + wm8962: codec@1a {
Can we use audio-codec for node name?
Shawn
> + compatible = "wlf,wm8962";
> + reg = <0x1a>;
> + clocks = <&clk IMX93_CLK_SAI3_GATE>;
> + DCVDD-supply = <®_audio_pwr>;
> + DBVDD-supply = <®_audio_pwr>;
> + AVDD-supply = <®_audio_pwr>;
> + CPVDD-supply = <®_audio_pwr>;
> + MICVDD-supply = <®_audio_pwr>;
> + PLLVDD-supply = <®_audio_pwr>;
> + SPKVDD1-supply = <®_audio_pwr>;
> + SPKVDD2-supply = <®_audio_pwr>;
> + gpio-cfg = <
> + 0x0000 /* 0:Default */
> + 0x0000 /* 1:Default */
> + 0x0000 /* 2:FN_DMICCLK */
> + 0x0000 /* 3:Default */
> + 0x0000 /* 4:FN_DMICCDAT */
> + 0x0000 /* 5:Default */
> + >;
> + };
> +
> ptn5110: tcpc@50 {
> compatible = "nxp,ptn5110", "tcpci";
> reg = <0x50>;
> @@ -194,6 +241,12 @@ pcal6524: gpio@22 {
> interrupts = <26 IRQ_TYPE_LEVEL_LOW>;
> pinctrl-names = "default";
> pinctrl-0 = <&pinctrl_pcal6524>;
> +
> + exp-sel-hog {
> + gpio-hog;
> + gpios = <22 GPIO_ACTIVE_HIGH>;
> + output-low;
> + };
> };
>
> pmic@25 {
> @@ -286,6 +339,17 @@ &mu2 {
> status = "okay";
> };
>
> +&sai3 {
> + pinctrl-names = "default";
> + pinctrl-0 = <&pinctrl_sai3>;
> + assigned-clocks = <&clk IMX93_CLK_SAI3>;
> + assigned-clock-parents = <&clk IMX93_CLK_AUDIO_PLL>;
> + assigned-clock-rates = <12288000>;
> + fsl,sai-mclk-direction-output;
> + fsl,sai-synchronous-rx;
> + status = "okay";
> +};
> +
> &usbotg1 {
> dr_mode = "otg";
> hnp-disable;
> @@ -443,6 +507,16 @@ MX93_PAD_SD2_RESET_B__GPIO3_IO07 0x31e
> >;
> };
>
> + pinctrl_sai3: sai3grp {
> + fsl,pins = <
> + MX93_PAD_GPIO_IO12__SAI3_RX_SYNC 0x31e
> + MX93_PAD_GPIO_IO18__SAI3_RX_BCLK 0x31e
> + MX93_PAD_GPIO_IO17__SAI3_MCLK 0x31e
> + MX93_PAD_GPIO_IO19__SAI3_TX_DATA00 0x31e
> + MX93_PAD_GPIO_IO20__SAI3_RX_DATA00 0x31e
> + >;
> + };
> +
> pinctrl_usdhc2_gpio: usdhc2gpiogrp {
> fsl,pins = <
> MX93_PAD_SD2_CD_B__GPIO3_IO00 0x31e
> --
> 2.34.1
>
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH v2 1/3] arm64: dts: imx93-9x9-qsb: Enable sound-wm8962 sound card
2024-10-16 8:01 ` Shawn Guo
@ 2024-10-16 8:17 ` Shengjiu Wang
0 siblings, 0 replies; 9+ messages in thread
From: Shengjiu Wang @ 2024-10-16 8:17 UTC (permalink / raw)
To: Shawn Guo
Cc: Shengjiu Wang, robh, krzk+dt, conor+dt, shawnguo, s.hauer, kernel,
festevam, devicetree, imx, linux-arm-kernel, linux-kernel
On Wed, Oct 16, 2024 at 4:03 PM Shawn Guo <shawnguo2@yeah.net> wrote:
>
> On Thu, Sep 12, 2024 at 09:59:39AM +0800, Shengjiu Wang wrote:
> > Add wm8962 sound card which connects to sai3. The connection
> > of SAI3 and wm8962 is controlled by PCAL6524HEAZ module, add
> > gpio-hog for it.
> >
> > Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com>
> > ---
> > .../boot/dts/freescale/imx93-9x9-qsb.dts | 74 +++++++++++++++++++
> > 1 file changed, 74 insertions(+)
> >
> > diff --git a/arch/arm64/boot/dts/freescale/imx93-9x9-qsb.dts b/arch/arm64/boot/dts/freescale/imx93-9x9-qsb.dts
> > index f8a73612fa05..10f3366b8253 100644
> > --- a/arch/arm64/boot/dts/freescale/imx93-9x9-qsb.dts
> > +++ b/arch/arm64/boot/dts/freescale/imx93-9x9-qsb.dts
> > @@ -68,6 +68,15 @@ reg_vref_1v8: regulator-adc-vref {
> > regulator-max-microvolt = <1800000>;
> > };
> >
> > + reg_audio_pwr: regulator-audio-pwr {
> > + compatible = "regulator-fixed";
> > + regulator-name = "audio-pwr";
> > + regulator-min-microvolt = <3300000>;
> > + regulator-max-microvolt = <3300000>;
> > + gpio = <&pcal6524 16 GPIO_ACTIVE_HIGH>;
> > + enable-active-high;
> > + };
> > +
> > reg_rpi_3v3: regulator-rpi {
> > compatible = "regulator-fixed";
> > regulator-name = "VDD_RPI_3V3";
> > @@ -88,6 +97,22 @@ reg_usdhc2_vmmc: regulator-usdhc2 {
> > enable-active-high;
> > off-on-delay-us = <12000>;
> > };
> > +
> > + sound-wm8962 {
> > + compatible = "fsl,imx-audio-wm8962";
> > + model = "wm8962-audio";
> > + audio-cpu = <&sai3>;
> > + audio-codec = <&wm8962>;
> > + hp-det-gpio = <&pcal6524 4 GPIO_ACTIVE_HIGH>;
> > + audio-routing =
> > + "Headphone Jack", "HPOUTL",
> > + "Headphone Jack", "HPOUTR",
> > + "Ext Spk", "SPKOUTL",
> > + "Ext Spk", "SPKOUTR",
> > + "AMIC", "MICBIAS",
> > + "IN3R", "AMIC",
> > + "IN1R", "AMIC";
> > + };
> > };
> >
> > &adc1 {
> > @@ -136,6 +161,28 @@ &lpi2c1 {
> > pinctrl-0 = <&pinctrl_lpi2c1>;
> > status = "okay";
> >
> > + wm8962: codec@1a {
>
> Can we use audio-codec for node name?
Ok, will update it.
Best regards
Shengjiu Wang
>
> Shawn
>
> > + compatible = "wlf,wm8962";
> > + reg = <0x1a>;
> > + clocks = <&clk IMX93_CLK_SAI3_GATE>;
> > + DCVDD-supply = <®_audio_pwr>;
> > + DBVDD-supply = <®_audio_pwr>;
> > + AVDD-supply = <®_audio_pwr>;
> > + CPVDD-supply = <®_audio_pwr>;
> > + MICVDD-supply = <®_audio_pwr>;
> > + PLLVDD-supply = <®_audio_pwr>;
> > + SPKVDD1-supply = <®_audio_pwr>;
> > + SPKVDD2-supply = <®_audio_pwr>;
> > + gpio-cfg = <
> > + 0x0000 /* 0:Default */
> > + 0x0000 /* 1:Default */
> > + 0x0000 /* 2:FN_DMICCLK */
> > + 0x0000 /* 3:Default */
> > + 0x0000 /* 4:FN_DMICCDAT */
> > + 0x0000 /* 5:Default */
> > + >;
> > + };
> > +
> > ptn5110: tcpc@50 {
> > compatible = "nxp,ptn5110", "tcpci";
> > reg = <0x50>;
> > @@ -194,6 +241,12 @@ pcal6524: gpio@22 {
> > interrupts = <26 IRQ_TYPE_LEVEL_LOW>;
> > pinctrl-names = "default";
> > pinctrl-0 = <&pinctrl_pcal6524>;
> > +
> > + exp-sel-hog {
> > + gpio-hog;
> > + gpios = <22 GPIO_ACTIVE_HIGH>;
> > + output-low;
> > + };
> > };
> >
> > pmic@25 {
> > @@ -286,6 +339,17 @@ &mu2 {
> > status = "okay";
> > };
> >
> > +&sai3 {
> > + pinctrl-names = "default";
> > + pinctrl-0 = <&pinctrl_sai3>;
> > + assigned-clocks = <&clk IMX93_CLK_SAI3>;
> > + assigned-clock-parents = <&clk IMX93_CLK_AUDIO_PLL>;
> > + assigned-clock-rates = <12288000>;
> > + fsl,sai-mclk-direction-output;
> > + fsl,sai-synchronous-rx;
> > + status = "okay";
> > +};
> > +
> > &usbotg1 {
> > dr_mode = "otg";
> > hnp-disable;
> > @@ -443,6 +507,16 @@ MX93_PAD_SD2_RESET_B__GPIO3_IO07 0x31e
> > >;
> > };
> >
> > + pinctrl_sai3: sai3grp {
> > + fsl,pins = <
> > + MX93_PAD_GPIO_IO12__SAI3_RX_SYNC 0x31e
> > + MX93_PAD_GPIO_IO18__SAI3_RX_BCLK 0x31e
> > + MX93_PAD_GPIO_IO17__SAI3_MCLK 0x31e
> > + MX93_PAD_GPIO_IO19__SAI3_TX_DATA00 0x31e
> > + MX93_PAD_GPIO_IO20__SAI3_RX_DATA00 0x31e
> > + >;
> > + };
> > +
> > pinctrl_usdhc2_gpio: usdhc2gpiogrp {
> > fsl,pins = <
> > MX93_PAD_SD2_CD_B__GPIO3_IO00 0x31e
> > --
> > 2.34.1
> >
>
^ permalink raw reply [flat|nested] 9+ messages in thread
end of thread, other threads:[~2024-10-16 8:35 UTC | newest]
Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-09-12 1:59 [PATCH v2 0/3] arm64: dts: imx93-9x9-qsb: Add sound card support Shengjiu Wang
2024-09-12 1:59 ` [PATCH v2 1/3] arm64: dts: imx93-9x9-qsb: Enable sound-wm8962 sound card Shengjiu Wang
2024-09-12 3:28 ` Frank Li
2024-10-16 8:01 ` Shawn Guo
2024-10-16 8:17 ` Shengjiu Wang
2024-09-12 1:59 ` [PATCH v2 2/3] arm64: dts: imx93-9x9-qsb: add bt-sco sound card support Shengjiu Wang
2024-09-12 3:29 ` Frank Li
2024-09-12 1:59 ` [PATCH v2 3/3] arm64: dts: imx93-9x9-qsb: Add PDM microphone " Shengjiu Wang
2024-09-12 3:31 ` Frank Li
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).