[U-Boot] [PATCH 0/1] ARM: mvebu: Armada-38x DDR training update

Chris Packham judge.packham at gmail.com
Mon Dec 3 00:46:56 UTC 2018


Hi Stefan,

Gmail seems to have started marking some u-boot email as spam so I
didn't see this earlier.

On Thu, Nov 29, 2018 at 11:35 PM Stefan Roese <sr at denx.de> wrote:
>
> Hi Chris,
>
> On 29.11.18 04:16, Chris Packham wrote:
> > I had a faulty board to debug at $dayjob. Part of that involved trying the
> > latest DDR training code from Marvell. That didn't fix by problem (I
> > suspect a manufacturing issue with that board).
> >
> > Since I've done the work anyway I figured I'd send this out. Most of the
> > delta is code movement and tidy up. There's very little behavioural
> > change for A38X.
>
> Thank you very much for sync'ing with the Marvell source again. Would
> it be possible to include the Marvell U-Boot version (Git ID) with
> such a sync? And perhaps also add a short summary of the changes
> to tha last sync'ed version (patch list)?

Can do. The specific sync point armada-18.09.2 is pretty easy to
identify (even though they don't use tags) but adding a sha1 won't
hurt.

I almost did this patch-by-patch but there was a bit too much noise to
signal in that. I'll try and come up with a coherent summary for v2,
as I say the A38X stuff is mostly cosmetic.

> > This may however be useful if/when someone starts
> > looking at the newer Armada-3700/3900 SoCs.
>
> How so? Are these SoCs now supported by this DDR setup code as well?

There is code for the Armada-3700/3900 although the Makefile seems to
only support building it for ATF. For now I'm omitting it to keep the
patch size down.

One thing that would need to change is the code layout in u-boot since
the Marvell version has sub-directories for the IP blocks (e.g. a38x,
a3700) with the generic stuff at the top level.

> Thanks,
> Stefan
>
> >
> > Chris Packham (1):
> >    ARM: mvebu: a38x: sync ddr training code with mv_ddr-armada-18.09
> >
> >   board/CZ.NIC/turris_omnia/turris_omnia.c      |   4 +-
> >   board/Marvell/db-88f6820-amc/db-88f6820-amc.c |   2 +-
> >   board/Marvell/db-88f6820-gp/db-88f6820-gp.c   |   2 +-
> >   board/gdsys/a38x/controlcenterdc.c            |   2 +-
> >   board/kobol/helios4/helios4.c                 |   2 +-
> >   board/solidrun/clearfog/clearfog.c            |   2 +-
> >   drivers/ddr/marvell/a38x/ddr3_debug.c         | 414 +--------------
> >   drivers/ddr/marvell/a38x/ddr3_init.c          |  91 +---
> >   drivers/ddr/marvell/a38x/ddr3_init.h          |  43 +-
> >   drivers/ddr/marvell/a38x/ddr3_topology_def.h  |  78 ---
> >   drivers/ddr/marvell/a38x/ddr3_training.c      | 484 +++++++++---------
> >   drivers/ddr/marvell/a38x/ddr3_training_bist.c |   1 +
> >   .../a38x/ddr3_training_centralization.c       |   3 +
> >   drivers/ddr/marvell/a38x/ddr3_training_db.c   | 172 ++++---
> >   .../ddr/marvell/a38x/ddr3_training_hw_algo.c  |   1 +
> >   drivers/ddr/marvell/a38x/ddr3_training_ip.h   |  38 --
> >   .../ddr/marvell/a38x/ddr3_training_ip_def.h   |  31 --
> >   .../marvell/a38x/ddr3_training_ip_engine.c    |   2 +
> >   .../marvell/a38x/ddr3_training_ip_engine.h    |   1 +
> >   .../ddr/marvell/a38x/ddr3_training_ip_flow.h  |  91 +---
> >   .../marvell/a38x/ddr3_training_ip_prv_if.h    |  10 +-
> >   .../ddr/marvell/a38x/ddr3_training_leveling.c |  75 +--
> >   .../ddr/marvell/a38x/ddr3_training_leveling.h |   1 -
> >   drivers/ddr/marvell/a38x/ddr3_training_pbs.c  |   7 +-
> >   drivers/ddr/marvell/a38x/ddr_topology_def.h   | 107 +++-
> >   drivers/ddr/marvell/a38x/ddr_training_ip_db.h |   2 -
> >   drivers/ddr/marvell/a38x/dram_if.h            |  13 +
> >   .../ddr/marvell/a38x/mv_ddr_build_message.c   |   2 +-
> >   drivers/ddr/marvell/a38x/mv_ddr_common.h      |  38 +-
> >   drivers/ddr/marvell/a38x/mv_ddr_plat.c        | 181 ++++---
> >   drivers/ddr/marvell/a38x/mv_ddr_plat.h        |  12 +-
> >   drivers/ddr/marvell/a38x/mv_ddr_regs.h        |  19 +
> >   drivers/ddr/marvell/a38x/mv_ddr_spd.c         |  16 +-
> >   drivers/ddr/marvell/a38x/mv_ddr_topology.c    | 215 ++++++--
> >   drivers/ddr/marvell/a38x/mv_ddr_topology.h    | 214 +++++++-
> >   drivers/ddr/marvell/a38x/mv_ddr_training_db.h |  40 ++
> >   drivers/ddr/marvell/a38x/xor.c                |   8 +-
> >   37 files changed, 1163 insertions(+), 1261 deletions(-)
> >   delete mode 100644 drivers/ddr/marvell/a38x/ddr3_topology_def.h
> >   create mode 100644 drivers/ddr/marvell/a38x/dram_if.h
> >   create mode 100644 drivers/ddr/marvell/a38x/mv_ddr_training_db.h
> >
>
> Viele Grüße,
> Stefan
>
> --
> DENX Software Engineering GmbH,      Managing Director: Wolfgang Denk
> HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
> Phone: (+49)-8142-66989-51 Fax: (+49)-8142-66989-80 Email: sr at denx.de


More information about the U-Boot mailing list