[PATCH] PCI: amd-mdb: Assert PERST# on shutdown

From: Sai Krishna Musham

Date: Thu Apr 16 2026 - 22:44:05 EST


Add a shutdown handler for the AMD MDB PCIe host controller that
asserts the PERST# signal via GPIO before the system powers off or
reboots. This ensures the connected PCIe endpoint is held in reset
during shutdown.

Signed-off-by: Sai Krishna Musham <sai.krishna.musham@xxxxxxx>
---
drivers/pci/controller/dwc/pcie-amd-mdb.c | 9 +++++++++
1 file changed, 9 insertions(+)

diff --git a/drivers/pci/controller/dwc/pcie-amd-mdb.c b/drivers/pci/controller/dwc/pcie-amd-mdb.c
index 7e50e11fbffd..69d21b4727e4 100644
--- a/drivers/pci/controller/dwc/pcie-amd-mdb.c
+++ b/drivers/pci/controller/dwc/pcie-amd-mdb.c
@@ -507,6 +507,14 @@ static int amd_mdb_pcie_probe(struct platform_device *pdev)
return amd_mdb_add_pcie_port(pcie, pdev);
}

+static void amd_mdb_pcie_shutdown(struct platform_device *pdev)
+{
+ struct amd_mdb_pcie *pcie = platform_get_drvdata(pdev);
+
+ if (pcie->perst_gpio)
+ gpiod_set_value_cansleep(pcie->perst_gpio, 1);
+}
+
static const struct of_device_id amd_mdb_pcie_of_match[] = {
{
.compatible = "amd,versal2-mdb-host",
@@ -521,6 +529,7 @@ static struct platform_driver amd_mdb_pcie_driver = {
.suppress_bind_attrs = true,
},
.probe = amd_mdb_pcie_probe,
+ .shutdown = amd_mdb_pcie_shutdown,
};

builtin_platform_driver(amd_mdb_pcie_driver);
--
2.43.0