[PATCH 0/7] Basic support for Marvell Armada 370/XP SoC
Gregory CLEMENT
gregory.clement at free-electrons.com
Tue May 7 19:28:47 EDT 2013
On 05/03/2013 06:51 PM, Thomas Petazzoni wrote:
> Hello,
Hi Thomas,
it was a great work, I am currently trying to use but unfortunately,
I didn't managed to run barebox on the Armada XP OpenBlocks AX3 from
Plathome :/
I get something like that:
kwboot -t -b barebix.bin.kw -B 115200 /dev/ttyUSB0
Sending boot message. Please reboot the target...-
[here I power up the AX3]
Sending boot image...
0 % [......................................................................]
4 % [......................................................................]
9 % [......................................................................]
14 % [......................................................................]
18 % [......................................................................]
23 % [......................................................................]
28 % [......................................................................]
33 % [......................................................................]
37 % [......................................................................]
42 % [......................................................................]
47 % [......................................................................]
52 % [.............................................................BootROM: Invalid header ID
Booting from NOR flash
DDR3 Training Sequence - Ver 3.0.0
I also found typo in the command line example you gave to use kwbimage.
I will try the other platform soon.
[...]
>
> An image is then later created with:
>
> ./scripts/kwbimage -x -i <path/to/kwbimage.cfg> -o <image>
I think it should be:
./scripts/kwbimage -c -i <path/to/kwbimage.cfg> -o <image>
Thanks!
>
> For each board, the kwbimage.cfg file is typically located in
> arch/arm/boards/<board-name>/. The DDR3 training code must however
> be extracted from an existing bootloader image of your board,
> usually the one provided by the board manufacturer.
>
> * A kwboot tool to push a bootloader through UART. It is directly
> taken from U-Boot source code, to which I've added some fixes:
>
> - Extend the timeouts, to actually make it work on Armada
> 370/XP. This has originally been found by Willy Tarreau.
>
> - Ignore non-Xmodem characters, so that the original DDR3 training
> code can be used without modifications (Willy had to change it to
> make it output its messages on a different serial port, otherwise
> it was confusing the Xmodem implementation)
>
> - Output to stdout all the non-Xmodem characters so that if
> something goes wrong during the transfer, we have some
> informations. It also shows the messages output by the DDR3
> training code.
>
> - Remove the 'patch' feature that patches an image to have the UART
> type. This requires a knowledge of the header format, which is
> different between version 0 (kirkwood) and version 1 (armada
> 370/xp). It is not really needed anyway since kwbimage can
> extract and create images.
>
> * The SoC-level code, which for now only consists in a minimal
> clocksource driver, a function to register an UART, a fixed-rate
> clock, and a function that determines the amount of RAM by looking
> at the SDRAM windows registers.
>
> * The board-level code for the Armada 370 Mirabox from Globalscale,
> the Armada XP OpenBlocks AX3 from Plathome and the Armada XP GP
> from Marvell.
>
> Reviews and comments welcome!
>
> Best regards,
>
> Thomas
>
> Thomas Petazzoni (7):
> scripts: allow lines longer than 80 cols with printf() in checkpatch
> scripts: new kwbimage manipulation tool for Marvell SoC boot images
> scripts: add kwboot tool
> arm: initial support for Marvell Armada 370/XP SoCs
> arm: add basic support for Armada XP OpenBlocks AX3 platform
> arm: add basic support for the Armada 370 Mirabox platform
> arm: add basic support for the Armada XP GP platform
>
> arch/arm/Kconfig | 8 +
> arch/arm/Makefile | 4 +
> arch/arm/boards/globalscale-mirabox/Makefile | 2 +
> arch/arm/boards/globalscale-mirabox/config.h | 4 +
> .../globalscale-mirabox/globalscale-mirabox.c | 26 +
> arch/arm/boards/globalscale-mirabox/kwbimage.cfg | 8 +
> arch/arm/boards/globalscale-mirabox/lowlevel.c | 26 +
> arch/arm/boards/marvell-armada-xp-gp/Makefile | 2 +
> arch/arm/boards/marvell-armada-xp-gp/config.h | 4 +
> arch/arm/boards/marvell-armada-xp-gp/kwbimage.cfg | 8 +
> arch/arm/boards/marvell-armada-xp-gp/lowlevel.c | 25 +
> .../marvell-armada-xp-gp/marvell-armada-xp-gp.c | 25 +
> arch/arm/boards/plathome-openblocks-ax3/Makefile | 2 +
> arch/arm/boards/plathome-openblocks-ax3/config.h | 4 +
> .../boards/plathome-openblocks-ax3/kwbimage.cfg | 8 +
> arch/arm/boards/plathome-openblocks-ax3/lowlevel.c | 25 +
> .../plathome-openblocks-ax3.c | 25 +
> arch/arm/configs/globalscale_mirabox_defconfig | 8 +
> arch/arm/configs/marvell_armada_xp_gp_defconfig | 10 +
> arch/arm/configs/plathome_openblocks_ax3_defconfig | 9 +
> arch/arm/mach-mvebu/Kconfig | 54 +
> arch/arm/mach-mvebu/Makefile | 1 +
> arch/arm/mach-mvebu/core.c | 142 +++
> arch/arm/mach-mvebu/include/mach/clkdev.h | 7 +
> arch/arm/mach-mvebu/include/mach/debug_ll.h | 40 +
> arch/arm/mach-mvebu/include/mach/mvebu.h | 22 +
> drivers/clocksource/Kconfig | 4 +
> drivers/clocksource/Makefile | 1 +
> drivers/clocksource/mvebu.c | 90 ++
> scripts/.gitignore | 2 +
> scripts/Makefile | 3 +-
> scripts/checkpatch.pl | 2 +-
> scripts/kwbimage.c | 1224 ++++++++++++++++++++
> scripts/kwboot.c | 717 ++++++++++++
> 34 files changed, 2540 insertions(+), 2 deletions(-)
> create mode 100644 arch/arm/boards/globalscale-mirabox/Makefile
> create mode 100644 arch/arm/boards/globalscale-mirabox/config.h
> create mode 100644 arch/arm/boards/globalscale-mirabox/globalscale-mirabox.c
> create mode 100644 arch/arm/boards/globalscale-mirabox/kwbimage.cfg
> create mode 100644 arch/arm/boards/globalscale-mirabox/lowlevel.c
> create mode 100644 arch/arm/boards/marvell-armada-xp-gp/Makefile
> create mode 100644 arch/arm/boards/marvell-armada-xp-gp/config.h
> create mode 100644 arch/arm/boards/marvell-armada-xp-gp/kwbimage.cfg
> create mode 100644 arch/arm/boards/marvell-armada-xp-gp/lowlevel.c
> create mode 100644 arch/arm/boards/marvell-armada-xp-gp/marvell-armada-xp-gp.c
> create mode 100644 arch/arm/boards/plathome-openblocks-ax3/Makefile
> create mode 100644 arch/arm/boards/plathome-openblocks-ax3/config.h
> create mode 100644 arch/arm/boards/plathome-openblocks-ax3/kwbimage.cfg
> create mode 100644 arch/arm/boards/plathome-openblocks-ax3/lowlevel.c
> create mode 100644 arch/arm/boards/plathome-openblocks-ax3/plathome-openblocks-ax3.c
> create mode 100644 arch/arm/configs/globalscale_mirabox_defconfig
> create mode 100644 arch/arm/configs/marvell_armada_xp_gp_defconfig
> create mode 100644 arch/arm/configs/plathome_openblocks_ax3_defconfig
> create mode 100644 arch/arm/mach-mvebu/Kconfig
> create mode 100644 arch/arm/mach-mvebu/Makefile
> create mode 100644 arch/arm/mach-mvebu/core.c
> create mode 100644 arch/arm/mach-mvebu/include/mach/clkdev.h
> create mode 100644 arch/arm/mach-mvebu/include/mach/debug_ll.h
> create mode 100644 arch/arm/mach-mvebu/include/mach/mvebu.h
> create mode 100644 drivers/clocksource/mvebu.c
> create mode 100644 scripts/kwbimage.c
> create mode 100644 scripts/kwboot.c
>
--
Gregory Clement, Free Electrons
Kernel, drivers, real-time and embedded Linux
development, consulting, training and support.
http://free-electrons.com
More information about the barebox
mailing list