* [PATCH] Add initial support for Netgear ReadyNAS 104
@ 2016-01-20 7:47 Uwe Kleine-König
2016-01-22 7:44 ` Sascha Hauer
0 siblings, 1 reply; 2+ messages in thread
From: Uwe Kleine-König @ 2016-01-20 7:47 UTC (permalink / raw)
To: barebox
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>
---
arch/arm/boards/Makefile | 1 +
arch/arm/boards/netgear-rn104/Makefile | 2 ++
arch/arm/boards/netgear-rn104/board.c | 1 +
arch/arm/boards/netgear-rn104/kwbimage.cfg | 7 +++++++
arch/arm/boards/netgear-rn104/lowlevel.c | 22 ++++++++++++++++++++++
arch/arm/configs/mvebu_defconfig | 1 +
arch/arm/dts/Makefile | 1 +
arch/arm/dts/armada-370-rn104-bb.dts | 11 +++++++++++
arch/arm/mach-mvebu/Kconfig | 4 ++++
images/Makefile.mvebu | 11 +++++++++++
10 files changed, 61 insertions(+)
create mode 100644 arch/arm/boards/netgear-rn104/Makefile
create mode 100644 arch/arm/boards/netgear-rn104/board.c
create mode 100644 arch/arm/boards/netgear-rn104/kwbimage.cfg
create mode 100644 arch/arm/boards/netgear-rn104/lowlevel.c
create mode 100644 arch/arm/dts/armada-370-rn104-bb.dts
diff --git a/arch/arm/boards/Makefile b/arch/arm/boards/Makefile
index 1029e8f46f3a..5a755c96360b 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 000000000000..01c7a259e9a5
--- /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 000000000000..40a8c178f10d
--- /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 000000000000..83a4149053d0
--- /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 000000000000..f0d6df0da645
--- /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);
+}
diff --git a/arch/arm/configs/mvebu_defconfig b/arch/arm/configs/mvebu_defconfig
index 6d1b021768df..39372fd93b5d 100644
--- a/arch/arm/configs/mvebu_defconfig
+++ b/arch/arm/configs/mvebu_defconfig
@@ -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
diff --git a/arch/arm/dts/Makefile b/arch/arm/dts/Makefile
index 2da930eb9108..d85c23768e22 100644
--- a/arch/arm/dts/Makefile
+++ b/arch/arm/dts/Makefile
@@ -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
diff --git a/arch/arm/dts/armada-370-rn104-bb.dts b/arch/arm/dts/armada-370-rn104-bb.dts
new file mode 100644
index 000000000000..32f961e5292e
--- /dev/null
+++ b/arch/arm/dts/armada-370-rn104-bb.dts
@@ -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";
+ };
+};
diff --git a/arch/arm/mach-mvebu/Kconfig b/arch/arm/mach-mvebu/Kconfig
index 5e96f16e8cf4..79fcc8d3ac36 100644
--- a/arch/arm/mach-mvebu/Kconfig
+++ b/arch/arm/mach-mvebu/Kconfig
@@ -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
#
diff --git a/images/Makefile.mvebu b/images/Makefile.mvebu
index 0325f9961594..195f48d47073 100644
--- a/images/Makefile.mvebu
+++ b/images/Makefile.mvebu
@@ -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)
--
2.7.0.rc3
_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox
^ permalink raw reply [flat|nested] 2+ messages in thread
* Re: [PATCH] Add initial support for Netgear ReadyNAS 104
2016-01-20 7:47 [PATCH] Add initial support for Netgear ReadyNAS 104 Uwe Kleine-König
@ 2016-01-22 7:44 ` Sascha Hauer
0 siblings, 0 replies; 2+ messages in thread
From: Sascha Hauer @ 2016-01-22 7:44 UTC (permalink / raw)
To: Uwe Kleine-König; +Cc: barebox
On Wed, Jan 20, 2016 at 08:47:22AM +0100, Uwe Kleine-König wrote:
> 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>
> ---
> arch/arm/boards/Makefile | 1 +
> arch/arm/boards/netgear-rn104/Makefile | 2 ++
> arch/arm/boards/netgear-rn104/board.c | 1 +
> arch/arm/boards/netgear-rn104/kwbimage.cfg | 7 +++++++
> arch/arm/boards/netgear-rn104/lowlevel.c | 22 ++++++++++++++++++++++
> arch/arm/configs/mvebu_defconfig | 1 +
> arch/arm/dts/Makefile | 1 +
> arch/arm/dts/armada-370-rn104-bb.dts | 11 +++++++++++
> arch/arm/mach-mvebu/Kconfig | 4 ++++
> images/Makefile.mvebu | 11 +++++++++++
> 10 files changed, 61 insertions(+)
> create mode 100644 arch/arm/boards/netgear-rn104/Makefile
> create mode 100644 arch/arm/boards/netgear-rn104/board.c
> create mode 100644 arch/arm/boards/netgear-rn104/kwbimage.cfg
> create mode 100644 arch/arm/boards/netgear-rn104/lowlevel.c
> create mode 100644 arch/arm/dts/armada-370-rn104-bb.dts
Applied, thanks
Sascha
--
Pengutronix e.K. | |
Industrial Linux Solutions | http://www.pengutronix.de/ |
Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 |
Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |
_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2016-01-22 7:45 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-01-20 7:47 [PATCH] Add initial support for Netgear ReadyNAS 104 Uwe Kleine-König
2016-01-22 7:44 ` Sascha Hauer
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox