* [PATCH 0/8] arm64: dts: imx8: create common imx-pcie[0,1]-ep overlay file
@ 2025-03-31 19:02 Frank Li
2025-03-31 19:02 ` [PATCH 1/8] arm64: dts: imx8: create unified pcie0 and pcie0_ep label for all chips Frank Li
` (8 more replies)
0 siblings, 9 replies; 10+ messages in thread
From: Frank Li @ 2025-03-31 19:02 UTC (permalink / raw)
To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Shawn Guo,
Sascha Hauer, Pengutronix Kernel Team, Fabio Estevam
Cc: devicetree, imx, linux-arm-kernel, linux-kernel, hongxing.zhu,
Frank Li
Use common imx-pcie[0,1]-ep overlay file to enable PCIe EP function for
all imx8 boards.
unified pcie label name as below
imx8qm
pciea -> pcie0
pcieb -> pcie1
imx8qxp/imx8dxl
pcieb -> pcie0
imx8mp
pcie -> pcie0
other boards already use pcie0 and pcie1 naming. Orignal label still exist
to keep back compatiblity.
Signed-off-by: Frank Li <Frank.Li@nxp.com>
---
Frank Li (8):
arm64: dts: imx8: create unified pcie0 and pcie0_ep label for all chips
arm64: dts: imx8dxl-ss-hsio: correct irq number for imx8dxl
arm64: dts: imx8dxl-evk: Add pcie0-ep node and use unified pcie0 label
arm64: dts: imx8: use common imx-pcie0-ep.dtso to enable PCI ep function
arm64: dts: imx95: add pcie1 ep overlay file and create pcie-ep dtb files
arm64: dts: imx8mm-evk: add pcie0-ep node and apply pcie0-ep overlay file
arm64: dts: imx8mq: add pcie0-ep node
arm64: dts: imx8mq-evk: add pcie[0,1]-ep nodes
arch/arm64/boot/dts/freescale/Makefile | 22 ++++++++++++--
.../{imx8mp-evk-pcie-ep.dtso => imx-pcie0-ep.dtso} | 6 ++--
arch/arm64/boot/dts/freescale/imx-pcie1-ep.dtso | 15 ++++++++++
arch/arm64/boot/dts/freescale/imx8dxl-evk.dts | 12 +++++++-
arch/arm64/boot/dts/freescale/imx8dxl-ss-hsio.dtsi | 25 +++++++++-------
arch/arm64/boot/dts/freescale/imx8mm-evk.dtsi | 13 ++++++++
arch/arm64/boot/dts/freescale/imx8mp-evk.dts | 8 ++++-
arch/arm64/boot/dts/freescale/imx8mp.dtsi | 4 +--
arch/arm64/boot/dts/freescale/imx8mq-evk.dts | 20 +++++++++++++
arch/arm64/boot/dts/freescale/imx8mq.dtsi | 35 ++++++++++++++++++++++
arch/arm64/boot/dts/freescale/imx8qm-ss-hsio.dtsi | 6 ++--
.../boot/dts/freescale/imx8qxp-mek-pcie-ep.dtso | 22 --------------
arch/arm64/boot/dts/freescale/imx8qxp-mek.dts | 11 ++++++-
arch/arm64/boot/dts/freescale/imx8qxp-ss-hsio.dtsi | 6 ++++
arch/arm64/boot/dts/freescale/imx95-15x15-evk.dts | 7 +++++
arch/arm64/boot/dts/freescale/imx95-19x19-evk.dts | 14 +++++++++
16 files changed, 180 insertions(+), 46 deletions(-)
---
base-commit: e90298c336486695a47a3c9d968e33631c2d2b5c
change-id: 20250331-imx8_pcie_ep_dts-04079a845a9e
Best regards,
---
Frank Li <Frank.Li@nxp.com>
^ permalink raw reply [flat|nested] 10+ messages in thread
* [PATCH 1/8] arm64: dts: imx8: create unified pcie0 and pcie0_ep label for all chips
2025-03-31 19:02 [PATCH 0/8] arm64: dts: imx8: create common imx-pcie[0,1]-ep overlay file Frank Li
@ 2025-03-31 19:02 ` Frank Li
2025-03-31 19:02 ` [PATCH 2/8] arm64: dts: imx8dxl-ss-hsio: correct irq number for imx8dxl Frank Li
` (7 subsequent siblings)
8 siblings, 0 replies; 10+ messages in thread
From: Frank Li @ 2025-03-31 19:02 UTC (permalink / raw)
To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Shawn Guo,
Sascha Hauer, Pengutronix Kernel Team, Fabio Estevam
Cc: devicetree, imx, linux-arm-kernel, linux-kernel, hongxing.zhu,
Frank Li
Add unified pcie<n> and pcie<n>_ep label for existed chipes to prepare
applied one overay file to enable EP function.
Signed-off-by: Frank Li <Frank.Li@nxp.com>
---
arch/arm64/boot/dts/freescale/imx8dxl-ss-hsio.dtsi | 23 ++++++++++++----------
arch/arm64/boot/dts/freescale/imx8mp.dtsi | 4 ++--
arch/arm64/boot/dts/freescale/imx8qm-ss-hsio.dtsi | 6 +++---
arch/arm64/boot/dts/freescale/imx8qxp-ss-hsio.dtsi | 6 ++++++
4 files changed, 24 insertions(+), 15 deletions(-)
diff --git a/arch/arm64/boot/dts/freescale/imx8dxl-ss-hsio.dtsi b/arch/arm64/boot/dts/freescale/imx8dxl-ss-hsio.dtsi
index afbe962d78ce1..67c5c6029cd9b 100644
--- a/arch/arm64/boot/dts/freescale/imx8dxl-ss-hsio.dtsi
+++ b/arch/arm64/boot/dts/freescale/imx8dxl-ss-hsio.dtsi
@@ -37,15 +37,18 @@ hsio_phy: phy@5f1a0000 {
power-domains = <&pd IMX_SC_R_SERDES_1>;
status = "disabled";
};
-};
-&pcieb {
- #interrupt-cells = <1>;
- interrupts = <GIC_SPI 44 IRQ_TYPE_LEVEL_HIGH>;
- interrupt-names = "msi";
- interrupt-map = <0 0 0 1 &gic 0 47 4>,
- <0 0 0 2 &gic 0 48 4>,
- <0 0 0 3 &gic 0 49 4>,
- <0 0 0 4 &gic 0 50 4>;
- interrupt-map-mask = <0 0 0 0x7>;
+ pcie0: pcie@5f010000 {
+ #interrupt-cells = <1>;
+ interrupts = <GIC_SPI 44 IRQ_TYPE_LEVEL_HIGH>;
+ interrupt-names = "msi";
+ interrupt-map = <0 0 0 1 &gic 0 47 4>,
+ <0 0 0 2 &gic 0 48 4>,
+ <0 0 0 3 &gic 0 49 4>,
+ <0 0 0 4 &gic 0 50 4>;
+ interrupt-map-mask = <0 0 0 0x7>;
+ };
+
+ pcie0_ep: pcie-ep@5f010000 {
+ };
};
diff --git a/arch/arm64/boot/dts/freescale/imx8mp.dtsi b/arch/arm64/boot/dts/freescale/imx8mp.dtsi
index ce6793b2d57ee..b955db19f3bd5 100644
--- a/arch/arm64/boot/dts/freescale/imx8mp.dtsi
+++ b/arch/arm64/boot/dts/freescale/imx8mp.dtsi
@@ -2155,7 +2155,7 @@ hdmi_tx_phy: phy@32fdff00 {
};
};
- pcie: pcie@33800000 {
+ pcie0: pcie: pcie@33800000 {
compatible = "fsl,imx8mp-pcie";
reg = <0x33800000 0x400000>, <0x1ff00000 0x80000>;
reg-names = "dbi", "config";
@@ -2193,7 +2193,7 @@ pcie: pcie@33800000 {
status = "disabled";
};
- pcie_ep: pcie-ep@33800000 {
+ pcie0_ep: pcie_ep: pcie-ep@33800000 {
compatible = "fsl,imx8mp-pcie-ep";
reg = <0x33800000 0x100000>,
<0x18000000 0x8000000>,
diff --git a/arch/arm64/boot/dts/freescale/imx8qm-ss-hsio.dtsi b/arch/arm64/boot/dts/freescale/imx8qm-ss-hsio.dtsi
index e80f722dbe65f..50c0f6b0f0bdc 100644
--- a/arch/arm64/boot/dts/freescale/imx8qm-ss-hsio.dtsi
+++ b/arch/arm64/boot/dts/freescale/imx8qm-ss-hsio.dtsi
@@ -12,7 +12,7 @@ &hsio_subsys {
#address-cells = <1>;
#size-cells = <1>;
- pciea: pcie@5f000000 {
+ pcie0: pciea: pcie@5f000000 {
compatible = "fsl,imx8q-pcie";
reg = <0x5f000000 0x10000>,
<0x4ff00000 0x80000>;
@@ -42,7 +42,7 @@ pciea: pcie@5f000000 {
status = "disabled";
};
- pciea_ep: pcie-ep@5f000000 {
+ pcie0_ep: pciea_ep: pcie-ep@5f000000 {
compatible = "fsl,imx8q-pcie-ep";
reg = <0x5f000000 0x00010000>,
<0x40000000 0x10000000>;
@@ -61,7 +61,7 @@ pciea_ep: pcie-ep@5f000000 {
status = "disabled";
};
- pcieb: pcie@5f010000 {
+ pcie1: pcieb: pcie@5f010000 {
compatible = "fsl,imx8q-pcie";
reg = <0x5f010000 0x10000>,
<0x8ff00000 0x80000>;
diff --git a/arch/arm64/boot/dts/freescale/imx8qxp-ss-hsio.dtsi b/arch/arm64/boot/dts/freescale/imx8qxp-ss-hsio.dtsi
index 47fc6e0cff4a1..255b8c91c88cc 100644
--- a/arch/arm64/boot/dts/freescale/imx8qxp-ss-hsio.dtsi
+++ b/arch/arm64/boot/dts/freescale/imx8qxp-ss-hsio.dtsi
@@ -38,4 +38,10 @@ hsio_phy: phy@5f1a0000 {
power-domains = <&pd IMX_SC_R_SERDES_1>;
status = "disabled";
};
+
+ pcie0: pcie@5f010000 {
+ };
+
+ pcie0_ep: pcie-ep@5f010000 {
+ };
};
--
2.34.1
^ permalink raw reply related [flat|nested] 10+ messages in thread
* [PATCH 2/8] arm64: dts: imx8dxl-ss-hsio: correct irq number for imx8dxl
2025-03-31 19:02 [PATCH 0/8] arm64: dts: imx8: create common imx-pcie[0,1]-ep overlay file Frank Li
2025-03-31 19:02 ` [PATCH 1/8] arm64: dts: imx8: create unified pcie0 and pcie0_ep label for all chips Frank Li
@ 2025-03-31 19:02 ` Frank Li
2025-03-31 19:02 ` [PATCH 3/8] arm64: dts: imx8dxl-evk: Add pcie0-ep node and use unified pcie0 label Frank Li
` (6 subsequent siblings)
8 siblings, 0 replies; 10+ messages in thread
From: Frank Li @ 2025-03-31 19:02 UTC (permalink / raw)
To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Shawn Guo,
Sascha Hauer, Pengutronix Kernel Team, Fabio Estevam
Cc: devicetree, imx, linux-arm-kernel, linux-kernel, hongxing.zhu,
Frank Li
i.MX8DXL use difference irq number for PCIe EP DMA.
Signed-off-by: Frank Li <Frank.Li@nxp.com>
---
arch/arm64/boot/dts/freescale/imx8dxl-ss-hsio.dtsi | 2 ++
1 file changed, 2 insertions(+)
diff --git a/arch/arm64/boot/dts/freescale/imx8dxl-ss-hsio.dtsi b/arch/arm64/boot/dts/freescale/imx8dxl-ss-hsio.dtsi
index 67c5c6029cd9b..bbc6abb0fdf25 100644
--- a/arch/arm64/boot/dts/freescale/imx8dxl-ss-hsio.dtsi
+++ b/arch/arm64/boot/dts/freescale/imx8dxl-ss-hsio.dtsi
@@ -50,5 +50,7 @@ pcie0: pcie@5f010000 {
};
pcie0_ep: pcie-ep@5f010000 {
+ interrupts = <GIC_SPI 46 IRQ_TYPE_LEVEL_HIGH>;
+ interrupt-names = "dma";
};
};
--
2.34.1
^ permalink raw reply related [flat|nested] 10+ messages in thread
* [PATCH 3/8] arm64: dts: imx8dxl-evk: Add pcie0-ep node and use unified pcie0 label
2025-03-31 19:02 [PATCH 0/8] arm64: dts: imx8: create common imx-pcie[0,1]-ep overlay file Frank Li
2025-03-31 19:02 ` [PATCH 1/8] arm64: dts: imx8: create unified pcie0 and pcie0_ep label for all chips Frank Li
2025-03-31 19:02 ` [PATCH 2/8] arm64: dts: imx8dxl-ss-hsio: correct irq number for imx8dxl Frank Li
@ 2025-03-31 19:02 ` Frank Li
2025-03-31 19:02 ` [PATCH 4/8] arm64: dts: imx8: use common imx-pcie0-ep.dtso to enable PCI ep function Frank Li
` (5 subsequent siblings)
8 siblings, 0 replies; 10+ messages in thread
From: Frank Li @ 2025-03-31 19:02 UTC (permalink / raw)
To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Shawn Guo,
Sascha Hauer, Pengutronix Kernel Team, Fabio Estevam
Cc: devicetree, imx, linux-arm-kernel, linux-kernel, hongxing.zhu,
Frank Li
Use unified pcie0 label and add pcie0-ep node.
Signed-off-by: Frank Li <Frank.Li@nxp.com>
---
arch/arm64/boot/dts/freescale/imx8dxl-evk.dts | 12 +++++++++++-
1 file changed, 11 insertions(+), 1 deletion(-)
diff --git a/arch/arm64/boot/dts/freescale/imx8dxl-evk.dts b/arch/arm64/boot/dts/freescale/imx8dxl-evk.dts
index 5f3b4014e1521..b6d64d3906eaf 100644
--- a/arch/arm64/boot/dts/freescale/imx8dxl-evk.dts
+++ b/arch/arm64/boot/dts/freescale/imx8dxl-evk.dts
@@ -642,7 +642,7 @@ &lsio_gpio5 {
status = "okay";
};
-&pcieb {
+&pcie0 {
phys = <&hsio_phy 0 PHY_TYPE_PCIE 0>;
phy-names = "pcie-phy";
pinctrl-0 = <&pinctrl_pcieb>;
@@ -652,6 +652,16 @@ &pcieb {
status = "okay";
};
+&pcie0_ep{
+ phys = <&hsio_phy 0 PHY_TYPE_PCIE 0>;
+ phy-names = "pcie-phy";
+ pinctrl-0 = <&pinctrl_pcieb>;
+ pinctrl-names = "default";
+ reset-gpio = <&lsio_gpio4 0 GPIO_ACTIVE_LOW>;
+ vpcie-supply = <®_pcieb>;
+ status = "disabled";
+};
+
&sai0 {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_sai0>;
--
2.34.1
^ permalink raw reply related [flat|nested] 10+ messages in thread
* [PATCH 4/8] arm64: dts: imx8: use common imx-pcie0-ep.dtso to enable PCI ep function
2025-03-31 19:02 [PATCH 0/8] arm64: dts: imx8: create common imx-pcie[0,1]-ep overlay file Frank Li
` (2 preceding siblings ...)
2025-03-31 19:02 ` [PATCH 3/8] arm64: dts: imx8dxl-evk: Add pcie0-ep node and use unified pcie0 label Frank Li
@ 2025-03-31 19:02 ` Frank Li
2025-03-31 19:02 ` [PATCH 5/8] arm64: dts: imx95: add pcie1 ep overlay file and create pcie-ep dtb files Frank Li
` (4 subsequent siblings)
8 siblings, 0 replies; 10+ messages in thread
From: Frank Li @ 2025-03-31 19:02 UTC (permalink / raw)
To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Shawn Guo,
Sascha Hauer, Pengutronix Kernel Team, Fabio Estevam
Cc: devicetree, imx, linux-arm-kernel, linux-kernel, hongxing.zhu,
Frank Li
Use common imx-pcie0-ep.dtso for imx8mp-evk-pcie-ep and
imx8qxp-mek-pcie-ep. No functional change.
Signed-off-by: Frank Li <Frank.Li@nxp.com>
---
arch/arm64/boot/dts/freescale/Makefile | 8 ++++++--
.../{imx8mp-evk-pcie-ep.dtso => imx-pcie0-ep.dtso} | 6 ++----
arch/arm64/boot/dts/freescale/imx8mp-evk.dts | 8 +++++++-
.../boot/dts/freescale/imx8qxp-mek-pcie-ep.dtso | 22 ----------------------
arch/arm64/boot/dts/freescale/imx8qxp-mek.dts | 11 ++++++++++-
5 files changed, 25 insertions(+), 30 deletions(-)
diff --git a/arch/arm64/boot/dts/freescale/Makefile b/arch/arm64/boot/dts/freescale/Makefile
index b6d3fe26d6212..8bea36060df22 100644
--- a/arch/arm64/boot/dts/freescale/Makefile
+++ b/arch/arm64/boot/dts/freescale/Makefile
@@ -104,6 +104,10 @@ dtb-$(CONFIG_ARCH_MXC) += imx8dx-colibri-eval-v3.dtb
dtb-$(CONFIG_ARCH_MXC) += imx8dx-colibri-iris-v2.dtb
dtb-$(CONFIG_ARCH_MXC) += imx8dx-colibri-iris.dtb
dtb-$(CONFIG_ARCH_MXC) += imx8dxl-evk.dtb
+
+imx8dxl-evk-pcie-ep-dtbs += imx8dxl-evk.dtb imx-pcie0-ep.dtbo
+dtb-$(CONFIG_ARCH_MXC) += imx8dxl-evk-pcie-ep.dtb
+
dtb-$(CONFIG_ARCH_MXC) += imx8dxp-tqma8xdp-mba8xx.dtb
dtb-$(CONFIG_ARCH_MXC) += imx8mm-beacon-kit.dtb
dtb-$(CONFIG_ARCH_MXC) += imx8mm-data-modul-edm-sbc.dtb
@@ -237,7 +241,7 @@ imx8mp-evk-lvds0-imx-lvds-hdmi-dtbs += imx8mp-evk.dtb imx8mp-evk-lvds0-imx-lvds-
imx8mp-evk-lvds1-imx-dlvds-hdmi-channel0-dtbs += imx8mp-evk.dtb imx8mp-evk-lvds1-imx-dlvds-hdmi-channel0.dtbo
imx8mp-evk-lvds1-imx-lvds-hdmi-dtbs += imx8mp-evk.dtb imx8mp-evk-lvds1-imx-lvds-hdmi.dtbo
imx8mp-evk-mx8-dlvds-lcd1-dtbs += imx8mp-evk.dtb imx8mp-evk-mx8-dlvds-lcd1.dtbo
-imx8mp-evk-pcie-ep-dtbs += imx8mp-evk.dtb imx8mp-evk-pcie-ep.dtbo
+imx8mp-evk-pcie-ep-dtbs += imx8mp-evk.dtb imx-pcie0-ep.dtbo
dtb-$(CONFIG_ARCH_MXC) += imx8mp-evk-lvds0-imx-dlvds-hdmi-channel0.dtb
dtb-$(CONFIG_ARCH_MXC) += imx8mp-evk-lvds0-imx-lvds-hdmi.dtb
dtb-$(CONFIG_ARCH_MXC) += imx8mp-evk-lvds1-imx-dlvds-hdmi-channel0.dtb
@@ -284,7 +288,7 @@ dtb-$(CONFIG_ARCH_MXC) += imx8qxp-colibri-iris.dtb
dtb-$(CONFIG_ARCH_MXC) += imx8qxp-colibri-iris-v2.dtb
dtb-$(CONFIG_ARCH_MXC) += imx8qxp-mek.dtb
-imx8qxp-mek-pcie-ep-dtbs += imx8qxp-mek.dtb imx8qxp-mek-pcie-ep.dtbo
+imx8qxp-mek-pcie-ep-dtbs += imx8qxp-mek.dtb imx-pcie0-ep.dtbo
dtb-$(CONFIG_ARCH_MXC) += imx8qxp-mek-pcie-ep.dtb
dtb-$(CONFIG_ARCH_MXC) += imx8qxp-tqma8xqp-mba8xx.dtb
diff --git a/arch/arm64/boot/dts/freescale/imx8mp-evk-pcie-ep.dtso b/arch/arm64/boot/dts/freescale/imx-pcie0-ep.dtso
similarity index 64%
rename from arch/arm64/boot/dts/freescale/imx8mp-evk-pcie-ep.dtso
rename to arch/arm64/boot/dts/freescale/imx-pcie0-ep.dtso
index 244e820699b50..ed73284d9bb61 100644
--- a/arch/arm64/boot/dts/freescale/imx8mp-evk-pcie-ep.dtso
+++ b/arch/arm64/boot/dts/freescale/imx-pcie0-ep.dtso
@@ -6,12 +6,10 @@
/dts-v1/;
/plugin/;
-&pcie {
+&pcie0 {
status = "disabled";
};
-&pcie_ep {
- pinctrl-0 = <&pinctrl_pcie0>;
- pinctrl-names = "default";
+&pcie0_ep {
status = "okay";
};
diff --git a/arch/arm64/boot/dts/freescale/imx8mp-evk.dts b/arch/arm64/boot/dts/freescale/imx8mp-evk.dts
index c26954e5a6056..10d3cf31e8b43 100644
--- a/arch/arm64/boot/dts/freescale/imx8mp-evk.dts
+++ b/arch/arm64/boot/dts/freescale/imx8mp-evk.dts
@@ -697,7 +697,7 @@ &pcie_phy {
status = "okay";
};
-&pcie {
+&pcie0 {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_pcie0>;
reset-gpio = <&gpio2 7 GPIO_ACTIVE_LOW>;
@@ -705,6 +705,12 @@ &pcie {
status = "okay";
};
+&pcie0_ep {
+ pinctrl-0 = <&pinctrl_pcie0>;
+ pinctrl-names = "default";
+ status = "disabled";
+};
+
&pwm1 {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_pwm1>;
diff --git a/arch/arm64/boot/dts/freescale/imx8qxp-mek-pcie-ep.dtso b/arch/arm64/boot/dts/freescale/imx8qxp-mek-pcie-ep.dtso
deleted file mode 100644
index 4f562eb5c5b1d..0000000000000
--- a/arch/arm64/boot/dts/freescale/imx8qxp-mek-pcie-ep.dtso
+++ /dev/null
@@ -1,22 +0,0 @@
-// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
-/*
- * Copyright 2025 NXP
- */
-
-#include <dt-bindings/phy/phy.h>
-
-/dts-v1/;
-/plugin/;
-
-&pcieb {
- status = "disabled";
-};
-
-&pcieb_ep {
- phys = <&hsio_phy 0 PHY_TYPE_PCIE 0>;
- phy-names = "pcie-phy";
- pinctrl-0 = <&pinctrl_pcieb>;
- pinctrl-names = "default";
- vpcie-supply = <®_pcieb>;
- status = "okay";
-};
diff --git a/arch/arm64/boot/dts/freescale/imx8qxp-mek.dts b/arch/arm64/boot/dts/freescale/imx8qxp-mek.dts
index a669a5d500d32..daba830668793 100644
--- a/arch/arm64/boot/dts/freescale/imx8qxp-mek.dts
+++ b/arch/arm64/boot/dts/freescale/imx8qxp-mek.dts
@@ -539,7 +539,7 @@ &mu1_m0 {
status = "okay";
};
-&pcieb {
+&pcie0 {
phys = <&hsio_phy 0 PHY_TYPE_PCIE 0>;
phy-names = "pcie-phy";
pinctrl-0 = <&pinctrl_pcieb>;
@@ -549,6 +549,15 @@ &pcieb {
status = "okay";
};
+&pcie0_ep {
+ phys = <&hsio_phy 0 PHY_TYPE_PCIE 0>;
+ phy-names = "pcie-phy";
+ pinctrl-0 = <&pinctrl_pcieb>;
+ pinctrl-names = "default";
+ vpcie-supply = <®_pcieb>;
+ status = "disabled";
+};
+
&scu_key {
status = "okay";
};
--
2.34.1
^ permalink raw reply related [flat|nested] 10+ messages in thread
* [PATCH 5/8] arm64: dts: imx95: add pcie1 ep overlay file and create pcie-ep dtb files
2025-03-31 19:02 [PATCH 0/8] arm64: dts: imx8: create common imx-pcie[0,1]-ep overlay file Frank Li
` (3 preceding siblings ...)
2025-03-31 19:02 ` [PATCH 4/8] arm64: dts: imx8: use common imx-pcie0-ep.dtso to enable PCI ep function Frank Li
@ 2025-03-31 19:02 ` Frank Li
2025-03-31 19:02 ` [PATCH 6/8] arm64: dts: imx8mm-evk: add pcie0-ep node and apply pcie0-ep overlay file Frank Li
` (3 subsequent siblings)
8 siblings, 0 replies; 10+ messages in thread
From: Frank Li @ 2025-03-31 19:02 UTC (permalink / raw)
To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Shawn Guo,
Sascha Hauer, Pengutronix Kernel Team, Fabio Estevam
Cc: devicetree, imx, linux-arm-kernel, linux-kernel, hongxing.zhu,
Frank Li
Create imx95-15x15-evk pcie0-ep and imx95-19x19-evk pcie[0,1]-ep dtb files.
Signed-off-by: Frank Li <Frank.Li@nxp.com>
---
arch/arm64/boot/dts/freescale/Makefile | 6 ++++++
arch/arm64/boot/dts/freescale/imx-pcie1-ep.dtso | 15 +++++++++++++++
arch/arm64/boot/dts/freescale/imx95-15x15-evk.dts | 7 +++++++
arch/arm64/boot/dts/freescale/imx95-19x19-evk.dts | 14 ++++++++++++++
4 files changed, 42 insertions(+)
diff --git a/arch/arm64/boot/dts/freescale/Makefile b/arch/arm64/boot/dts/freescale/Makefile
index 8bea36060df22..7778a0b3abe37 100644
--- a/arch/arm64/boot/dts/freescale/Makefile
+++ b/arch/arm64/boot/dts/freescale/Makefile
@@ -308,6 +308,12 @@ dtb-$(CONFIG_ARCH_MXC) += imx93-var-som-symphony.dtb
dtb-$(CONFIG_ARCH_MXC) += imx95-15x15-evk.dtb
dtb-$(CONFIG_ARCH_MXC) += imx95-19x19-evk.dtb
+imx95-15x15-evk-pcie0-ep-dtbs = imx95-15x15-evk.dtb imx-pcie0-ep.dtbo
+dtb-$(CONFIG_ARCH_MXC) += imx95-15x15-evk-pcie0-ep.dtb
+imx95-19x19-evk-pcie0-ep-dtbs += imx95-19x19-evk.dtb imx-pcie0-ep.dtbo
+imx95-19x19-evk-pcie1-ep-dtbs += imx95-19x19-evk.dtb imx-pcie1-ep.dtbo
+dtb-$(CONFIG_ARCH_MXC) += imx95-19x19-evk-pcie0-ep.dtb imx95-19x19-evk-pcie1-ep.dtb
+
imx8mm-kontron-dl-dtbs := imx8mm-kontron-bl.dtb imx8mm-kontron-dl.dtbo
dtb-$(CONFIG_ARCH_MXC) += imx8mm-kontron-dl.dtb
diff --git a/arch/arm64/boot/dts/freescale/imx-pcie1-ep.dtso b/arch/arm64/boot/dts/freescale/imx-pcie1-ep.dtso
new file mode 100644
index 0000000000000..0e7ef7ef85605
--- /dev/null
+++ b/arch/arm64/boot/dts/freescale/imx-pcie1-ep.dtso
@@ -0,0 +1,15 @@
+// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
+/*
+ * Copyright 2025 NXP
+ */
+
+/dts-v1/;
+/plugin/;
+
+&pcie1 {
+ status = "disabled";
+};
+
+&pcie1_ep {
+ status = "okay";
+};
diff --git a/arch/arm64/boot/dts/freescale/imx95-15x15-evk.dts b/arch/arm64/boot/dts/freescale/imx95-15x15-evk.dts
index 514f2429dcbc2..a35962f929f6b 100644
--- a/arch/arm64/boot/dts/freescale/imx95-15x15-evk.dts
+++ b/arch/arm64/boot/dts/freescale/imx95-15x15-evk.dts
@@ -525,6 +525,13 @@ &pcie0 {
status = "okay";
};
+&pcie0_ep {
+ pinctrl-0 = <&pinctrl_pcie0>;
+ pinctrl-names = "default";
+ vpcie-supply = <®_m2_pwr>;
+ status = "disabled";
+};
+
&sai1 {
assigned-clocks = <&scmi_clk IMX95_CLK_AUDIOPLL1_VCO>,
<&scmi_clk IMX95_CLK_AUDIOPLL2_VCO>,
diff --git a/arch/arm64/boot/dts/freescale/imx95-19x19-evk.dts b/arch/arm64/boot/dts/freescale/imx95-19x19-evk.dts
index 25ac331f03183..4accbccc75239 100644
--- a/arch/arm64/boot/dts/freescale/imx95-19x19-evk.dts
+++ b/arch/arm64/boot/dts/freescale/imx95-19x19-evk.dts
@@ -417,6 +417,13 @@ &pcie0 {
status = "okay";
};
+&pcie0_ep {
+ pinctrl-0 = <&pinctrl_pcie0>;
+ pinctrl-names = "default";
+ vpcie-supply = <®_pcie0>;
+ status = "disabled";
+};
+
&pcie1 {
pinctrl-0 = <&pinctrl_pcie1>;
pinctrl-names = "default";
@@ -425,6 +432,13 @@ &pcie1 {
status = "okay";
};
+&pcie1_ep {
+ pinctrl-0 = <&pinctrl_pcie1>;
+ pinctrl-names = "default";
+ vpcie-supply = <®_slot_pwr>;
+ status = "disabled";
+};
+
&sai1 {
#sound-dai-cells = <0>;
pinctrl-names = "default";
--
2.34.1
^ permalink raw reply related [flat|nested] 10+ messages in thread
* [PATCH 6/8] arm64: dts: imx8mm-evk: add pcie0-ep node and apply pcie0-ep overlay file
2025-03-31 19:02 [PATCH 0/8] arm64: dts: imx8: create common imx-pcie[0,1]-ep overlay file Frank Li
` (4 preceding siblings ...)
2025-03-31 19:02 ` [PATCH 5/8] arm64: dts: imx95: add pcie1 ep overlay file and create pcie-ep dtb files Frank Li
@ 2025-03-31 19:02 ` Frank Li
2025-03-31 19:02 ` [PATCH 7/8] arm64: dts: imx8mq: add pcie0-ep node Frank Li
` (2 subsequent siblings)
8 siblings, 0 replies; 10+ messages in thread
From: Frank Li @ 2025-03-31 19:02 UTC (permalink / raw)
To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Shawn Guo,
Sascha Hauer, Pengutronix Kernel Team, Fabio Estevam
Cc: devicetree, imx, linux-arm-kernel, linux-kernel, hongxing.zhu,
Frank Li
Add pcie0-ep node information and apply pcie0-ep overlay file.
Signed-off-by: Frank Li <Frank.Li@nxp.com>
---
arch/arm64/boot/dts/freescale/Makefile | 5 +++++
arch/arm64/boot/dts/freescale/imx8mm-evk.dtsi | 13 +++++++++++++
2 files changed, 18 insertions(+)
diff --git a/arch/arm64/boot/dts/freescale/Makefile b/arch/arm64/boot/dts/freescale/Makefile
index 7778a0b3abe37..4f2f50203dd86 100644
--- a/arch/arm64/boot/dts/freescale/Makefile
+++ b/arch/arm64/boot/dts/freescale/Makefile
@@ -116,6 +116,11 @@ dtb-$(CONFIG_ARCH_MXC) += imx8mm-emcon-avari.dtb
dtb-$(CONFIG_ARCH_MXC) += imx8mm-emtop-baseboard.dtb
dtb-$(CONFIG_ARCH_MXC) += imx8mm-evk.dtb
dtb-$(CONFIG_ARCH_MXC) += imx8mm-evkb.dtb
+
+imx8mm-evk-pcie-ep-dtbs += imx8mm-evk.dtb imx-pcie0-ep.dtbo
+imx8mm-evkb-pcie-ep-dtbs += imx8mm-evkb.dtb imx-pcie0-ep.dtbo
+dtb-$(CONFIG_ARCH_MXC) += imx8mm-evk-pcie-ep.dtb imx8mm-evkb-pcie-ep.dtb
+
dtb-$(CONFIG_ARCH_MXC) += imx8mm-icore-mx8mm-ctouch2.dtb
dtb-$(CONFIG_ARCH_MXC) += imx8mm-icore-mx8mm-edimm2.2.dtb
dtb-$(CONFIG_ARCH_MXC) += imx8mm-iot-gateway.dtb
diff --git a/arch/arm64/boot/dts/freescale/imx8mm-evk.dtsi b/arch/arm64/boot/dts/freescale/imx8mm-evk.dtsi
index 5f8336217bb88..622caaa78eaf1 100644
--- a/arch/arm64/boot/dts/freescale/imx8mm-evk.dtsi
+++ b/arch/arm64/boot/dts/freescale/imx8mm-evk.dtsi
@@ -544,6 +544,19 @@ &pcie0 {
status = "okay";
};
+&pcie0_ep {
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_pcie0>;
+ clocks = <&clk IMX8MM_CLK_PCIE1_ROOT>, <&pcie0_refclk>,
+ <&clk IMX8MM_CLK_PCIE1_AUX>;
+ assigned-clocks = <&clk IMX8MM_CLK_PCIE1_AUX>,
+ <&clk IMX8MM_CLK_PCIE1_CTRL>;
+ assigned-clock-rates = <10000000>, <250000000>;
+ assigned-clock-parents = <&clk IMX8MM_SYS_PLL2_50M>,
+ <&clk IMX8MM_SYS_PLL2_250M>;
+ status = "disabled";
+};
+
&sai2 {
#sound-dai-cells = <0>;
pinctrl-names = "default";
--
2.34.1
^ permalink raw reply related [flat|nested] 10+ messages in thread
* [PATCH 7/8] arm64: dts: imx8mq: add pcie0-ep node
2025-03-31 19:02 [PATCH 0/8] arm64: dts: imx8: create common imx-pcie[0,1]-ep overlay file Frank Li
` (5 preceding siblings ...)
2025-03-31 19:02 ` [PATCH 6/8] arm64: dts: imx8mm-evk: add pcie0-ep node and apply pcie0-ep overlay file Frank Li
@ 2025-03-31 19:02 ` Frank Li
2025-03-31 19:02 ` [PATCH 8/8] arm64: dts: imx8mq-evk: add pcie[0,1]-ep nodes Frank Li
2025-04-23 9:23 ` [PATCH 0/8] arm64: dts: imx8: create common imx-pcie[0,1]-ep overlay file Shawn Guo
8 siblings, 0 replies; 10+ messages in thread
From: Frank Li @ 2025-03-31 19:02 UTC (permalink / raw)
To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Shawn Guo,
Sascha Hauer, Pengutronix Kernel Team, Fabio Estevam
Cc: devicetree, imx, linux-arm-kernel, linux-kernel, hongxing.zhu,
Frank Li
Add pcie0-ep node for i.MX8QM.
Signed-off-by: Frank Li <Frank.Li@nxp.com>
---
arch/arm64/boot/dts/freescale/imx8mq.dtsi | 35 +++++++++++++++++++++++++++++++
1 file changed, 35 insertions(+)
diff --git a/arch/arm64/boot/dts/freescale/imx8mq.dtsi b/arch/arm64/boot/dts/freescale/imx8mq.dtsi
index d51de8d899b2b..e5f9c90129d6c 100644
--- a/arch/arm64/boot/dts/freescale/imx8mq.dtsi
+++ b/arch/arm64/boot/dts/freescale/imx8mq.dtsi
@@ -1774,6 +1774,41 @@ pcie0: pcie@33800000 {
status = "disabled";
};
+ pcie0_ep: pcie-ep@33800000 {
+ compatible = "fsl,imx8mq-pcie-ep";
+ reg = <0x33800000 0x100000>,
+ <0x18000000 0x8000000>,
+ <0x33900000 0x100000>,
+ <0x33b00000 0x100000>;
+ reg-names = "dbi", "addr_space", "dbi2", "atu";
+ num-lanes = <1>;
+ interrupts = <GIC_SPI 127 IRQ_TYPE_LEVEL_HIGH>;
+ interrupt-names = "dma";
+ linux,pci-domain = <0>;
+ clocks = <&clk IMX8MQ_CLK_PCIE2_ROOT>,
+ <&clk IMX8MQ_CLK_PCIE2_PHY>,
+ <&clk IMX8MQ_CLK_PCIE2_PHY>,
+ <&clk IMX8MQ_CLK_PCIE2_AUX>;
+ clock-names = "pcie", "pcie_bus", "pcie_phy", "pcie_aux";
+ power-domains = <&pgc_pcie>;
+ resets = <&src IMX8MQ_RESET_PCIEPHY2>,
+ <&src IMX8MQ_RESET_PCIE2_CTRL_APPS_EN>,
+ <&src IMX8MQ_RESET_PCIE2_CTRL_APPS_TURNOFF>;
+ reset-names = "pciephy", "apps", "turnoff";
+ assigned-clocks = <&clk IMX8MQ_CLK_PCIE2_CTRL>,
+ <&clk IMX8MQ_CLK_PCIE2_PHY>,
+ <&clk IMX8MQ_CLK_PCIE2_AUX>;
+ assigned-clock-parents = <&clk IMX8MQ_SYS2_PLL_250M>,
+ <&clk IMX8MQ_SYS2_PLL_100M>,
+ <&clk IMX8MQ_SYS1_PLL_80M>;
+ assigned-clock-rates = <250000000>, <100000000>,
+ <10000000>;
+ num-ib-windows = <4>;
+ num-ob-windows = <4>;
+ fsl,max-link-speed = <2>;
+ status = "disabled";
+ };
+
pcie1: pcie@33c00000 {
compatible = "fsl,imx8mq-pcie";
reg = <0x33c00000 0x400000>,
--
2.34.1
^ permalink raw reply related [flat|nested] 10+ messages in thread
* [PATCH 8/8] arm64: dts: imx8mq-evk: add pcie[0,1]-ep nodes
2025-03-31 19:02 [PATCH 0/8] arm64: dts: imx8: create common imx-pcie[0,1]-ep overlay file Frank Li
` (6 preceding siblings ...)
2025-03-31 19:02 ` [PATCH 7/8] arm64: dts: imx8mq: add pcie0-ep node Frank Li
@ 2025-03-31 19:02 ` Frank Li
2025-04-23 9:23 ` [PATCH 0/8] arm64: dts: imx8: create common imx-pcie[0,1]-ep overlay file Shawn Guo
8 siblings, 0 replies; 10+ messages in thread
From: Frank Li @ 2025-03-31 19:02 UTC (permalink / raw)
To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Shawn Guo,
Sascha Hauer, Pengutronix Kernel Team, Fabio Estevam
Cc: devicetree, imx, linux-arm-kernel, linux-kernel, hongxing.zhu,
Frank Li
Add pcie[0,1]-ep nodes and apply imx-pcie1-ep overlay file.
Signed-off-by: Frank Li <Frank.Li@nxp.com>
---
arch/arm64/boot/dts/freescale/Makefile | 3 +++
arch/arm64/boot/dts/freescale/imx8mq-evk.dts | 20 ++++++++++++++++++++
2 files changed, 23 insertions(+)
diff --git a/arch/arm64/boot/dts/freescale/Makefile b/arch/arm64/boot/dts/freescale/Makefile
index 4f2f50203dd86..205552b4e4985 100644
--- a/arch/arm64/boot/dts/freescale/Makefile
+++ b/arch/arm64/boot/dts/freescale/Makefile
@@ -260,6 +260,9 @@ dtb-$(CONFIG_ARCH_MXC) += imx8mp-tqma8mpql-mba8mpxl-lvds.dtb
dtb-$(CONFIG_ARCH_MXC) += imx8mp-tqma8mpql-mba8mpxl-lvds-g133han01.dtb
dtb-$(CONFIG_ARCH_MXC) += imx8mq-evk.dtb
+imx8mq-evk-pcie1-ep-dtbs += imx8mq-evk.dtb imx-pcie1-ep.dtbo
+dtb-$(CONFIG_ARCH_MXC) += imx8mq-evk-pcie1-ep.dtb
+
dtb-$(CONFIG_ARCH_MXC) += imx8mq-hummingboard-pulse.dtb
dtb-$(CONFIG_ARCH_MXC) += imx8mq-kontron-pitx-imx8m.dtb
dtb-$(CONFIG_ARCH_MXC) += imx8mq-librem5-devkit.dtb
diff --git a/arch/arm64/boot/dts/freescale/imx8mq-evk.dts b/arch/arm64/boot/dts/freescale/imx8mq-evk.dts
index a87d0692c3bb3..43e45b0bd0d17 100644
--- a/arch/arm64/boot/dts/freescale/imx8mq-evk.dts
+++ b/arch/arm64/boot/dts/freescale/imx8mq-evk.dts
@@ -377,6 +377,16 @@ &pcie0 {
status = "okay";
};
+&pcie0_ep {
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_pcie0>;
+ clocks = <&clk IMX8MQ_CLK_PCIE1_ROOT>,
+ <&pcie0_refclk>,
+ <&clk IMX8MQ_CLK_PCIE1_PHY>,
+ <&clk IMX8MQ_CLK_PCIE1_AUX>;
+ status = "disabled";
+};
+
&pcie1 {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_pcie1>;
@@ -390,6 +400,16 @@ &pcie1 {
status = "okay";
};
+&pcie1_ep {
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_pcie1>;
+ clocks = <&clk IMX8MQ_CLK_PCIE2_ROOT>,
+ <&pcie0_refclk>,
+ <&clk IMX8MQ_CLK_PCIE2_PHY>,
+ <&clk IMX8MQ_CLK_PCIE2_AUX>;
+ status = "disabled";
+};
+
&pgc_gpu {
power-supply = <&sw1a_reg>;
};
--
2.34.1
^ permalink raw reply related [flat|nested] 10+ messages in thread
* Re: [PATCH 0/8] arm64: dts: imx8: create common imx-pcie[0,1]-ep overlay file
2025-03-31 19:02 [PATCH 0/8] arm64: dts: imx8: create common imx-pcie[0,1]-ep overlay file Frank Li
` (7 preceding siblings ...)
2025-03-31 19:02 ` [PATCH 8/8] arm64: dts: imx8mq-evk: add pcie[0,1]-ep nodes Frank Li
@ 2025-04-23 9:23 ` Shawn Guo
8 siblings, 0 replies; 10+ messages in thread
From: Shawn Guo @ 2025-04-23 9:23 UTC (permalink / raw)
To: Frank Li
Cc: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Shawn Guo,
Sascha Hauer, Pengutronix Kernel Team, Fabio Estevam, devicetree,
imx, linux-arm-kernel, linux-kernel, hongxing.zhu
On Mon, Mar 31, 2025 at 03:02:38PM -0400, Frank Li wrote:
> Frank Li (8):
> arm64: dts: imx8: create unified pcie0 and pcie0_ep label for all chips
> arm64: dts: imx8dxl-ss-hsio: correct irq number for imx8dxl
> arm64: dts: imx8dxl-evk: Add pcie0-ep node and use unified pcie0 label
> arm64: dts: imx8: use common imx-pcie0-ep.dtso to enable PCI ep function
> arm64: dts: imx95: add pcie1 ep overlay file and create pcie-ep dtb files
Applying: arm64: dts: imx95: add pcie1 ep overlay file and create pcie-ep dtb files
error: sha1 information is lacking or useless (arch/arm64/boot/dts/freescale/Makefile).
error: could not build fake ancestor
Patch failed at 0005 arm64: dts: imx95: add pcie1 ep overlay file and create pcie-ep dtb files
Could you rebase?
Shawn
> arm64: dts: imx8mm-evk: add pcie0-ep node and apply pcie0-ep overlay file
> arm64: dts: imx8mq: add pcie0-ep node
> arm64: dts: imx8mq-evk: add pcie[0,1]-ep nodes
^ permalink raw reply [flat|nested] 10+ messages in thread
end of thread, other threads:[~2025-04-23 9:24 UTC | newest]
Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-03-31 19:02 [PATCH 0/8] arm64: dts: imx8: create common imx-pcie[0,1]-ep overlay file Frank Li
2025-03-31 19:02 ` [PATCH 1/8] arm64: dts: imx8: create unified pcie0 and pcie0_ep label for all chips Frank Li
2025-03-31 19:02 ` [PATCH 2/8] arm64: dts: imx8dxl-ss-hsio: correct irq number for imx8dxl Frank Li
2025-03-31 19:02 ` [PATCH 3/8] arm64: dts: imx8dxl-evk: Add pcie0-ep node and use unified pcie0 label Frank Li
2025-03-31 19:02 ` [PATCH 4/8] arm64: dts: imx8: use common imx-pcie0-ep.dtso to enable PCI ep function Frank Li
2025-03-31 19:02 ` [PATCH 5/8] arm64: dts: imx95: add pcie1 ep overlay file and create pcie-ep dtb files Frank Li
2025-03-31 19:02 ` [PATCH 6/8] arm64: dts: imx8mm-evk: add pcie0-ep node and apply pcie0-ep overlay file Frank Li
2025-03-31 19:02 ` [PATCH 7/8] arm64: dts: imx8mq: add pcie0-ep node Frank Li
2025-03-31 19:02 ` [PATCH 8/8] arm64: dts: imx8mq-evk: add pcie[0,1]-ep nodes Frank Li
2025-04-23 9:23 ` [PATCH 0/8] arm64: dts: imx8: create common imx-pcie[0,1]-ep overlay file Shawn Guo
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).