diff options
author | Uwe Kleine-König <uwe@kleine-koenig.org> | 2016-01-20 08:47:22 +0100 |
---|---|---|
committer | Sascha Hauer <s.hauer@pengutronix.de> | 2016-01-22 08:43:19 +0100 |
commit | a03a3915d9e76372dd24a6f3c01eb3b5efb940ac (patch) | |
tree | 316081ad6e15710fb5fdbf43b796d2f37415f250 /arch/arm/boards | |
parent | 3fb06055420584389a1aef169e97dc2838e7d6d1 (diff) | |
download | barebox-a03a3915d9e76372dd24a6f3c01eb3b5efb940ac.tar.gz barebox-a03a3915d9e76372dd24a6f3c01eb3b5efb940ac.tar.xz |
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>
Diffstat (limited to 'arch/arm/boards')
-rw-r--r-- | arch/arm/boards/Makefile | 1 | ||||
-rw-r--r-- | arch/arm/boards/netgear-rn104/Makefile | 2 | ||||
-rw-r--r-- | arch/arm/boards/netgear-rn104/board.c | 1 | ||||
-rw-r--r-- | arch/arm/boards/netgear-rn104/kwbimage.cfg | 7 | ||||
-rw-r--r-- | arch/arm/boards/netgear-rn104/lowlevel.c | 22 |
5 files changed, 33 insertions, 0 deletions
diff --git a/arch/arm/boards/Makefile b/arch/arm/boards/Makefile index 1029e8f46f..5a755c9636 100644 --- a/arch/arm/boards/Makefile +++ b/arch/arm/boards/Makefile @@ -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/ diff --git a/arch/arm/boards/netgear-rn104/Makefile b/arch/arm/boards/netgear-rn104/Makefile new file mode 100644 index 0000000000..01c7a259e9 --- /dev/null +++ b/arch/arm/boards/netgear-rn104/Makefile @@ -0,0 +1,2 @@ +obj-y += board.o +lwl-y += lowlevel.o diff --git a/arch/arm/boards/netgear-rn104/board.c b/arch/arm/boards/netgear-rn104/board.c new file mode 100644 index 0000000000..40a8c178f1 --- /dev/null +++ b/arch/arm/boards/netgear-rn104/board.c @@ -0,0 +1 @@ +/* empty */ diff --git a/arch/arm/boards/netgear-rn104/kwbimage.cfg b/arch/arm/boards/netgear-rn104/kwbimage.cfg new file mode 100644 index 0000000000..83a4149053 --- /dev/null +++ b/arch/arm/boards/netgear-rn104/kwbimage.cfg @@ -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 diff --git a/arch/arm/boards/netgear-rn104/lowlevel.c b/arch/arm/boards/netgear-rn104/lowlevel.c new file mode 100644 index 0000000000..f0d6df0da6 --- /dev/null +++ b/arch/arm/boards/netgear-rn104/lowlevel.c @@ -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); +} |