mbox series

[U-Boot,v2,0/6] ARM: mvebu: a38x: updates to ddr training code

Message ID 20180409101257.3899-1-judge.packham@gmail.com
Headers show
Series ARM: mvebu: a38x: updates to ddr training code | expand

Message

Chris Packham April 9, 2018, 10:12 a.m. UTC
This series updates the ddr training code in u-boot with the latest
publicly available version from Marvell which can be found at
https://github.com/MarvellEmbeddedProcessors/mv-ddr-marvell.git
(mv_ddr-armada-17.10 branch).

I've tried to make the delta as small as possible without breaking
bisect-ability.

The first 2 patches have already been sent as
http://patchwork.ozlabs.org/patch/894866/ and
http://patchwork.ozlabs.org/patch/894865/

The bulk of the changes are in patch 4. Naturally this doesn't pass
checkpatch.pl but I'm erring on the side of being able to diff with the
upstream source. Also due to it's size this patch may not make it to the
mailing list so the full series can be retrieved from the mv-ddr branch
of https://github.com/cpackham/u-boot.git.

I've tested this series on the db-88f6820-amc board and on a custom
board that is not upstream (yet). I've also build tested the other a38x
boards. More testing on actual hardware would be greatly appreciated.

Changes in v2:
- remove unused #include

Chris Packham (6):
  ARM: mvebu: a38x: move definition of PEX_CFG_DIRECT_ACCESS
  ARM: mvebu: a38x: move sys_env_device_rev_get
  ARM: mvebu: a38x: remove some unused code
  ARM: mvebu: a38x: sync ddr training code with upstream
  ARM: mvebu: a38x: restore support for setting timing
  ARM: mvebu: a38x: use non-zero size for ddr scrubbing

 arch/arm/mach-mvebu/serdes/a38x/ctrl_pex.h         |    1 +
 arch/arm/mach-mvebu/serdes/a38x/sys_env_lib.c      |   26 +-
 arch/arm/mach-mvebu/serdes/a38x/sys_env_lib.h      |    1 -
 board/CZ.NIC/turris_omnia/turris_omnia.c           |   38 +-
 board/Marvell/db-88f6820-amc/db-88f6820-amc.c      |   21 +-
 board/Marvell/db-88f6820-gp/db-88f6820-gp.c        |   21 +-
 board/gdsys/a38x/controlcenterdc.c                 |   22 +-
 board/solidrun/clearfog/clearfog.c                 |   21 +-
 drivers/ddr/marvell/a38x/Makefile                  |   10 +-
 drivers/ddr/marvell/a38x/ddr3_a38x.c               |  737 ----------
 drivers/ddr/marvell/a38x/ddr3_a38x.h               |   93 --
 drivers/ddr/marvell/a38x/ddr3_a38x_mc_static.h     |  226 ---
 drivers/ddr/marvell/a38x/ddr3_a38x_topology.h      |   22 -
 drivers/ddr/marvell/a38x/ddr3_a38x_training.c      |   40 -
 drivers/ddr/marvell/a38x/ddr3_debug.c              |  742 ++++++----
 drivers/ddr/marvell/a38x/ddr3_hws_hw_training.c    |  148 --
 drivers/ddr/marvell/a38x/ddr3_hws_hw_training.h    |   49 -
 .../ddr/marvell/a38x/ddr3_hws_hw_training_def.h    |  464 ------
 drivers/ddr/marvell/a38x/ddr3_hws_sil_training.h   |   17 -
 drivers/ddr/marvell/a38x/ddr3_init.c               |  798 ++---------
 drivers/ddr/marvell/a38x/ddr3_init.h               |  300 +---
 drivers/ddr/marvell/a38x/ddr3_logging_def.h        |   10 +-
 drivers/ddr/marvell/a38x/ddr3_patterns_64bit.h     |    1 +
 drivers/ddr/marvell/a38x/ddr3_topology_def.h       |    6 +-
 drivers/ddr/marvell/a38x/ddr3_training.c           | 1491 +++++++++++---------
 drivers/ddr/marvell/a38x/ddr3_training_bist.c      |  548 +++++--
 .../marvell/a38x/ddr3_training_centralization.c    |  108 +-
 drivers/ddr/marvell/a38x/ddr3_training_db.c        |  267 +++-
 drivers/ddr/marvell/a38x/ddr3_training_hw_algo.c   |   98 +-
 drivers/ddr/marvell/a38x/ddr3_training_ip.h        |   19 +-
 drivers/ddr/marvell/a38x/ddr3_training_ip_bist.h   |    6 +-
 drivers/ddr/marvell/a38x/ddr3_training_ip_db.h     |   71 +-
 drivers/ddr/marvell/a38x/ddr3_training_ip_def.h    |   34 +-
 drivers/ddr/marvell/a38x/ddr3_training_ip_engine.c | 1134 +++++++++------
 drivers/ddr/marvell/a38x/ddr3_training_ip_engine.h |    9 +-
 drivers/ddr/marvell/a38x/ddr3_training_ip_flow.h   |  305 +---
 drivers/ddr/marvell/a38x/ddr3_training_ip_prv_if.h |   17 +-
 drivers/ddr/marvell/a38x/ddr3_training_ip_static.h |   31 -
 drivers/ddr/marvell/a38x/ddr3_training_leveling.c  | 1347 ++++++++++--------
 drivers/ddr/marvell/a38x/ddr3_training_leveling.h  |    2 +-
 drivers/ddr/marvell/a38x/ddr3_training_pbs.c       |  201 +--
 drivers/ddr/marvell/a38x/ddr3_training_static.c    |  539 -------
 drivers/ddr/marvell/a38x/ddr_ml_wrapper.h          |  149 ++
 drivers/ddr/marvell/a38x/ddr_topology_def.h        |   84 +-
 drivers/ddr/marvell/a38x/mv_ddr_build_message.c    |    1 +
 drivers/ddr/marvell/a38x/mv_ddr_common.c           |   48 +
 drivers/ddr/marvell/a38x/mv_ddr_common.h           |   21 +
 drivers/ddr/marvell/a38x/mv_ddr_plat.c             | 1451 +++++++++++++++++++
 drivers/ddr/marvell/a38x/mv_ddr_plat.h             |  237 ++++
 drivers/ddr/marvell/a38x/mv_ddr_regs.h             |  447 ++++++
 drivers/ddr/marvell/a38x/mv_ddr_spd.c              |  378 +++++
 drivers/ddr/marvell/a38x/mv_ddr_spd.h              |  290 ++++
 drivers/ddr/marvell/a38x/mv_ddr_sys_env_lib.c      |  103 ++
 drivers/ddr/marvell/a38x/mv_ddr_sys_env_lib.h      |  118 ++
 drivers/ddr/marvell/a38x/mv_ddr_topology.c         |  198 +++
 drivers/ddr/marvell/a38x/mv_ddr_topology.h         |  130 ++
 drivers/ddr/marvell/a38x/seq_exec.h                |   65 +
 drivers/ddr/marvell/a38x/silicon_if.h              |   17 -
 drivers/ddr/marvell/a38x/xor.c                     |  185 ++-
 drivers/ddr/marvell/a38x/xor.h                     |    3 +-
 60 files changed, 7998 insertions(+), 5968 deletions(-)
 delete mode 100644 drivers/ddr/marvell/a38x/ddr3_a38x.c
 delete mode 100644 drivers/ddr/marvell/a38x/ddr3_a38x.h
 delete mode 100644 drivers/ddr/marvell/a38x/ddr3_a38x_mc_static.h
 delete mode 100644 drivers/ddr/marvell/a38x/ddr3_a38x_topology.h
 delete mode 100644 drivers/ddr/marvell/a38x/ddr3_a38x_training.c
 delete mode 100644 drivers/ddr/marvell/a38x/ddr3_hws_hw_training.c
 delete mode 100644 drivers/ddr/marvell/a38x/ddr3_hws_hw_training.h
 delete mode 100644 drivers/ddr/marvell/a38x/ddr3_hws_hw_training_def.h
 delete mode 100644 drivers/ddr/marvell/a38x/ddr3_hws_sil_training.h
 delete mode 100644 drivers/ddr/marvell/a38x/ddr3_training_ip_static.h
 delete mode 100644 drivers/ddr/marvell/a38x/ddr3_training_static.c
 create mode 100644 drivers/ddr/marvell/a38x/ddr_ml_wrapper.h
 create mode 100644 drivers/ddr/marvell/a38x/mv_ddr_build_message.c
 create mode 100644 drivers/ddr/marvell/a38x/mv_ddr_common.c
 create mode 100644 drivers/ddr/marvell/a38x/mv_ddr_common.h
 create mode 100644 drivers/ddr/marvell/a38x/mv_ddr_plat.c
 create mode 100644 drivers/ddr/marvell/a38x/mv_ddr_plat.h
 create mode 100644 drivers/ddr/marvell/a38x/mv_ddr_regs.h
 create mode 100644 drivers/ddr/marvell/a38x/mv_ddr_spd.c
 create mode 100644 drivers/ddr/marvell/a38x/mv_ddr_spd.h
 create mode 100644 drivers/ddr/marvell/a38x/mv_ddr_sys_env_lib.c
 create mode 100644 drivers/ddr/marvell/a38x/mv_ddr_sys_env_lib.h
 create mode 100644 drivers/ddr/marvell/a38x/mv_ddr_topology.c
 create mode 100644 drivers/ddr/marvell/a38x/mv_ddr_topology.h
 create mode 100644 drivers/ddr/marvell/a38x/seq_exec.h
 delete mode 100644 drivers/ddr/marvell/a38x/silicon_if.h

Comments

Stefan Roese May 9, 2018, 10:23 a.m. UTC | #1
Hi Chris,

On 09.04.2018 12:12, Chris Packham wrote:
> This series updates the ddr training code in u-boot with the latest
> publicly available version from Marvell which can be found at
> https://github.com/MarvellEmbeddedProcessors/mv-ddr-marvell.git
> (mv_ddr-armada-17.10 branch).
> 
> I've tried to make the delta as small as possible without breaking
> bisect-ability.
> 
> The first 2 patches have already been sent as
> http://patchwork.ozlabs.org/patch/894866/ and
> http://patchwork.ozlabs.org/patch/894865/
> 
> The bulk of the changes are in patch 4. Naturally this doesn't pass
> checkpatch.pl but I'm erring on the side of being able to diff with the
> upstream source. Also due to it's size this patch may not make it to the
> mailing list so the full series can be retrieved from the mv-ddr branch
> of https://github.com/cpackham/u-boot.git.
> 
> I've tested this series on the db-88f6820-amc board and on a custom
> board that is not upstream (yet). I've also build tested the other a38x
> boards. More testing on actual hardware would be greatly appreciated.
> 
> Changes in v2:
> - remove unused #include

Many thanks for working on this. I tried to apply the patches today
but failed. Most likely the license SPDX tag changes recently
applied are the problem. Could you please rebase again against
latest master and re-send?

Thanks,
Stefan