Skip to content

Commit

Permalink
hw: support USB-Armory board
Browse files Browse the repository at this point in the history
The USB Armory is almost the same as the i.MX53-QSB but it uses only
one of the two RAM banks available in i.MX53. Furthermore we use the USB
Armory only with Trustzone enabled.

Ref #1422
  • Loading branch information
m-stein authored and chelmuth committed Feb 27, 2015
1 parent 2b87628 commit be392b3
Show file tree
Hide file tree
Showing 12 changed files with 132 additions and 19 deletions.
2 changes: 2 additions & 0 deletions 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)
Expand Up @@ -5,14 +5,17 @@
#

# 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

# 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)
Expand Up @@ -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)
21 changes: 21 additions & 0 deletions 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)
Expand Up @@ -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
Expand All @@ -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,
Expand Down Expand Up @@ -118,5 +113,5 @@ namespace Genode
};
}

#endif /* _INCLUDE__PLATFORM__IMX53__DRIVERS__BOARD_BASE_H_ */
#endif /* _INCLUDE__PLATFORM__IMX53__DRIVERS__BOARD_BASE_SUPPORT_H_ */

37 changes: 37 additions & 0 deletions 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 <platform/imx53/drivers/board_base_support.h>

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_ */

42 changes: 42 additions & 0 deletions 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 <platform/imx53/drivers/board_base_support.h>

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_ */

3 changes: 2 additions & 1 deletion repos/os/run/tz_vmm.run
Expand Up @@ -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"
Expand Down
File renamed without changes.
File renamed without changes.
7 changes: 7 additions & 0 deletions 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
17 changes: 11 additions & 6 deletions tool/create_builddir
Expand Up @@ -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'"
Expand Down Expand Up @@ -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::
Expand Down

0 comments on commit be392b3

Please sign in to comment.