U-boot Archive mirror
 help / color / mirror / Atom feed
From: "Marek Behún" <kabel@kernel.org>
To: Stefan Roese <sr@denx.de>
Cc: u-boot@lists.denx.de, "Marek Behún" <kabel@kernel.org>
Subject: [PATCH u-boot-mvebu 00/10] Turris Omnia DDR training changes
Date: Mon, 15 Apr 2024 18:30:33 +0200	[thread overview]
Message-ID: <20240415163043.7482-1-kabel@kernel.org> (raw)

Hi Stefan,

this series adds some changes to DDR3 training for Armada 38x and
Turris Omnia.

- patches 1-4 are meant to allow for reducing another 10 KiB in the
  SPL binary. They were also sent to mv-ddr-marvell, via PR on github,
  https://github.com/MarvellEmbeddedProcessors/mv-ddr-marvell/pull/45/
  but I am told that Armada team has left Marvell, so who knows if this
  will ever be merged there
- patch 5 enables this reduction for Turris Omnia
- patches 6-8 import old DDR3 training code and make some changes so
  that it works with U-Boot. The reason why this is being done is
  explained in patch 6
- patch 9 glues the old DDR3 training code to current U-Boot
- patch 10 allows for dynamic selection of old DDR3 training code on
  Turris Omnia, via an U-Boot environment variable

Marek

Marek Behún (10):
  ddr: marvell: a38x: debug: return from ddr3_tip_print_log() early if
    we won't print anything
  ddr: marvell: a38x: debug: Remove unused variables
  ddr: marvell: a38x: debug: Define DDR_VIEWER_TOOL variables only if
    needed, and make them static
  ddr: marvell: a38x: debug: Allow compiling with immutable debug
    settings to reduce binary size
  arm: mvebu: turris_omnia: Enable immutable debug settings in DDR3
    training by default
  ddr: marvell: a38x: Import old DDR training code from 2017 version of
    U-Boot
  ddr: marvell: a38x: old: Fix some compiler warning of the old code
  ddr: marvell: a38x: old: Backport immutable debug settings
  arm: mvebu: a38x: Add optional support for using old DDR3 training
    code
  arm: mvebu: turris_omnia: Support old DDR3 training, selectable via
    env var

 arch/arm/mach-mvebu/Kconfig                   |   15 +
 arch/arm/mach-mvebu/include/mach/cpu.h        |    1 +
 arch/arm/mach-mvebu/spl.c                     |   37 +-
 board/CZ.NIC/turris_omnia/Makefile            |    1 +
 board/CZ.NIC/turris_omnia/old_ddr3_training.c |   79 +
 board/CZ.NIC/turris_omnia/turris_omnia.c      |    2 +-
 configs/turris_omnia_defconfig                |    1 +
 drivers/ddr/marvell/a38x/Makefile             |    2 +
 drivers/ddr/marvell/a38x/ddr3_debug.c         |   30 +-
 drivers/ddr/marvell/a38x/ddr3_init.c          |    3 +-
 drivers/ddr/marvell/a38x/ddr3_init.h          |   43 +-
 drivers/ddr/marvell/a38x/old/Makefile         |   29 +
 drivers/ddr/marvell/a38x/old/ddr3_a38x.c      |  738 +++++
 drivers/ddr/marvell/a38x/old/ddr3_a38x.h      |   93 +
 .../marvell/a38x/old/ddr3_a38x_mc_static.h    |  226 ++
 .../ddr/marvell/a38x/old/ddr3_a38x_topology.h |   22 +
 .../ddr/marvell/a38x/old/ddr3_a38x_training.c |   40 +
 drivers/ddr/marvell/a38x/old/ddr3_debug.c     | 1545 ++++++++++
 .../marvell/a38x/old/ddr3_hws_hw_training.c   |  148 +
 .../marvell/a38x/old/ddr3_hws_hw_training.h   |   49 +
 .../a38x/old/ddr3_hws_hw_training_def.h       |  464 +++
 .../marvell/a38x/old/ddr3_hws_sil_training.h  |   17 +
 drivers/ddr/marvell/a38x/old/ddr3_init.c      |  770 +++++
 drivers/ddr/marvell/a38x/old/ddr3_init.h      |  405 +++
 .../ddr/marvell/a38x/old/ddr3_logging_def.h   |  101 +
 .../marvell/a38x/old/ddr3_patterns_64bit.h    |  924 ++++++
 .../ddr/marvell/a38x/old/ddr3_topology_def.h  |   76 +
 drivers/ddr/marvell/a38x/old/ddr3_training.c  | 2651 +++++++++++++++++
 .../ddr/marvell/a38x/old/ddr3_training_bist.c |  289 ++
 .../a38x/old/ddr3_training_centralization.c   |  712 +++++
 .../ddr/marvell/a38x/old/ddr3_training_db.c   |  652 ++++
 .../marvell/a38x/old/ddr3_training_hw_algo.c  |  686 +++++
 .../marvell/a38x/old/ddr3_training_hw_algo.h  |   14 +
 .../ddr/marvell/a38x/old/ddr3_training_ip.h   |  178 ++
 .../marvell/a38x/old/ddr3_training_ip_bist.h  |   54 +
 .../old/ddr3_training_ip_centralization.h     |   15 +
 .../marvell/a38x/old/ddr3_training_ip_db.h    |   34 +
 .../marvell/a38x/old/ddr3_training_ip_def.h   |  173 ++
 .../a38x/old/ddr3_training_ip_engine.c        | 1355 +++++++++
 .../a38x/old/ddr3_training_ip_engine.h        |   85 +
 .../marvell/a38x/old/ddr3_training_ip_flow.h  |  349 +++
 .../marvell/a38x/old/ddr3_training_ip_pbs.h   |   41 +
 .../a38x/old/ddr3_training_ip_prv_if.h        |  107 +
 .../a38x/old/ddr3_training_ip_static.h        |   31 +
 .../marvell/a38x/old/ddr3_training_leveling.c | 1837 ++++++++++++
 .../marvell/a38x/old/ddr3_training_leveling.h |   17 +
 .../ddr/marvell/a38x/old/ddr3_training_pbs.c  |  995 +++++++
 .../marvell/a38x/old/ddr3_training_static.c   |  538 ++++
 .../ddr/marvell/a38x/old/ddr_topology_def.h   |  121 +
 .../ddr/marvell/a38x/old/ddr_training_ip_db.h |   16 +
 .../marvell/a38x/old/glue_symbol_renames.h    |  247 ++
 drivers/ddr/marvell/a38x/old/silicon_if.h     |   17 +
 drivers/ddr/marvell/a38x/old/xor.h            |   92 +
 53 files changed, 17138 insertions(+), 29 deletions(-)
 create mode 100644 board/CZ.NIC/turris_omnia/old_ddr3_training.c
 create mode 100644 drivers/ddr/marvell/a38x/old/Makefile
 create mode 100644 drivers/ddr/marvell/a38x/old/ddr3_a38x.c
 create mode 100644 drivers/ddr/marvell/a38x/old/ddr3_a38x.h
 create mode 100644 drivers/ddr/marvell/a38x/old/ddr3_a38x_mc_static.h
 create mode 100644 drivers/ddr/marvell/a38x/old/ddr3_a38x_topology.h
 create mode 100644 drivers/ddr/marvell/a38x/old/ddr3_a38x_training.c
 create mode 100644 drivers/ddr/marvell/a38x/old/ddr3_debug.c
 create mode 100644 drivers/ddr/marvell/a38x/old/ddr3_hws_hw_training.c
 create mode 100644 drivers/ddr/marvell/a38x/old/ddr3_hws_hw_training.h
 create mode 100644 drivers/ddr/marvell/a38x/old/ddr3_hws_hw_training_def.h
 create mode 100644 drivers/ddr/marvell/a38x/old/ddr3_hws_sil_training.h
 create mode 100644 drivers/ddr/marvell/a38x/old/ddr3_init.c
 create mode 100644 drivers/ddr/marvell/a38x/old/ddr3_init.h
 create mode 100644 drivers/ddr/marvell/a38x/old/ddr3_logging_def.h
 create mode 100644 drivers/ddr/marvell/a38x/old/ddr3_patterns_64bit.h
 create mode 100644 drivers/ddr/marvell/a38x/old/ddr3_topology_def.h
 create mode 100644 drivers/ddr/marvell/a38x/old/ddr3_training.c
 create mode 100644 drivers/ddr/marvell/a38x/old/ddr3_training_bist.c
 create mode 100644 drivers/ddr/marvell/a38x/old/ddr3_training_centralization.c
 create mode 100644 drivers/ddr/marvell/a38x/old/ddr3_training_db.c
 create mode 100644 drivers/ddr/marvell/a38x/old/ddr3_training_hw_algo.c
 create mode 100644 drivers/ddr/marvell/a38x/old/ddr3_training_hw_algo.h
 create mode 100644 drivers/ddr/marvell/a38x/old/ddr3_training_ip.h
 create mode 100644 drivers/ddr/marvell/a38x/old/ddr3_training_ip_bist.h
 create mode 100644 drivers/ddr/marvell/a38x/old/ddr3_training_ip_centralization.h
 create mode 100644 drivers/ddr/marvell/a38x/old/ddr3_training_ip_db.h
 create mode 100644 drivers/ddr/marvell/a38x/old/ddr3_training_ip_def.h
 create mode 100644 drivers/ddr/marvell/a38x/old/ddr3_training_ip_engine.c
 create mode 100644 drivers/ddr/marvell/a38x/old/ddr3_training_ip_engine.h
 create mode 100644 drivers/ddr/marvell/a38x/old/ddr3_training_ip_flow.h
 create mode 100644 drivers/ddr/marvell/a38x/old/ddr3_training_ip_pbs.h
 create mode 100644 drivers/ddr/marvell/a38x/old/ddr3_training_ip_prv_if.h
 create mode 100644 drivers/ddr/marvell/a38x/old/ddr3_training_ip_static.h
 create mode 100644 drivers/ddr/marvell/a38x/old/ddr3_training_leveling.c
 create mode 100644 drivers/ddr/marvell/a38x/old/ddr3_training_leveling.h
 create mode 100644 drivers/ddr/marvell/a38x/old/ddr3_training_pbs.c
 create mode 100644 drivers/ddr/marvell/a38x/old/ddr3_training_static.c
 create mode 100644 drivers/ddr/marvell/a38x/old/ddr_topology_def.h
 create mode 100644 drivers/ddr/marvell/a38x/old/ddr_training_ip_db.h
 create mode 100644 drivers/ddr/marvell/a38x/old/glue_symbol_renames.h
 create mode 100644 drivers/ddr/marvell/a38x/old/silicon_if.h
 create mode 100644 drivers/ddr/marvell/a38x/old/xor.h

-- 
2.43.2


             reply	other threads:[~2024-04-15 16:30 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-04-15 16:30 Marek Behún [this message]
2024-04-15 16:30 ` [PATCH u-boot-mvebu 01/10] ddr: marvell: a38x: debug: return from ddr3_tip_print_log() early if we won't print anything Marek Behún
2024-04-15 16:30 ` [PATCH u-boot-mvebu 02/10] ddr: marvell: a38x: debug: Remove unused variables Marek Behún
2024-04-15 16:30 ` [PATCH u-boot-mvebu 03/10] ddr: marvell: a38x: debug: Define DDR_VIEWER_TOOL variables only if needed, and make them static Marek Behún
2024-04-15 16:30 ` [PATCH u-boot-mvebu 04/10] ddr: marvell: a38x: debug: Allow compiling with immutable debug settings to reduce binary size Marek Behún
2024-04-15 16:30 ` [PATCH u-boot-mvebu 05/10] arm: mvebu: turris_omnia: Enable immutable debug settings in DDR3 training by default Marek Behún
2024-04-15 16:30 ` [PATCH u-boot-mvebu 06/10] ddr: marvell: a38x: Import old DDR training code from 2017 version of U-Boot Marek Behún
2024-04-15 16:30 ` [PATCH u-boot-mvebu 07/10] ddr: marvell: a38x: old: Fix some compiler warning of the old code Marek Behún
2024-04-15 16:30 ` [PATCH u-boot-mvebu 08/10] ddr: marvell: a38x: old: Backport immutable debug settings Marek Behún
2024-04-15 16:30 ` [PATCH u-boot-mvebu 09/10] arm: mvebu: a38x: Add optional support for using old DDR3 training code Marek Behún
2024-04-15 16:30 ` [PATCH u-boot-mvebu 10/10] arm: mvebu: turris_omnia: Support old DDR3 training, selectable via env var Marek Behún
2024-05-06 10:03   ` Stefan Roese
2024-05-15  8:59     ` Marek Behún
2024-05-15  9:10       ` Stefan Roese
2024-05-15  9:24         ` Marek Behún
2024-05-15 15:11           ` Stefan Roese
2024-04-15 22:20 ` [PATCH u-boot-mvebu 00/10] Turris Omnia DDR training changes Tony Dinh
2024-04-16 10:10   ` Marek Behún
2024-04-16 19:45     ` Tony Dinh

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20240415163043.7482-1-kabel@kernel.org \
    --to=kabel@kernel.org \
    --cc=sr@denx.de \
    --cc=u-boot@lists.denx.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).