[PATCH V2] arm64: dts: imx93-evk/qsb: add m2-pcm-level-shifter-hog to enable BT HFP

Sherry Sun posted 1 patch 2 weeks, 3 days ago
arch/arm64/boot/dts/freescale/imx93-11x11-evk.dts | 6 ++++++
arch/arm64/boot/dts/freescale/imx93-9x9-qsb.dts   | 6 ++++++
2 files changed, 12 insertions(+)
[PATCH V2] arm64: dts: imx93-evk/qsb: add m2-pcm-level-shifter-hog to enable BT HFP
Posted by Sherry Sun 2 weeks, 3 days ago
For i.MX93 11x11 EVK and 9x9 QSB boards, add the gpio-hog to enable the
M.2 PCM pins level shifter connected between soc sai1 interface and M.2
PCM pins so that HFP feature can be supported.

Since the HFP is only used at a later stage — after the BT firmware has
been downloaded and the BT connection with the remote device has been
established — both the pcal6524 expander and sai1 interface are already
fully initialized and available by that time. Therefore, using a
gpio-hog here will not introduce any probe ordering or dependency issues
for the HFP use case.

Signed-off-by: Sherry Sun <sherry.sun@nxp.com>
---
Changes in V2:
1. Improve the commit message to avoid confusion.
---
 arch/arm64/boot/dts/freescale/imx93-11x11-evk.dts | 6 ++++++
 arch/arm64/boot/dts/freescale/imx93-9x9-qsb.dts   | 6 ++++++
 2 files changed, 12 insertions(+)

diff --git a/arch/arm64/boot/dts/freescale/imx93-11x11-evk.dts b/arch/arm64/boot/dts/freescale/imx93-11x11-evk.dts
index 8dd5340e8141..acb160d3186c 100644
--- a/arch/arm64/boot/dts/freescale/imx93-11x11-evk.dts
+++ b/arch/arm64/boot/dts/freescale/imx93-11x11-evk.dts
@@ -356,6 +356,12 @@ pcal6524: gpio@22 {
 		#interrupt-cells = <2>;
 		interrupt-parent = <&gpio3>;
 		interrupts = <27 IRQ_TYPE_LEVEL_LOW>;
+
+		m2-pcm-level-shifter-hog {
+			gpio-hog;
+			gpios = <19 GPIO_ACTIVE_HIGH>;
+			output-high;
+		};
 	};
 
 	pmic@25 {
diff --git a/arch/arm64/boot/dts/freescale/imx93-9x9-qsb.dts b/arch/arm64/boot/dts/freescale/imx93-9x9-qsb.dts
index 0852067eab2c..11e08673083b 100644
--- a/arch/arm64/boot/dts/freescale/imx93-9x9-qsb.dts
+++ b/arch/arm64/boot/dts/freescale/imx93-9x9-qsb.dts
@@ -349,6 +349,12 @@ mic-can-sel-hog {
 			gpios = <17 GPIO_ACTIVE_HIGH>;
 			output-low;
 		};
+
+		m2-pcm-level-shifter-hog {
+			gpio-hog;
+			gpios = <19 GPIO_ACTIVE_HIGH>;
+			output-high;
+		};
 	};
 
 	pmic@25 {
-- 
2.37.1

Re: [PATCH V2] arm64: dts: imx93-evk/qsb: add m2-pcm-level-shifter-hog to enable BT HFP
Posted by Frank Li 2 weeks, 2 days ago
On Wed, Jan 21, 2026 at 07:13:46PM +0800, Sherry Sun wrote:
> For i.MX93 11x11 EVK and 9x9 QSB boards, add the gpio-hog to enable the
> M.2 PCM pins level shifter connected between soc sai1 interface and M.2
> PCM pins so that HFP feature can be supported.
>
> Since the HFP is only used at a later stage — after the BT firmware has
> been downloaded and the BT connection with the remote device has been
> established — both the pcal6524 expander and sai1 interface are already
> fully initialized and available by that time. Therefore, using a
> gpio-hog here will not introduce any probe ordering or dependency issues
> for the HFP use case.
>
> Signed-off-by: Sherry Sun <sherry.sun@nxp.com>
> ---

Reviewed-by: Frank Li <Frank.Li@nxp.com>

> Changes in V2:
> 1. Improve the commit message to avoid confusion.
> ---
>  arch/arm64/boot/dts/freescale/imx93-11x11-evk.dts | 6 ++++++
>  arch/arm64/boot/dts/freescale/imx93-9x9-qsb.dts   | 6 ++++++
>  2 files changed, 12 insertions(+)
>
> diff --git a/arch/arm64/boot/dts/freescale/imx93-11x11-evk.dts b/arch/arm64/boot/dts/freescale/imx93-11x11-evk.dts
> index 8dd5340e8141..acb160d3186c 100644
> --- a/arch/arm64/boot/dts/freescale/imx93-11x11-evk.dts
> +++ b/arch/arm64/boot/dts/freescale/imx93-11x11-evk.dts
> @@ -356,6 +356,12 @@ pcal6524: gpio@22 {
>  		#interrupt-cells = <2>;
>  		interrupt-parent = <&gpio3>;
>  		interrupts = <27 IRQ_TYPE_LEVEL_LOW>;
> +
> +		m2-pcm-level-shifter-hog {
> +			gpio-hog;
> +			gpios = <19 GPIO_ACTIVE_HIGH>;
> +			output-high;
> +		};
>  	};
>
>  	pmic@25 {
> diff --git a/arch/arm64/boot/dts/freescale/imx93-9x9-qsb.dts b/arch/arm64/boot/dts/freescale/imx93-9x9-qsb.dts
> index 0852067eab2c..11e08673083b 100644
> --- a/arch/arm64/boot/dts/freescale/imx93-9x9-qsb.dts
> +++ b/arch/arm64/boot/dts/freescale/imx93-9x9-qsb.dts
> @@ -349,6 +349,12 @@ mic-can-sel-hog {
>  			gpios = <17 GPIO_ACTIVE_HIGH>;
>  			output-low;
>  		};
> +
> +		m2-pcm-level-shifter-hog {
> +			gpio-hog;
> +			gpios = <19 GPIO_ACTIVE_HIGH>;
> +			output-high;
> +		};
>  	};
>
>  	pmic@25 {
> --
> 2.37.1
>
Re: [PATCH V2] arm64: dts: imx93-evk/qsb: add m2-pcm-level-shifter-hog to enable BT HFP
Posted by Peng Fan 2 weeks, 2 days ago
On Wed, Jan 21, 2026 at 07:13:46PM +0800, Sherry Sun wrote:
>For i.MX93 11x11 EVK and 9x9 QSB boards, add the gpio-hog to enable the
>M.2 PCM pins level shifter connected between soc sai1 interface and M.2
>PCM pins so that HFP feature can be supported.
>
>Since the HFP is only used at a later stage — after the BT firmware has
>been downloaded and the BT connection with the remote device has been
>established — both the pcal6524 expander and sai1 interface are already
>fully initialized and available by that time. Therefore, using a
>gpio-hog here will not introduce any probe ordering or dependency issues
>for the HFP use case.
>
>Signed-off-by: Sherry Sun <sherry.sun@nxp.com>

Reviewed-by: Peng Fan <peng.fan@nxp.com>