aboutsummaryrefslogtreecommitdiff
path: root/lib/utils
diff options
context:
space:
mode:
authorAnup Patel <apatel@ventanamicro.com>2022-08-08 09:33:21 +0530
committerAnup Patel <anup@brainfault.org>2022-08-08 09:33:21 +0530
commit26bbff5f76e0ecd7a8e3f322961c481b73097a65 (patch)
tree38c001e38b970758709c71af2cc002c788340de4 /lib/utils
parentde80e9337d812c47087ef568be2b3af2e1bbaf04 (diff)
downloadopensbi-26bbff5f76e0ecd7a8e3f322961c481b73097a65.zip
opensbi-26bbff5f76e0ecd7a8e3f322961c481b73097a65.tar.gz
opensbi-26bbff5f76e0ecd7a8e3f322961c481b73097a65.tar.bz2
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>
Diffstat (limited to 'lib/utils')
-rw-r--r--lib/utils/Kconfig6
-rw-r--r--lib/utils/serial/Kconfig71
-rw-r--r--lib/utils/serial/objects.mk44
3 files changed, 99 insertions, 22 deletions
diff --git a/lib/utils/Kconfig b/lib/utils/Kconfig
index d6e0506..4524a3f 100644
--- a/lib/utils/Kconfig
+++ b/lib/utils/Kconfig
@@ -1 +1,7 @@
# SPDX-License-Identifier: BSD-2-Clause
+
+menu "Utils and Drivers Support"
+
+source "$(OPENSBI_SRC_DIR)/lib/utils/serial/Kconfig"
+
+endmenu
diff --git a/lib/utils/serial/Kconfig b/lib/utils/serial/Kconfig
new file mode 100644
index 0000000..e114f26
--- /dev/null
+++ b/lib/utils/serial/Kconfig
@@ -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
diff --git a/lib/utils/serial/objects.mk b/lib/utils/serial/objects.mk
index d26a74e..fa9f5a3 100644
--- a/lib/utils/serial/objects.mk
+++ b/lib/utils/serial/objects.mk
@@ -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