From f73625b6a1a635aa99bb162c97cf453f8a816f06 Mon Sep 17 00:00:00 2001 From: Sebastian Hesselbarth Date: Thu, 10 Apr 2014 17:48:09 +0200 Subject: [PATCH] ARM: mvebu: convert USI Topkick to PBL_MULTI_IMAGES This converts Marvell Kirkwood based USI Topkick to PBL_MULTI_IMAGES. Signed-off-by: Sebastian Hesselbarth --- arch/arm/boards/usi-topkick/Makefile | 1 + arch/arm/boards/usi-topkick/lowlevel.c | 34 ++++++++++++++++++++++++++ arch/arm/dts/Makefile | 1 + images/Makefile.mvebu | 11 +++++++++ 4 files changed, 47 insertions(+) create mode 100644 arch/arm/boards/usi-topkick/lowlevel.c diff --git a/arch/arm/boards/usi-topkick/Makefile b/arch/arm/boards/usi-topkick/Makefile index dcfc2937d..01c7a259e 100644 --- a/arch/arm/boards/usi-topkick/Makefile +++ b/arch/arm/boards/usi-topkick/Makefile @@ -1 +1,2 @@ obj-y += board.o +lwl-y += lowlevel.o diff --git a/arch/arm/boards/usi-topkick/lowlevel.c b/arch/arm/boards/usi-topkick/lowlevel.c new file mode 100644 index 000000000..df661564d --- /dev/null +++ b/arch/arm/boards/usi-topkick/lowlevel.c @@ -0,0 +1,34 @@ +/* + * Copyright (C) 2014 + * Sebastian Hesselbarth + * + * 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 +#include +#include +#include +#include + +extern char __dtb_kirkwood_topkick_bb_start[]; + +ENTRY_FUNCTION(start_usi_topkick, r0, r1, r2) +{ + void *fdt; + + arm_cpu_lowlevel_init(); + + fdt = __dtb_kirkwood_topkick_bb_start - get_runtime_offset(); + + mvebu_barebox_entry(fdt); +} diff --git a/arch/arm/dts/Makefile b/arch/arm/dts/Makefile index e6aa160e7..c0f848aef 100644 --- a/arch/arm/dts/Makefile +++ b/arch/arm/dts/Makefile @@ -81,6 +81,7 @@ pbl-$(CONFIG_MACH_TQMA53) += imx53-mba53.dtb.o pbl-$(CONFIG_MACH_TQMA6X) += imx6dl-mba6x.dtb.o imx6q-mba6x.dtb.o pbl-$(CONFIG_MACH_TX25) += imx25-karo-tx25.dtb.o pbl-$(CONFIG_MACH_UDOO) += imx6q-udoo.dtb.o +pbl-$(CONFIG_MACH_USI_TOPKICK) += kirkwood-topkick-bb.dtb.o pbl-$(CONFIG_MACH_VARISCITE_MX6) += imx6q-var-custom.dtb.o .SECONDARY: $(obj)/$(BUILTIN_DTB).dtb.S diff --git a/images/Makefile.mvebu b/images/Makefile.mvebu index c09a77d14..fdc6822bd 100644 --- a/images/Makefile.mvebu +++ b/images/Makefile.mvebu @@ -36,3 +36,14 @@ pblx-$(CONFIG_MACH_GLOBALSCALE_GURUPLUG) += start_globalscale_guruplug image-$(CONFIG_MACH_GLOBALSCALE_GURUPLUG) += barebox-globalscale-guruplug.img image-$(CONFIG_MACH_GLOBALSCALE_GURUPLUG) += barebox-globalscale-guruplug-uart.img image-$(CONFIG_MACH_GLOBALSCALE_GURUPLUG) += barebox-globalscale-guruplug-2nd.img + +USI_TOPKICK_KWBOPTS = ${KWBOPTS} -i $(board)/usi-topkick/kwbimage.cfg +OPTS_start_usi_topkick.pblx.kwbimg = $(USI_TOPKICK_KWBOPTS) +OPTS_start_usi_topkick.pblx.kwbuartimg = -m uart $(USI_TOPKICK_KWBOPTS) +FILE_barebox-usi-topkick.img = start_usi_topkick.pblx.kwbimg +FILE_barebox-usi-topkick-uart.img = start_usi_topkick.pblx.kwbuartimg +FILE_barebox-usi-topkick-2nd.img = start_usi_topkick.pblx +pblx-$(CONFIG_MACH_USI_TOPKICK) += start_usi_topkick +image-$(CONFIG_MACH_USI_TOPKICK) += barebox-usi-topkick.img +image-$(CONFIG_MACH_USI_TOPKICK) += barebox-usi-topkick-uart.img +image-$(CONFIG_MACH_USI_TOPKICK) += barebox-usi-topkick-2nd.img