From 61dc1e04e05f264fe579a68fa7ffcc5ef5533d9d Mon Sep 17 00:00:00 2001 From: Jeremy Compostella Date: Thu, 19 Feb 2026 07:43:36 -0800 Subject: [PATCH] soc/intel/tigerlake: Use common UART device list driver Remove platform-specific uart.c and switch to the common UART device list driver. This eliminates duplicate code. The tigerlake uart.c simply defined uart_devices[] array. The common driver now handles this using the PCI_UART_DEVFNn macros defined in pci_devs.h. This commit: - Adds PCI_DEVFN_UART* aliases pointing to PCH_DEVFN_UART* for naming consistency with common code - Selects SOC_INTEL_COMMON_FEATURE and SOC_INTEL_COMMON_FEATURE_UART_DEVICES in Kconfig - Removes uart.c and updates Makefile.mk Change-Id: I9520bd3f4dd9ccf777e34c79a8c8237adb8b0fed Signed-off-by: Jeremy Compostella Reviewed-on: https://review.coreboot.org/c/coreboot/+/91245 Reviewed-by: Werner Zeh Tested-by: build bot (Jenkins) --- src/soc/intel/tigerlake/Kconfig | 2 ++ src/soc/intel/tigerlake/Makefile.mk | 2 -- src/soc/intel/tigerlake/include/soc/pci_devs.h | 5 +++++ src/soc/intel/tigerlake/uart.c | 18 ------------------ 4 files changed, 7 insertions(+), 20 deletions(-) delete mode 100644 src/soc/intel/tigerlake/uart.c diff --git a/src/soc/intel/tigerlake/Kconfig b/src/soc/intel/tigerlake/Kconfig index d76ddec335..1d6c21e06f 100644 --- a/src/soc/intel/tigerlake/Kconfig +++ b/src/soc/intel/tigerlake/Kconfig @@ -72,6 +72,8 @@ config SOC_INTEL_TIGERLAKE select SOC_INTEL_COMMON_BLOCK_USB4_PCIE select SOC_INTEL_COMMON_BLOCK_USB4_XHCI select SOC_INTEL_COMMON_BLOCK_XHCI_ELOG + select SOC_INTEL_COMMON_FEATURE + select SOC_INTEL_COMMON_FEATURE_UART_DEVICES select SOC_INTEL_COMMON_FSP_RESET select SOC_INTEL_COMMON_PCH_CLIENT select SOC_INTEL_COMMON_RESET diff --git a/src/soc/intel/tigerlake/Makefile.mk b/src/soc/intel/tigerlake/Makefile.mk index 27e07a99b4..19b504362f 100644 --- a/src/soc/intel/tigerlake/Makefile.mk +++ b/src/soc/intel/tigerlake/Makefile.mk @@ -10,7 +10,6 @@ all-y += gspi.c all-y += i2c.c all-y += pmutil.c all-y += spi.c -all-y += uart.c bootblock-y += bootblock/bootblock.c bootblock-y += bootblock/pch.c @@ -47,7 +46,6 @@ ramstage-$(CONFIG_SOC_INTEL_CRASHLOG) += crashlog_lib.c smm-y += p2sb.c smm-y += pmutil.c smm-y += smihandler.c -smm-y += uart.c smm-y += elog.c smm-y += xhci.c diff --git a/src/soc/intel/tigerlake/include/soc/pci_devs.h b/src/soc/intel/tigerlake/include/soc/pci_devs.h index d93c97f3c3..c615f3bc70 100644 --- a/src/soc/intel/tigerlake/include/soc/pci_devs.h +++ b/src/soc/intel/tigerlake/include/soc/pci_devs.h @@ -245,4 +245,9 @@ #define PCH_DEV_GBE _PCH_DEV(ESPI, 6) #define PCH_DEV_TRACEHUB _PCH_DEV(ESPI, 7) +/* for common code */ +#define PCI_DEVFN_UART0 PCH_DEVFN_UART0 +#define PCI_DEVFN_UART1 PCH_DEVFN_UART1 +#define PCI_DEVFN_UART2 PCH_DEVFN_UART2 + #endif diff --git a/src/soc/intel/tigerlake/uart.c b/src/soc/intel/tigerlake/uart.c deleted file mode 100644 index fa4760c118..0000000000 --- a/src/soc/intel/tigerlake/uart.c +++ /dev/null @@ -1,18 +0,0 @@ -/* SPDX-License-Identifier: GPL-2.0-only */ - -/* - * This file is created based on Intel Tiger Lake Processor PCH Datasheet - * Document number: 575857 - * Chapter number: 9 - */ - -#include -#include - -const unsigned int uart_devices[] = { - PCH_DEVFN_UART0, - PCH_DEVFN_UART1, - PCH_DEVFN_UART2, -}; - -const int uart_devices_size = ARRAY_SIZE(uart_devices);