diff --git arch/arm64/boot/dts/ti/k3-am62a7-sk.dts arch/arm64/boot/dts/ti/k3-am62a7-sk.dts
index 662025dba..94df2ea17 100644
--- arch/arm64/boot/dts/ti/k3-am62a7-sk.dts
+++ arch/arm64/boot/dts/ti/k3-am62a7-sk.dts
@@ -18,8 +18,10 @@ / {
 
 	aliases {
 		serial2 = &main_uart0;
+		serial3 = &main_uart1;
 		mmc0 = &sdhci0;
 		mmc1 = &sdhci1;
+		mmc2 = &sdhci2;
 		ethernet0 = &cpsw_port1;
 		spi0 = &ospi0;
 	};
@@ -192,6 +194,41 @@ vddshv_sdio: regulator-5 {
 			 <3300000 0x1>;
 	};
 
+	// START CC33xx M2 Card Regulator Patches
+	wlan_lten: regulator-6 {
+		compatible = "regulator-fixed";
+		regulator-name = "wlan_lten";
+		regulator-min-microvolt = <3300000>;
+		regulator-max-microvolt = <3300000>;
+		vin-supply = <&vcc_3v3_sys>;
+		gpios = <&exp2 8 GPIO_ACTIVE_HIGH>; /* based on array placement in exp2 of WL_LT_EN signal */
+		enable-active-high;
+	};
+
+	wlan_en: regulator-7 {
+		compatible = "regulator-fixed";
+		regulator-name = "wlan_en";
+		regulator-min-microvolt = <1800000>;
+		regulator-max-microvolt = <1800000>;
+		vin-supply = <&wlan_lten>;
+		enable-active-high;
+		gpios = <&main_gpio0 71 GPIO_ACTIVE_HIGH>;
+		pinctrl-names = "default";
+		pinctrl-0 = <&wlan_en_pins_default>;
+	};
+
+	ble_lten: regulator-8 {
+		compatible = "regulator-fixed";
+		regulator-name = "ble_lten";
+		regulator-min-microvolt = <1800000>;
+		regulator-max-microvolt = <1800000>;
+		gpios = <&exp1 10 GPIO_ACTIVE_LOW>; /* based on array placement in exp1 of UART1_FET_BUF_EN signal */
+		regulator-always-on;
+	};
+
+	//END CC33xx M2 Patches
+
+
 	leds {
 		compatible = "gpio-leds";
 		pinctrl-names = "default";
@@ -261,6 +298,16 @@ AM62AX_IOPAD(0x1cc, PIN_OUTPUT, 0) /* (E14) UART0_TXD */
 		>;
 	};
 
+	//CC3301 M2 Card BLE Data Flow
+	main_uart1_pins_default: main-uart1-pins-default {
+		pinctrl-single,pins = < 
+			AM62AX_IOPAD(0x194, PIN_INPUT, 2)  /* (C19) UART1_CTSn */
+			AM62AX_IOPAD(0x198, PIN_OUTPUT, 2) /* (B19) UART1_RTSn */
+			AM62AX_IOPAD(0x1ac, PIN_INPUT, 2)  /* (B21) UART1_RXD */
+			AM62AX_IOPAD(0x1b0, PIN_OUTPUT, 2) /* (A21) UART1_TXD */
+		>;
+	};
+
 	main_i2c0_pins_default: main-i2c0-pins-default {
 		pinctrl-single,pins = <
 			AM62AX_IOPAD(0x1e0, PIN_INPUT_PULLUP, 0) /* (B16) I2C0_SCL */
@@ -294,6 +341,29 @@ AM62AX_IOPAD(0x240, PIN_INPUT, 0) /* (D17) MMC1_SDCD */
 		>;
 	};
 
+	/* CC3301 M2 Patches START: Pin Controls for SDHCI2 */
+	//MMC Pin Controls
+	main_mmc2_pins_default: main-mmc2-pins-default {
+		pinctrl-single,pins = <
+			AM62AX_IOPAD(0x118, PIN_INPUT, 0) /* (H22) MMC2_CLK */
+			AM62AX_IOPAD(0x120, PIN_INPUT, 0) /* (G22) MMC2_CMD */
+			AM62AX_IOPAD(0x114, PIN_INPUT, 0) /* (E20) MMC2_DAT0 */
+			AM62AX_IOPAD(0x110, PIN_INPUT, 0) /* (F21) MMC2_DAT1 */
+			AM62AX_IOPAD(0x10c, PIN_INPUT, 0) /* (F20) MMC2_DAT2 */
+			AM62AX_IOPAD(0x108, PIN_INPUT, 0) /* (G21) MMC2_DAT3 */
+			//AM62AX_IOPAD(0x11c, PIN_INPUT, 0) /* (#N/A) MMC2_CLKB, NOT SURE WHAT */
+		>;
+	};
+
+	//WLAN Interrupt
+	main_wlirq_pins_default: main-wlirq-pins-default {
+		pinctrl-single,pins = <
+			AM62AX_IOPAD(0x128, PIN_INPUT, 7) /* (E21) GPIO0_72 -> WLAN Interrupt */
+		>;
+	};
+
+	/* CC3301 M2 Patches END: Pin Controls for SDHCI2 */
+
 	usr_led_pins_default: usr-led-pins-default {
 		pinctrl-single,pins = <
 			AM62AX_IOPAD(0x244, PIN_OUTPUT, 7) /* (D18) MMC1_SDWP.GPIO1_49 */
@@ -416,6 +486,24 @@ AM62AX_IOPAD(0x028, PIN_INPUT, 0) /* (J22) OSPI0_D7 */
 			AM62AX_IOPAD(0x008, PIN_INPUT, 0) /* (J24) OSPI0_DQS */
 		>;
 	};
+
+	wlan_en_pins_default: wlan-en-pins-default {
+		pinctrl-single,pins = <
+				AM62AX_IOPAD(0x124, PIN_OUTPUT, 7) /* pin F22, GPIO0_71, parameters: padconfig addr, I/O, mux mode  */
+		>;
+	};
+};
+
+&main_uart1 {
+	status = "okay";
+	pinctrl-names = "default";
+	pinctrl-0 = <&main_uart1_pins_default>;
+
+	bluetooth {
+		compatible = "ti,cc33xx-bt";
+		cc33xx-supply = <&wlan_en>;
+		max-speed = <115200>;
+	};
 };
 
 &mcu_pmx0 {
@@ -555,12 +643,12 @@ exp1: gpio@22 {
 		interrupt-controller;
 		#interrupt-cells = <2>;
 
-		gpio-line-names = "GPIO_CPSW2_RST", "GPIO_CPSW1_RST",
-				   "BT_EN_SOC", "MMC1_SD_EN",
-				   "VPP_EN", "EXP_PS_3V3_En",
-				   "EXP_PS_5V0_En", "EXP_HAT_DETECT",
-				   "GPIO_AUD_RSTn", "GPIO_eMMC_RSTn",
-				   "UART1_FET_BUF_EN", "BT_UART_WAKE_SOC",
+		gpio-line-names = "GPIO_CPSW2_RST", "GPIO_CPSW1_RST",	/* 0, 1 */
+				   "BT_EN_SOC", "MMC1_SD_EN",					/* 2, 3 */
+				   "VPP_EN", "EXP_PS_3V3_En",					/* 4, 5 */
+				   "EXP_PS_5V0_En", "EXP_HAT_DETECT",			/* 6, 7 */
+				   "GPIO_AUD_RSTn", "GPIO_eMMC_RSTn",			/* 8, 9 */
+				   "UART1_FET_BUF_EN", "BT_UART_WAKE_SOC",		/* 10, 11*/
 				   "GPIO_HDMI_RSTn", "CSI_GPIO0",
 				   "CSI_GPIO1", "WLAN_ALERTn",
 				   "HDMI_INTn", "TEST_GPIO2",
@@ -578,18 +666,19 @@ exp2: gpio@23 {
 		gpio-controller;
 		#gpio-cells = <2>;
 
-		gpio-line-names = "", "",
-				  "", "",
-				  "", "",
-				  "", "",
-				  "WL_LT_EN", "CSI_RSTz",
-				  "", "",
-				  "", "",
-				  "", "",
-				  "SPI0_FET_SEL", "SPI0_FET_OE",
-				  "RGMII2_BRD_CONN_DET", "CSI_SEL2",
-				  "CSI_EN", "AUTO_100M_1000M_CONFIG",
-				  "CSI_VLDO_SEL", "SoC_WLAN_SDIO_RST";
+		gpio-line-names = "", "",						/* 0, 1 */
+				  "", "",								/* 2, 3 */
+				  "", "",								/* 4, 5 */
+				  "", "",								/* 6, 7 */
+				  "WL_LT_EN", "CSI_RSTz",				/* 8, 9 */
+				  "", "",								
+				  "", "",								
+				  "", "",								
+				  "", "",								
+				  "SPI0_FET_SEL", "SPI0_FET_OE",		
+				  "RGMII2_BRD_CONN_DET", "CSI_SEL2",	
+				  "CSI_EN", "AUTO_100M_1000M_CONFIG",	
+				  "CSI_VLDO_SEL", "SoC_WLAN_SDIO_RST";	
 	};
 
 	tlv320aic3106: audio-codec@1b {
@@ -656,6 +745,32 @@ &sdhci1 {
 	ti,driver-strength-ohm = <50>;
 	disable-wp;
 };
+//CC33XX SDHCI2 Patch
+&sdhci2 {
+	status = "okay";
+	vmmc-supply = <&wlan_en>;
+	pinctrl-names = "default";
+	pinctrl-0 = <&main_mmc2_pins_default>;
+	bus-width = <4>;
+	non-removable;
+	ti,fails-without-test-cd;
+	cap-power-off-card;
+	keep-power-in-suspend;
+	ti,driver-strength-ohm = <50>;
+	assigned-clocks = <&k3_clks 157 159>;
+	assigned-clock-parents = <&k3_clks 157 160>;
+
+	#address-cells = <1>;
+	#size-cells = <0>;
+	wlcore: wlcore@2 {
+		compatible = "ti,cc33xx";
+		reg = <2>;
+		pinctrl-names = "default";
+		pinctrl-0 = <&main_wlirq_pins_default>;
+		interrupt-parent = <&main_gpio0>;
+		interrupts = <72 IRQ_TYPE_EDGE_FALLING>; //change to falling but figure out why
+	};
+};
 
 &main_gpio0 {
 	status = "okay";
