From d66e242213320a4fed9960eee0ecc870a9e4c616 Mon Sep 17 00:00:00 2001 From: Uwe Kleine-König Date: Tue, 4 Oct 2016 21:13:06 +0200 Subject: ARM: mvebu: document some general mvebu stuff and the rn2120 board MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Uwe Kleine-König Signed-off-by: Sascha Hauer --- Documentation/boards/mvebu.rst | 50 ++++++++++++++++++++++ .../boards/mvebu/Netgear-ReadyNAS-2120.rst | 19 ++++++++ 2 files changed, 69 insertions(+) create mode 100644 Documentation/boards/mvebu.rst create mode 100644 Documentation/boards/mvebu/Netgear-ReadyNAS-2120.rst diff --git a/Documentation/boards/mvebu.rst b/Documentation/boards/mvebu.rst new file mode 100644 index 0000000000..b4f8e6043d --- /dev/null +++ b/Documentation/boards/mvebu.rst @@ -0,0 +1,50 @@ +Marvell Embedded Business Unit (mvebu) +====================================== + +Move of the Register Window +--------------------------- + +When an mvebu SoC comes up the internal registers are mapped at 0xd0000000 in +the address space. To make it possible to have more than 3.25 GiB of continuous +RAM in Linux this window is moved to 0xf1000000. +Unfortunately the register to configure the location of the registers is located +in this window, so there is no way to determine the location afterwards. + +RAM initialisation +------------------ + +Traditionally the RAM initialisation happens with a binary blob that have to be +extracted from the vendor U-Boot:: + + scripts/kwbimage -x -i /dev/mtdblock0 -o . + +This creates among others a file "binary.0" that has to be put into the board +directory. For license reasons this is usually not included in the barebox +repository. + +Note that in the meantime U-Boot has open source code to do the RAM +initialisation that could be taken. + +Booting second stage +-------------------- + +This is currently not possible because barebox assumes the registers are mapped +at 0xd0000000 as is the case when the boot ROM gives control to the bootloader. + +Booting from UART +----------------- + +The mvebu SoCs support booting from UART. For this there is a tool available in +barebox called kwboot. + +mvebu boards +------------ + +Not all supported boards have a description here. + +.. toctree:: + :glob: + :numbered: + :maxdepth: 1 + + mvebu/* diff --git a/Documentation/boards/mvebu/Netgear-ReadyNAS-2120.rst b/Documentation/boards/mvebu/Netgear-ReadyNAS-2120.rst new file mode 100644 index 0000000000..5bee03af9d --- /dev/null +++ b/Documentation/boards/mvebu/Netgear-ReadyNAS-2120.rst @@ -0,0 +1,19 @@ +Netgear ReadyNAS 2120 +===================== + +This is a rack mountable 4 bay NAS using an Armada XP dual-core processor. + +UART booting +------------ + +The first UART hides behind a sticker on 4 pins. + +The machine seems to do two resets at power on which makes UART booting hard. A +trick to work around this is:: + + scripts/kwboot -d /dev/ttyUSB0; kwboot -b images/barebox-netgear-rn2120.img -t /dev/ttyUSB0 + +This way the first window in which the CPU accepts the magic string is taken by +the first invokation which blocks until the second reset happens. The second +window is then hit with the image to boot. This is not 100% reliable but works +most of the time. -- cgit v1.2.3