arm64: dts: imx8mm-evk: Add spdif sound card support
authorShengjiu Wang <shengjiu.wang@nxp.com>
Thu, 22 Feb 2024 06:17:13 +0000 (14:17 +0800)
committerShawn Guo <shawnguo@kernel.org>
Sun, 25 Feb 2024 13:03:19 +0000 (21:03 +0800)
Add spdif sound card support, configure the pinmux.

This sound card supports recording and playing sound
through spdif interface.

Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
arch/arm64/boot/dts/freescale/imx8mm-evk.dtsi

index 9b39458f3fa56acd993148b1e02e67ed7d635971..bd5b365867fda26d130462cccdf9fda8ee2b6293 100644 (file)
                        };
                };
        };
+
+       sound-spdif {
+               compatible = "fsl,imx-audio-spdif";
+               model = "imx-spdif";
+               spdif-controller = <&spdif1>;
+               spdif-out;
+               spdif-in;
+       };
 };
 
 &A53_0 {
        status = "okay";
 };
 
+&spdif1 {
+       pinctrl-names = "default";
+       pinctrl-0 = <&pinctrl_spdif1>;
+       assigned-clocks = <&clk IMX8MM_CLK_SPDIF1>;
+       assigned-clock-parents = <&clk IMX8MM_AUDIO_PLL1_OUT>;
+       assigned-clock-rates = <24576000>;
+       clocks = <&clk IMX8MM_CLK_AUDIO_AHB>, <&clk IMX8MM_CLK_24M>,
+                <&clk IMX8MM_CLK_SPDIF1>, <&clk IMX8MM_CLK_DUMMY>,
+                <&clk IMX8MM_CLK_DUMMY>, <&clk IMX8MM_CLK_DUMMY>,
+                <&clk IMX8MM_CLK_AUDIO_AHB>, <&clk IMX8MM_CLK_DUMMY>,
+                <&clk IMX8MM_CLK_DUMMY>, <&clk IMX8MM_CLK_DUMMY>,
+                <&clk IMX8MM_AUDIO_PLL1_OUT>, <&clk IMX8MM_AUDIO_PLL2_OUT>;
+       clock-names = "core", "rxtx0", "rxtx1", "rxtx2", "rxtx3",
+                     "rxtx4", "rxtx5", "rxtx6", "rxtx7", "spba",
+                     "pll8k", "pll11k";
+       status = "okay";
+};
+
 &uart2 { /* console */
        pinctrl-names = "default";
        pinctrl-0 = <&pinctrl_uart2>;
                >;
        };
 
+       pinctrl_spdif1: spdif1grp {
+               fsl,pins = <
+                       MX8MM_IOMUXC_SPDIF_TX_SPDIF1_OUT        0xd6
+                       MX8MM_IOMUXC_SPDIF_RX_SPDIF1_IN         0xd6
+               >;
+       };
+
        pinctrl_typec1: typec1grp {
                fsl,pins = <
                        MX8MM_IOMUXC_SD1_STROBE_GPIO2_IO11      0x159