lib: utils/serial: Use kconfig for enabling/disabling drivers

We update serial drivers makefile to use kconfig for enabling/disabling
drivers. To avoid compile errors, we also enable appropriate serial
drivers for each platform.

Signed-off-by: Anup Patel <apatel@ventanamicro.com>
Tested-by: Andrew Jones <ajones@ventanamicro.com>
Acked-by: Atish Patra <atishp@rivosinc.com>
Tested-by: Atish Patra <atishp@rivosinc.com>
This commit is contained in:
Anup Patel
2022-08-08 09:33:21 +05:30
committed by Anup Patel
parent de80e9337d
commit 26bbff5f76
11 changed files with 121 additions and 22 deletions

View File

@@ -12,6 +12,8 @@
#include <sbi/sbi_types.h>
#ifdef CONFIG_FDT_SERIAL
struct fdt_serial {
const struct fdt_match *match_table;
int (*init)(void *fdt, int nodeoff, const struct fdt_match *match);
@@ -19,4 +21,10 @@ struct fdt_serial {
int fdt_serial_init(void);
#else
static inline int fdt_serial_init(void) { return 0; }
#endif
#endif

View File

@@ -1 +1,7 @@
# SPDX-License-Identifier: BSD-2-Clause
menu "Utils and Drivers Support"
source "$(OPENSBI_SRC_DIR)/lib/utils/serial/Kconfig"
endmenu

71
lib/utils/serial/Kconfig Normal file
View File

@@ -0,0 +1,71 @@
# SPDX-License-Identifier: BSD-2-Clause
menu "Serial Device Support"
config FDT_SERIAL
bool "FDT based serial drivers"
default n
if FDT_SERIAL
config FDT_SERIAL_GAISLER
bool "Gaisler UART FDT driver"
select SERIAL_GAISLER
default n
config FDT_SERIAL_HTIF
bool "Host transfer interface (HTIF) UART FDT driver"
default n
config FDT_SERIAL_SHAKTI
bool "Shakti UART FDT driver"
select SERIAL_SHAKTI
default n
config FDT_SERIAL_SIFIVE
bool "SiFive UART FDT driver"
select SERIAL_SIFIVE
default n
config FDT_SERIAL_LITEX
bool "LiteX UART FDT driver"
select SERIAL_LITEX
default n
config FDT_SERIAL_UART8250
bool "8250 UART FDT driver"
select SERIAL_UART8250
default n
config FDT_SERIAL_XILINX_UARTLITE
bool "Xilinx UART Lite FDT driver"
select SERIAL_XILINX_UARTLITE
default n
endif
config SERIAL_GAISLER
bool "Gaisler UART support"
default n
config SERIAL_SHAKTI
bool "Shakti UART support"
default n
config SERIAL_SIFIVE
bool "SiFive UART support"
default n
config SERIAL_LITEX
bool "LiteX UART support"
default n
config SERIAL_UART8250
bool "8250 UART support"
default n
config SERIAL_XILINX_UARTLITE
bool "Xilinx UART Lite support"
default n
endmenu

View File

@@ -7,33 +7,33 @@
# Anup Patel <anup.patel@wdc.com>
#
libsbiutils-objs-y += serial/fdt_serial.o
libsbiutils-objs-y += serial/fdt_serial_drivers.o
libsbiutils-objs-$(CONFIG_FDT_SERIAL) += serial/fdt_serial.o
libsbiutils-objs-$(CONFIG_FDT_SERIAL) += serial/fdt_serial_drivers.o
carray-fdt_serial_drivers-y += fdt_serial_gaisler
libsbiutils-objs-y += serial/fdt_serial_gaisler.o
carray-fdt_serial_drivers-$(CONFIG_FDT_SERIAL_GAISLER) += fdt_serial_gaisler
libsbiutils-objs-$(CONFIG_FDT_SERIAL_GAISLER) += serial/fdt_serial_gaisler.o
carray-fdt_serial_drivers-y += fdt_serial_htif
libsbiutils-objs-y += serial/fdt_serial_htif.o
carray-fdt_serial_drivers-$(CONFIG_FDT_SERIAL_HTIF) += fdt_serial_htif
libsbiutils-objs-$(CONFIG_FDT_SERIAL_HTIF) += serial/fdt_serial_htif.o
carray-fdt_serial_drivers-y += fdt_serial_shakti
libsbiutils-objs-y += serial/fdt_serial_shakti.o
carray-fdt_serial_drivers-$(CONFIG_FDT_SERIAL_SHAKTI) += fdt_serial_shakti
libsbiutils-objs-$(CONFIG_FDT_SERIAL_SHAKTI) += serial/fdt_serial_shakti.o
carray-fdt_serial_drivers-y += fdt_serial_sifive
libsbiutils-objs-y += serial/fdt_serial_sifive.o
carray-fdt_serial_drivers-$(CONFIG_FDT_SERIAL_SIFIVE) += fdt_serial_sifive
libsbiutils-objs-$(CONFIG_FDT_SERIAL_SIFIVE) += serial/fdt_serial_sifive.o
carray-fdt_serial_drivers-y += fdt_serial_litex
libsbiutils-objs-y += serial/fdt_serial_litex.o
carray-fdt_serial_drivers-$(CONFIG_FDT_SERIAL_LITEX) += fdt_serial_litex
libsbiutils-objs-$(CONFIG_FDT_SERIAL_LITEX) += serial/fdt_serial_litex.o
carray-fdt_serial_drivers-y += fdt_serial_uart8250
libsbiutils-objs-y += serial/fdt_serial_uart8250.o
carray-fdt_serial_drivers-$(CONFIG_FDT_SERIAL_UART8250) += fdt_serial_uart8250
libsbiutils-objs-$(CONFIG_FDT_SERIAL_UART8250) += serial/fdt_serial_uart8250.o
carray-fdt_serial_drivers-y += fdt_serial_xlnx_uartlite
libsbiutils-objs-y += serial/fdt_serial_xlnx_uartlite.o
carray-fdt_serial_drivers-$(CONFIG_FDT_SERIAL_XILINX_UARTLITE) += fdt_serial_xlnx_uartlite
libsbiutils-objs-$(CONFIG_FDT_SERIAL_XILINX_UARTLITE) += serial/fdt_serial_xlnx_uartlite.o
libsbiutils-objs-y += serial/gaisler-uart.o
libsbiutils-objs-y += serial/shakti-uart.o
libsbiutils-objs-y += serial/sifive-uart.o
libsbiutils-objs-y += serial/litex-uart.o
libsbiutils-objs-y += serial/uart8250.o
libsbiutils-objs-y += serial/xlnx-uartlite.o
libsbiutils-objs-$(CONFIG_SERIAL_GAISLER) += serial/gaisler-uart.o
libsbiutils-objs-$(CONFIG_SERIAL_SHAKTI) += serial/shakti-uart.o
libsbiutils-objs-$(CONFIG_SERIAL_SIFIVE) += serial/sifive-uart.o
libsbiutils-objs-$(CONFIG_SERIAL_LITEX) += serial/litex-uart.o
libsbiutils-objs-$(CONFIG_SERIAL_UART8250) += serial/uart8250.o
libsbiutils-objs-$(CONFIG_SERIAL_XILINX_UARTLITE) += serial/xlnx-uartlite.o

View File

@@ -2,4 +2,5 @@
config PLATFORM_ANDES_AE350
bool
select SERIAL_UART8250
default y

View File

@@ -2,4 +2,5 @@
config PLATFORM_ARIANE_FPGA
bool
select SERIAL_UART8250
default y

View File

@@ -2,4 +2,5 @@
config PLATFORM_OPENPITON_FPGA
bool
select SERIAL_UART8250
default y

View File

@@ -0,0 +1,8 @@
CONFIG_FDT_SERIAL=y
CONFIG_FDT_SERIAL_GAISLER=y
CONFIG_FDT_SERIAL_HTIF=y
CONFIG_FDT_SERIAL_SHAKTI=y
CONFIG_FDT_SERIAL_SIFIVE=y
CONFIG_FDT_SERIAL_LITEX=y
CONFIG_FDT_SERIAL_UART8250=y
CONFIG_FDT_SERIAL_XILINX_UARTLITE=y

View File

@@ -2,4 +2,5 @@
config PLATFORM_KENDRYTE_K210
bool
select SERIAL_SIFIVE
default y

View File

@@ -2,4 +2,5 @@
config PLATFORM_NUCLEI_UX600
bool
select SERIAL_SIFIVE
default y

View File

@@ -9,4 +9,5 @@
#
config PLATFORM_TEMPLATE
bool
select SERIAL_UART8250
default y