[PATCH v2 3/3] i3c: mipi-i3c-hci: Add support for AMD_PT I3C controller

Adrian Hunter adrian.hunter at intel.com
Tue Aug 11 05:48:33 PDT 2026


On 28/07/2026 12:32, Jian-Ming Liao wrote:
> 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 at asmedia.com.tw>
> Signed-off-by: Patrick Yen <Patrick_Yen at asmedia.com.tw>
> Signed-off-by: Jian-Ming Liao <Jm_Liao at asmedia.com.tw>

WARNING: From:/Signed-off-by: email address mismatch: 'From: Jian-Ming Liao <tim678910 at gmail.com>' != 'Signed-off-by: Jian-Ming Liao <Jm_Liao at asmedia.com.tw>'

Also missing Frank's Rev'd-by from V1

> ---
> v2:
>   - No changes (rebased on top of v2 patch series).
> 
>  drivers/i3c/master/mipi-i3c-hci/core.c             | 3 +++
>  drivers/i3c/master/mipi-i3c-hci/mipi-i3c-hci-pci.c | 9 +++++++++
>  2 files changed, 12 insertions(+)
> 
> diff --git a/drivers/i3c/master/mipi-i3c-hci/core.c b/drivers/i3c/master/mipi-i3c-hci/core.c
> index dccc974ef15a..15f9faed07c8 100644
> --- a/drivers/i3c/master/mipi-i3c-hci/core.c
> +++ b/drivers/i3c/master/mipi-i3c-hci/core.c
> @@ -1198,6 +1198,9 @@ 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",

Perhaps put '{' on a separate line to match the entry above

> +		.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..d7549edd5839 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
> @@ -193,6 +193,13 @@ static void intel_i3c_exit(struct mipi_i3c_hci_pci *hci)
>  	intel_ltr_hide(&hci->pci->dev);
>  }
>  
> +static const struct mipi_i3c_hci_pci_info amd_pt_info = {
> +	.name = "amd-pt-i3c-hci",
> +	.id = {0},
> +	.instance_offset = {0},
> +	.instance_count = 1,
> +};

Perhaps move this after the other struct mipi_i3c_hci_pci_info
i.e. to approx. match the order in mipi_i3c_hci_pci_devices[]

> +
>  static const struct mipi_i3c_hci_pci_info intel_mi_1_info = {
>  	.init = intel_i3c_init,
>  	.exit = intel_i3c_exit,
> @@ -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},

Perhaps add a space before '}', just to match the ones above

>  	{ }
>  };
>  MODULE_DEVICE_TABLE(pci, mipi_i3c_hci_pci_devices);




More information about the linux-i3c mailing list