diff options
author | Thomas Petazzoni <thomas.petazzoni@free-electrons.com> | 2013-05-09 11:52:50 +0200 |
---|---|---|
committer | Sascha Hauer <s.hauer@pengutronix.de> | 2013-05-13 10:18:11 +0200 |
commit | 1d0f6f036336e73490b7f5d87227a5ae1832e780 (patch) | |
tree | 17b274041351384b6b314bc055029ff3dc01b9f2 | |
parent | af4086fbc30bef696b0866e73f9bc877c461df2b (diff) | |
download | barebox-1d0f6f036336e73490b7f5d87227a5ae1832e780.tar.gz barebox-1d0f6f036336e73490b7f5d87227a5ae1832e780.tar.xz |
arm: add basic support for the Armada 370 Mirabox platform
The Mirabox is a platform manufactured by Globalscale, and based on
the Marvell Armada 370 SoC.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Tested-by: Gregory CLEMENT <gregory.clement@free-electrons.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
-rw-r--r-- | arch/arm/Makefile | 1 | ||||
-rw-r--r-- | arch/arm/boards/globalscale-mirabox/Makefile | 2 | ||||
-rw-r--r-- | arch/arm/boards/globalscale-mirabox/config.h | 4 | ||||
-rw-r--r-- | arch/arm/boards/globalscale-mirabox/globalscale-mirabox.c | 26 | ||||
-rw-r--r-- | arch/arm/boards/globalscale-mirabox/kwbimage.cfg | 5 | ||||
-rw-r--r-- | arch/arm/boards/globalscale-mirabox/lowlevel.c | 26 | ||||
-rw-r--r-- | arch/arm/configs/globalscale_mirabox_defconfig | 8 | ||||
-rw-r--r-- | arch/arm/mach-mvebu/Kconfig | 13 |
8 files changed, 81 insertions, 4 deletions
diff --git a/arch/arm/Makefile b/arch/arm/Makefile index 3c08148514..2456f3de14 100644 --- a/arch/arm/Makefile +++ b/arch/arm/Makefile @@ -102,6 +102,7 @@ board-$(CONFIG_MACH_EUKREA_CPUIMX51SD) := eukrea_cpuimx51 board-$(CONFIG_MACH_FREESCALE_MX25_3STACK) := freescale-mx25-3-stack board-$(CONFIG_MACH_FREESCALE_MX35_3STACK) := freescale-mx35-3-stack board-$(CONFIG_MACH_GE863) := telit-evk-pro3 +board-$(CONFIG_MACH_GLOBALSCALE_MIRABOX) := globalscale-mirabox board-$(CONFIG_MACH_HIGHBANK) := highbank board-$(CONFIG_MACH_IMX21ADS) := imx21ads board-$(CONFIG_MACH_IMX27ADS) := imx27ads diff --git a/arch/arm/boards/globalscale-mirabox/Makefile b/arch/arm/boards/globalscale-mirabox/Makefile new file mode 100644 index 0000000000..bd5d47e3c1 --- /dev/null +++ b/arch/arm/boards/globalscale-mirabox/Makefile @@ -0,0 +1,2 @@ +obj-y = globalscale-mirabox.o +lwl-y += lowlevel.o diff --git a/arch/arm/boards/globalscale-mirabox/config.h b/arch/arm/boards/globalscale-mirabox/config.h new file mode 100644 index 0000000000..ca15136817 --- /dev/null +++ b/arch/arm/boards/globalscale-mirabox/config.h @@ -0,0 +1,4 @@ +#ifndef __CONFIG_H +#define __CONFIG_H + +#endif /* __CONFIG_H */ diff --git a/arch/arm/boards/globalscale-mirabox/globalscale-mirabox.c b/arch/arm/boards/globalscale-mirabox/globalscale-mirabox.c new file mode 100644 index 0000000000..b8f4bffddf --- /dev/null +++ b/arch/arm/boards/globalscale-mirabox/globalscale-mirabox.c @@ -0,0 +1,26 @@ +/* + * Copyright (C) 2013 Thomas Petazzoni <thomas.petazzoni@free-electrons.com> + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License as + * published by the Free Software Foundation; either version 2 of + * the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + */ + +#include <common.h> +#include <init.h> +#include <sizes.h> +#include <mach/mvebu.h> + +static int globalscale_mirabox_console_init(void) +{ + return mvebu_add_uart0(); +} + +console_initcall(globalscale_mirabox_console_init); diff --git a/arch/arm/boards/globalscale-mirabox/kwbimage.cfg b/arch/arm/boards/globalscale-mirabox/kwbimage.cfg new file mode 100644 index 0000000000..72283d9b69 --- /dev/null +++ b/arch/arm/boards/globalscale-mirabox/kwbimage.cfg @@ -0,0 +1,5 @@ +VERSION 1 +BOOT_FROM nand +NAND_BLKSZ 00020000 +NAND_BADBLK_LOCATION 01 +BINARY globalscale-mirabox-binary.0 0000005b 00000068 diff --git a/arch/arm/boards/globalscale-mirabox/lowlevel.c b/arch/arm/boards/globalscale-mirabox/lowlevel.c new file mode 100644 index 0000000000..3ca202e0a2 --- /dev/null +++ b/arch/arm/boards/globalscale-mirabox/lowlevel.c @@ -0,0 +1,26 @@ +/* + * Copyright (C) 2013 Thomas Petazzoni <thomas.petazzoni@free-electrons.com> + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License as + * published by the Free Software Foundation; either version 2 of + * the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + */ + +#include <common.h> +#include <sizes.h> +#include <asm/barebox-arm.h> +#include <asm/barebox-arm-head.h> +#include <mach/mvebu.h> + +void __naked barebox_arm_reset_vector(void) +{ + arm_cpu_lowlevel_init(); + mvebu_barebox_entry(); +} diff --git a/arch/arm/configs/globalscale_mirabox_defconfig b/arch/arm/configs/globalscale_mirabox_defconfig new file mode 100644 index 0000000000..ed9d94d867 --- /dev/null +++ b/arch/arm/configs/globalscale_mirabox_defconfig @@ -0,0 +1,8 @@ +CONFIG_ARCH_MVEBU=y +CONFIG_AEABI=y +CONFIG_DEBUG_LL=y +CONFIG_CMD_LOADY=y +CONFIG_CMD_LOADS=y +CONFIG_CMD_RESET=y +CONFIG_CMD_CLK=y +CONFIG_DRIVER_SERIAL_NS16550=y diff --git a/arch/arm/mach-mvebu/Kconfig b/arch/arm/mach-mvebu/Kconfig index 975ea7e334..84893352d7 100644 --- a/arch/arm/mach-mvebu/Kconfig +++ b/arch/arm/mach-mvebu/Kconfig @@ -3,9 +3,11 @@ if ARCH_MVEBU config ARCH_TEXT_BASE hex default 0x2000000 if MACH_PLATHOME_OPENBLOCKS_AX3 + default 0x2000000 if MACH_GLOBALSCALE_MIRABOX config BOARDINFO default "PlatHome OpenBlocks AX3" if MACH_PLATHOME_OPENBLOCKS_AX3 + default "Globalscale Mirabox" if MACH_GLOBALSCALE_MIRABOX choice prompt "Marvell EBU Processor" @@ -22,10 +24,13 @@ endchoice if ARCH_ARMADA_370 -#choice -# prompt "Armada 370 Board Type" -# -#endchoice +choice + prompt "Armada 370 Board Type" + +config MACH_GLOBALSCALE_MIRABOX + bool "Globalscale Mirabox" + +endchoice endif # ARCH_ARMADA_370 |