* [PATCH v1 0/2] Enable PCIe WAKE# as a system wake source on Tegra234
@ 2026-09-07 11:31 Manikanta Maddireddy
2026-09-07 11:31 ` [PATCH v1 1/2] soc/tegra: pmc: Add PCIe wake event for Tegra234 Manikanta Maddireddy
2026-09-07 11:31 ` [PATCH v1 2/2] arm64: tegra: Add PCIe wake GPIO for Jetson Orin NX/Nano Manikanta Maddireddy
0 siblings, 2 replies; 3+ messages in thread
From: Manikanta Maddireddy @ 2026-09-07 11:31 UTC (permalink / raw)
To: Thierry Reding, Jonathan Hunter, Prathamesh Shete
Cc: Rob Herring, Krzysztof Kozlowski, Conor Dooley, devicetree,
linux-tegra, linux-kernel, Manikanta Maddireddy
The P3768 carrier board used by Jetson Orin NX and Orin Nano routes the
PCIe WAKE# signal to Tegra234 main GPIO L.2. Nothing in the kernel
currently describes that signal, so a suspended system cannot be woken
by a PCIe endpoint.
This series wires it up in two steps.
Patch 1 adds the PMC wake event mapping for GPIO L.2. This is the piece
that lets the GPIO interrupt be armed as a system wake source during
suspend, rather than being treated as an ordinary interrupt that is
masked along with the rest of the GPIO controller.
Patch 2 describes the signal in device tree, on the root port of the C8
controller. C8 is the controller with the onboard Ethernet NIC on this
carrier, so describing WAKE# there is what makes wake-on-LAN usable.
The property is consumed by the generic PCI core in
pci_configure_of_wake_gpio(), which looks it up on the OF node of the
PCI device itself, so no controller driver change is needed.
The two patches touch different subsystems but are only useful together,
so they are posted as one series. Patch 2 depends on patch 1 to have any
effect.
Testing:
- Verification:
- Verified suspend-to-RAM functionality with no spurious pending
wake sources observed.
- Verified wake up through GPIO L.2 using an Ethernet magic packet.
- Verified the reported wake source after resume.
- Verified that regular Ethernet traffic does not trigger an
unintended wake-up.
- Confirmed Ethernet connectivity and normal network operation
after resume.
- Repeated multiple suspend/resume cycles to verify consistent
behavior.
- make ARCH=arm64 CHECK_DTBS=y is clean for the two affected boards,
tegra234-p3768-0000+p3767-0000 and -0005, with dtschema 2026.6.
- checkpatch --strict reports no issues on either patch.
Note: the series is based on the linux-next 20260817 snapshot rather
than a maintainer tree; see the base-commit trailer below. Happy to
rebase onto whichever tree you prefer.
Manikanta Maddireddy (2):
soc/tegra: pmc: Add PCIe wake event for Tegra234
arm64: tegra: Add PCIe wake GPIO for Jetson Orin NX/Nano
.../boot/dts/nvidia/tegra234-p3768-0000+p3767.dtsi | 10 ++++++++++
drivers/soc/tegra/pmc.c | 1 +
2 files changed, 11 insertions(+)
base-commit: e6664f2b33db9b6811eb4cec109f06cb2b4f458d
--
2.34.1
^ permalink raw reply [flat|nested] 3+ messages in thread
* [PATCH v1 1/2] soc/tegra: pmc: Add PCIe wake event for Tegra234
2026-09-07 11:31 [PATCH v1 0/2] Enable PCIe WAKE# as a system wake source on Tegra234 Manikanta Maddireddy
@ 2026-09-07 11:31 ` Manikanta Maddireddy
2026-09-07 11:31 ` [PATCH v1 2/2] arm64: tegra: Add PCIe wake GPIO for Jetson Orin NX/Nano Manikanta Maddireddy
1 sibling, 0 replies; 3+ messages in thread
From: Manikanta Maddireddy @ 2026-09-07 11:31 UTC (permalink / raw)
To: Thierry Reding, Jonathan Hunter, Prathamesh Shete
Cc: Rob Herring, Krzysztof Kozlowski, Conor Dooley, devicetree,
linux-tegra, linux-kernel, Manikanta Maddireddy
GPIO L.2 is used as the PCIe WAKE# signal on Tegra234 platforms.
Add the PMC wake event mapping so the GPIO interrupt can be armed
as a system wake source.
Signed-off-by: Manikanta Maddireddy <mmaddireddy@nvidia.com>
---
drivers/soc/tegra/pmc.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/drivers/soc/tegra/pmc.c b/drivers/soc/tegra/pmc.c
index 41ed716d5857..0ed0a928a7b2 100644
--- a/drivers/soc/tegra/pmc.c
+++ b/drivers/soc/tegra/pmc.c
@@ -4421,6 +4421,7 @@ static const char * const tegra234_reset_sources[] = {
};
static const struct tegra_wake_event tegra234_wake_events[] = {
+ TEGRA_WAKE_GPIO("pcie-wake", 1, 0, TEGRA234_MAIN_GPIO(L, 2)),
TEGRA_WAKE_GPIO("sd-wake", 8, 0, TEGRA234_MAIN_GPIO(G, 7)),
TEGRA_WAKE_GPIO("eqos", 20, 0, TEGRA234_MAIN_GPIO(G, 4)),
TEGRA_WAKE_IRQ("pmu", 24, 209),
--
2.34.1
^ permalink raw reply related [flat|nested] 3+ messages in thread
* [PATCH v1 2/2] arm64: tegra: Add PCIe wake GPIO for Jetson Orin NX/Nano
2026-09-07 11:31 [PATCH v1 0/2] Enable PCIe WAKE# as a system wake source on Tegra234 Manikanta Maddireddy
2026-09-07 11:31 ` [PATCH v1 1/2] soc/tegra: pmc: Add PCIe wake event for Tegra234 Manikanta Maddireddy
@ 2026-09-07 11:31 ` Manikanta Maddireddy
1 sibling, 0 replies; 3+ messages in thread
From: Manikanta Maddireddy @ 2026-09-07 11:31 UTC (permalink / raw)
To: Thierry Reding, Jonathan Hunter, Prathamesh Shete
Cc: Rob Herring, Krzysztof Kozlowski, Conor Dooley, devicetree,
linux-tegra, linux-kernel, Manikanta Maddireddy
The C8 PCIe controller on the P3768 carrier has WAKE# wired to main
GPIO L.2.
Describe the signal on the root port so PCIe devices can use it as a
wake source, enabling wake-on-LAN support.
Signed-off-by: Manikanta Maddireddy <mmaddireddy@nvidia.com>
---
.../boot/dts/nvidia/tegra234-p3768-0000+p3767.dtsi | 10 ++++++++++
1 file changed, 10 insertions(+)
diff --git a/arch/arm64/boot/dts/nvidia/tegra234-p3768-0000+p3767.dtsi b/arch/arm64/boot/dts/nvidia/tegra234-p3768-0000+p3767.dtsi
index 41821354bbda..2af32613b16c 100644
--- a/arch/arm64/boot/dts/nvidia/tegra234-p3768-0000+p3767.dtsi
+++ b/arch/arm64/boot/dts/nvidia/tegra234-p3768-0000+p3767.dtsi
@@ -163,6 +163,16 @@ pcie@140a0000 {
vddio-pex-ctl-supply = <&vdd_1v8_ao>;
vpcie3v3-supply = <&vdd_3v3_pcie>;
+
+ pci@0,0 {
+ reg = <0x0000 0 0 0 0>;
+ device_type = "pci";
+ #address-cells = <3>;
+ #size-cells = <2>;
+ ranges;
+
+ wake-gpios = <&gpio TEGRA234_MAIN_GPIO(L, 2) GPIO_ACTIVE_LOW>;
+ };
};
/* C1 - M.2 Key-E */
--
2.34.1
^ permalink raw reply related [flat|nested] 3+ messages in thread
end of thread, other threads:[~2026-09-07 11:32 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-09-07 11:31 [PATCH v1 0/2] Enable PCIe WAKE# as a system wake source on Tegra234 Manikanta Maddireddy
2026-09-07 11:31 ` [PATCH v1 1/2] soc/tegra: pmc: Add PCIe wake event for Tegra234 Manikanta Maddireddy
2026-09-07 11:31 ` [PATCH v1 2/2] arm64: tegra: Add PCIe wake GPIO for Jetson Orin NX/Nano Manikanta Maddireddy
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox