arm64: dts: imx8mp: Add analog audio output on i.MX8MP TQMa8MPxL/MBa8MPxL
authorAlexander Stein <alexander.stein@ew.tq-group.com>
Tue, 16 May 2023 08:04:20 +0000 (10:04 +0200)
committerShawn Guo <shawnguo@kernel.org>
Sat, 27 May 2023 08:41:41 +0000 (16:41 +0800)
Enable SAI3, add the codec and pinctrl nodes to enable audio support
on MBa8MPxL.

Signed-off-by: Alexander Stein <alexander.stein@ew.tq-group.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
arch/arm64/boot/dts/freescale/imx8mp-tqma8mpql-mba8mpxl.dts

index d8fb29e..4240e20 100644 (file)
                };
        };
 
+       sound {
+               compatible = "fsl,imx-audio-tlv320aic32x4";
+               model = "tq-tlv320aic32x";
+               audio-cpu = <&sai3>;
+               audio-codec = <&tlv320aic3x04>;
+       };
+
        thermal-zones {
                soc-thermal {
                        trips {
        sda-gpios = <&gpio5 17 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
        status = "okay";
 
+       tlv320aic3x04: audio-codec@18 {
+               compatible = "ti,tlv320aic32x4";
+               pinctrl-names = "default";
+               pinctrl-0 = <&pinctrl_tlv320aic3x04>;
+               reg = <0x18>;
+               clock-names = "mclk";
+               clocks = <&audio_blk_ctrl IMX8MP_CLK_AUDIOMIX_SAI3_MCLK1>;
+               reset-gpios = <&gpio4 29 GPIO_ACTIVE_LOW>;
+               iov-supply = <&reg_vcc_3v3>;
+               ldoin-supply = <&reg_vcc_3v3>;
+       };
+
        se97_1c: temperature-sensor@1c {
                compatible = "nxp,se97b", "jedec,jc-42.4-temp";
                reg = <0x1c>;
        status = "okay";
 };
 
+&sai3 {
+       pinctrl-names = "default";
+       pinctrl-0 = <&pinctrl_sai3>;
+       assigned-clocks = <&clk IMX8MP_CLK_SAI3>;
+       assigned-clock-parents = <&clk IMX8MP_AUDIO_PLL1_OUT>;
+       assigned-clock-rates = <12288000>;
+       fsl,sai-mclk-direction-output;
+       status = "okay";
+};
+
 &snvs_pwrkey {
        status = "okay";
 };
                fsl,pins = <MX8MP_IOMUXC_SAI2_MCLK__GPIO4_IO27          0x80>;
        };
 
+       pinctrl_sai3: sai3grp {
+               fsl,pins = <
+                       MX8MP_IOMUXC_SAI3_TXFS__AUDIOMIX_SAI3_TX_SYNC   0x94
+                       MX8MP_IOMUXC_SAI3_TXC__AUDIOMIX_SAI3_TX_BCLK    0x94
+                       MX8MP_IOMUXC_SAI3_RXD__AUDIOMIX_SAI3_RX_DATA00  0x94
+                       MX8MP_IOMUXC_SAI3_TXD__AUDIOMIX_SAI3_TX_DATA00  0x94
+                       MX8MP_IOMUXC_SAI3_MCLK__AUDIOMIX_SAI3_MCLK      0x94
+               >;
+       };
+
+       pinctrl_tlv320aic3x04: tlv320aic3x04grp {
+               fsl,pins = <
+                       /* CODEC RST# */
+                       MX8MP_IOMUXC_SAI3_RXC__GPIO4_IO29               0x180
+               >;
+       };
+
        /* X61 */
        pinctrl_uart1: uart1grp {
                fsl,pins = <MX8MP_IOMUXC_SD1_CLK__UART1_DCE_TX          0x140>,