[PATCH v3 3/3] i3c: mipi-i3c-hci: Add support for AMD_PT I3C controller
Jian-Ming Liao <[email protected]>
| Newsgroups | org.infradead.lists.linux-i3c |
|---|---|
| Message-ID | <[email protected]> |
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 <[email protected]> Signed-off-by: Patrick Yen <[email protected]> Signed-off-by: Jian-Ming Liao <[email protected]> Reviewed-by: Frank Li <[email protected]> --- v3: - Restored Frank's Reviewed-by tag from v1 (Adrian). - Formatted platform_device_id entry with '{' on a separate line (Adrian). - Moved amd_pt_info definition to match device table order (Adrian). - Added space before closing brace in mipi_i3c_hci_pci_devices[] (Adrian). - Aligned From: and Signed-off-by: email addresses (Adrian). v2: - No changes (rebased on top of v2 patch series). drivers/i3c/master/mipi-i3c-hci/core.c | 4 ++++ drivers/i3c/master/mipi-i3c-hci/mipi-i3c-hci-pci.c | 9 +++++++++ 2 files changed, 13 insertions(+) diff --git a/drivers/i3c/master/mipi-i3c-hci/core.c b/drivers/i3c/master/mipi-i3c-hci/core.c index dccc974ef15a..27dce02e7931 100644 --- a/drivers/i3c/master/mipi-i3c-hci/core.c +++ b/drivers/i3c/master/mipi-i3c-hci/core.c @@ -1198,6 +1198,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 5a9e2a43eff8..cf61e056bc2a 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++) { @@ -475,6 +482,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); -- 2.43.0 -- linux-i3c mailing list [email protected] http://lists.infradead.org/mailman/listinfo/linux-i3c