board: frdm_mcxn236: Enable MICFIL on frdm_mcxn236

1. Enable MICFIL on frdm_mcxn236 board.
2. MICFIL CLOCK and DATA Pins are conflict with
flexcomm0_lpuart pins, so change flexcomm0_lpuart
pins to 'FC0_P2_PIO0_6' and 'FC0_P3_PIO0_7'.

Signed-off-by: Zhaoxiang Jin <Zhaoxiang.Jin_1@nxp.com>
diff --git a/boards/nxp/frdm_mcxn236/board.c b/boards/nxp/frdm_mcxn236/board.c
index 53d2052..f4034ae 100644
--- a/boards/nxp/frdm_mcxn236/board.c
+++ b/boards/nxp/frdm_mcxn236/board.c
@@ -1,5 +1,5 @@
 /*
- * Copyright 2024  NXP
+ * Copyright 2024-2025 NXP
  * SPDX-License-Identifier: Apache-2.0
  */
 #include <zephyr/init.h>
@@ -103,7 +103,9 @@
 
 	CLOCK_SetupExtClocking(BOARD_XTAL0_CLK_HZ);
 
-#if DT_NODE_HAS_STATUS_OKAY(DT_NODELABEL(sai0)) || DT_NODE_HAS_STATUS_OKAY(DT_NODELABEL(sai1))
+#if DT_NODE_HAS_STATUS_OKAY(DT_NODELABEL(sai0)) || \
+	DT_NODE_HAS_STATUS_OKAY(DT_NODELABEL(sai1)) || \
+	DT_NODE_HAS_STATUS_OKAY(DT_NODELABEL(micfil))
 	/* < Set up PLL1 */
 	const pll_setup_t pll1_Setup = {
 		.pllctrl = SCG_SPLLCTRL_SOURCE(1U) | SCG_SPLLCTRL_SELI(3U) |
@@ -111,12 +113,13 @@
 		.pllndiv = SCG_SPLLNDIV_NDIV(25U),
 		.pllpdiv = SCG_SPLLPDIV_PDIV(10U),
 		.pllmdiv = SCG_SPLLMDIV_MDIV(256U),
-		.pllRate = 24576000U};
+		.pllRate = 24576000U
+	};
 
 	/* Configure PLL1 to the desired values */
 	CLOCK_SetPLL1Freq(&pll1_Setup);
-	/* Set PLL1 CLK0 divider to value 1 */
-	CLOCK_SetClkDiv(kCLOCK_DivPLL1Clk0, 1U);
+	/* Set PLL1 CLK0 divider to value 2, then the clock is 12288000Hz. */
+	CLOCK_SetClkDiv(kCLOCK_DivPLL1Clk0, 2U);
 #endif
 
 #if DT_NODE_HAS_STATUS_OKAY(DT_NODELABEL(flexcomm0))
@@ -339,6 +342,12 @@
 	CLOCK_EnableClock(kCLOCK_Sai1);
 #endif
 
+#if DT_NODE_HAS_STATUS_OKAY(DT_NODELABEL(micfil))
+	CLOCK_SetClkDiv(kCLOCK_DivMicfilFClk, 1U);
+	CLOCK_AttachClk(kPLL1_CLK0_to_MICFILF);
+	CLOCK_EnableClock(kCLOCK_Micfil);
+#endif
+
 	/* Set SystemCoreClock variable. */
 	SystemCoreClock = CLOCK_INIT_CORE_CLOCK;
 }
diff --git a/boards/nxp/frdm_mcxn236/frdm_mcxn236-pinctrl.dtsi b/boards/nxp/frdm_mcxn236/frdm_mcxn236-pinctrl.dtsi
index d03950c..5b8aaf7 100644
--- a/boards/nxp/frdm_mcxn236/frdm_mcxn236-pinctrl.dtsi
+++ b/boards/nxp/frdm_mcxn236/frdm_mcxn236-pinctrl.dtsi
@@ -8,8 +8,8 @@
 &pinctrl {
 	pinmux_flexcomm0_lpuart: pinmux_flexcomm0_lpuart {
 		group0 {
-			pinmux = <FC0_P0_PIO0_16>,
-				 <FC0_P1_PIO0_17>;
+			pinmux = <FC0_P2_PIO0_6>,
+				 <FC0_P3_PIO0_7>;
 			slew-rate = "fast";
 			drive-strength = "low";
 			input-enable;
@@ -248,4 +248,14 @@
 			drive-open-drain;
 		};
 	};
+
+	pinmux_micfil: pinmux_micfil {
+		group0 {
+			pinmux = <PDM0_CLK_PIO0_16>,
+				 <PDM0_DATA0_PIO0_17>;
+			drive-strength = "high";
+			slew-rate = "fast";
+			input-enable;
+		};
+	};
 };
diff --git a/boards/nxp/frdm_mcxn236/frdm_mcxn236.dts b/boards/nxp/frdm_mcxn236/frdm_mcxn236.dts
index 35bb46e..a22cac7 100644
--- a/boards/nxp/frdm_mcxn236/frdm_mcxn236.dts
+++ b/boards/nxp/frdm_mcxn236/frdm_mcxn236.dts
@@ -443,3 +443,9 @@
 	pinctrl-0 = <&pinmux_sai1>;
 	pinctrl-names = "default";
 };
+
+&micfil {
+	status = "okay";
+	pinctrl-0 = <&pinmux_micfil>;
+	pinctrl-names = "default";
+};
diff --git a/dts/arm/nxp/nxp_mcxn23x_common.dtsi b/dts/arm/nxp/nxp_mcxn23x_common.dtsi
index e95c01fc..4b88cae 100644
--- a/dts/arm/nxp/nxp_mcxn23x_common.dtsi
+++ b/dts/arm/nxp/nxp_mcxn23x_common.dtsi
@@ -983,6 +983,48 @@
 		nxp,rx-dma-channel = <3>;
 		status = "disabled";
 	};
+
+	micfil: micfil@10c000 {
+		compatible = "nxp,micfil";
+		#address-cells = <1>;
+		#size-cells = <0>;
+		interrupts = <48 0>;
+		reg = <0x10c000 0x1000>;
+		clocks = <&syscon MCUX_MICFIL_CLK>;
+		status = "disabled";
+		quality-mode = <1>;
+		cic-decimation-rate = <0>;
+		fifo-watermark = <15>;
+		sample-rate = <16000>;
+
+		channel0: micfil-channel@0 {
+			reg = <0>;
+			status = "disabled";
+			dc-remover-cutoff-freq = <2>;
+			decimation-filter-gain = <4>;
+		};
+
+		channel1: micfil-channel@1 {
+			reg = <1>;
+			status = "disabled";
+			dc-remover-cutoff-freq = <2>;
+			decimation-filter-gain = <4>;
+		};
+
+		channel2: micfil-channel@2 {
+			reg = <2>;
+			status = "disabled";
+			dc-remover-cutoff-freq = <2>;
+			decimation-filter-gain = <4>;
+		};
+
+		channel3: micfil-channel@3 {
+			reg = <3>;
+			status = "disabled";
+			dc-remover-cutoff-freq = <2>;
+			decimation-filter-gain = <4>;
+		};
+	};
 };
 
 &systick {