cancel
Showing results for 
Search instead for 
Did you mean: 

Newly added i2s device returns error at kernel startup: "[ 2.359377] st,stm32-i2s 44004000.audio-controller: no irq for node 44004000.audio-controller" [Answered]

DHerm.1
Associate II

Hello,

so I am using the Yocto environment and patched the device tree:

diff --git a/arch/arm/boot/dts/stm32mp157-pinctrl.dtsi b/arch/arm/boot/dts/stm32mp157-pinctrl.dtsi
index dd796ec03..54ef05294 100644
--- a/arch/arm/boot/dts/stm32mp157-pinctrl.dtsi
+++ b/arch/arm/boot/dts/stm32mp157-pinctrl.dtsi
@@ -473,7 +473,16 @@
 
 				};
 			};
-
+			
+			i2s1_pins_mx: i2s1_mx-0 {
+				pins {
+					pinmux = <STM32_PINMUX('A', 15, AF5)>; /* I2S1_WS */
+					bias-disable;
+					drive-push-pull;
+					slew-rate = <1>;
+				};
+			};
+			
 			i2s2_pins_a: i2s2-0 {
 				pins {
 					pinmux = <STM32_PINMUX('I', 3, AF5)>, /* I2S2_SDO */
@@ -1479,6 +1488,17 @@
 				};
 			};
 
+			i2s1_pins_z_mx: i2s1_mx-0 {
+				pins {
+					pinmux = <STM32_PINMUX('Z', 0, AF5)>, /* I2S1_CK */
+							<STM32_PINMUX('Z', 1, AF5)>, /* I2S1_SDI */
+							<STM32_PINMUX('Z', 2, AF5)>; /* I2S1_SDO */
+					bias-disable;
+					drive-push-pull;
+					slew-rate = <1>;
+				};
+			};
+
 			spi1_sleep_pins_a: spi1-sleep-0 {
 				pins {
 					pinmux = <STM32_PINMUX('Z', 0, ANALOG)>, /* SPI1_SCK */
diff --git a/arch/arm/boot/dts/stm32mp157c-ev1.dts b/arch/arm/boot/dts/stm32mp157c-ev1.dts
index 7323f40af..ce89fa959 100644
--- a/arch/arm/boot/dts/stm32mp157c-ev1.dts
+++ b/arch/arm/boot/dts/stm32mp157c-ev1.dts
@@ -98,7 +98,7 @@
 		};
 	};
 
-	sound: sound {
+	sound0: sound@0 {
 		compatible = "audio-graph-card";
 		label = "STM32MP1-EV";
 		routing =
@@ -111,6 +111,42 @@
 			&dfsdm0_port &dfsdm1_port &dfsdm2_port &dfsdm3_port>;
 		status = "okay";
 	};
+	
+	sound1: sound@1 {
+        compatible = "audio-graph-card";
+        label = "I2S-DEVICE";
+        dais = <&i2s1_port>;
+	};
+
+	i2s1: audio-controller@44004000 {
+		compatible = "st,stm32h7-i2s";
+		#sound-dai-cells = <0>;
+		reg = <0x44004000 0x400>;
+		interrupts = <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>;
+		clocks = <&rcc SPI1>, <&rcc SPI1_K>, <&rcc PLL3_Q>, <&rcc PLL3_R>;
+		clock-names = "pclk", "i2sclk", "x8k", "x11k";
+		dmas = <&dmamux1 37 0x400 0x01>,
+				<&dmamux1 38 0x400 0x01>;
+		dma-names = "rx", "tx";
+		pinctrl-names = "default";
+		pinctrl-0 = <&i2s1_pins_mx>;
+		status = "okay";
+
+			i2s1_port: port@0 {
+				cpu_endpoint: endpoint {
+					remote-endpoint = <&codec_endpoint>;
+					format = "i2s";
+				};
+			};
+	};
+
+	audio-codec {
+		codec_port: port@0 {
+			codec_endpoint: endpoint {
+				remote-endpoint = <&cpu_endpoint>;
+			};
+		};
+	};
 
 	dmic0: dmic-0 {
 		compatible = "dmic-codec";
@@ -660,12 +696,12 @@
 	};
 };
 
-&spi1 {
-	pinctrl-names = "default", "sleep";
-	pinctrl-0 = <&spi1_pins_a>;
-	pinctrl-1 = <&spi1_sleep_pins_a>;
-	status = "disabled";
-};
+// &spi1 {
+// 	pinctrl-names = "default", "sleep";
+// 	pinctrl-0 = <&spi1_pins_a>;
+// 	pinctrl-1 = <&spi1_sleep_pins_a>;
+// 	status = "disabled";
+// };
 
 &timers2 {
 	status = "disabled";
diff --git a/arch/arm/boot/dts/stm32mp157c-m4-srm.dtsi b/arch/arm/boot/dts/stm32mp157c-m4-srm.dtsi
index 4d641a99c..b44618088 100644
--- a/arch/arm/boot/dts/stm32mp157c-m4-srm.dtsi
+++ b/arch/arm/boot/dts/stm32mp157c-m4-srm.dtsi
@@ -516,9 +516,9 @@
 
 	m4_spi1_pins_a: m4-spi1-0 {
 		pins {
-			pinmux = <STM32_PINMUX('Z', 0, AF5)>, /* SPI1_SCK */
-				 <STM32_PINMUX('Z', 2, AF5)>, /* SPI1_MOSI */
-				 <STM32_PINMUX('Z', 1, AF5)>; /* SPI1_MISO */
+			pinmux = <STM32_PINMUX('Z', 0, RSVD)>, /* SPI1_SCK */
+				 <STM32_PINMUX('Z', 2, RSVD)>, /* SPI1_MOSI */
+				 <STM32_PINMUX('Z', 1, RSVD)>; /* SPI1_MISO */
 		};
 	};
 };
diff --git a/arch/arm/boot/dts/stm32mp157c.dtsi b/arch/arm/boot/dts/stm32mp157c.dtsi
index d56e0f984..20f30f416 100644
--- a/arch/arm/boot/dts/stm32mp157c.dtsi
+++ b/arch/arm/boot/dts/stm32mp157c.dtsi
@@ -800,31 +800,31 @@
 			status = "disabled";
 		};
 
-		spi1: spi@44004000 {
-			#address-cells = <1>;
-			#size-cells = <0>;
-			compatible = "st,stm32h7-spi";
-			reg = <0x44004000 0x400>;
-			interrupts = <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>;
-			clocks = <&rcc SPI1_K>;
-			resets = <&rcc SPI1_R>;
-			dmas = <&dmamux1 37 0x400 0x01>,
-			       <&dmamux1 38 0x400 0x01>;
-			dma-names = "rx", "tx";
-			power-domains = <&pd_core>;
-			status = "disabled";
-		};
-
-		i2s1: audio-controller@44004000 {
-			compatible = "st,stm32h7-i2s";
-			#sound-dai-cells = <0>;
-			reg = <0x44004000 0x400>;
-			interrupts = <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>;
-			dmas = <&dmamux1 37 0x400 0x01>,
-			       <&dmamux1 38 0x400 0x01>;
-			dma-names = "rx", "tx";
-			status = "disabled";
-		};
+// 		spi1: spi@44004000 {
+// 			#address-cells = <1>;
+// 			#size-cells = <0>;
+// 			compatible = "st,stm32h7-spi";
+// 			reg = <0x44004000 0x400>;
+// 			interrupts = <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>;
+// 			clocks = <&rcc SPI1_K>;
+// 			resets = <&rcc SPI1_R>;
+// 			dmas = <&dmamux1 37 0x400 0x01>,
+// 			       <&dmamux1 38 0x400 0x01>;
+// 			dma-names = "rx", "tx";
+// 			power-domains = <&pd_core>;
+// 			status = "disabled";
+// 		};
+
+// 		i2s1: audio-controller@44004000 {
+// 			compatible = "st,stm32h7-i2s";
+// 			#sound-dai-cells = <0>;
+// 			reg = <0x44004000 0x400>;
+// 			interrupts = <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>;
+// 			dmas = <&dmamux1 37 0x400 0x01>,
+// 			       <&dmamux1 38 0x400 0x01>;
+// 			dma-names = "rx", "tx";
+// 			status = "okay";
+// 		};
 
 		spi4: spi@44005000 {
 			#address-cells = <1>;

And basically I just want to add a new I2S sound device to connect to via the GPIOs to evaluate data.

The patch gets deployed with no problems. However I am getting the Error

[   2.359377] st,stm32-i2s 44004000.audio-controller: no irq for node 44004000.audio-controller

What is it that I am missing?

1 ACCEPTED SOLUTION

Accepted Solutions
DHerm.1
Associate II

By the time I got it to work.

In case someone runs into the same problem here is the modified patch-file that appears to work:

diff --git a/arch/arm/boot/dts/stm32mp157-pinctrl.dtsi b/arch/arm/boot/dts/stm32mp157-pinctrl.dtsi
index dd796ec03..54ef05294 100644
--- a/arch/arm/boot/dts/stm32mp157-pinctrl.dtsi
+++ b/arch/arm/boot/dts/stm32mp157-pinctrl.dtsi
@@ -473,7 +473,16 @@
 
 				};
 			};
-
+			
+			i2s1_pins_mx: i2s1_mx-0 {
+				pins {
+					pinmux = <STM32_PINMUX('A', 15, AF5)>; /* I2S1_WS */
+					bias-disable;
+					drive-push-pull;
+					slew-rate = <1>;
+				};
+			};
+			
 			i2s2_pins_a: i2s2-0 {
 				pins {
 					pinmux = <STM32_PINMUX('I', 3, AF5)>, /* I2S2_SDO */
@@ -1479,6 +1488,17 @@
 				};
 			};
 
+			i2s1_pins_z_mx: i2s1_mx-0 {
+				pins {
+					pinmux = <STM32_PINMUX('Z', 0, AF5)>, /* I2S1_CK */
+							<STM32_PINMUX('Z', 1, AF5)>, /* I2S1_SDI */
+							<STM32_PINMUX('Z', 2, AF5)>; /* I2S1_SDO */
+					bias-disable;
+					drive-push-pull;
+					slew-rate = <1>;
+				};
+			};
+
 			spi1_sleep_pins_a: spi1-sleep-0 {
 				pins {
 					pinmux = <STM32_PINMUX('Z', 0, ANALOG)>, /* SPI1_SCK */
diff --git a/arch/arm/boot/dts/stm32mp157c-ev1.dts b/arch/arm/boot/dts/stm32mp157c-ev1.dts
index 7323f40af..7771dc81e 100644
--- a/arch/arm/boot/dts/stm32mp157c-ev1.dts
+++ b/arch/arm/boot/dts/stm32mp157c-ev1.dts
@@ -98,7 +98,7 @@
 		};
 	};
 
-	sound: sound {
+	sound0: sound@0 {
 		compatible = "audio-graph-card";
 		label = "STM32MP1-EV";
 		routing =
@@ -107,10 +107,16 @@
 			"IN1LN" , "MICBIAS2",
 			"DMIC2DAT" , "MICBIAS1",
 			"DMIC1DAT" , "MICBIAS1";
-		dais = <&sai2a_port &sai2b_port &sai4a_port &spdifrx_port
+		dais = <&sai4a_port &spdifrx_port
 			&dfsdm0_port &dfsdm1_port &dfsdm2_port &dfsdm3_port>;
 		status = "okay";
 	};
+	
+	sound1: sound@1 {
+        compatible = "audio-graph-card";
+        label = "I2S-DEVICE";
+        dais = <&i2s1_tx_port &i2s1_rx_port>;
+	};
 
 	dmic0: dmic-0 {
 		compatible = "dmic-codec";
@@ -387,6 +393,29 @@
 		       STM32_HDP(7, HDP7_GPOVAL_7))>;
 };
 
+&i2s1 {
+	#clock-cells = <0>;
+	clocks = <&rcc SPI1>, <&rcc SPI1_K>, <&rcc PLL3_Q>, <&rcc PLL3_R>;
+	clock-names = "pclk", "i2sclk", "x8k", "x11k";
+	pinctrl-names = "default";
+	pinctrl-0 = <&i2s1_pins_mx>;
+	status = "okay";
+
+		i2s1_tx_port: port@0 {
+			i2s1_tx_endpoint: endpoint {
+				remote-endpoint = <&wm8994_tx_endpoint>;
+				format = "i2s";
+			};
+		};
+		
+		i2s1_rx_port: port@1 {
+			i2s1_rx_endpoint: endpoint {
+				remote-endpoint = <&wm8994_rx_endpoint>;
+				format = "i2s";
+			};
+		};
+};
+
 &i2c2 {
 	pinctrl-names = "default", "sleep";
 	pinctrl-0 = <&i2c2_pins_a>;
@@ -414,7 +443,7 @@
 
 		wlf,ldoena-always-driven;
 
-		clocks = <&sai2a>;
+		clocks = <&i2s1>;
 		clock-names = "MCLK1";
 
 		wlf,gpio-cfg = <0x8101 0xa100 0xa100 0xa100 0xa101 0xa101 0xa100 0xa101 0xa101 0xa101 0xa101>;
@@ -426,14 +455,14 @@
 			wm8994_tx_port: port@0 {
 				reg = <0>;
 				wm8994_tx_endpoint: endpoint {
-					remote-endpoint = <&sai2a_endpoint>;
+					remote-endpoint = <&i2s1_tx_endpoint>;
 				};
 			};
 
 			wm8994_rx_port: port@1 {
 				reg = <1>;
 				wm8994_rx_endpoint: endpoint {
-					remote-endpoint = <&sai2b_endpoint>;
+					remote-endpoint = <&i2s1_rx_endpoint>;
 				};
 			};
 		};
@@ -572,45 +601,45 @@
 	};
 };
 
-&sai2 {
-	clocks = <&rcc SAI2>, <&rcc PLL3_Q>, <&rcc PLL3_R>;
-	pinctrl-names = "default", "sleep";
-	pinctrl-0 = <&sai2a_pins_a>, <&sai2b_pins_a>;
-	pinctrl-1 = <&sai2a_sleep_pins_a>, <&sai2b_sleep_pins_a>;
-	clock-names = "pclk", "x8k", "x11k";
-	status = "okay";
-
-	sai2a: audio-controller@4400b004 {
-		#clock-cells = <0>;
-		dma-names = "tx";
-		clocks = <&rcc SAI2_K>;
-		clock-names = "sai_ck";
-		status = "okay";
-
-		sai2a_port: port {
-			sai2a_endpoint: endpoint {
-				remote-endpoint = <&wm8994_tx_endpoint>;
-				format = "i2s";
-				mclk-fs = <256>;
-			};
-		};
-	};
-
-	sai2b: audio-controller@4400b024 {
-		dma-names = "rx";
-		clocks = <&rcc SAI2_K>, <&sai2a>;
-		clock-names = "sai_ck", "MCLK";
-		status = "okay";
-
-		sai2b_port: port {
-			sai2b_endpoint: endpoint {
-				remote-endpoint = <&wm8994_rx_endpoint>;
-				format = "i2s";
-				mclk-fs = <256>;
-			};
-		};
-	};
-};
+// &sai2 {
+// 	clocks = <&rcc SAI2>, <&rcc PLL3_Q>, <&rcc PLL3_R>;
+// 	pinctrl-names = "default", "sleep";
+// 	pinctrl-0 = <&sai2a_pins_a>, <&sai2b_pins_a>;
+// 	pinctrl-1 = <&sai2a_sleep_pins_a>, <&sai2b_sleep_pins_a>;
+// 	clock-names = "pclk", "x8k", "x11k";
+// 	status = "okay";
+// 
+// 	sai2a: audio-controller@4400b004 {
+// 		#clock-cells = <0>;
+// 		dma-names = "tx";
+// 		clocks = <&rcc SAI2_K>;
+// 		clock-names = "sai_ck";
+// 		status = "okay";
+// 
+// 		sai2a_port: port {
+// 			sai2a_endpoint: endpoint {
+// 				remote-endpoint = <&wm8994_tx_endpoint>;
+// 				format = "i2s";
+// 				mclk-fs = <256>;
+// 			};
+// 		};
+// 	};
+// 
+// 	sai2b: audio-controller@4400b024 {
+// 		dma-names = "rx";
+// 		clocks = <&rcc SAI2_K>, <&sai2a>;
+// 		clock-names = "sai_ck", "MCLK";
+// 		status = "okay";
+// 
+// 		sai2b_port: port {
+// 			sai2b_endpoint: endpoint {
+// 				remote-endpoint = <&wm8994_rx_endpoint>;
+// 				format = "i2s";
+// 				mclk-fs = <256>;
+// 			};
+// 		};
+// 	};
+// };
 
 &sai4 {
 	clocks = <&rcc SAI4>, <&rcc PLL3_Q>, <&rcc PLL3_R>;
@@ -660,12 +689,12 @@
 	};
 };
 
-&spi1 {
-	pinctrl-names = "default", "sleep";
-	pinctrl-0 = <&spi1_pins_a>;
-	pinctrl-1 = <&spi1_sleep_pins_a>;
-	status = "disabled";
-};
+// &spi1 {
+// 	pinctrl-names = "default", "sleep";
+// 	pinctrl-0 = <&spi1_pins_a>;
+// 	pinctrl-1 = <&spi1_sleep_pins_a>;
+// 	status = "disabled";
+// };
 
 &timers2 {
 	status = "disabled";
diff --git a/arch/arm/boot/dts/stm32mp157c-m4-srm.dtsi b/arch/arm/boot/dts/stm32mp157c-m4-srm.dtsi
index 4d641a99c..b44618088 100644
--- a/arch/arm/boot/dts/stm32mp157c-m4-srm.dtsi
+++ b/arch/arm/boot/dts/stm32mp157c-m4-srm.dtsi
@@ -516,9 +516,9 @@
 
 	m4_spi1_pins_a: m4-spi1-0 {
 		pins {
-			pinmux = <STM32_PINMUX('Z', 0, AF5)>, /* SPI1_SCK */
-				 <STM32_PINMUX('Z', 2, AF5)>, /* SPI1_MOSI */
-				 <STM32_PINMUX('Z', 1, AF5)>; /* SPI1_MISO */
+			pinmux = <STM32_PINMUX('Z', 0, RSVD)>, /* SPI1_SCK */
+				 <STM32_PINMUX('Z', 2, RSVD)>, /* SPI1_MOSI */
+				 <STM32_PINMUX('Z', 1, RSVD)>; /* SPI1_MISO */
 		};
 	};
 };
diff --git a/arch/arm/boot/dts/stm32mp157c.dtsi b/arch/arm/boot/dts/stm32mp157c.dtsi
index d56e0f984..b3573d07a 100644
--- a/arch/arm/boot/dts/stm32mp157c.dtsi
+++ b/arch/arm/boot/dts/stm32mp157c.dtsi
@@ -823,7 +823,7 @@
 			dmas = <&dmamux1 37 0x400 0x01>,
 			       <&dmamux1 38 0x400 0x01>;
 			dma-names = "rx", "tx";
-			status = "disabled";
+			status = "okay";
 		};
 
 		spi4: spi@44005000 {

View solution in original post

3 REPLIES 3
DHerm.1
Associate II

And i forgot to add that even when I use the same interrupt line id as SPI1 the error remains

interrupts = <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>;

to

interrupts = <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>;

DHerm.1
Associate II

By the time I got it to work.

In case someone runs into the same problem here is the modified patch-file that appears to work:

diff --git a/arch/arm/boot/dts/stm32mp157-pinctrl.dtsi b/arch/arm/boot/dts/stm32mp157-pinctrl.dtsi
index dd796ec03..54ef05294 100644
--- a/arch/arm/boot/dts/stm32mp157-pinctrl.dtsi
+++ b/arch/arm/boot/dts/stm32mp157-pinctrl.dtsi
@@ -473,7 +473,16 @@
 
 				};
 			};
-
+			
+			i2s1_pins_mx: i2s1_mx-0 {
+				pins {
+					pinmux = <STM32_PINMUX('A', 15, AF5)>; /* I2S1_WS */
+					bias-disable;
+					drive-push-pull;
+					slew-rate = <1>;
+				};
+			};
+			
 			i2s2_pins_a: i2s2-0 {
 				pins {
 					pinmux = <STM32_PINMUX('I', 3, AF5)>, /* I2S2_SDO */
@@ -1479,6 +1488,17 @@
 				};
 			};
 
+			i2s1_pins_z_mx: i2s1_mx-0 {
+				pins {
+					pinmux = <STM32_PINMUX('Z', 0, AF5)>, /* I2S1_CK */
+							<STM32_PINMUX('Z', 1, AF5)>, /* I2S1_SDI */
+							<STM32_PINMUX('Z', 2, AF5)>; /* I2S1_SDO */
+					bias-disable;
+					drive-push-pull;
+					slew-rate = <1>;
+				};
+			};
+
 			spi1_sleep_pins_a: spi1-sleep-0 {
 				pins {
 					pinmux = <STM32_PINMUX('Z', 0, ANALOG)>, /* SPI1_SCK */
diff --git a/arch/arm/boot/dts/stm32mp157c-ev1.dts b/arch/arm/boot/dts/stm32mp157c-ev1.dts
index 7323f40af..7771dc81e 100644
--- a/arch/arm/boot/dts/stm32mp157c-ev1.dts
+++ b/arch/arm/boot/dts/stm32mp157c-ev1.dts
@@ -98,7 +98,7 @@
 		};
 	};
 
-	sound: sound {
+	sound0: sound@0 {
 		compatible = "audio-graph-card";
 		label = "STM32MP1-EV";
 		routing =
@@ -107,10 +107,16 @@
 			"IN1LN" , "MICBIAS2",
 			"DMIC2DAT" , "MICBIAS1",
 			"DMIC1DAT" , "MICBIAS1";
-		dais = <&sai2a_port &sai2b_port &sai4a_port &spdifrx_port
+		dais = <&sai4a_port &spdifrx_port
 			&dfsdm0_port &dfsdm1_port &dfsdm2_port &dfsdm3_port>;
 		status = "okay";
 	};
+	
+	sound1: sound@1 {
+        compatible = "audio-graph-card";
+        label = "I2S-DEVICE";
+        dais = <&i2s1_tx_port &i2s1_rx_port>;
+	};
 
 	dmic0: dmic-0 {
 		compatible = "dmic-codec";
@@ -387,6 +393,29 @@
 		       STM32_HDP(7, HDP7_GPOVAL_7))>;
 };
 
+&i2s1 {
+	#clock-cells = <0>;
+	clocks = <&rcc SPI1>, <&rcc SPI1_K>, <&rcc PLL3_Q>, <&rcc PLL3_R>;
+	clock-names = "pclk", "i2sclk", "x8k", "x11k";
+	pinctrl-names = "default";
+	pinctrl-0 = <&i2s1_pins_mx>;
+	status = "okay";
+
+		i2s1_tx_port: port@0 {
+			i2s1_tx_endpoint: endpoint {
+				remote-endpoint = <&wm8994_tx_endpoint>;
+				format = "i2s";
+			};
+		};
+		
+		i2s1_rx_port: port@1 {
+			i2s1_rx_endpoint: endpoint {
+				remote-endpoint = <&wm8994_rx_endpoint>;
+				format = "i2s";
+			};
+		};
+};
+
 &i2c2 {
 	pinctrl-names = "default", "sleep";
 	pinctrl-0 = <&i2c2_pins_a>;
@@ -414,7 +443,7 @@
 
 		wlf,ldoena-always-driven;
 
-		clocks = <&sai2a>;
+		clocks = <&i2s1>;
 		clock-names = "MCLK1";
 
 		wlf,gpio-cfg = <0x8101 0xa100 0xa100 0xa100 0xa101 0xa101 0xa100 0xa101 0xa101 0xa101 0xa101>;
@@ -426,14 +455,14 @@
 			wm8994_tx_port: port@0 {
 				reg = <0>;
 				wm8994_tx_endpoint: endpoint {
-					remote-endpoint = <&sai2a_endpoint>;
+					remote-endpoint = <&i2s1_tx_endpoint>;
 				};
 			};
 
 			wm8994_rx_port: port@1 {
 				reg = <1>;
 				wm8994_rx_endpoint: endpoint {
-					remote-endpoint = <&sai2b_endpoint>;
+					remote-endpoint = <&i2s1_rx_endpoint>;
 				};
 			};
 		};
@@ -572,45 +601,45 @@
 	};
 };
 
-&sai2 {
-	clocks = <&rcc SAI2>, <&rcc PLL3_Q>, <&rcc PLL3_R>;
-	pinctrl-names = "default", "sleep";
-	pinctrl-0 = <&sai2a_pins_a>, <&sai2b_pins_a>;
-	pinctrl-1 = <&sai2a_sleep_pins_a>, <&sai2b_sleep_pins_a>;
-	clock-names = "pclk", "x8k", "x11k";
-	status = "okay";
-
-	sai2a: audio-controller@4400b004 {
-		#clock-cells = <0>;
-		dma-names = "tx";
-		clocks = <&rcc SAI2_K>;
-		clock-names = "sai_ck";
-		status = "okay";
-
-		sai2a_port: port {
-			sai2a_endpoint: endpoint {
-				remote-endpoint = <&wm8994_tx_endpoint>;
-				format = "i2s";
-				mclk-fs = <256>;
-			};
-		};
-	};
-
-	sai2b: audio-controller@4400b024 {
-		dma-names = "rx";
-		clocks = <&rcc SAI2_K>, <&sai2a>;
-		clock-names = "sai_ck", "MCLK";
-		status = "okay";
-
-		sai2b_port: port {
-			sai2b_endpoint: endpoint {
-				remote-endpoint = <&wm8994_rx_endpoint>;
-				format = "i2s";
-				mclk-fs = <256>;
-			};
-		};
-	};
-};
+// &sai2 {
+// 	clocks = <&rcc SAI2>, <&rcc PLL3_Q>, <&rcc PLL3_R>;
+// 	pinctrl-names = "default", "sleep";
+// 	pinctrl-0 = <&sai2a_pins_a>, <&sai2b_pins_a>;
+// 	pinctrl-1 = <&sai2a_sleep_pins_a>, <&sai2b_sleep_pins_a>;
+// 	clock-names = "pclk", "x8k", "x11k";
+// 	status = "okay";
+// 
+// 	sai2a: audio-controller@4400b004 {
+// 		#clock-cells = <0>;
+// 		dma-names = "tx";
+// 		clocks = <&rcc SAI2_K>;
+// 		clock-names = "sai_ck";
+// 		status = "okay";
+// 
+// 		sai2a_port: port {
+// 			sai2a_endpoint: endpoint {
+// 				remote-endpoint = <&wm8994_tx_endpoint>;
+// 				format = "i2s";
+// 				mclk-fs = <256>;
+// 			};
+// 		};
+// 	};
+// 
+// 	sai2b: audio-controller@4400b024 {
+// 		dma-names = "rx";
+// 		clocks = <&rcc SAI2_K>, <&sai2a>;
+// 		clock-names = "sai_ck", "MCLK";
+// 		status = "okay";
+// 
+// 		sai2b_port: port {
+// 			sai2b_endpoint: endpoint {
+// 				remote-endpoint = <&wm8994_rx_endpoint>;
+// 				format = "i2s";
+// 				mclk-fs = <256>;
+// 			};
+// 		};
+// 	};
+// };
 
 &sai4 {
 	clocks = <&rcc SAI4>, <&rcc PLL3_Q>, <&rcc PLL3_R>;
@@ -660,12 +689,12 @@
 	};
 };
 
-&spi1 {
-	pinctrl-names = "default", "sleep";
-	pinctrl-0 = <&spi1_pins_a>;
-	pinctrl-1 = <&spi1_sleep_pins_a>;
-	status = "disabled";
-};
+// &spi1 {
+// 	pinctrl-names = "default", "sleep";
+// 	pinctrl-0 = <&spi1_pins_a>;
+// 	pinctrl-1 = <&spi1_sleep_pins_a>;
+// 	status = "disabled";
+// };
 
 &timers2 {
 	status = "disabled";
diff --git a/arch/arm/boot/dts/stm32mp157c-m4-srm.dtsi b/arch/arm/boot/dts/stm32mp157c-m4-srm.dtsi
index 4d641a99c..b44618088 100644
--- a/arch/arm/boot/dts/stm32mp157c-m4-srm.dtsi
+++ b/arch/arm/boot/dts/stm32mp157c-m4-srm.dtsi
@@ -516,9 +516,9 @@
 
 	m4_spi1_pins_a: m4-spi1-0 {
 		pins {
-			pinmux = <STM32_PINMUX('Z', 0, AF5)>, /* SPI1_SCK */
-				 <STM32_PINMUX('Z', 2, AF5)>, /* SPI1_MOSI */
-				 <STM32_PINMUX('Z', 1, AF5)>; /* SPI1_MISO */
+			pinmux = <STM32_PINMUX('Z', 0, RSVD)>, /* SPI1_SCK */
+				 <STM32_PINMUX('Z', 2, RSVD)>, /* SPI1_MOSI */
+				 <STM32_PINMUX('Z', 1, RSVD)>; /* SPI1_MISO */
 		};
 	};
 };
diff --git a/arch/arm/boot/dts/stm32mp157c.dtsi b/arch/arm/boot/dts/stm32mp157c.dtsi
index d56e0f984..b3573d07a 100644
--- a/arch/arm/boot/dts/stm32mp157c.dtsi
+++ b/arch/arm/boot/dts/stm32mp157c.dtsi
@@ -823,7 +823,7 @@
 			dmas = <&dmamux1 37 0x400 0x01>,
 			       <&dmamux1 38 0x400 0x01>;
 			dma-names = "rx", "tx";
-			status = "disabled";
+			status = "okay";
 		};
 
 		spi4: spi@44005000 {

Hi I am having on sgtl5000 codec on i2s lines,

         i2sa_pins_z: i2sz-1 {

            pins {

               pinmux = <STM32_PINMUX('Z', 0, AF5)>, /* I2S1_CK */

                  <STM32_PINMUX('Z', 1, AF5)>, /* I2S1_SDI */

                  <STM32_PINMUX('Z', 2, AF5)>, /* I2S1_SDO */

                  <STM32_PINMUX('Z', 6, AF5)>; /* I2S1_MCK */

               slew-rate = <0>;

               drive-push-pull;

               bias-disable;

            };

         };

         i2s1_pins_mx: i2s1_mx-0 {

            pins {

               pinmux = <STM32_PINMUX('A', 15, AF5)>; /* I2S1_WS */

               bias-disable;

               drive-push-pull;

               slew-rate = <1>;

            };

         };

&i2s1 {

   #clock-cells = <0>;

   clocks = <&rcc SPI1>, <&rcc SPI1_K>, <&rcc PLL3_Q>, <&rcc PLL3_R>;

   clock-names = "pclk", "i2sclk", "x8k", "x11k";

   pinctrl-names = "default";

   pinctrl-0 = <&i2s1_pins_mx &i2sa_pins_z>;

   status = "okay";

};

STill i see a

[   2.931175] sgtl5000 0-000a: Error reading chip id -6

[   9.582514] Error: Driver 'sgtl5000' is already registered, aborting...

could you please share your thoughts,