[PATCH 5/6] arm64: dts: imx91-9x9-qsb: Add WM8524 sound card support
chancel.liu at oss.nxp.com
chancel.liu at oss.nxp.com
Mon Jul 6 23:57:24 PDT 2026
From: Chancel Liu <chancel.liu at nxp.com>
Add WM8524 sound card support which connects to SAI1.
Signed-off-by: Chancel Liu <chancel.liu at nxp.com>
---
.../boot/dts/freescale/imx91-9x9-qsb.dts | 67 +++++++++++++++++++
1 file changed, 67 insertions(+)
diff --git a/arch/arm64/boot/dts/freescale/imx91-9x9-qsb.dts b/arch/arm64/boot/dts/freescale/imx91-9x9-qsb.dts
index 1f2d8082d255..c5b9dfee95eb 100644
--- a/arch/arm64/boot/dts/freescale/imx91-9x9-qsb.dts
+++ b/arch/arm64/boot/dts/freescale/imx91-9x9-qsb.dts
@@ -110,6 +110,28 @@ linux,cma {
linux,cma-default;
};
};
+
+ sound-wm8524 {
+ compatible = "audio-graph-card2";
+ label = "wm8524-audio";
+ links = <&sai1_port1>;
+ widgets = "Line", "Line Out Jack";
+ routing =
+ "Line Out Jack", "LINEVOUTL",
+ "Line Out Jack", "LINEVOUTR";
+ };
+
+ wm8524: audio-codec {
+ #sound-dai-cells = <0>;
+ compatible = "wlf,wm8524";
+ wlf,mute-gpios = <&pcal6524 2 GPIO_ACTIVE_LOW>;
+
+ port {
+ codec_ep: endpoint {
+ remote-endpoint = <&sai1_ep1>;
+ };
+ };
+ };
};
&adc1 {
@@ -186,6 +208,15 @@ MX91_PAD_SD2_RESET_B__GPIO3_IO7 0x31e
>;
};
+ pinctrl_sai1: sai1grp {
+ fsl,pins = <
+ MX91_PAD_SAI1_TXC__SAI1_TX_BCLK 0x31e
+ MX91_PAD_SAI1_TXFS__SAI1_TX_SYNC 0x31e
+ MX91_PAD_SAI1_TXD0__SAI1_TX_DATA0 0x31e
+ MX91_PAD_SAI1_RXD0__SAI1_MCLK 0x31e
+ >;
+ };
+
pinctrl_uart1: uart1grp {
fsl,pins = <
MX91_PAD_UART1_RXD__LPUART1_RX 0x31e
@@ -433,6 +464,42 @@ &lpuart1 {
status = "okay";
};
+&sai1 {
+ #sound-dai-cells = <0>;
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_sai1>, <&sai1_fun>, <&sai1_enable>;
+ assigned-clocks = <&clk IMX93_CLK_SAI1>;
+ assigned-clock-parents = <&clk IMX93_CLK_AUDIO_PLL>;
+ assigned-clock-rates = <24576000>;
+ fsl,sai-mclk-direction-output;
+ clocks = <&clk IMX93_CLK_SAI1_IPG>, <&clk IMX93_CLK_DUMMY>,
+ <&clk IMX93_CLK_SAI1_GATE>, <&clk IMX93_CLK_DUMMY>,
+ <&clk IMX93_CLK_DUMMY>, <&clk IMX93_CLK_AUDIO_PLL>;
+ clock-names = "bus", "mclk0", "mclk1", "mclk2", "mclk3", "pll8k";
+ status = "okay";
+
+ ports {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ sai1_port1: port at 1 {
+ reg = <1>;
+ playback-only;
+
+ sai1_ep1: endpoint {
+ dai-format = "i2s";
+ dai-tdm-slot-num = <2>;
+ dai-tdm-slot-width = <32>;
+ bitclock-master;
+ frame-master;
+ mclk-fs = <256>;
+ system-clock-direction-out;
+ remote-endpoint = <&codec_ep>;
+ };
+ };
+ };
+};
+
&usbotg1 {
adp-disable;
disable-over-current;
--
2.50.1
More information about the linux-arm-kernel
mailing list