[U-Boot] [RFC PATCH 02/13] serial: S5P/Samsung: refactor and Kconfig-ize UART selection

Andre Przywara
2017-11-30T01:25:00Z

Currently the UART used by some Samsung SoCs is selected by the
generic CONFIG_S5P define. This makes it hard to re-use that UART
without pulling in the whole of the S5P code. Also the Exynos SoCs
use this driver, which is in fact a generic Samsung UART driver.

So create a new Kconfig symbol CONFIG_SAMSUNG_UART to reflect this and
change the existing boards to use this symbol.

Signed-off-by: Andre Przywara <andre.przywara@arm.com>
---
arch/arm/Kconfig | 1 +
arch/arm/mach-s5pc1xx/Kconfig | 2 ++
drivers/serial/Kconfig | 6 ++++++
drivers/serial/Makefile | 2 +-
4 files changed, 10 insertions(+), 1 deletion(-)

diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
index e50ba930a1..88c8417120 100644
--- a/arch/arm/Kconfig
+++ b/arch/arm/Kconfig
@@ -557,6 +557,7 @@ config ARCH_EXYNOS
select DM_I2C
select DM_SPI_FLASH
select DM_SERIAL
+ select SAMSUNG_UART
select DM_SPI
select DM_GPIO
select DM_KEYBOARD
diff --git a/arch/arm/mach-s5pc1xx/Kconfig b/arch/arm/mach-s5pc1xx/Kconfig
index 04acdaad79..ab6628736c 100644
--- a/arch/arm/mach-s5pc1xx/Kconfig
+++ b/arch/arm/mach-s5pc1xx/Kconfig
@@ -7,10 +7,12 @@ choice
config TARGET_S5P_GONI
bool "S5P Goni board"
select OF_CONTROL
+ select SAMSUNG_UART

config TARGET_SMDKC100
bool "Support smdkc100 board"
select OF_CONTROL
+ select SAMSUNG_UART

endchoice

diff --git a/drivers/serial/Kconfig b/drivers/serial/Kconfig
index 122b8e786a..a35100e7e7 100644
--- a/drivers/serial/Kconfig
+++ b/drivers/serial/Kconfig
@@ -428,6 +428,12 @@ config PIC32_SERIAL
help
Support for the UART found on Microchip PIC32 SoC's.

+config SAMSUNG_UART
+ bool "Samsung S5P/Nexell UART support"
+ help
+ Support for the UART found on various Samsung SoCs, for instance
+ in the Exynos series or the S5P chips.
+
config SYS_NS16550
bool "NS16550 UART or compatible"
help
diff --git a/drivers/serial/Makefile b/drivers/serial/Makefile
index 7adcee3e10..d7f6e6598f 100644
--- a/drivers/serial/Makefile
+++ b/drivers/serial/Makefile
@@ -25,7 +25,7 @@ obj-$(CONFIG_EFI_APP) += serial_efi.o
obj-$(CONFIG_LPC32XX_HSUART) += lpc32xx_hsuart.o
obj-$(CONFIG_MCFUART) += mcfuart.o
obj-$(CONFIG_SYS_NS16550) += ns16550.o
-obj-$(CONFIG_S5P) += serial_s5p.o
+obj-$(CONFIG_SAMSUNG_UART) += serial_s5p.o
obj-$(CONFIG_MXC_UART) += serial_mxc.o
obj-$(CONFIG_PXA_SERIAL) += serial_pxa.o
obj-$(CONFIG_MESON_SERIAL) += serial_meson.o
--
2.14.1