u-boot/board/kobol/helios4
Chris Packham ebb1a59325 ARM: mvebu: a38x: sync ddr training code with mv_ddr-armada-18.09.02
This syncs drivers/ddr/marvell/a38x/ with the mv_ddr-armada-18.09 branch
of https://github.com/MarvellEmbeddedProcessors/mv-ddr-marvell.git.
Specifically this syncs with commit 99d772547314 ("Bump mv_ddr to
release armada-18.09.2").

The complete log of changes is best obtained from the mv-ddr-marvell.git
repository but some relevant highlights are:

  ddr3: add missing txsdll parameter
  ddr3: fix tfaw timimg parameter
  ddr3: fix trrd timimg parameter
  merge ddr3 topology header file with mv_ddr_topology one
  mv_ddr: a38x: fix zero memory size scrubbing issue

The upstream code is incorporated omitting the portions not relevant to
Armada-38x and DDR3. After that a semi-automated step is used to drop
unused features with unifdef

    find drivers/ddr/marvell/a38x/ -name '*.[ch]' | \
        xargs unifdef -m -UMV_DDR -UMV_DDR_ATF -UCONFIG_DDR4 \
                 -UCONFIG_APN806 -UCONFIG_MC_STATIC \
                 -UCONFIG_MC_STATIC_PRINT -UCONFIG_PHY_STATIC \
                 -UCONFIG_64BIT -UCONFIG_A3700 -UA3900 -UA80X0 \
                 -UA70X0

Signed-off-by: Chris Packham <judge.packham@gmail.com>
Reviewed-by: Stefan Roese <sr@denx.de>
Tested-by: Baruch Siach <baruch@tkos.co.il>
Signed-off-by: Stefan Roese <sr@denx.de>
2018-12-08 16:19:40 +01:00
..
helios4.c ARM: mvebu: a38x: sync ddr training code with mv_ddr-armada-18.09.02 2018-12-08 16:19:40 +01:00
MAINTAINERS arm: mvebu: Add Helios4 Armada 38x initial support 2018-06-12 13:17:19 +02:00
Makefile arm: mvebu: Add Helios4 Armada 38x initial support 2018-06-12 13:17:19 +02:00
README arm: mvebu: Add Helios4 Armada 38x initial support 2018-06-12 13:17:19 +02:00

Update from original Marvell U-Boot to mainline U-Boot:
-------------------------------------------------------

Generate the U-Boot image with these commands:

$ make helios4_defconfig
$ make

The resulting image including the SPL binary with the
full DDR setup is "u-boot-spl.kwb".

Now all you need to do is copy this image on a SD card.
For example with this command:

$ sudo dd if=u-boot-spl.kwb of=/dev/sdX bs=512 seek=1

Please use the correct device node for your setup instead
of "/dev/sdX" here!

Boot selection:
---------------

Before powering up the board, boot selection should be done via the SW1 dip
switch (0: OFF, 1: ON):

 - SPI:     00010
 - SD/eMMC: 00111
 - SATA1:   11100
 - UART:    11110

Boot from UART:
---------------

Connect the on-board micro-USB (CF Pro: CON11, CF Base: CON5)
to your host.

Set the SW1 DIP switches to UART boot (see above).

Run the following command to initiate U-Boot download:

  ./tools/kwboot -p -b u-boot-spl.kwb /dev/ttyUSBX

Use the correct UART device node for /dev/ttyUSBX.

When download finishes start your favorite terminal emulator
on /dev/ttyUSBX.