From ef2612c5db150303d9f8d75d27dfeecd7609a752 Mon Sep 17 00:00:00 2001 From: Alexander Weidinger Date: Thu, 22 Aug 2019 15:08:01 +0200 Subject: [PATCH] Add support for BeagleBoard-X15 --- kernel/fiasco/src/kern/arm/bsp/omap/Kconfig | 8 ++++++++ kernel/fiasco/src/kern/arm/bsp/omap/Modules | 8 +++++--- l4/conf/platforms/bb_x15.conf | 4 ++++ l4/pkg/bootstrap/server/src/Makefile.platform | 1 + l4/pkg/bootstrap/server/src/platform/omap.cc | 2 +- 5 files changed, 19 insertions(+), 4 deletions(-) create mode 100644 l4/conf/platforms/bb_x15.conf diff --git a/kernel/fiasco/src/kern/arm/bsp/omap/Kconfig b/kernel/fiasco/src/kern/arm/bsp/omap/Kconfig index 7201f187..224afaaf 100644 --- a/kernel/fiasco/src/kern/arm/bsp/omap/Kconfig +++ b/kernel/fiasco/src/kern/arm/bsp/omap/Kconfig @@ -41,4 +41,12 @@ config PF_OMAP5_5432EVM help Choose for OMAP5432EVM. +config PF_OMAP5_BEAGLEBOARD_X15 + bool "BeagleBoard-X15" + select CAN_ARM_CPU_CORTEX_A15 + select HAS_CPU_VIRT + select DEFAULT_ARM_EM_NS if CPU_VIRT + help + Choose for BeagleBoard-X15 + endchoice diff --git a/kernel/fiasco/src/kern/arm/bsp/omap/Modules b/kernel/fiasco/src/kern/arm/bsp/omap/Modules index ec34b42e..952db58d 100644 --- a/kernel/fiasco/src/kern/arm/bsp/omap/Modules +++ b/kernel/fiasco/src/kern/arm/bsp/omap/Modules @@ -8,22 +8,24 @@ PREPROCESS_PARTS += $(if $(CONFIG_PF_OMAP3_BEAGLEBOARD),pf_omap3 pf_omap3_35x) PREPROCESS_PARTS += $(if $(CONFIG_PF_OMAP3_AM33XX),pf_omap3) PREPROCESS_PARTS += $(if $(CONFIG_PF_OMAP4_PANDABOARD),pf_omap4 mptimer pic_gic) PREPROCESS_PARTS += $(if $(CONFIG_PF_OMAP5_5432EVM),pf_omap5 arm_generic_timer pic_gic) +PREPROCESS_PARTS += $(if $(CONFIG_PF_OMAP5_BEAGLEBOARD_X15),pf_omap5 arm_generic_timer pic_gic) RAM_PHYS_BASE := 0x80000000 MPCORE_PHYS_BASE := 0x48240000 TRAMP_MP_ASM_INCLUDE := $(BSP_SRC_DIR)/tramp-mp-asm.h -INTERFACES_KERNEL += $(if $(CONFIG_PF_OMAP4_PANDABOARD)$(CONFIG_PF_OMAP5_5432EVM),gic) +INTERFACES_KERNEL += $(if $(CONFIG_PF_OMAP4_PANDABOARD)$(CONFIG_PF_OMAP5_5432EVM)$(CONFIG_PF_OMAP5_BEAGLEBOARD_X15),gic) INTERFACES_KERNEL-pf_omap3 += timer_omap_1mstimer INTERFACES_KERNEL += $(foreach i,$(PREPROCESS_PARTS),$(INTERFACES_KERNEL-$(i))) INTERFACES_KERNEL-$(CONFIG_PF_OMAP3_AM33XX) += timer_omap_gentimer INTERFACES_KERNEL-$(CONFIG_PF_OMAP5_5432EVM) += generic_timer +INTERFACES_KERNEL-$(CONFIG_PF_OMAP5_BEAGLEBOARD_X15) += generic_timer uart_IMPL += uart-arm-omap config_IMPL += config-arm-omap mem_layout_IMPL += mem_layout-arm-omap -pic_IMPL += $(if $(CONFIG_PF_OMAP4_PANDABOARD)$(CONFIG_PF_OMAP5_5432EVM),pic-gic pic-arm-gic-omap4,pic-arm-omap3) +pic_IMPL += $(if $(CONFIG_PF_OMAP4_PANDABOARD)$(CONFIG_PF_OMAP5_5432EVM)$(CONFIG_PF_OMAP5_BEAGLEBOARD_X15),pic-gic pic-arm-gic-omap4,pic-arm-omap3) timer_IMPL += $(if $(CONFIG_PF_OMAP4_PANDABOARD),timer-arm-mptimer timer-arm-mptimer-omap4,timer-arm-omap3) -timer_IMPL += $(if $(CONFIG_PF_OMAP5_5432EVM),timer-arm-generic timer-arm-generic-omap5) +timer_IMPL += $(if $(CONFIG_PF_OMAP5_5432EVM)$(CONFIG_PF_OMAP5_BEAGLEBOARD_X15),timer-arm-generic timer-arm-generic-omap5) timer_tick_IMPL += timer_tick-single-vector kernel_uart_IMPL += kernel_uart-arm-omap reset_IMPL += reset-arm-omap diff --git a/l4/conf/platforms/bb_x15.conf b/l4/conf/platforms/bb_x15.conf new file mode 100644 index 00000000..4f1ab99f --- /dev/null +++ b/l4/conf/platforms/bb_x15.conf @@ -0,0 +1,4 @@ +PLATFORM_NAME = "BeagleBoard-X15" +PLATFORM_ARCH = arm +PLATFORM_RAM_BASE = 0x80000000 +PLATFORM_RAM_SIZE_MB = 2046 diff --git a/l4/pkg/bootstrap/server/src/Makefile.platform b/l4/pkg/bootstrap/server/src/Makefile.platform index fbaa961c..d91aee32 100644 --- a/l4/pkg/bootstrap/server/src/Makefile.platform +++ b/l4/pkg/bootstrap/server/src/Makefile.platform @@ -12,6 +12,7 @@ SUPPORT_CC_arm-omap3_am33xx := platform/omap.cc SUPPORT_CC_arm-beagleboard := platform/omap.cc SUPPORT_CC_arm-pandaboard := platform/omap.cc SUPPORT_CC_arm-omap5 := platform/omap.cc +SUPPORT_CC_arm-bb_x15 := platform/omap.cc SUPPORT_CC_arm-tegra2 := platform/tegra2.cc SUPPORT_CC_arm-tegra3 := platform/tegra3.cc SUPPORT_CC_arm-imx21 := platform/imx.cc diff --git a/l4/pkg/bootstrap/server/src/platform/omap.cc b/l4/pkg/bootstrap/server/src/platform/omap.cc index b1f44b08..c1c275f3 100644 --- a/l4/pkg/bootstrap/server/src/platform/omap.cc +++ b/l4/pkg/bootstrap/server/src/platform/omap.cc @@ -32,7 +32,7 @@ class Platform_arm_omap : public Platform_single_region_ram static L4::Io_register_block_mmio r(0x4806a000); #elif defined(PLATFORM_TYPE_omap3_am33xx) static L4::Io_register_block_mmio r(0x44e09000); -#elif defined(PLATFORM_TYPE_pandaboard) || defined(PLATFORM_TYPE_omap5) +#elif defined(PLATFORM_TYPE_pandaboard) || defined(PLATFORM_TYPE_omap5) || defined(PLATFORM_TYPE_bb_x15) static L4::Io_register_block_mmio r(0x48020000); #else #error Unknown platform