From: Alexander Stein <alexander.stein@ew.tq-group.com>
To: robh@kernel.org, krzk+dt@kernel.org, conor+dt@kernel.org,
Frank.Li@nxp.com, s.hauer@pengutronix.de, kernel@pengutronix.de,
festevam@gmail.com, devicetree@vger.kernel.org,
imx@lists.linux.dev, linux-arm-kernel@lists.infradead.org,
linux-kernel@vger.kernel.org
Cc: Shengjiu Wang <shengjiu.wang@nxp.com>
Subject: Re: [PATCH 2/4] arm64: dts: imx952-evk: Add sound-wm8962 support
Date: Thu, 12 Mar 2026 10:43:47 +0100 [thread overview]
Message-ID: <3918649.ElGaqSPkdT@steina-w> (raw)
In-Reply-To: <20260312034912.4007057-3-shengjiu.wang@nxp.com>
Am Donnerstag, 12. März 2026, 04:49:10 CET schrieb Shengjiu Wang:
> Add wm8962 sound card. By connecting with ASRC1, the sound card support
> sample rate conversion.
>
> Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com>
> ---
> arch/arm64/boot/dts/freescale/imx952-evk.dts | 119 +++++++++++++++++++
> 1 file changed, 119 insertions(+)
>
> diff --git a/arch/arm64/boot/dts/freescale/imx952-evk.dts b/arch/arm64/boot/dts/freescale/imx952-evk.dts
> index 509704c23e89..ef0058b98573 100644
> --- a/arch/arm64/boot/dts/freescale/imx952-evk.dts
> +++ b/arch/arm64/boot/dts/freescale/imx952-evk.dts
> @@ -110,6 +110,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-max-microvolt = <3300000>;
> + regulator-min-microvolt = <3300000>;
> + gpio = <&i2c4_pcal6408 1 GPIO_ACTIVE_HIGH>;
> + enable-active-high;
> + };
> +
> reg_usdhc2_vmmc: regulator-usdhc2 {
> compatible = "regulator-fixed";
> pinctrl-names = "default";
> @@ -131,6 +140,51 @@ reg_usb_vbus: regulator-vbus {
> enable-active-high;
> };
>
> + sound-wm8962 {
> + compatible = "fsl,imx-audio-wm8962";
> + audio-asrc = <&asrc1>;
> + audio-codec = <&wm8962>;
> + audio-cpu = <&sai3>;
> + audio-routing = "Headphone Jack", "HPOUTL",
> + "Headphone Jack", "HPOUTR",
> + "Ext Spk", "SPKOUTL",
> + "Ext Spk", "SPKOUTR",
> + "AMIC", "MICBIAS",
> + "IN3R", "AMIC",
> + "IN1R", "AMIC";
> + hp-det-gpio = <&gpio2 11 GPIO_ACTIVE_HIGH>;
> + model = "wm8962-audio";
> + pinctrl-0 = <&pinctrl_hp>;
> + pinctrl-names = "default";
> + };
> +};
> +
> +&asrc1 {
> + assigned-clocks = <&scmi_clk IMX952_CLK_AUDIOPLL1_VCO>,
> + <&scmi_clk IMX952_CLK_AUDIOPLL2_VCO>,
> + <&scmi_clk IMX952_CLK_AUDIOPLL1>,
> + <&scmi_clk IMX952_CLK_AUDIOPLL2>,
> + <&scmi_clk IMX952_CLK_ASRC1>;
> + assigned-clock-parents = <0>, <0>, <0>, <0>,
> + <&scmi_clk IMX952_CLK_AUDIOPLL1>;
> + assigned-clock-rates = <3932160000>, <3612672000>,
> + <393216000>, <361267200>, <49152000>;
> + fsl,asrc-rate = <48000>;
> + status = "okay";
> +};
> +
> +&asrc2 {
> + assigned-clocks = <&scmi_clk IMX952_CLK_AUDIOPLL1_VCO>,
> + <&scmi_clk IMX952_CLK_AUDIOPLL2_VCO>,
> + <&scmi_clk IMX952_CLK_AUDIOPLL1>,
> + <&scmi_clk IMX952_CLK_AUDIOPLL2>,
> + <&scmi_clk IMX952_CLK_ASRC2>;
> + assigned-clock-parents = <0>, <0>, <0>, <0>,
> + <&scmi_clk IMX952_CLK_AUDIOPLL1>;
> + assigned-clock-rates = <3932160000>, <3612672000>,
> + <393216000>, <361267200>, <49152000>;
> + fsl,asrc-rate = <48000>;
> + status = "okay";
Is asrc2 actually required? AFAICS this is not referenced.
Best regards,
Alexander
> };
>
> /* pin conflict with PDM */
> @@ -185,6 +239,27 @@ &lpi2c4 {
> pinctrl-0 = <&pinctrl_lpi2c4>;
> status = "okay";
>
> + wm8962: audio-codec@1a {
> + compatible = "wlf,wm8962";
> + reg = <0x1a>;
> + clocks = <&scmi_clk IMX952_CLK_SAI3>;
> + AVDD-supply = <®_audio_pwr>;
> + CPVDD-supply = <®_audio_pwr>;
> + DBVDD-supply = <®_audio_pwr>;
> + DCVDD-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 */
> + >;
> + MICVDD-supply = <®_audio_pwr>;
> + PLLVDD-supply = <®_audio_pwr>;
> + SPKVDD1-supply = <®_audio_pwr>;
> + SPKVDD2-supply = <®_audio_pwr>;
> + };
> +
> i2c4_pcal6408: gpio@21 {
> compatible = "nxp,pcal6408";
> reg = <0x21>;
> @@ -312,6 +387,24 @@ &lpspi7 {
> status = "okay";
> };
>
> +&sai3 {
> + assigned-clocks = <&scmi_clk IMX952_CLK_AUDIOPLL1_VCO>,
> + <&scmi_clk IMX952_CLK_AUDIOPLL2_VCO>,
> + <&scmi_clk IMX952_CLK_AUDIOPLL1>,
> + <&scmi_clk IMX952_CLK_AUDIOPLL2>,
> + <&scmi_clk IMX952_CLK_SAI3>;
> + assigned-clock-parents = <0>, <0>, <0>, <0>,
> + <&scmi_clk IMX952_CLK_AUDIOPLL1>;
> + assigned-clock-rates = <3932160000>, <3612672000>,
> + <393216000>, <361267200>, <12288000>;
> + pinctrl-0 = <&pinctrl_sai3>;
> + pinctrl-1 = <&pinctrl_sai3_sleep>;
> + pinctrl-names = "default", "sleep";
> + fsl,sai-amix-mode = "bypass";
> + fsl,sai-mclk-direction-output;
> + status = "okay";
> +};
> +
> &scmi_misc {
> nxp,ctrl-ids = <BRD_SM_CTRL_SD3_WAKE 1
> BRD_SM_CTRL_M2E_WAKE 1
> @@ -402,6 +495,12 @@ IMX952_PAD_GPIO_IO27__WAKEUPMIX_TOP_CAN2_RX 0x39e
> >;
> };
>
> + pinctrl_hp: hpgrp {
> + fsl,pins = <
> + IMX952_PAD_GPIO_IO11__WAKEUPMIX_TOP_GPIO2_IO_11 0x31e
> + >;
> + };
> +
> pinctrl_lpi2c2: lpi2c2grp {
> fsl,pins = <
> IMX952_PAD_I2C2_SCL__AONMIX_TOP_LPI2C2_SCL 0x40000b9e
> @@ -476,6 +575,26 @@ IMX952_PAD_SD2_RESET_B__WAKEUPMIX_TOP_GPIO3_IO_7 0x31e
> >;
> };
>
> + pinctrl_sai3: sai3grp {
> + fsl,pins = <
> + IMX952_PAD_GPIO_IO17__WAKEUPMIX_TOP_SAI3_MCLK 0x31e
> + IMX952_PAD_GPIO_IO16__WAKEUPMIX_TOP_AUDMIX_TDM_OUT_TXBCLK 0x31e
> + IMX952_PAD_GPIO_IO26__WAKEUPMIX_TOP_AUDMIX_TDM_OUT_TXSYNC 0x31e
> + IMX952_PAD_GPIO_IO20__WAKEUPMIX_TOP_SAI3_RX_DATA_0 0x31e
> + IMX952_PAD_GPIO_IO21__WAKEUPMIX_TOP_AUDMIX_TDM_OUT_TXDATA 0x31e
> + >;
> + };
> +
> + pinctrl_sai3_sleep: sai3sleepgrp {
> + fsl,pins = <
> + IMX952_PAD_GPIO_IO17__WAKEUPMIX_TOP_GPIO2_IO_17 0x31e
> + IMX952_PAD_GPIO_IO16__WAKEUPMIX_TOP_GPIO2_IO_16 0x31e
> + IMX952_PAD_GPIO_IO26__WAKEUPMIX_TOP_GPIO2_IO_26 0x31e
> + IMX952_PAD_GPIO_IO20__WAKEUPMIX_TOP_GPIO2_IO_20 0x31e
> + IMX952_PAD_GPIO_IO21__WAKEUPMIX_TOP_GPIO2_IO_21 0x31e
> + >;
> + };
> +
> pinctrl_tpm3: tpm3grp {
> fsl,pins = <
> IMX952_PAD_GPIO_IO12__WAKEUPMIX_TOP_TPM3_CH2 0x51e
>
--
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/
next prev parent reply other threads:[~2026-03-12 9:43 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-03-12 3:49 [PATCH 0/4] arm64: dts: imx952-evk: Add audio sound cards Shengjiu Wang
2026-03-12 3:49 ` [PATCH 1/4] arm64: dts: imx952: Add audio device nodes Shengjiu Wang
2026-03-12 6:40 ` Daniel Baluta
2026-03-12 6:54 ` Shengjiu Wang
2026-03-12 7:13 ` Daniel Baluta
2026-03-12 9:53 ` Shengjiu Wang
2026-03-12 3:49 ` [PATCH 2/4] arm64: dts: imx952-evk: Add sound-wm8962 support Shengjiu Wang
2026-03-12 6:51 ` Daniel Baluta
2026-03-12 9:43 ` Alexander Stein [this message]
2026-03-12 9:49 ` Shengjiu Wang
2026-03-12 3:49 ` [PATCH 3/4] arm64: dts: imx952-evk: Add bt-sco sound card support Shengjiu Wang
2026-03-12 6:50 ` Daniel Baluta
2026-03-12 3:49 ` [PATCH 4/4] arm64: dts: imx952-evk: Add PDM microphone " Shengjiu Wang
2026-03-12 6:49 ` Daniel Baluta
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=3918649.ElGaqSPkdT@steina-w \
--to=alexander.stein@ew.tq-group.com \
--cc=Frank.Li@nxp.com \
--cc=conor+dt@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=festevam@gmail.com \
--cc=imx@lists.linux.dev \
--cc=kernel@pengutronix.de \
--cc=krzk+dt@kernel.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=robh@kernel.org \
--cc=s.hauer@pengutronix.de \
--cc=shengjiu.wang@nxp.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.