9
0
Fork 0

Add initial support for Netgear ReadyNAS 104

Currently only second stage booting from the vendor U-Boot is tested. I
don't want to flash barebox into NAND yet because UART-booting for
recovery doesn't work for me.

Working so far are:

 - UART
 - networking
 - nand flash

Signed-off-by: Uwe Kleine-König <uwe@kleine-koenig.org>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
This commit is contained in:
Uwe Kleine-König 2016-01-20 08:47:22 +01:00 committed by Sascha Hauer
parent 3fb0605542
commit a03a3915d9
10 changed files with 61 additions and 0 deletions

View File

@ -70,6 +70,7 @@ obj-$(CONFIG_MACH_MX23EVK) += freescale-mx23-evk/
obj-$(CONFIG_MACH_MX28EVK) += freescale-mx28-evk/
obj-$(CONFIG_MACH_MX31MOBOARD) += mx31moboard/
obj-$(CONFIG_MACH_NESO) += guf-neso/
obj-$(CONFIG_MACH_NETGEAR_RN104) += netgear-rn104/
obj-$(CONFIG_MACH_NOMADIK_8815NHK) += nhk8815/
obj-$(CONFIG_MACH_NVIDIA_BEAVER) += nvidia-beaver/
obj-$(CONFIG_MACH_NVIDIA_JETSON) += nvidia-jetson-tk1/

View File

@ -0,0 +1,2 @@
obj-y += board.o
lwl-y += lowlevel.o

View File

@ -0,0 +1 @@
/* empty */

View File

@ -0,0 +1,7 @@
VERSION 1
BOOT_FROM nand
DESTADDR 00600000
EXECADDR 006a0000
NAND_BLKSZ 00020000
NAND_BADBLK_LOCATION 01
BINARY binary.0 0000005b 00000068

View File

@ -0,0 +1,22 @@
/*
* Copyright (C) 2014 Uwe Kleine-Koenig <uwe@kleine-koenig.org>
*/
#include <common.h>
#include <asm/barebox-arm.h>
#include <asm/barebox-arm-head.h>
#include <mach/lowlevel.h>
extern char __dtb_armada_370_rn104_bb_start[];
ENTRY_FUNCTION(start_netgear_rn104, r0, r1, r2)
{
void *fdt;
arm_cpu_lowlevel_init();
fdt = __dtb_armada_370_rn104_bb_start -
get_runtime_offset();
mvebu_barebox_entry(fdt);
}

View File

@ -1,5 +1,6 @@
CONFIG_ARCH_MVEBU=y
CONFIG_MACH_GLOBALSCALE_MIRABOX=y
CONFIG_MACH_NETGEAR_RN104=y
CONFIG_MACH_LENOVO_IX4_300D=y
CONFIG_MACH_MARVELL_ARMADA_XP_GP=y
CONFIG_MACH_PLATHOME_OPENBLOCKS_AX3=y

View File

@ -28,6 +28,7 @@ pbl-dtb-$(CONFIG_MACH_GUF_VINCELL) += imx53-guf-vincell.dtb.o imx53-guf-vincell-
pbl-dtb-$(CONFIG_MACH_GW_VENTANA) += imx6q-gw54xx.dtb.o
pbl-dtb-$(CONFIG_MACH_LENOVO_IX4_300D) += armada-xp-lenovo-ix4-300d-bb.dtb.o
pbl-dtb-$(CONFIG_MACH_MARVELL_ARMADA_XP_GP) += armada-xp-gp-bb.dtb.o
pbl-dtb-$(CONFIG_MACH_NETGEAR_RN104) += armada-370-rn104-bb.dtb.o
pbl-dtb-$(CONFIG_MACH_NITROGEN6X) += imx6q-nitrogen6x.dtb.o imx6dl-nitrogen6x.dtb.o
pbl-dtb-$(CONFIG_MACH_NVIDIA_BEAVER) += tegra30-beaver.dtb.o
pbl-dtb-$(CONFIG_MACH_NVIDIA_JETSON) += tegra124-jetson-tk1.dtb.o

View File

@ -0,0 +1,11 @@
/*
* Barebox specific DT overlay for Netgear ReadyNAS 104
*/
#include "arm/armada-370-netgear-rn104.dts"
/ {
chosen {
stdout-path = "/soc/internal-regs/serial@12000";
};
};

View File

@ -37,6 +37,10 @@ config MACH_GLOBALSCALE_MIRABOX
bool "Globalscale Mirabox"
select ARCH_ARMADA_370
config MACH_NETGEAR_RN104
bool "Netgear ReadyNAS 104"
select ARCH_ARMADA_370
#
# Armada XP SoC boards
#

View File

@ -23,6 +23,17 @@ image-$(CONFIG_MACH_GLOBALSCALE_MIRABOX) += barebox-globalscale-mirabox.img
image-$(CONFIG_MACH_GLOBALSCALE_MIRABOX) += barebox-globalscale-mirabox-uart.img
image-$(CONFIG_MACH_GLOBALSCALE_MIRABOX) += barebox-globalscale-mirabox-2nd.img
NETGEAR_RN104_KWBOPTS = ${KWBOPTS} -i $(board)/netgear-rn104/kwbimage.cfg
OPTS_start_netgear_rn104.pblx.kwbimg = $(NETGEAR_RN104_KWBOPTS)
OPTS_start_netgear_rn104.pblx.kwbuartimg = -m uart $(NETGEAR_RN104_KWBOPTS)
FILE_barebox-netgear-rn104.img = start_netgear_rn104.pblx.kwbimg
FILE_barebox-netgear-rn104-uart.img = start_netgear_rn104.pblx.kwbuartimg
FILE_barebox-netgear-rn104-2nd.img = start_netgear_rn104.pblx
pblx-$(CONFIG_MACH_NETGEAR_RN104) += start_netgear_rn104
image-$(CONFIG_MACH_NETGEAR_RN104) += barebox-netgear-rn104.img
image-$(CONFIG_MACH_NETGEAR_RN104) += barebox-netgear-rn104-uart.img
image-$(CONFIG_MACH_NETGEAR_RN104) += barebox-netgear-rn104-2nd.img
# ----------------------- Armada XP based boards ---------------------------
LENOVO_IX4_300D_KWBOPTS = ${KWBOPTS} -i $(board)/lenovo-ix4-300d/kwbimage.cfg
OPTS_start_lenovo_ix4_300d.pblx.kwbimg = $(LENOVO_IX4_300D_KWBOPTS)