[PATCH v2 02/17] arm64: dts: imx91-11x11-evk: Add board muxes to select between PDM and MQS1
From: Chancel Liu
Date: Mon Aug 17 2026 - 23:03:46 EST
From: Chancel Liu <chancel.liu@xxxxxxx>
PDM has pin conflict with MQS1. Add GPIO-controlled board muxes to
route shared signals between PDM and MQS1.
Signed-off-by: Chancel Liu <chancel.liu@xxxxxxx>
---
.../boot/dts/freescale/imx91-11x11-evk.dts | 21 ++++++++++++++++++-
1 file changed, 20 insertions(+), 1 deletion(-)
diff --git a/arch/arm64/boot/dts/freescale/imx91-11x11-evk.dts b/arch/arm64/boot/dts/freescale/imx91-11x11-evk.dts
index 5716febb5a50..4d1ada6a3942 100644
--- a/arch/arm64/boot/dts/freescale/imx91-11x11-evk.dts
+++ b/arch/arm64/boot/dts/freescale/imx91-11x11-evk.dts
@@ -41,6 +41,25 @@ chosen {
stdout-path = &lpuart1;
};
+ pdm_mqs1_mux: mux-controller-0 {
+ compatible = "gpio-mux";
+ #mux-control-cells = <0>;
+ #mux-state-cells = <1>;
+ mux-gpios = <&adp5585 2 GPIO_ACTIVE_HIGH>;
+ };
+
+ pinctrl-gpiomux {
+ compatible = "pinctrl-multiplexer";
+
+ mqs1_fun: mqs1-grp {
+ mux-states = <&pdm_mqs1_mux 1>;
+ };
+
+ pdm_fun: pdm-grp {
+ mux-states = <&pdm_mqs1_mux 0>;
+ };
+ };
+
reg_vref_1v8: regulator-adc-vref {
compatible = "regulator-fixed";
regulator-max-microvolt = <1800000>;
@@ -484,7 +503,7 @@ bluetooth {
&micfil {
pinctrl-names = "default", "sleep";
- pinctrl-0 = <&pinctrl_pdm>;
+ pinctrl-0 = <&pinctrl_pdm>, <&pdm_fun>;
pinctrl-1 = <&pinctrl_pdm_sleep>;
assigned-clocks = <&clk IMX93_CLK_PDM>;
assigned-clock-parents = <&clk IMX93_CLK_AUDIO_PLL>;
--
2.50.1