forked from Mirrors/opensbi
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:
@@ -12,6 +12,8 @@
|
|||||||
|
|
||||||
#include <sbi/sbi_types.h>
|
#include <sbi/sbi_types.h>
|
||||||
|
|
||||||
|
#ifdef CONFIG_FDT_SERIAL
|
||||||
|
|
||||||
struct fdt_serial {
|
struct fdt_serial {
|
||||||
const struct fdt_match *match_table;
|
const struct fdt_match *match_table;
|
||||||
int (*init)(void *fdt, int nodeoff, const struct fdt_match *match);
|
int (*init)(void *fdt, int nodeoff, const struct fdt_match *match);
|
||||||
@@ -19,4 +21,10 @@ struct fdt_serial {
|
|||||||
|
|
||||||
int fdt_serial_init(void);
|
int fdt_serial_init(void);
|
||||||
|
|
||||||
|
#else
|
||||||
|
|
||||||
|
static inline int fdt_serial_init(void) { return 0; }
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
@@ -1 +1,7 @@
|
|||||||
# SPDX-License-Identifier: BSD-2-Clause
|
# 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
71
lib/utils/serial/Kconfig
Normal 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
|
@@ -7,33 +7,33 @@
|
|||||||
# Anup Patel <anup.patel@wdc.com>
|
# Anup Patel <anup.patel@wdc.com>
|
||||||
#
|
#
|
||||||
|
|
||||||
libsbiutils-objs-y += serial/fdt_serial.o
|
libsbiutils-objs-$(CONFIG_FDT_SERIAL) += serial/fdt_serial.o
|
||||||
libsbiutils-objs-y += serial/fdt_serial_drivers.o
|
libsbiutils-objs-$(CONFIG_FDT_SERIAL) += serial/fdt_serial_drivers.o
|
||||||
|
|
||||||
carray-fdt_serial_drivers-y += fdt_serial_gaisler
|
carray-fdt_serial_drivers-$(CONFIG_FDT_SERIAL_GAISLER) += fdt_serial_gaisler
|
||||||
libsbiutils-objs-y += serial/fdt_serial_gaisler.o
|
libsbiutils-objs-$(CONFIG_FDT_SERIAL_GAISLER) += serial/fdt_serial_gaisler.o
|
||||||
|
|
||||||
carray-fdt_serial_drivers-y += fdt_serial_htif
|
carray-fdt_serial_drivers-$(CONFIG_FDT_SERIAL_HTIF) += fdt_serial_htif
|
||||||
libsbiutils-objs-y += serial/fdt_serial_htif.o
|
libsbiutils-objs-$(CONFIG_FDT_SERIAL_HTIF) += serial/fdt_serial_htif.o
|
||||||
|
|
||||||
carray-fdt_serial_drivers-y += fdt_serial_shakti
|
carray-fdt_serial_drivers-$(CONFIG_FDT_SERIAL_SHAKTI) += fdt_serial_shakti
|
||||||
libsbiutils-objs-y += serial/fdt_serial_shakti.o
|
libsbiutils-objs-$(CONFIG_FDT_SERIAL_SHAKTI) += serial/fdt_serial_shakti.o
|
||||||
|
|
||||||
carray-fdt_serial_drivers-y += fdt_serial_sifive
|
carray-fdt_serial_drivers-$(CONFIG_FDT_SERIAL_SIFIVE) += fdt_serial_sifive
|
||||||
libsbiutils-objs-y += serial/fdt_serial_sifive.o
|
libsbiutils-objs-$(CONFIG_FDT_SERIAL_SIFIVE) += serial/fdt_serial_sifive.o
|
||||||
|
|
||||||
carray-fdt_serial_drivers-y += fdt_serial_litex
|
carray-fdt_serial_drivers-$(CONFIG_FDT_SERIAL_LITEX) += fdt_serial_litex
|
||||||
libsbiutils-objs-y += serial/fdt_serial_litex.o
|
libsbiutils-objs-$(CONFIG_FDT_SERIAL_LITEX) += serial/fdt_serial_litex.o
|
||||||
|
|
||||||
carray-fdt_serial_drivers-y += fdt_serial_uart8250
|
carray-fdt_serial_drivers-$(CONFIG_FDT_SERIAL_UART8250) += fdt_serial_uart8250
|
||||||
libsbiutils-objs-y += serial/fdt_serial_uart8250.o
|
libsbiutils-objs-$(CONFIG_FDT_SERIAL_UART8250) += serial/fdt_serial_uart8250.o
|
||||||
|
|
||||||
carray-fdt_serial_drivers-y += fdt_serial_xlnx_uartlite
|
carray-fdt_serial_drivers-$(CONFIG_FDT_SERIAL_XILINX_UARTLITE) += fdt_serial_xlnx_uartlite
|
||||||
libsbiutils-objs-y += serial/fdt_serial_xlnx_uartlite.o
|
libsbiutils-objs-$(CONFIG_FDT_SERIAL_XILINX_UARTLITE) += serial/fdt_serial_xlnx_uartlite.o
|
||||||
|
|
||||||
libsbiutils-objs-y += serial/gaisler-uart.o
|
libsbiutils-objs-$(CONFIG_SERIAL_GAISLER) += serial/gaisler-uart.o
|
||||||
libsbiutils-objs-y += serial/shakti-uart.o
|
libsbiutils-objs-$(CONFIG_SERIAL_SHAKTI) += serial/shakti-uart.o
|
||||||
libsbiutils-objs-y += serial/sifive-uart.o
|
libsbiutils-objs-$(CONFIG_SERIAL_SIFIVE) += serial/sifive-uart.o
|
||||||
libsbiutils-objs-y += serial/litex-uart.o
|
libsbiutils-objs-$(CONFIG_SERIAL_LITEX) += serial/litex-uart.o
|
||||||
libsbiutils-objs-y += serial/uart8250.o
|
libsbiutils-objs-$(CONFIG_SERIAL_UART8250) += serial/uart8250.o
|
||||||
libsbiutils-objs-y += serial/xlnx-uartlite.o
|
libsbiutils-objs-$(CONFIG_SERIAL_XILINX_UARTLITE) += serial/xlnx-uartlite.o
|
||||||
|
@@ -2,4 +2,5 @@
|
|||||||
|
|
||||||
config PLATFORM_ANDES_AE350
|
config PLATFORM_ANDES_AE350
|
||||||
bool
|
bool
|
||||||
|
select SERIAL_UART8250
|
||||||
default y
|
default y
|
||||||
|
@@ -2,4 +2,5 @@
|
|||||||
|
|
||||||
config PLATFORM_ARIANE_FPGA
|
config PLATFORM_ARIANE_FPGA
|
||||||
bool
|
bool
|
||||||
|
select SERIAL_UART8250
|
||||||
default y
|
default y
|
||||||
|
@@ -2,4 +2,5 @@
|
|||||||
|
|
||||||
config PLATFORM_OPENPITON_FPGA
|
config PLATFORM_OPENPITON_FPGA
|
||||||
bool
|
bool
|
||||||
|
select SERIAL_UART8250
|
||||||
default y
|
default y
|
||||||
|
@@ -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
|
||||||
|
@@ -2,4 +2,5 @@
|
|||||||
|
|
||||||
config PLATFORM_KENDRYTE_K210
|
config PLATFORM_KENDRYTE_K210
|
||||||
bool
|
bool
|
||||||
|
select SERIAL_SIFIVE
|
||||||
default y
|
default y
|
||||||
|
@@ -2,4 +2,5 @@
|
|||||||
|
|
||||||
config PLATFORM_NUCLEI_UX600
|
config PLATFORM_NUCLEI_UX600
|
||||||
bool
|
bool
|
||||||
|
select SERIAL_SIFIVE
|
||||||
default y
|
default y
|
||||||
|
@@ -9,4 +9,5 @@
|
|||||||
#
|
#
|
||||||
config PLATFORM_TEMPLATE
|
config PLATFORM_TEMPLATE
|
||||||
bool
|
bool
|
||||||
|
select SERIAL_UART8250
|
||||||
default y
|
default y
|
||||||
|
Reference in New Issue
Block a user