i3c: mipi-i3c-hci: Add support for AMD_PT I3C controller

Add support for the AMD_PT I3C controller by introducing the following
changes:
- Add AMD_PT I3C controller platform device ID in core.c.
- Register AMD_PT I3C controller PCI ID in mipi-i3c-hci-pci.c.

Co-developed-by: Patrick Yen <Patrick_Yen@asmedia.com.tw>
Signed-off-by: Patrick Yen <Patrick_Yen@asmedia.com.tw>
Signed-off-by: Jian-Ming Liao <Jm_Liao@asmedia.com.tw>
Reviewed-by: Frank Li <Frank.Li@nxp.com>
Link: https://patch.msgid.link/20260818104106.763772-4-Jm_Liao@asmedia.com.tw
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
This commit is contained in:
Jian-Ming Liao 2026-08-18 18:41:06 +08:00 committed by Alexandre Belloni
parent ee53e1787f
commit 455b454c87
2 changed files with 13 additions and 0 deletions

View File

@ -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);

View File

@ -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);