mbox series

[u-boot-marvell,00/16] Turris Omnia DDR training changes

Message ID 20240618153439.9518-1-kabel@kernel.org
Headers show
Series Turris Omnia DDR training changes | expand

Message

Marek Behún June 18, 2024, 3:34 p.m. UTC
Hi Stefan,

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

I also put one unrelated patch (Fix ethernet PHY reset gpio FDT fixup)
here.

It depends on stuff in Tom's next branch.

Marek

Marek Behún (16):
  arm: mvebu: turris_omnia: Disable ext4 write support in defconfig
  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
  arm: mvebu: turris_omnia: Fix ethernet PHY reset gpio FDT fixup
  arm: mvebu: turris_omnia: Implement EEPROM layout for the 'eeprom'
    command
  arm: mvebu: turris_omnia: Enable the 'eeprom' command
  arm: mvebu: turris_omnia: Extend EEPROM info structure
  arm: mvebu: turris_omnia: Read DDR speed from EEPROM
  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

 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            |    2 +
 board/CZ.NIC/turris_omnia/eeprom.c            |  190 ++
 board/CZ.NIC/turris_omnia/old_ddr3_training.c |   63 +
 board/CZ.NIC/turris_omnia/turris_omnia.c      |  199 +-
 configs/turris_omnia_defconfig                |    6 +-
 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      |  737 +++++
 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 |   39 +
 drivers/ddr/marvell/a38x/old/ddr3_debug.c     | 1546 ++++++++++
 .../marvell/a38x/old/ddr3_hws_hw_training.c   |  147 +
 .../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      |  769 +++++
 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  | 2650 +++++++++++++++++
 .../ddr/marvell/a38x/old/ddr3_training_bist.c |  288 ++
 .../a38x/old/ddr3_training_centralization.c   |  711 +++++
 .../ddr/marvell/a38x/old/ddr3_training_db.c   |  651 ++++
 .../marvell/a38x/old/ddr3_training_hw_algo.c  |  685 +++++
 .../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        | 1354 +++++++++
 .../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 | 1836 ++++++++++++
 .../marvell/a38x/old/ddr3_training_leveling.h |   17 +
 .../ddr/marvell/a38x/old/ddr3_training_pbs.c  |  994 +++++++
 .../marvell/a38x/old/ddr3_training_static.c   |  537 ++++
 .../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 +
 54 files changed, 17475 insertions(+), 57 deletions(-)
 create mode 100644 board/CZ.NIC/turris_omnia/eeprom.c
 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

Comments

Stefan Roese July 8, 2024, 2:16 p.m. UTC | #1
On 6/18/24 17:34, Marek Behún wrote:
> Hi Stefan,
> 
> this is v2 of the series adds some changes to DDR3 training for Armada
> 38x and Turris Omnia.
> 
> I also put one unrelated patch (Fix ethernet PHY reset gpio FDT fixup)
> here.
> 
> It depends on stuff in Tom's next branch.

Applied to u-boot-marvell/master

Thanks,
Stefan


> Marek
> 
> Marek Behún (16):
>    arm: mvebu: turris_omnia: Disable ext4 write support in defconfig
>    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
>    arm: mvebu: turris_omnia: Fix ethernet PHY reset gpio FDT fixup
>    arm: mvebu: turris_omnia: Implement EEPROM layout for the 'eeprom'
>      command
>    arm: mvebu: turris_omnia: Enable the 'eeprom' command
>    arm: mvebu: turris_omnia: Extend EEPROM info structure
>    arm: mvebu: turris_omnia: Read DDR speed from EEPROM
>    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
> 
>   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            |    2 +
>   board/CZ.NIC/turris_omnia/eeprom.c            |  190 ++
>   board/CZ.NIC/turris_omnia/old_ddr3_training.c |   63 +
>   board/CZ.NIC/turris_omnia/turris_omnia.c      |  199 +-
>   configs/turris_omnia_defconfig                |    6 +-
>   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      |  737 +++++
>   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 |   39 +
>   drivers/ddr/marvell/a38x/old/ddr3_debug.c     | 1546 ++++++++++
>   .../marvell/a38x/old/ddr3_hws_hw_training.c   |  147 +
>   .../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      |  769 +++++
>   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  | 2650 +++++++++++++++++
>   .../ddr/marvell/a38x/old/ddr3_training_bist.c |  288 ++
>   .../a38x/old/ddr3_training_centralization.c   |  711 +++++
>   .../ddr/marvell/a38x/old/ddr3_training_db.c   |  651 ++++
>   .../marvell/a38x/old/ddr3_training_hw_algo.c  |  685 +++++
>   .../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        | 1354 +++++++++
>   .../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 | 1836 ++++++++++++
>   .../marvell/a38x/old/ddr3_training_leveling.h |   17 +
>   .../ddr/marvell/a38x/old/ddr3_training_pbs.c  |  994 +++++++
>   .../marvell/a38x/old/ddr3_training_static.c   |  537 ++++
>   .../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 +
>   54 files changed, 17475 insertions(+), 57 deletions(-)
>   create mode 100644 board/CZ.NIC/turris_omnia/eeprom.c
>   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
> 

Viele Grüße,
Stefan Roese