[PATCH 0/7] Basic support for Marvell Armada 370/XP SoC

Gregory CLEMENT gregory.clement at free-electrons.com
Tue May 7 19:46:05 EDT 2013


On 05/08/2013 01:28 AM, Gregory CLEMENT wrote:
> 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 :/

But I managed to run barebox on the Mirabox!

> 
> 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