diff options
author | Anup Patel <apatel@ventanamicro.com> | 2022-08-08 07:03:45 +0300 |
---|---|---|
committer | Anup Patel <anup@brainfault.org> | 2022-08-08 07:03:45 +0300 |
commit | 76af9d40da21c4c67efb7730de263f914452fca0 (patch) | |
tree | 704761bae5909f35ca6ad181987c734a7adcb494 | |
parent | 013dbb3a60db0f7d9c92990b266c3df9d3552c0c (diff) | |
download | opensbi-76af9d40da21c4c67efb7730de263f914452fca0.tar.xz |
lib: utils/ipi: Use kconfig for enabling/disabling drivers
We update ipi drivers makefile to use kconfig for enabling/disabling
drivers. To avoid compile errors, we also enable appropriate ipi
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>
-rw-r--r-- | include/sbi_utils/ipi/fdt_ipi.h | 9 | ||||
-rw-r--r-- | lib/utils/Kconfig | 2 | ||||
-rw-r--r-- | lib/utils/ipi/Kconfig | 22 | ||||
-rw-r--r-- | lib/utils/ipi/objects.mk | 10 | ||||
-rw-r--r-- | platform/fpga/ariane/Kconfig | 1 | ||||
-rw-r--r-- | platform/fpga/openpiton/Kconfig | 1 | ||||
-rw-r--r-- | platform/generic/configs/defconfig | 2 | ||||
-rw-r--r-- | platform/kendryte/k210/Kconfig | 1 | ||||
-rw-r--r-- | platform/nuclei/ux600/Kconfig | 1 | ||||
-rw-r--r-- | platform/template/Kconfig | 1 |
10 files changed, 45 insertions, 5 deletions
diff --git a/include/sbi_utils/ipi/fdt_ipi.h b/include/sbi_utils/ipi/fdt_ipi.h index 9337353..1dd9062 100644 --- a/include/sbi_utils/ipi/fdt_ipi.h +++ b/include/sbi_utils/ipi/fdt_ipi.h @@ -12,6 +12,8 @@ #include <sbi/sbi_types.h> +#ifdef CONFIG_FDT_IPI + struct fdt_ipi { const struct fdt_match *match_table; int (*cold_init)(void *fdt, int nodeoff, const struct fdt_match *match); @@ -23,4 +25,11 @@ void fdt_ipi_exit(void); int fdt_ipi_init(bool cold_boot); +#else + +static inline void fdt_ipi_exit(void) { } +static inline int fdt_ipi_init(bool cold_boot) { return 0; } + +#endif + #endif diff --git a/lib/utils/Kconfig b/lib/utils/Kconfig index 6561d0b..50d9770 100644 --- a/lib/utils/Kconfig +++ b/lib/utils/Kconfig @@ -2,6 +2,8 @@ menu "Utils and Drivers Support" +source "$(OPENSBI_SRC_DIR)/lib/utils/ipi/Kconfig" + source "$(OPENSBI_SRC_DIR)/lib/utils/reset/Kconfig" source "$(OPENSBI_SRC_DIR)/lib/utils/serial/Kconfig" diff --git a/lib/utils/ipi/Kconfig b/lib/utils/ipi/Kconfig new file mode 100644 index 0000000..c0634d3 --- /dev/null +++ b/lib/utils/ipi/Kconfig @@ -0,0 +1,22 @@ +# SPDX-License-Identifier: BSD-2-Clause + +menu "IPI Device Support" + +config FDT_IPI + bool "FDT based ipi drivers" + default n + +if FDT_IPI + +config FDT_IPI_MSWI + bool "ACLINT MSWI FDT driver" + select IPI_MSWI + default n + +endif + +config IPI_MSWI + bool "ACLINT MSWI support" + default n + +endmenu diff --git a/lib/utils/ipi/objects.mk b/lib/utils/ipi/objects.mk index 0b0bc2d..0600cac 100644 --- a/lib/utils/ipi/objects.mk +++ b/lib/utils/ipi/objects.mk @@ -7,10 +7,10 @@ # Anup Patel <anup.patel@wdc.com> # -libsbiutils-objs-y += ipi/aclint_mswi.o +libsbiutils-objs-$(CONFIG_IPI_MSWI) += ipi/aclint_mswi.o -libsbiutils-objs-y += ipi/fdt_ipi.o -libsbiutils-objs-y += ipi/fdt_ipi_drivers.o +libsbiutils-objs-$(CONFIG_FDT_IPI) += ipi/fdt_ipi.o +libsbiutils-objs-$(CONFIG_FDT_IPI) += ipi/fdt_ipi_drivers.o -carray-fdt_ipi_drivers-y += fdt_ipi_mswi -libsbiutils-objs-y += ipi/fdt_ipi_mswi.o +carray-fdt_ipi_drivers-$(CONFIG_FDT_IPI_MSWI) += fdt_ipi_mswi +libsbiutils-objs-$(CONFIG_FDT_IPI_MSWI) += ipi/fdt_ipi_mswi.o diff --git a/platform/fpga/ariane/Kconfig b/platform/fpga/ariane/Kconfig index a7fd758..0bc1597 100644 --- a/platform/fpga/ariane/Kconfig +++ b/platform/fpga/ariane/Kconfig @@ -2,6 +2,7 @@ config PLATFORM_ARIANE_FPGA bool + select IPI_MSWI select SERIAL_UART8250 select TIMER_MTIMER default y diff --git a/platform/fpga/openpiton/Kconfig b/platform/fpga/openpiton/Kconfig index a7f09e4..0e4e3ba 100644 --- a/platform/fpga/openpiton/Kconfig +++ b/platform/fpga/openpiton/Kconfig @@ -2,6 +2,7 @@ config PLATFORM_OPENPITON_FPGA bool + select IPI_MSWI select SERIAL_UART8250 select TIMER_MTIMER default y diff --git a/platform/generic/configs/defconfig b/platform/generic/configs/defconfig index 9b96a4f..e218c32 100644 --- a/platform/generic/configs/defconfig +++ b/platform/generic/configs/defconfig @@ -1,3 +1,5 @@ +CONFIG_FDT_IPI=y +CONFIG_FDT_IPI_MSWI=y CONFIG_FDT_RESET=y CONFIG_FDT_RESET_GPIO=y CONFIG_FDT_RESET_HTIF=y diff --git a/platform/kendryte/k210/Kconfig b/platform/kendryte/k210/Kconfig index 90db649..685a5cd 100644 --- a/platform/kendryte/k210/Kconfig +++ b/platform/kendryte/k210/Kconfig @@ -2,6 +2,7 @@ config PLATFORM_KENDRYTE_K210 bool + select IPI_MSWI select SERIAL_SIFIVE select TIMER_MTIMER default y diff --git a/platform/nuclei/ux600/Kconfig b/platform/nuclei/ux600/Kconfig index dec2654..cd995a3 100644 --- a/platform/nuclei/ux600/Kconfig +++ b/platform/nuclei/ux600/Kconfig @@ -2,6 +2,7 @@ config PLATFORM_NUCLEI_UX600 bool + select IPI_MSWI select SERIAL_SIFIVE select TIMER_MTIMER default y diff --git a/platform/template/Kconfig b/platform/template/Kconfig index 96d4b9a..4d9646d 100644 --- a/platform/template/Kconfig +++ b/platform/template/Kconfig @@ -9,6 +9,7 @@ # config PLATFORM_TEMPLATE bool + select IPI_MSWI select SERIAL_UART8250 select TIMER_MTIMER default y |