[PATCH V3 6/8] arm64: dts: imx8dxl-evk: Describe the PCIe M.2 Key E connector
From: Sherry Sun (OSS) <hidden>
Date: 2026-06-26 02:31:11
Also in:
imx, linux-bluetooth, linux-devicetree, linux-pci, linux-pm, lkml
Subsystem:
arm/freescale imx / mxc arm architecture, the rest · Maintainers:
Frank Li, Sascha Hauer, Linus Torvalds
From: Sherry Sun <redacted> The i.MX8DXL-EVK has the PCIe M.2 Mechanical Key E connector to connect wireless connectivity cards over PCIe and UART interfaces. Hence, describe the connector node and link it with the PCIe b Root Port and LPUART1 nodes through graph port/endpoint. The M.2 Key E connector is powered by a 3.3V fixed regulator (reg_audio_3v3), add a reg_3v3 label to avoid confusion. Signed-off-by: Sherry Sun <redacted> --- arch/arm64/boot/dts/freescale/imx8dxl-evk.dts | 56 ++++++++++++++----- 1 file changed, 42 insertions(+), 14 deletions(-)
diff --git a/arch/arm64/boot/dts/freescale/imx8dxl-evk.dts b/arch/arm64/boot/dts/freescale/imx8dxl-evk.dts
index 1084164d1381..6afee1f1a9fc 100644
--- a/arch/arm64/boot/dts/freescale/imx8dxl-evk.dts
+++ b/arch/arm64/boot/dts/freescale/imx8dxl-evk.dts@@ -42,6 +42,37 @@ memory@80000000 { reg = <0x00000000 0x80000000 0 0x40000000>; }; + m2-connector { + compatible = "pcie-m2-e-connector"; + vpcie3v3-supply = <®_3v3>; + w-disable1-gpios = <&pca6416_1 13 GPIO_ACTIVE_LOW>; + + ports { + #address-cells = <1>; + #size-cells = <0>; + + port@0 { + #address-cells = <1>; + #size-cells = <0>; + reg = <0>; + m2_e_pcie_ep: endpoint@0 { + reg = <0>; + remote-endpoint = <&pcieb_port0_ep>; + }; + }; + + port@3 { + #address-cells = <1>; + #size-cells = <0>; + reg = <3>; + m2_e_uart_ep: endpoint@0 { + reg = <0>; + remote-endpoint = <&lpuart1_ep>; + }; + }; + }; + }; + reserved-memory { #address-cells = <2>; #size-cells = <2>;
@@ -182,15 +213,6 @@ mii_select: regulator-4 { regulator-always-on; }; - reg_pcieb: regulator-pcieb { - compatible = "regulator-fixed"; - regulator-max-microvolt = <3300000>; - regulator-min-microvolt = <3300000>; - regulator-name = "reg_pcieb"; - gpio = <&pca6416_1 13 GPIO_ACTIVE_HIGH>; - enable-active-high; - }; - reg_audio_5v: regulator-audio-pwr { compatible = "regulator-fixed"; regulator-name = "audio-5v";
@@ -200,7 +222,7 @@ reg_audio_5v: regulator-audio-pwr { regulator-boot-on; }; - reg_audio_3v3: regulator-audio-3v3 { + reg_3v3: reg_audio_3v3: regulator-audio-3v3 { compatible = "regulator-fixed"; regulator-name = "audio-3v3"; regulator-min-microvolt = <3300000>;
@@ -623,8 +645,10 @@ &lpuart1 { pinctrl-0 = <&pinctrl_lpuart1>; status = "okay"; - bluetooth { - compatible = "nxp,88w8987-bt"; + port { + lpuart1_ep: endpoint { + remote-endpoint = <&m2_e_uart_ep>; + }; }; };
@@ -690,8 +714,12 @@ &pcie0_ep { &pcieb_port0 { reset-gpios = <&lsio_gpio4 0 GPIO_ACTIVE_LOW>; - vpcie-supply = <®_pcieb>; - vpcie3v3aux-supply = <®_pcieb>; + + port { + pcieb_port0_ep: endpoint { + remote-endpoint = <&m2_e_pcie_ep>; + }; + }; }; &sai0 {
--
2.50.1