[PATCH v3] usb: xhci-pci: Add AMD 600 series to xhci-pci-prom21
From: Mirko Jechow
Date: Sat Oct 03 2026 - 20:28:01 EST
From: Stephen Horvath <linux@xxxxxxxxxxxx>
It seems the xhci-pci-prom21 module only has IDs for the 800 series
chipsets. However, the 600 series chipsets also have Promontory 21
chips, so we should add their IDs to the list as well.
I have tested this on my X670 board featuring DID `0x43f7`.
`1022:43f7` also appears on the PCI ID database
(https://pci-ids.ucw.cz/read/PC/1022/43f7).
Device IDs `0x43f9` (B665) & `0x43fa` (A620) were suggested by Shyam.
Also list the new IDs in Documentation/hwmon/prom21-xhci.rst.
Cc: stable@xxxxxxxxxxxxxxx # 7.2.x
Cc: Shyam Sundar S K <Shyam-sundar.S-k@xxxxxxx>
Cc: Jihong Min <hurryman2212@xxxxxxxxx>
Signed-off-by: Stephen Horvath <linux@xxxxxxxxxxxx>
Tested-by: Mirko Jechow <mirko.jechow@xxxxxx>
[mirko.jechow@xxxxxx: add new IDs to prom21-xhci.rst]
Signed-off-by: Mirko Jechow <mirko.jechow@xxxxxx>
---
Changes in v3:
- List the new IDs on the PCI IDs line of Documentation/hwmon/prom21-xhci.rst
(requested by Jihong Min)
- Picked up from Stephen; v2 had no follow-up since 2026-08-23
- Link to v2: https://patch.msgid.link/20260820-xhci-pci-prom21-v2-1-638e5958fbbf@xxxxxxxxxxxx
---
Documentation/hwmon/prom21-xhci.rst | 2 +-
drivers/usb/host/xhci-pci-prom21.c | 3 +++
drivers/usb/host/xhci-pci.c | 3 +++
drivers/usb/host/xhci-pci.h | 3 +++
4 files changed, 10 insertions(+), 1 deletion(-)
diff --git a/Documentation/hwmon/prom21-xhci.rst b/Documentation/hwmon/prom21-xhci.rst
index 7984fb187bd8a..6c0b6e7368921 100644
--- a/Documentation/hwmon/prom21-xhci.rst
+++ b/Documentation/hwmon/prom21-xhci.rst
@@ -9,7 +9,7 @@ Supported chips:
Prefix: 'prom21_xhci'
- PCI IDs: 1022:43fc, 1022:43fd
+ PCI IDs: 1022:43f7, 1022:43f9, 1022:43fa, 1022:43fc, 1022:43fd
Author:
diff --git a/drivers/usb/host/xhci-pci-prom21.c b/drivers/usb/host/xhci-pci-prom21.c
index 6486f4a093455..5f088a47d79f3 100644
--- a/drivers/usb/host/xhci-pci-prom21.c
+++ b/drivers/usb/host/xhci-pci-prom21.c
@@ -111,6 +111,9 @@ static void prom21_xhci_remove(struct pci_dev *dev)
}
static const struct pci_device_id pci_ids[] = {
+ { PCI_DEVICE(PCI_VENDOR_ID_AMD, PCI_DEVICE_ID_AMD_PROM21_XHCI_43F7) },
+ { PCI_DEVICE(PCI_VENDOR_ID_AMD, PCI_DEVICE_ID_AMD_PROM21_XHCI_43F9) },
+ { PCI_DEVICE(PCI_VENDOR_ID_AMD, PCI_DEVICE_ID_AMD_PROM21_XHCI_43FA) },
{ PCI_DEVICE(PCI_VENDOR_ID_AMD, PCI_DEVICE_ID_AMD_PROM21_XHCI_43FC) },
{ PCI_DEVICE(PCI_VENDOR_ID_AMD, PCI_DEVICE_ID_AMD_PROM21_XHCI_43FD) },
{ /* end: all zeroes */ }
diff --git a/drivers/usb/host/xhci-pci.c b/drivers/usb/host/xhci-pci.c
index a8889081ae824..b407676808fca 100644
--- a/drivers/usb/host/xhci-pci.c
+++ b/drivers/usb/host/xhci-pci.c
@@ -701,6 +701,9 @@ static const struct pci_device_id pci_ids_renesas[] = {
/* handled by xhci-pci-prom21 if enabled */
static const struct pci_device_id pci_ids_prom21[] = {
+ { PCI_DEVICE(PCI_VENDOR_ID_AMD, PCI_DEVICE_ID_AMD_PROM21_XHCI_43F7) },
+ { PCI_DEVICE(PCI_VENDOR_ID_AMD, PCI_DEVICE_ID_AMD_PROM21_XHCI_43F9) },
+ { PCI_DEVICE(PCI_VENDOR_ID_AMD, PCI_DEVICE_ID_AMD_PROM21_XHCI_43FA) },
{ PCI_DEVICE(PCI_VENDOR_ID_AMD, PCI_DEVICE_ID_AMD_PROM21_XHCI_43FC) },
{ PCI_DEVICE(PCI_VENDOR_ID_AMD, PCI_DEVICE_ID_AMD_PROM21_XHCI_43FD) },
{ /* end: all zeroes */ }
diff --git a/drivers/usb/host/xhci-pci.h b/drivers/usb/host/xhci-pci.h
index 11f435f94322a..533efc7db8012 100644
--- a/drivers/usb/host/xhci-pci.h
+++ b/drivers/usb/host/xhci-pci.h
@@ -4,6 +4,9 @@
#ifndef XHCI_PCI_H
#define XHCI_PCI_H
+#define PCI_DEVICE_ID_AMD_PROM21_XHCI_43F7 0x43f7
+#define PCI_DEVICE_ID_AMD_PROM21_XHCI_43F9 0x43f9
+#define PCI_DEVICE_ID_AMD_PROM21_XHCI_43FA 0x43fa
#define PCI_DEVICE_ID_AMD_PROM21_XHCI_43FC 0x43fc
#define PCI_DEVICE_ID_AMD_PROM21_XHCI_43FD 0x43fd
base-commit: 639df5d23876a548b86fe6526bed8b97edf64d96
--
2.43.0