diff --git a/drivers/i3c/master/mipi-i3c-hci/core.c b/drivers/i3c/master/mipi-i3c-hci/core.c index 84b78ac6c2e4..dadf049bd4b5 100644 --- a/drivers/i3c/master/mipi-i3c-hci/core.c +++ b/drivers/i3c/master/mipi-i3c-hci/core.c @@ -1219,6 +1219,10 @@ static const struct platform_device_id i3c_hci_driver_ids[] = { HCI_QUIRK_DMA_ABORT_REQUIRES_PIO_RESET | HCI_QUIRK_DMA_REQUIRES_HC_ABORT, }, + { + .name = "amd-pt-i3c-hci", + .driver_data = HCI_QUIRK_RPM_ALLOWED, + }, { /* sentinel */ } }; MODULE_DEVICE_TABLE(platform, i3c_hci_driver_ids); diff --git a/drivers/i3c/master/mipi-i3c-hci/mipi-i3c-hci-pci.c b/drivers/i3c/master/mipi-i3c-hci/mipi-i3c-hci-pci.c index 42c172e82622..ab595661db1e 100644 --- a/drivers/i3c/master/mipi-i3c-hci/mipi-i3c-hci-pci.c +++ b/drivers/i3c/master/mipi-i3c-hci/mipi-i3c-hci-pci.c @@ -223,6 +223,13 @@ static const struct mipi_i3c_hci_pci_info intel_si_2_info = { .control_instance_pm = true, }; +static const struct mipi_i3c_hci_pci_info amd_pt_info = { + .name = "amd-pt-i3c-hci", + .id = {0}, + .instance_offset = {0}, + .instance_count = 1, +}; + static int mipi_i3c_hci_pci_find_instance(struct mipi_i3c_hci_pci *hci, struct device *dev) { for (int i = 0; i < INST_MAX; i++) { @@ -494,6 +501,8 @@ static const struct pci_device_id mipi_i3c_hci_pci_devices[] = { /* Nova Lake-H */ { PCI_VDEVICE(INTEL, 0xd37c), .driver_data = (kernel_ulong_t)&intel_mi_1_info }, { PCI_VDEVICE(INTEL, 0xd36f), .driver_data = (kernel_ulong_t)&intel_mi_2_info }, + /* AMD_PT */ + { PCI_VDEVICE(AMD, 0x444c), .driver_data = (kernel_ulong_t)&amd_pt_info }, { } }; MODULE_DEVICE_TABLE(pci, mipi_i3c_hci_pci_devices);