[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[PATCH] drivers/char: Add several newer PCI IDs for Intel LPSS


  • To: xen-devel@xxxxxxxxxxxxxxxxxxxx
  • From: Marek Marczykowski-Górecki <marmarek@xxxxxxxxxxxxxxxxxxxxxx>
  • Date: Tue, 13 Oct 2026 21:07:31 +0200
  • Authentication-results: eu.smtp.expurgate.cloud; dkim=pass header.s=fm2 header.d=invisiblethingslab.com header.i="@invisiblethingslab.com" header.h="Cc:Content-Transfer-Encoding:Content-Type:Date:From:Message-ID:MIME-Version:Subject:To"; dkim=pass header.s=fm2 header.d=messagingengine.com header.i="@messagingengine.com" header.h="Cc:Content-Transfer-Encoding:Content-Type:Date:Feedback-ID:From:Message-ID:MIME-Version:Subject:To:X-ME-Proxy:X-ME-Sender"
  • Cc: Marek Marczykowski-Górecki <marmarek@xxxxxxxxxxxxxxxxxxxxxx>, Andrew Cooper <andrew.cooper3@xxxxxxxxxx>, Anthony PERARD <anthony.perard@xxxxxxxxxx>, Michal Orzel <michal.orzel@xxxxxxx>, Jan Beulich <jbeulich@xxxxxxxx>, Julien Grall <julien@xxxxxxx>, Roger Pau Monné <roger@xxxxxxxxxxxxxx>, Stefano Stabellini <sstabellini@xxxxxxxxxx>
  • Delivery-date: Tue, 13 Oct 2026 19:08:08 +0000
  • Dkim2-signature: i=1; m=1; t=1791918463; d=invisiblethingslab.com; mf=PG1hcm1hcmVrQGludmlzaWJsZXRoaW5nc2xhYi5jb20+; rt=PHhlbi1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZz4=; s=fm2:rsa-sha256:K5Y5/SYygJ46gVOqnDgiy4m3Nx61ZWDIlrq7++sWMIIrDtX cawve0N1eUnbgMRtJG3Dm1xkFKNc2zydQmJNID8TydMa82Bnz/MuL7LtJ0OPGZ41 FJ9uaMMiXGuWPLY0+ddq17tPFr4I0Vd97ewqttUNKSuQXkCOMMDKHawsQsjsVTnZ 2aR9arNZE+HnYBuYHuwGDiaXtd+FJpUv1zsupe0bxUooR8QBMGSeJlL/SxDcSdCC lXa9qkdZSZ6Po00FfSORG44T+JCzVW8Ju3wsGp7CuFsmpYIvD0i50aNWGBRmAL5v Tmb+JXD8raCvcgHG4973XG6X9K+ZpR6qOsgUYmw==;
  • Feedback-id: i1568416f:Fastmail
  • List-id: Xen developer discussion <xen-devel.lists.xenproject.org>
  • Message-instance: m=1; h=sha256:73l1Ga0o0c+clrHXa1CkAoNDM/NtGOoKGPETbFU8Z68=:bVE4G8hqzCRTYNdA708j92bGUfnemoEIKiTSYwVgltQ=;

Include PCI IDs of UART ports on Intel RPL - PTL. Based on Linux driver
and hwdata, they all share the same parameters.

Signed-off-by: Marek Marczykowski-Górecki <marmarek@xxxxxxxxxxxxxxxxxxxxxx>
---
I tested it on MTL, but given Linux driver handles them uniformly, I
assume others work too.

The list gets quite long, would it be preferred to have a macro to
reduce (at least similar) entries to one-liners? In Linux driver it
looks this way:
    /* MTL-P */
    { PCI_VDEVICE(INTEL, 0x7e25), .driver_data = (kernel_ulong_t)&bxt_uart_info 
},
    { PCI_VDEVICE(INTEL, 0x7e26), .driver_data = (kernel_ulong_t)&bxt_uart_info 
},
    ...
---
 xen/drivers/char/ns16550.c | 132 +++++++++++++++++++++++++++++++++++++
 1 file changed, 132 insertions(+)

diff --git a/xen/drivers/char/ns16550.c b/xen/drivers/char/ns16550.c
index cdda28879e66..be388c8e6582 100644
--- a/xen/drivers/char/ns16550.c
+++ b/xen/drivers/char/ns16550.c
@@ -1245,6 +1245,138 @@ static const struct ns16550_config __initconst 
uart_config[] =
         .dev_id = 0x7adc,
         .param = param_intel_lpss
     },
+    /* Intel Corp. RPL-S LPSS PCI UART #0 */
+    {
+        .vendor_id = PCI_VENDOR_ID_INTEL,
+        .dev_id = 0x7a28,
+        .param = param_intel_lpss
+    },
+    /* Intel Corp. RPL-S LPSS PCI UART #1 */
+    {
+        .vendor_id = PCI_VENDOR_ID_INTEL,
+        .dev_id = 0x7a29,
+        .param = param_intel_lpss
+    },
+    /* Intel Corp. RPL-S LPSS PCI UART #2 */
+    {
+        .vendor_id = PCI_VENDOR_ID_INTEL,
+        .dev_id = 0x7a5c,
+        .param = param_intel_lpss
+    },
+    /* Intel Corp. LNL-M LPSS PCI UART #0 */
+    {
+        .vendor_id = PCI_VENDOR_ID_INTEL,
+        .dev_id = 0xa825,
+        .param = param_intel_lpss
+    },
+    /* Intel Corp. LNL-M LPSS PCI UART #1 */
+    {
+        .vendor_id = PCI_VENDOR_ID_INTEL,
+        .dev_id = 0xa826,
+        .param = param_intel_lpss
+    },
+    /* Intel Corp. LNL-M LPSS PCI UART #2 */
+    {
+        .vendor_id = PCI_VENDOR_ID_INTEL,
+        .dev_id = 0xa852,
+        .param = param_intel_lpss
+    },
+    /* Intel Corp. MTL-P LPSS PCI UART #0 */
+    {
+        .vendor_id = PCI_VENDOR_ID_INTEL,
+        .dev_id = 0x7e25,
+        .param = param_intel_lpss
+    },
+    /* Intel Corp. MTL-P LPSS PCI UART #1 */
+    {
+        .vendor_id = PCI_VENDOR_ID_INTEL,
+        .dev_id = 0x7e26,
+        .param = param_intel_lpss
+    },
+    /* Intel Corp. MTL-P LPSS PCI UART #2 */
+    {
+        .vendor_id = PCI_VENDOR_ID_INTEL,
+        .dev_id = 0x7e52,
+        .param = param_intel_lpss
+    },
+    /* Intel Corp. MTP-S LPSS PCI UART #0 */
+    {
+        .vendor_id = PCI_VENDOR_ID_INTEL,
+        .dev_id = 0x7f28,
+        .param = param_intel_lpss
+    },
+    /* Intel Corp. MTP-S LPSS PCI UART #1 */
+    {
+        .vendor_id = PCI_VENDOR_ID_INTEL,
+        .dev_id = 0x7f29,
+        .param = param_intel_lpss
+    },
+    /* Intel Corp. MTP-S LPSS PCI UART #2 */
+    {
+        .vendor_id = PCI_VENDOR_ID_INTEL,
+        .dev_id = 0x7f5c,
+        .param = param_intel_lpss
+    },
+    /* Intel Corp. MTP-S LPSS PCI UART #3 */
+    {
+        .vendor_id = PCI_VENDOR_ID_INTEL,
+        .dev_id = 0x7f5d,
+        .param = param_intel_lpss
+    },
+    /* Intel Corp. NVL-H LPSS PCI UART #0 */
+    {
+        .vendor_id = PCI_VENDOR_ID_INTEL,
+        .dev_id = 0xd325,
+        .param = param_intel_lpss
+    },
+    /* Intel Corp. NVL-H LPSS PCI UART #1 */
+    {
+        .vendor_id = PCI_VENDOR_ID_INTEL,
+        .dev_id = 0xd326,
+        .param = param_intel_lpss
+    },
+    /* Intel Corp. NVL-H LPSS PCI UART #2 */
+    {
+        .vendor_id = PCI_VENDOR_ID_INTEL,
+        .dev_id = 0xd352,
+        .param = param_intel_lpss
+    },
+    /* Intel Corp. PTL-H LPSS PCI UART #0 */
+    {
+        .vendor_id = PCI_VENDOR_ID_INTEL,
+        .dev_id = 0xe325,
+        .param = param_intel_lpss
+    },
+    /* Intel Corp. PTL-H LPSS PCI UART #1 */
+    {
+        .vendor_id = PCI_VENDOR_ID_INTEL,
+        .dev_id = 0xe326,
+        .param = param_intel_lpss
+    },
+    /* Intel Corp. PTL-H LPSS PCI UART #2 */
+    {
+        .vendor_id = PCI_VENDOR_ID_INTEL,
+        .dev_id = 0xe352,
+        .param = param_intel_lpss
+    },
+    /* Intel Corp. PTL-P LPSS PCI UART #0 */
+    {
+        .vendor_id = PCI_VENDOR_ID_INTEL,
+        .dev_id = 0xe425,
+        .param = param_intel_lpss
+    },
+    /* Intel Corp. PTL-P LPSS PCI UART #1 */
+    {
+        .vendor_id = PCI_VENDOR_ID_INTEL,
+        .dev_id = 0xe426,
+        .param = param_intel_lpss
+    },
+    /* Intel Corp. PTL-P LPSS PCI UART #2 */
+    {
+        .vendor_id = PCI_VENDOR_ID_INTEL,
+        .dev_id = 0xe452,
+        .param = param_intel_lpss
+    },
     /* WCH CH382 2S1P */
     {
         .vendor_id = PCI_VENDOR_ID_WCHIC,
-- 
2.54.0




 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.