mirror of
https://github.com/genodelabs/genode.git
synced 2024-12-18 21:27:56 +00:00
replace Wandboard by i.MX6 reference board
Instead of using the Wandboard Quad, the reference hardware from NXP i.MX6 Quad Sabrelite will be used by Fiasco.OC, sel4 and hw by default.
This commit is contained in:
parent
c65860ee53
commit
b765cef359
@ -2,4 +2,4 @@ include $(GENODE_DIR)/repos/base-hw/recipes/src/base-hw_content.inc
|
||||
|
||||
content: enable_board_spec
|
||||
enable_board_spec: etc/specs.conf
|
||||
echo "SPECS += wand_quad" >> etc/specs.conf
|
||||
echo "SPECS += imx6q_sabrelite" >> etc/specs.conf
|
1
repos/base-hw/recipes/src/base-hw-imx6q_sabrelite/hash
Normal file
1
repos/base-hw/recipes/src/base-hw-imx6q_sabrelite/hash
Normal file
@ -0,0 +1 @@
|
||||
2019-01-15 3e923bae4232ee22da978e643f135084b1e4959c
|
@ -1 +0,0 @@
|
||||
2019-01-13 34adacbbaa1ec943b4a705964b54140394749013
|
@ -15,7 +15,6 @@ endif
|
||||
elfloader/elfloader.o:
|
||||
$(VERBOSE)cp -rf $(ELFLOADER_DIR) elfloader && \
|
||||
cd elfloader && \
|
||||
sed -i "s/define UART_PPTR.*IMX6_UART2_PADDR/define UART_PPTR IMX6_UART1_PADDR/" src/arch-arm/plat-imx6/platform.h && \
|
||||
$(MAKE) \
|
||||
TOOLPREFIX=$(CROSS_DEV_PREFIX) \
|
||||
NK_ASFLAGS=-DARMV7_A \
|
||||
@ -28,6 +27,6 @@ elfloader/elfloader.o:
|
||||
build_kernel: elfloader/elfloader.o
|
||||
$(VERBOSE)$(MAKE) \
|
||||
TOOLPREFIX=$(CROSS_DEV_PREFIX) \
|
||||
BOARD=wand_quad ARCH=arm PLAT=imx6 CPU=cortex-a9 ARMV=armv7-a DEBUG=1 \
|
||||
BOARD=imx6q_sabrelite ARCH=arm PLAT=imx6 CPU=cortex-a9 ARMV=armv7-a DEBUG=1 \
|
||||
SOURCE_ROOT=$(SEL4_DIR) -f$(SEL4_DIR)/Makefile
|
||||
|
@ -2,7 +2,7 @@ PLAT := imx6
|
||||
ARCH := arm
|
||||
|
||||
SEL4_ARCH := aarch32
|
||||
PLAT_BOARD := /wand_quad
|
||||
PLAT_BOARD := /imx6q_sabrelite
|
||||
SEL4_WORDBITS := 32
|
||||
|
||||
include $(REP_DIR)/lib/mk/syscall-sel4.inc
|
@ -1,5 +1,5 @@
|
||||
--- src/kernel/sel4/configs/imx6/wand_quad/autoconf.h
|
||||
+++ src/kernel/sel4/configs/imx6/wand_quad/autoconf.h
|
||||
--- src/kernel/sel4/configs/imx6/imx6q_sabrelite/autoconf.h
|
||||
+++ src/kernel/sel4/configs/imx6/imx6q_sabrelite/autoconf.h
|
||||
@@ -41,6 +41,7 @@
|
||||
#define CONFIG_LIBSEL4DEBUG_FUNCTION_INSTRUMENTATION_NONE 1
|
||||
#define CONFIG_LIB_SEL4_UTILS 1
|
||||
@ -8,15 +8,7 @@
|
||||
#define CONFIG_LIB_PLATSUPPORT 1
|
||||
#define CONFIG_LIB_SEL4_ALLOCMAN 1
|
||||
#define CONFIG_HAVE_LIB_SEL4_SIMPLE_DEFAULT 1
|
||||
@@ -71,14 +71,14 @@
|
||||
#define CONFIG_HAVE_LIB_SEL4_SIMPLE 1
|
||||
#define CONFIG_ARCH_ARM 1
|
||||
#define CONFIG_HAVE_LIB_ELF 1
|
||||
-#define CONFIG_PLAT_SABRE 1
|
||||
+#define CONFIG_PLAT_WANDQ 1
|
||||
#define CONFIG_HAVE_LIB_PLATSUPPORT 1
|
||||
#define CONFIG_NUM_DOMAINS 16
|
||||
#define CONFIG_HAVE_LIB_UTILS 1
|
||||
@@ -78,7 +78,7 @@
|
||||
#define CONFIG_USER_OPTIMISATION_O2 1
|
||||
#define CONFIG_LIB_CPIO 1
|
||||
#define CONFIG_RETYPE_FAN_OUT_LIMIT 256
|
@ -1 +1 @@
|
||||
919f7abe5ec07414ed7ee9a47c4a52e86aa076ab
|
||||
e9a08b9de9e3aceb19804af4473b65f9a1ee0280
|
||||
|
@ -15,7 +15,7 @@ $(call check_python_module,six)
|
||||
|
||||
PATCHES := $(sort $(wildcard $(REP_DIR)/patches/*.patch))
|
||||
|
||||
HASH_INPUT += $(REP_DIR)/patches/wand_quad.config
|
||||
HASH_INPUT += $(REP_DIR)/patches/imx6q_sabrelite.config
|
||||
|
||||
# adjust kernel config usable on qemu and on native hw, and add a 32bit version
|
||||
default: $(DOWNLOADS)
|
||||
@ -24,6 +24,6 @@ default: $(DOWNLOADS)
|
||||
$(VERBOSE)cp src/kernel/sel4/configs/pc99/autoconf.h src/kernel/sel4/configs/pc99/x86_64/autoconf.h
|
||||
$(VERBOSE)mv src/kernel/sel4/configs/pc99/autoconf.h src/kernel/sel4/configs/pc99/ia32/autoconf.h
|
||||
$(VERBOSE)sed -i "s.^ \*/. \*/\n#ifndef ARCH_IA32\n#define ARCH_IA32\n#endif\n." src/kernel/sel4/configs/pc99/ia32/autoconf.h
|
||||
$(VERBOSE)mkdir -p src/kernel/sel4/configs/imx6/wand_quad
|
||||
$(VERBOSE)mv src/kernel/sel4/configs/imx6/autoconf.h src/kernel/sel4/configs/imx6/wand_quad/autoconf.h
|
||||
$(VERBOSE)patch -p0 <$(REP_DIR)/patches/wand_quad.config
|
||||
$(VERBOSE)mkdir -p src/kernel/sel4/configs/imx6/imx6q_sabrelite
|
||||
$(VERBOSE)mv src/kernel/sel4/configs/imx6/autoconf.h src/kernel/sel4/configs/imx6/imx6q_sabrelite/autoconf.h
|
||||
$(VERBOSE)patch -p0 <$(REP_DIR)/patches/imx6q_sabrelite.config
|
||||
|
@ -2,7 +2,7 @@ include $(GENODE_DIR)/repos/base/recipes/src/base_content.inc
|
||||
|
||||
content: enable_board_spec
|
||||
enable_board_spec: etc/specs.conf
|
||||
echo "SPECS += wand_quad" >> etc/specs.conf
|
||||
echo "SPECS += imx6q_sabrelite" >> etc/specs.conf
|
||||
|
||||
content: include/os/attached_mmio.h
|
||||
|
||||
@ -12,7 +12,7 @@ include/%.h:
|
||||
|
||||
content: README
|
||||
README:
|
||||
cp $(REP_DIR)/recipes/src/base-sel4-wand_quad/README $@
|
||||
cp $(REP_DIR)/recipes/src/base-sel4-imx6q_sabrelite/README $@
|
||||
|
||||
content: lib/import etc include/sel4
|
||||
lib/import etc include/sel4:
|
||||
@ -35,5 +35,5 @@ src/tool/elfloader: src/kernel/sel4
|
||||
content:
|
||||
mv lib/mk/spec/arm/ld-sel4.mk lib/mk/spec/arm/ld.mk;
|
||||
sed -i "s/ld-sel4/ld/" src/lib/ld/sel4/target.mk
|
||||
sed -i "s/wand_quad_timer_drv/timer/" src/timer/epit/wand_quad/target.inc
|
||||
sed -i "s/imx6_timer_drv/timer/" src/timer/epit/imx6/target.inc
|
||||
|
@ -0,0 +1 @@
|
||||
2019-01-15 ceef2077a4815aa7b115f94739cf1bfafaaa7c96
|
@ -1 +0,0 @@
|
||||
2019-01-13 92fcf77cdd5ab204bec05122b948847cecc3ae8e
|
1
repos/base-sel4/src/timer/epit/imx6q_sabrelite/target.mk
Normal file
1
repos/base-sel4/src/timer/epit/imx6q_sabrelite/target.mk
Normal file
@ -0,0 +1 @@
|
||||
include $(call select_from_repositories,src/timer/epit/imx6/target.inc)
|
@ -1 +0,0 @@
|
||||
include $(call select_from_repositories,src/timer/epit/wand_quad/target.inc)
|
@ -6,7 +6,7 @@
|
||||
|
||||
if {
|
||||
![have_spec arndale] &&
|
||||
![have_spec wand_quad] &&
|
||||
![have_spec imx6q_sabrelite] &&
|
||||
![have_spec panda] &&
|
||||
![expr [have_spec zynq] && ![have_spec zynq_qemu] ] &&
|
||||
![expr [have_spec x86_32] && [have_spec foc] ] &&
|
||||
|
@ -37,7 +37,7 @@ proc usb_host_drv_binary { } {
|
||||
if {[have_spec arndale]} { return arndale_usb_host_drv }
|
||||
if {[have_spec panda]} { return panda_usb_host_drv }
|
||||
if {[have_spec rpi]} { return rpi_usb_host_drv }
|
||||
if {[have_spec wand_quad]} { return wand_quad_usb_host_drv }
|
||||
if {[have_spec imx6q_sabrelite]} { return imx6q_sabrelite_usb_host_drv }
|
||||
if {[have_spec odroid_x2]} { return odroid_x2_usb_host_drv }
|
||||
if {[have_spec x86]} { return x86_pc_usb_host_drv }
|
||||
return no_usb_drv_available
|
||||
@ -61,7 +61,7 @@ proc nic_drv_binary { } {
|
||||
proc nic_drv_config { } {
|
||||
if {[have_spec imx53]} {
|
||||
return "<config><card type=\"fsl,imx25-fec\" mii=\"rmii\" irq=\"87\" mmio=\"0x63fec000\"/></config>" }
|
||||
if {[have_spec wand_quad]} {
|
||||
if {[have_spec imx6q_sabrelite]} {
|
||||
return "<config><card type=\"fsl,imx6q-fec\" mii=\"rgmii\" irq=\"150\" mmio=\"0x2188000\"/></config>" }
|
||||
if {[have_spec omap4] || [have_spec arndale] || [have_spec rpi]} {
|
||||
return {<config uhci="yes" ohci="yes" ehci="yes"><nic mac="02:00:00:00:01:01"/></config>} }
|
||||
|
@ -1,8 +1,8 @@
|
||||
TARGET = wand_quad_timer_drv
|
||||
REQUIRES = wand_quad
|
||||
TARGET = imx6_timer_drv
|
||||
REQUIRES = imx6
|
||||
GEN_DIR := $(dir $(call select_from_repositories,src/timer/main.cc))
|
||||
INC_DIR += $(GEN_DIR)/epit
|
||||
SRC_CC += epit/time_source.cc epit/wand_quad/timer.cc
|
||||
SRC_CC += epit/time_source.cc epit/imx6/timer.cc
|
||||
|
||||
include $(GEN_DIR)/target.inc
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* \brief Time source for Wandboard Quad i.MX6
|
||||
* \brief Time source for i.MX6 (EPIT2)
|
||||
* \author Norman Feske
|
||||
* \author Martin Stein
|
||||
* \author Stefan Kalkowski
|
||||
@ -15,7 +15,7 @@
|
||||
*/
|
||||
|
||||
/* base include */
|
||||
#include <drivers/defs/wand_quad.h>
|
||||
#include <drivers/defs/imx6.h>
|
||||
|
||||
/* local include */
|
||||
#include <time_source.h>
|
||||
@ -24,9 +24,9 @@ using namespace Genode;
|
||||
|
||||
Timer::Time_source::Time_source(Env &env)
|
||||
:
|
||||
Attached_mmio(env, Wand_quad::EPIT_2_MMIO_BASE, Wand_quad::EPIT_2_MMIO_SIZE),
|
||||
Attached_mmio(env, Imx6::EPIT_2_MMIO_BASE, Imx6::EPIT_2_MMIO_SIZE),
|
||||
Signalled_time_source(env),
|
||||
_timer_irq(env, Wand_quad::EPIT_2_IRQ)
|
||||
_timer_irq(env, Imx6::EPIT_2_IRQ)
|
||||
{
|
||||
_timer_irq.sigh(_signal_handler);
|
||||
while (read<Cr::Swr>()) ;
|
@ -1,5 +1,5 @@
|
||||
set use_usb_driver [expr [have_spec omap4] || [have_spec arndale] || [have_spec rpi]]
|
||||
set use_nic_driver [expr [have_spec linux] || [expr !$use_usb_driver && ![have_spec imx53] && ![have_spec odroid_xu] && ![have_spec linux] && ![have_spec wand_quad]]]
|
||||
set use_nic_driver [expr [have_spec linux] || [expr !$use_usb_driver && ![have_spec imx53] && ![have_spec odroid_xu] && ![have_spec linux] && ![have_spec imx6q_sabrelite]]]
|
||||
|
||||
set lynx [installed_command lynx]
|
||||
|
||||
|
@ -53,7 +53,7 @@ if { [get_cmd_switch --autopilot] &&
|
||||
![have_spec panda] &&
|
||||
![have_spec rpi] &&
|
||||
![have_spec x86] &&
|
||||
![have_spec wand_quad]} {
|
||||
![have_spec imx6q_sabrelite]} {
|
||||
puts "Run script does not support autopilot mode on this platform"
|
||||
exit 0
|
||||
}
|
||||
|
@ -1,7 +1,7 @@
|
||||
include $(REP_DIR)/src/drivers/usb_host/target.inc
|
||||
|
||||
TARGET = wand_quad_usb_host_drv
|
||||
REQUIRES = wand_quad
|
||||
TARGET = imx6q_sabrelite_usb_host_drv
|
||||
REQUIRES = imx6q_sabrelite
|
||||
|
||||
SRC_C += usb/chipidea/ci_hdrc_imx.c
|
||||
SRC_C += usb/chipidea/core.c
|
||||
@ -14,7 +14,7 @@ INC_DIR += $(REP_DIR)/src/drivers/usb_host/spec/arm
|
||||
INC_DIR += $(REP_DIR)/src/include/spec/arm
|
||||
|
||||
SRC_CC += spec/arm/platform.cc
|
||||
SRC_CC += spec/wand_quad/platform.cc
|
||||
SRC_CC += spec/imx6q_sabrelite/platform.cc
|
||||
|
||||
CC_OPT += -DCONFIG_USB_CHIPIDEA
|
||||
CC_OPT += -DCONFIG_USB_CHIPIDEA_HOST
|
@ -3,7 +3,7 @@
|
||||
#
|
||||
|
||||
if {[have_spec odroid_xu] ||
|
||||
[have_spec wand_quad] ||
|
||||
[have_spec imx6q_sabrelite] ||
|
||||
([get_cmd_switch --autopilot] && [have_spec linux]) ||
|
||||
([get_cmd_switch --autopilot] && [have_include "power_on/qemu"])} {
|
||||
puts "Run script does not support this platform."
|
||||
|
@ -2,7 +2,7 @@
|
||||
# Build
|
||||
#
|
||||
|
||||
if {[have_spec odroid_xu] || [have_spec wand_quad] || [have_spec zynq] || [have_spec imx53] && [have_spec foc]} {
|
||||
if {[have_spec odroid_xu] || [have_spec imx6q_sabrelite] || [have_spec zynq] || [have_spec imx53] && [have_spec foc]} {
|
||||
puts "\n Run script is not supported on this platform. \n";
|
||||
exit 0
|
||||
}
|
||||
|
@ -210,7 +210,6 @@ proc base_src { } {
|
||||
if {[have_spec x86_64] && [have_spec muen]} { return base-hw-muen }
|
||||
if {[have_spec pbxa9]} { return base-hw-pbxa9 }
|
||||
if {[have_spec rpi]} { return base-hw-rpi }
|
||||
if {[have_spec wand_quad]} { return base-hw-wand_quad }
|
||||
if {[have_spec imx6q_sabrelite]} { return base-hw-imx6q_sabrelite }
|
||||
if {[have_spec odroid_xu]} { return base-hw-odroid_xu }
|
||||
if {[have_spec imx53_qsb] && ![have_spec trustzone]} { return base-hw-imx53_qsb }
|
||||
|
@ -1,8 +1,8 @@
|
||||
proc binary_name_ld_lib_so { } { return "ld-sel4.lib.so" }
|
||||
proc binary_name_core_o { } { return "core-sel4.o" }
|
||||
proc binary_name_timer { } {
|
||||
if {[have_spec wand_quad]} { return "wand_quad_timer_drv" }
|
||||
if {[have_spec x86]} { return "pit_timer_drv" }
|
||||
if {[have_spec imx6]} { return "imx6_timer_drv" }
|
||||
if {[have_spec x86]} { return "pit_timer_drv" }
|
||||
puts "unknown platform - no timer driver"
|
||||
exit -1
|
||||
}
|
||||
@ -147,8 +147,8 @@ proc run_boot_dir {binaries} {
|
||||
#
|
||||
proc base_src { } {
|
||||
|
||||
if {[have_spec x86]} { return base-sel4-x86 }
|
||||
if {[have_spec wand_quad]} { return base-sel4-wand_quad }
|
||||
if {[have_spec x86]} { return base-sel4-x86 }
|
||||
if {[have_spec imx6q_sabrelite]} { return base-sel4-imx6q_sabrelite }
|
||||
|
||||
global specs
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user