diff --git a/repos/base-foc/mk/spec-foc_imx53.mk b/repos/base-foc/mk/spec-foc_imx53.mk index 9506be6cc..937651f79 100644 --- a/repos/base-foc/mk/spec-foc_imx53.mk +++ b/repos/base-foc/mk/spec-foc_imx53.mk @@ -1,4 +1,6 @@ SPECS += foc_arm platform_imx53 +REP_INC_DIR += include/platform/imx53_qsb + include $(call select_from_repositories,mk/spec-platform_imx53.mk) include $(call select_from_repositories,mk/spec-foc_arm.mk) diff --git a/repos/base-hw/mk/spec-hw_imx53.mk b/repos/base-hw/mk/spec-hw_imx53_qsb.mk similarity index 76% rename from repos/base-hw/mk/spec-hw_imx53.mk rename to repos/base-hw/mk/spec-hw_imx53_qsb.mk index 92669cc7b..f1967c0c0 100644 --- a/repos/base-hw/mk/spec-hw_imx53.mk +++ b/repos/base-hw/mk/spec-hw_imx53_qsb.mk @@ -5,7 +5,7 @@ # # denote wich specs are also fullfilled by this spec -SPECS += hw platform_imx53 epit +SPECS += hw platform_imx53 platform_imx53_qsb epit # configure multiprocessor mode NR_OF_CPUS = 1 @@ -13,6 +13,9 @@ NR_OF_CPUS = 1 # set address where to link the text segment at LD_TEXT_ADDR ?= 0x70010000 +# add repository relative include paths +REP_INC_DIR += include/platform/imx53_qsb + # include implied specs include $(call select_from_repositories,mk/spec-hw.mk) include $(call select_from_repositories,mk/spec-platform_imx53.mk) diff --git a/repos/base-hw/mk/spec-hw_imx53_tz.mk b/repos/base-hw/mk/spec-hw_imx53_qsb_tz.mk similarity index 66% rename from repos/base-hw/mk/spec-hw_imx53_tz.mk rename to repos/base-hw/mk/spec-hw_imx53_qsb_tz.mk index f4968eefe..8c201efeb 100644 --- a/repos/base-hw/mk/spec-hw_imx53_tz.mk +++ b/repos/base-hw/mk/spec-hw_imx53_qsb_tz.mk @@ -5,7 +5,7 @@ # # denote wich specs are also fullfilled by this spec -SPECS += hw_imx53 trustzone +SPECS += hw_imx53_qsb trustzone # include implied specs -include $(call select_from_repositories,mk/spec-hw_imx53.mk) +include $(call select_from_repositories,mk/spec-hw_imx53_qsb.mk) diff --git a/repos/base-hw/mk/spec-hw_usb_armory.mk b/repos/base-hw/mk/spec-hw_usb_armory.mk new file mode 100644 index 000000000..7fe23d9ba --- /dev/null +++ b/repos/base-hw/mk/spec-hw_usb_armory.mk @@ -0,0 +1,21 @@ +# +# \brief Build configurations for 'base-hw' on USB Armory +# \author Martin Stein +# \date 2015-02-24 +# + +# denote wich specs are also fullfilled by this spec +SPECS += hw platform_imx53 platform_usb_armory epit trustzone + +# configure multiprocessor mode +NR_OF_CPUS = 1 + +# set address where to link the text segment at +LD_TEXT_ADDR ?= 0x72000000 + +# add repository relative include paths +REP_INC_DIR += include/platform/usb_armory + +# include implied specs +include $(call select_from_repositories,mk/spec-hw.mk) +include $(call select_from_repositories,mk/spec-platform_imx53.mk) diff --git a/repos/base/include/platform/imx53/drivers/board_base.h b/repos/base/include/platform/imx53/drivers/board_base_support.h similarity index 88% rename from repos/base/include/platform/imx53/drivers/board_base.h rename to repos/base/include/platform/imx53/drivers/board_base_support.h index aa197ea0b..be645775e 100644 --- a/repos/base/include/platform/imx53/drivers/board_base.h +++ b/repos/base/include/platform/imx53/drivers/board_base_support.h @@ -11,10 +11,10 @@ * under the terms of the GNU General Public License version 2. */ -#ifndef _INCLUDE__PLATFORM__IMX53__DRIVERS__BOARD_BASE_H_ -#define _INCLUDE__PLATFORM__IMX53__DRIVERS__BOARD_BASE_H_ +#ifndef _INCLUDE__PLATFORM__IMX53__DRIVERS__BOARD_BASE_SUPPORT_H_ +#define _INCLUDE__PLATFORM__IMX53__DRIVERS__BOARD_BASE_SUPPORT_H_ -namespace Genode +namespace Imx53 { /** * i.MX53 motherboard @@ -25,11 +25,6 @@ namespace Genode MMIO_BASE = 0x0, MMIO_SIZE = 0x70000000, - RAM0_BASE = 0x70000000, - RAM0_SIZE = 0x20000000, - RAM1_BASE = 0xb0000000, - RAM1_SIZE = 0x20000000, - UART_1_IRQ = 31, UART_1_MMIO_BASE = 0x53fbc000, UART_1_MMIO_SIZE = 0x00004000, @@ -118,5 +113,5 @@ namespace Genode }; } -#endif /* _INCLUDE__PLATFORM__IMX53__DRIVERS__BOARD_BASE_H_ */ +#endif /* _INCLUDE__PLATFORM__IMX53__DRIVERS__BOARD_BASE_SUPPORT_H_ */ diff --git a/repos/base/include/platform/imx53_qsb/drivers/board_base.h b/repos/base/include/platform/imx53_qsb/drivers/board_base.h new file mode 100644 index 000000000..c3825b3bb --- /dev/null +++ b/repos/base/include/platform/imx53_qsb/drivers/board_base.h @@ -0,0 +1,37 @@ +/* + * \brief Board definitions for the i.MX53 starter board + * \author Stefan Kalkowski + * \date 2012-10-24 + */ + +/* + * Copyright (C) 2012-2013 Genode Labs GmbH + * + * This file is part of the Genode OS framework, which is distributed + * under the terms of the GNU General Public License version 2. + */ + +#ifndef _INCLUDE__PLATFORM__IMX53_QSB__DRIVERS__BOARD_BASE_H_ +#define _INCLUDE__PLATFORM__IMX53_QSB__DRIVERS__BOARD_BASE_H_ + +/* Genode includes */ +#include + +namespace Genode +{ + /** + * i.MX53 starter board + */ + struct Board_base : Imx53::Board_base + { + enum { + RAM0_BASE = 0x70000000, + RAM0_SIZE = 0x20000000, + RAM1_BASE = 0xb0000000, + RAM1_SIZE = 0x20000000, + }; + }; +} + +#endif /* _INCLUDE__PLATFORM__IMX53_QSB__DRIVERS__BOARD_BASE_H_ */ + diff --git a/repos/base/include/platform/usb_armory/drivers/board_base.h b/repos/base/include/platform/usb_armory/drivers/board_base.h new file mode 100644 index 000000000..7e387badf --- /dev/null +++ b/repos/base/include/platform/usb_armory/drivers/board_base.h @@ -0,0 +1,42 @@ +/* + * \brief Board definitions for the i.MX53 starter board + * \author Stefan Kalkowski + * \date 2012-10-24 + */ + +/* + * Copyright (C) 2012-2013 Genode Labs GmbH + * + * This file is part of the Genode OS framework, which is distributed + * under the terms of the GNU General Public License version 2. + */ + +#ifndef _INCLUDE__PLATFORM__IMX53_QSB__DRIVERS__BOARD_BASE_H_ +#define _INCLUDE__PLATFORM__IMX53_QSB__DRIVERS__BOARD_BASE_H_ + +/* Genode includes */ +#include + +namespace Genode +{ + /** + * i.MX53 starter board + */ + struct Board_base : Imx53::Board_base + { + enum { + /* + * These two regions are physically one RAM region but we split it + * to keep the enum names compliant with other i.MX53 boards. This + * way, more files can be shared between the platforms. + */ + RAM0_BASE = 0x70000000, + RAM0_SIZE = 0x10000000, + RAM1_BASE = 0x80000000, + RAM1_SIZE = 0x10000000, + }; + }; +} + +#endif /* _INCLUDE__PLATFORM__IMX53_QSB__DRIVERS__BOARD_BASE_H_ */ + diff --git a/repos/os/run/tz_vmm.run b/repos/os/run/tz_vmm.run index 6b2dcbea7..ecf476235 100644 --- a/repos/os/run/tz_vmm.run +++ b/repos/os/run/tz_vmm.run @@ -4,7 +4,8 @@ # \date 2012-06-25 # -assert_spec hw_imx53 +assert_spec hw +assert_spec platform_imx53 assert_spec trustzone build "core init server/tz_vmm" diff --git a/tool/builddir/etc/build.conf.hw_imx53 b/tool/builddir/etc/build.conf.hw_imx53_qsb similarity index 100% rename from tool/builddir/etc/build.conf.hw_imx53 rename to tool/builddir/etc/build.conf.hw_imx53_qsb diff --git a/tool/builddir/etc/build.conf.hw_imx53_tz b/tool/builddir/etc/build.conf.hw_imx53_qsb_tz similarity index 100% rename from tool/builddir/etc/build.conf.hw_imx53_tz rename to tool/builddir/etc/build.conf.hw_imx53_qsb_tz diff --git a/tool/builddir/etc/build.conf.hw_usb_armory b/tool/builddir/etc/build.conf.hw_usb_armory new file mode 100644 index 000000000..38fdf9d89 --- /dev/null +++ b/tool/builddir/etc/build.conf.hw_usb_armory @@ -0,0 +1,7 @@ +REPOSITORIES += $(GENODE_DIR)/repos/base-hw + +## +## Kernel-specific run tool configuration +## + +RUN_OPT = --include boot_dir/hw diff --git a/tool/create_builddir b/tool/create_builddir index f3dc70445..c4963d368 100755 --- a/tool/create_builddir +++ b/tool/create_builddir @@ -30,8 +30,9 @@ usage: @echo " 'hw_panda'" @echo " 'hw_vea9x4'" @echo " 'hw_pbxa9'" - @echo " 'hw_imx53'" - @echo " 'hw_imx53_tz'" + @echo " 'hw_imx53_qsb'" + @echo " 'hw_imx53_qsb_tz'" + @echo " 'hw_usb_armory'" @echo " 'hw_arndale'" @echo " 'hw_odroid_xu'" @echo " 'hw_rpi'" @@ -226,12 +227,16 @@ hw_panda:: @echo "SPECS = genode hw_panda" > $(BUILD_DIR)/etc/specs.conf @echo "SPECS += perf_counter" >> $(BUILD_DIR)/etc/specs.conf -hw_imx53:: - @echo "SPECS = genode hw_imx53" > $(BUILD_DIR)/etc/specs.conf +hw_imx53_qsb:: + @echo "SPECS = genode hw_imx53_qsb" > $(BUILD_DIR)/etc/specs.conf @echo "SPECS += perf_counter" >> $(BUILD_DIR)/etc/specs.conf -hw_imx53_tz:: - @echo "SPECS = genode hw_imx53_tz" > $(BUILD_DIR)/etc/specs.conf +hw_imx53_qsb_tz:: + @echo "SPECS = genode hw_imx53_qsb_tz" > $(BUILD_DIR)/etc/specs.conf + @echo "SPECS += perf_counter" >> $(BUILD_DIR)/etc/specs.conf + +hw_usb_armory:: + @echo "SPECS = genode hw_usb_armory" > $(BUILD_DIR)/etc/specs.conf @echo "SPECS += perf_counter" >> $(BUILD_DIR)/etc/specs.conf hw_arndale::