diff --git a/arch/arm64/boot/dts/seco/seco-imx8qxp-c57.dts b/arch/arm64/boot/dts/seco/seco-imx8qxp-c57.dts
index ceed92aaa82ab2c330f7b92c5a118f0aae08c1b6..8e68c136f368088366893391f80155be484b7c62 100644
--- a/arch/arm64/boot/dts/seco/seco-imx8qxp-c57.dts
+++ b/arch/arm64/boot/dts/seco/seco-imx8qxp-c57.dts
@@ -44,6 +44,7 @@
         serial3 = &lpuart3;
         mmc0 = &usdhc1;
         mmc1 = &usdhc2;
+        i2c4 = &cm40_i2c;
         i2c5 = &i2c0_mipi_lvds0;
         i2c6 = &i2c0_mipi_lvds1;
         gpio0 = &gpio0;
@@ -152,6 +153,32 @@
                         gpio = <&gpio3 22 GPIO_ACTIVE_LOW>;
                         regulator-always-on;
                 };
+
+        reg_audio: regulator-soc-audio {
+                        compatible = "regulator-fixed";
+                        regulator-name = "tlv320aic32x4_supply";
+                        regulator-min-microvolt = <1800000>;
+                        regulator-max-microvolt = <1800000>;
+                        regulator-always-on;
+                };
+    };
+
+    sound {
+        status = "okay";
+        compatible = "simple-audio-card";
+        simple-audio-card,format = "i2s";
+        simple-audio-card,name = "seco-tlv320";
+        simple-audio-card,frame-master = <&cpudai>;
+        simple-audio-card,bitclock-master = <&cpudai>;
+
+        cpudai: simple-audio-card,cpu {
+            sound-dai          = <&sai1>;
+            dai-tdm-slot-num   = <2>;
+            dai-tdm-slot-width = <16>;
+        };
+        simple-audio-card,codec {
+            sound-dai = <&tlvcodec 0>;
+        };
     };
 
     /* Both Panels backlight + MP3385AGR */
@@ -194,6 +221,14 @@
     };
 };
 
+&acm {
+    status = "okay";
+};
+
+&asrc0 {
+    fsl,asrc-rate  = <48000>;
+    status = "okay";
+};
 
 
 &iomuxc {
@@ -218,9 +253,21 @@
                 IMX8QXP_CSI_MCLK_LSIO_GPIO3_IO01	   0x00000021
                 /*EN_VCC_LCD_SW*/
                 IMX8QXP_SPDIF0_EXT_CLK_LSIO_GPIO0_IO12 0x00000021
+
+                /*TRRS_PLUG_DETECT*/
+                IMX8QXP_QSPI0A_SS1_B_LSIO_GPIO3_IO15	0x00000021
+                /*MUTE AUDIO#*/
+                IMX8QXP_MIPI_DSI0_GPIO0_01_LSIO_GPIO1_IO28		0x00000021
+
             >;
         };
-        
+
+        pinctrl_codec: codecgrp {
+            fsl,pins = <
+                IMX8QXP_SPI0_SDO_LSIO_GPIO1_IO06	  0x00000021
+            >;
+        };
+
         pinctrl_lpuart0: lpuart0grp {
             fsl,pins = <
                 IMX8QXP_UART0_RX_ADMA_UART0_RX	0x06000020
@@ -228,7 +275,6 @@
             >;
         };
 
-
         pinctrl_lpuart2: lpuart2grp {
             fsl,pins = <
                 IMX8QXP_UART2_TX_ADMA_UART2_TX	0x06000020
@@ -285,6 +331,13 @@
             >;
         };
 
+        pinctrl_cm40_i2c: cm40i2cgrp {
+            fsl,pins = <
+                IMX8QXP_ADC_IN1_M40_I2C0_SDA	0x0600004c
+                IMX8QXP_ADC_IN0_M40_I2C0_SCL	0x0600004c
+            >;
+        };
+
         pinctrl_lpi2c3: lpi2cgrp {
             fsl,pins = <
                 IMX8QXP_SPI3_CS1_ADMA_I2C3_SCL	0x0600004c
@@ -302,7 +355,28 @@
             fsl,pins = <
                 IMX8QXP_MIPI_DSI1_GPIO0_00_MIPI_DSI1_PWM0_OUT	0x00000020
             >;
-        };   
+        };
+        pinctrl_sai0: sai0_grp {
+            fsl,pins = <
+                /*SAI BLUETOOTH*/
+                IMX8QXP_CSI_D00_ADMA_SAI0_RXC				0xc6000040
+                IMX8QXP_SAI0_TXC_ADMA_SAI0_TXC				0xc6000040
+                IMX8QXP_CSI_D01_ADMA_SAI0_RXD				0xc6000040
+                IMX8QXP_SAI0_TXD_ADMA_SAI0_TXD				0xc6000060
+                IMX8QXP_CSI_D02_ADMA_SAI0_RXFS				0xc6000040
+                IMX8QXP_SAI0_TXFS_ADMA_SAI0_TXFS			0xc6000040
+             >;
+        };
+
+        pinctrl_sai1: sai1grp {
+            fsl,pins = <
+                IMX8QXP_SAI1_RXD_ADMA_SAI1_RXD			0x06000040
+                IMX8QXP_SAI1_RXC_ADMA_SAI1_TXC			0x06000040
+                IMX8QXP_SAI1_RXFS_ADMA_SAI1_TXFS		0x06000040
+                IMX8QXP_SPI0_CS1_ADMA_SAI1_TXD			0x06000040
+                IMX8QXP_MCLK_OUT0_ADMA_ACM_MCLK_OUT0	0x06000040
+            >;
+        };
 
         pinctrl_usdhc1: usdhc1grp {
             fsl,pins = <
@@ -483,6 +557,36 @@ gpio4: &lsio_gpio4 {
     phy-reset-duration = <2>;
 };
 
+&cm40_intmux {
+    status = "okay";
+};
+
+&cm40_i2c {
+    #address-cells = <1>;
+    #size-cells = <0>;
+    clock-frequency = <100000>;
+    pinctrl-names = "default";
+    pinctrl-0 = <&pinctrl_cm40_i2c>;
+    status = "okay";
+
+    tlvcodec: tlv320aic32x4@18 {
+        #sound-dai-cells = <0>;
+        compatible = "ti,tlv320aic32x4";
+        status = "okay";
+        reg = <0x18>;
+        pinctrl-names = "default";
+        pinctrl-0 = <&pinctrl_codec>;
+        // MCLK Actually not used, but necessary for initialization
+        clocks = <&mclkout0_lpcg 0>;
+        ldoin-supply = <&reg_audio>;
+        iov-supply = <&reg_audio>;
+        reset-gpios = <&gpio1 6 GPIO_ACTIVE_HIGH>;
+        clock-names = "mclk";
+        route-on-lineout;
+        mic-bias;
+    };
+};
+
 &i2c3 {
     #address-cells = <1>;
     #size-cells = <0>;
@@ -499,6 +603,32 @@ gpio4: &lsio_gpio4 {
     };
 };
 
+// Bluetooth
+&sai0 {
+    #sound-dai-cells = <0>;
+    assigned-clocks = <&clk IMX_SC_R_AUDIO_PLL_0 IMX_SC_PM_CLK_PLL>,
+            <&clk IMX_SC_R_AUDIO_PLL_0 IMX_SC_PM_CLK_SLV_BUS>,
+            <&clk IMX_SC_R_AUDIO_PLL_0 IMX_SC_PM_CLK_MST_BUS>,
+            <&sai0_lpcg 0>;
+    assigned-clock-rates = <786432000>, <49152000>, <12288000>, <49152000>;
+    pinctrl-names = "default";
+    pinctrl-0 = <&pinctrl_sai0>;
+    status = "okay";
+};
+
+
+&sai1 {
+    #sound-dai-cells = <0>;
+    assigned-clocks = <&clk IMX_SC_R_AUDIO_PLL_0 IMX_SC_PM_CLK_PLL>,
+            <&clk IMX_SC_R_AUDIO_PLL_0 IMX_SC_PM_CLK_SLV_BUS>,
+            <&clk IMX_SC_R_AUDIO_PLL_0 IMX_SC_PM_CLK_MST_BUS>,
+            <&sai1_lpcg 0>;
+    assigned-clock-rates = <786432000>, <49152000>, <12288000>, <49152000>;
+    pinctrl-names = "default";
+    pinctrl-0 = <&pinctrl_sai1>;
+    status = "okay";
+};
+
 &usdhc1 {
     pinctrl-names = "default", "state_100mhz", "state_200mhz";
     pinctrl-0 = <&pinctrl_usdhc1>;