diff -Nur src.orig/arm/am5729-beagleboneai.dts src/arm/am5729-beagleboneai.dts
--- src.orig/arm/am5729-beagleboneai.dts	2024-01-04 13:16:50.524149773 +0000
+++ src/arm/am5729-beagleboneai.dts	2024-01-04 12:02:36.234830124 +0000
@@ -30,6 +30,7 @@
 		i2c1 = &i2c5;
 		i2c2 = &i2c4;
 		i2c3 = &i2c3;
+		spi3 = &mcspi3;
 	};
 
 	chosen {
@@ -286,6 +287,17 @@
 #endif
 		>;
 	};
+
+ 	bbai_spi3_pins: bbai_spi3_pins {
+        	pinctrl-single,pins = <
+                	DRA7XX_CORE_IOPAD(0x3780, PIN_INPUT | MUX_MODE1) /* AC4: P8.20: spi3_sclk */
+                	DRA7XX_CORE_IOPAD(0x3784, MUX_MODE1) /* AC7: P8.25: spi3_d1 SDI */
+                	DRA7XX_CORE_IOPAD(0x3788, MUX_MODE1) /* AC6: P8.24: spi3_d0 SDO */
+                	DRA7XX_CORE_IOPAD(0x378C, MUX_MODE1) /* AC9: P8.5: spi3_cs0 Channel 0 */
+                	DRA7XX_CORE_IOPAD(0x3790, MUX_MODE1) /* AC3: P8.6: spi3_cs1 Channel 1 */
+        	>;
+	};
+
 };
 
 &i2c1 {
@@ -563,6 +575,7 @@
 	};
 };
 
+/*
 &mcspi3 {
 	status = "okay";
 	ti,pindir-d0-out-d1-in;
@@ -577,6 +590,32 @@
 		spi-cpol;
 	};
 };
+*/
+
+&mcspi3 {
+        #address-cells = <1>;
+        #size-cells = <0>;
+        status = "okay";
+        ti,pindir-d0-out-d1-in;
+        pinctrl-names = "default";
+        pinctrl-0 = <&bbai_spi3_pins>;
+
+        channel@0 {
+                #address-cells = <1>;
+                #size-cells = <0>;
+                compatible = "spidev";
+                reg = <0>;
+                spi-max-frequency = <24000000>;
+        };
+        channel@1 {
+                #address-cells = <1>;
+                #size-cells = <0>;
+                compatible = "spidev";
+                reg = <1>;
+                spi-max-frequency = <24000000>;
+        };
+};
+
 
 &cpu0 {
 	vdd-supply = <&vdd_mpu>;
diff -Nur src.orig/arm/am572x-bone-common-univ.dtsi src/arm/am572x-bone-common-univ.dtsi
--- src.orig/arm/am572x-bone-common-univ.dtsi	2024-01-04 13:16:50.448226398 +0000
+++ src/arm/am572x-bone-common-univ.dtsi	2024-01-04 13:09:02.909707276 +0000
@@ -45,6 +45,7 @@
 	BONE_PIN(P8_05, pruin, P8_05( PIN_INPUT | MUX_MODE12 ))		/* mmc3_dat2.pr2_pru0_gpi06 */
 	BONE_PIN(P8_05, pruout, P8_05( PIN_OUTPUT_PULLDOWN | INPUT_EN | MUX_MODE13 ))		/* mmc3_dat2.pr2_pru0_gpo06 */
 	BONE_PIN(P8_05, eqep, P8_05( PIN_OUTPUT_PULLUP | INPUT_EN | MUX_MODE10 ))		/* mmc3_dat2.eQEP3_index */
+	BONE_PIN(P8_05, spi_cs, P8_05( PIN_OUTPUT_PULLUP | INPUT_EN | MUX_MODE1 ))    		/* spi3_cs0 Channel 0 */
 
 	/* P8_06  (ball AC3) gpio7_2 */
 	BONE_PIN(P8_06, default, P8_06( PIN_OUTPUT_PULLDOWN | INPUT_EN | MUX_MODE14 ))		/* mmc3_dat3.gpio7_2 */
@@ -54,6 +55,7 @@
 	BONE_PIN(P8_06, pruin, P8_06( PIN_INPUT | MUX_MODE12 ))		/* mmc3_dat3.pr2_pru0_gpi07 */
 	BONE_PIN(P8_06, pruout, P8_06( PIN_OUTPUT_PULLDOWN | INPUT_EN | MUX_MODE13 ))		/* mmc3_dat3.pr2_pru0_gpo07 */
 	BONE_PIN(P8_06, eqep, P8_06( PIN_OUTPUT_PULLUP | INPUT_EN | MUX_MODE10 ))		/* mmc3_dat3.eQEP3_strobe */
+	BONE_PIN(P8_06, spi_cs, P8_06( PIN_OUTPUT_PULLUP | INPUT_EN | MUX_MODE1 ))		/* spi3_cs1 Channel 1 */
 
 	/* P8_07  (ball G14) gpio6_5*/
 	BONE_PIN(P8_07, default, P8_07( PIN_OUTPUT_PULLUP | INPUT_EN | MUX_MODE14 ))		/* mcasp1_axr14.gpio6_5 */
@@ -191,6 +193,7 @@
 	BONE_PIN(P8_20, pruout, P8_20( PIN_OUTPUT_PULLDOWN | INPUT_EN | MUX_MODE13 ))	/* mmc3_cmd.pr2_pru0_gpo3 */
 	BONE_PIN(P8_20, pruin, P8_20( PIN_INPUT | MUX_MODE12 ))	/* mmc3_cmd.pr2_pru0_gpi3 */
 	BONE_PIN(P8_20, ecap_pwm, P8_20( PIN_OUTPUT_PULLDOWN | INPUT_EN | MUX_MODE10 ))		/* mmc3_cmd.eCAP2_in_PWM2_out */
+	BONE_PIN(P8_20, spi_sclk, P8_20( PIN_OUTPUT_PULLUP | INPUT_EN | MUX_MODE1 ))	/* spi3_sclk CLK */
 
 	/* P8_21  (ball AD4) gpio6_29 */
 	BONE_PIN(P8_21, default, P8_21( PIN_OUTPUT_PULLDOWN | INPUT_EN | MUX_MODE14 ))	/* mmc3_clk.gpio6_29 */
@@ -223,6 +226,7 @@
 	BONE_PIN(P8_24, gpio_pd, P8_24( PIN_OUTPUT_PULLDOWN | INPUT_EN | MUX_MODE14 ))	/* mmc3_dat1.gpio7_0 */
 	BONE_PIN(P8_24, pruout, P8_24( PIN_OUTPUT_PULLDOWN | INPUT_EN | MUX_MODE13 ))	/* mmc3_dat1.pr2_pru0_gpo5 */
 	BONE_PIN(P8_24, pruin, P8_24( PIN_INPUT | MUX_MODE12 ))	/* mmc3_dat1.pr2_pru0_gpi5 */
+	BONE_PIN(P8_24, spi, P8_24( PIN_OUTPUT_PULLUP | INPUT_EN | MUX_MODE1 ))		/* spi3_d0 SDO */
 
 	/* P8_25  (ball AC7) gpio6_31 */
 	BONE_PIN(P8_25, default, P8_25( PIN_OUTPUT_PULLDOWN | INPUT_EN | MUX_MODE14 ))	/* mmc3_dat0.gpio6_31 */
@@ -231,6 +235,7 @@
 	BONE_PIN(P8_25, gpio_pd, P8_25( PIN_OUTPUT_PULLDOWN | INPUT_EN | MUX_MODE14 ))	/* mmc3_dat0.gpio6_31 */
 	BONE_PIN(P8_25, pruout, P8_25( PIN_OUTPUT_PULLDOWN | INPUT_EN | MUX_MODE13 ))	/* mmc3_dat0.pr2_pru0_gpo4 */
 	BONE_PIN(P8_25, pruin, P8_25( PIN_INPUT | MUX_MODE12 ))	/* mmc3_dat0.pr2_pru0_gpi4 */
+	BONE_PIN(P8_25, spi, P8_25( PIN_OUTPUT_PULLUP | INPUT_EN | MUX_MODE1 )) 	/* spi3_d1 SDI */
 
 	/* P8_26  (ball  B3) gpio4_28 */
 	BONE_PIN(P8_26, default, P8_26( PIN_OUTPUT_PULLUP | INPUT_EN | MUX_MODE14 ))	/* vin2a_d20.gpio4_28 */
@@ -876,10 +881,11 @@
 		pinctrl-6 = <&P8_04_pruout_pin>;
 	};
 
+/*
 	P8_05_pinmux {
 		compatible = "bone-pinmux-helper";
 		status = "okay";
-		pinctrl-names = "default", "gpio", "gpio_pu", "gpio_pd", "eqep", "pruin", "pruout";
+		pinctrl-names = "default", "gpio", "gpio_pu", "gpio_pd", "eqep", "pruin", "pruout", "spi_cs";
 		pinctrl-0 = <&P8_05_default_pin>;
 		pinctrl-1 = <&P8_05_gpio_pin>;
 		pinctrl-2 = <&P8_05_gpio_pu_pin>;
@@ -887,12 +893,13 @@
 		pinctrl-4 = <&P8_05_eqep_pin>;
 		pinctrl-5 = <&P8_05_pruin_pin>;
 		pinctrl-6 = <&P8_05_pruout_pin>;
+		pinctrl-7 = <&P8_05_spi_cs_pin>;
 	};
 
 	P8_06_pinmux {
 		compatible = "bone-pinmux-helper";
 		status = "okay";
-		pinctrl-names = "default", "gpio", "gpio_pu", "gpio_pd", "eqep", "pruin", "pruout";
+		pinctrl-names = "default", "gpio", "gpio_pu", "gpio_pd", "eqep", "pruin", "pruout", "spi_cs";
 		pinctrl-0 = <&P8_06_default_pin>;
 		pinctrl-1 = <&P8_06_gpio_pin>;
 		pinctrl-2 = <&P8_06_gpio_pu_pin>;
@@ -900,7 +907,9 @@
 		pinctrl-4 = <&P8_06_eqep_pin>;
 		pinctrl-5 = <&P8_06_pruin_pin>;
 		pinctrl-6 = <&P8_06_pruout_pin>;
+		pinctrl-7 = <&P8_06_spi_cs_pin>;
 	};
+*/
 
 	P8_07_pinmux {
 		compatible = "bone-pinmux-helper";
@@ -1070,10 +1079,11 @@
 		pinctrl-6 = <&P8_19_pruout_pin>;
 	};
 
+/*
 	P8_20_pinmux {
 		compatible = "bone-pinmux-helper";
 		status = "okay";
-		pinctrl-names = "default", "gpio", "gpio_pu", "gpio_pd", "pruout", "pruin", "ecap-pwm";
+		pinctrl-names = "default", "gpio", "gpio_pu", "gpio_pd", "pruout", "pruin", "ecap-pwm", "spi_sclk";
 		pinctrl-0 = <&P8_20_default_pin>;
 		pinctrl-1 = <&P8_20_gpio_pin>;
 		pinctrl-2 = <&P8_20_gpio_pu_pin>;
@@ -1081,7 +1091,9 @@
 		pinctrl-4 = <&P8_20_pruout_pin>;
 		pinctrl-5 = <&P8_20_pruin_pin>;
 		pinctrl-6 = <&P8_20_ecap_pwm_pin>;
+		pinctrl-7 = <&P8_20_spi_sclk_pin>;
 	};
+*/
 
 	P8_21_pinmux {
 		compatible = "bone-pinmux-helper";
@@ -1119,29 +1131,33 @@
 		pinctrl-5 = <&P8_23_pruin_pin>;
 	};
 
+/*
 	P8_24_pinmux {
 		compatible = "bone-pinmux-helper";
 		status = "okay";
-		pinctrl-names = "default", "gpio", "gpio_pu", "gpio_pd", "pruout", "pruin";
+		pinctrl-names = "default", "gpio", "gpio_pu", "gpio_pd", "pruout", "pruin", "spi";
 		pinctrl-0 = <&P8_24_default_pin>;
 		pinctrl-1 = <&P8_24_gpio_pin>;
 		pinctrl-2 = <&P8_24_gpio_pu_pin>;
 		pinctrl-3 = <&P8_24_gpio_pd_pin>;
 		pinctrl-4 = <&P8_24_pruout_pin>;
 		pinctrl-5 = <&P8_24_pruin_pin>;
+		pinctrl-6 = <&P8_24_spi_pin>;
 	};
 
 	P8_25_pinmux {
 		compatible = "bone-pinmux-helper";
 		status = "okay";
-		pinctrl-names = "default", "gpio", "gpio_pu", "gpio_pd", "pruout", "pruin";
+		pinctrl-names = "default", "gpio", "gpio_pu", "gpio_pd", "pruout", "pruin", "spi";
 		pinctrl-0 = <&P8_25_default_pin>;
 		pinctrl-1 = <&P8_25_gpio_pin>;
 		pinctrl-2 = <&P8_25_gpio_pu_pin>;
 		pinctrl-3 = <&P8_25_gpio_pd_pin>;
 		pinctrl-4 = <&P8_25_pruout_pin>;
 		pinctrl-5 = <&P8_25_pruin_pin>;
+		pinctrl-6 = <&P8_25_spi_pin>;
 	};
+*/
 
 	P8_26_pinmux {
 		compatible = "bone-pinmux-helper";
