[U-Boot] [PATCH v2 0/11] Add full DDR init for Marvell Armada-XP MV78xx0 (AXP)

Stefan Roese sr at denx.de
Mon Jan 19 11:33:38 CET 2015


This patch adds the DDR3 setup and training code taken from the Marvell
U-Boot repository. This code used to be included as a binary (bin_hdr)
into the AXP boot image. Not linked with the main U-Boot. With this code
addition and the also included SERDES / PHY setup code, the Armada-XP
support in mainline U-Boot is finally self-contained. So the complete
image for booting can be built from mainline U-Boot. Without any
additional external inclusion. Hopefully other MVEBU SoC's will follow
here.

Tested on AXP using a SPD DIMM setup on the Marvell DB-MV784MP-GP board
and on a custom fixed DDR configuration board (maxbcm with MV78460).

Thanks,
Stefan

Changes in v2:
- Patch added to patch series (removal of dummy binary.0 files)
- Rebased on current master (2015.01, git ID ab77f241)

Stefan Roese (11):
  arm: mvebu: maxbcm: Fix compilation warning and add Spansion SPI NOR
    support
  arm: mvebu: drivers/ddr: Add DDR3 driver with training code from
    Marvell bin_hdr
  arm: mvebu: Add Serdes PHY config code
  arm: armada-xp: Add SPL support used to include the DDR training code
  scripts/Makefile.spl: Add MVEBU DDR code to SPL
  tools: kwbimage: Support u-boot.img padding to
    CONFIG_SYS_SPI_U_BOOT_OFFS
  Makefile: Add another kwb build target used on Marvell Armada-XP (AXP)
  arm: db-mv784mp-gp: Enable SPL to include DDR training code into
    U-Boot
  arm: maxbcm: Enable SPL to include DDR training code into U-Boot
  arm: mvebu: Placeholder bin_hdr file can now be removed
  arm: armada-xp: Change built target to include the SPL binary as
    bin_hdr

 Makefile                                           |    6 +
 arch/arm/Kconfig                                   |    2 +
 arch/arm/cpu/armv7/armada-xp/Makefile              |    2 +
 arch/arm/cpu/armv7/armada-xp/lowlevel_spl.S        |   62 +
 arch/arm/cpu/armv7/armada-xp/spl.c                 |   38 +
 arch/arm/include/asm/arch-armada-xp/config.h       |    4 +
 arch/arm/include/asm/arch-armada-xp/cpu.h          |   16 +
 arch/arm/mvebu-common/Makefile                     |    2 +
 arch/arm/mvebu-common/serdes/Makefile              |    6 +
 arch/arm/mvebu-common/serdes/board_env_spec.h      |  262 ++++
 arch/arm/mvebu-common/serdes/high_speed_env_lib.c  | 1572 +++++++++++++++++++
 arch/arm/mvebu-common/serdes/high_speed_env_spec.c |  185 +++
 arch/arm/mvebu-common/serdes/high_speed_env_spec.h |   87 ++
 arch/arm/mvebu-common/u-boot-spl.lds               |   57 +
 board/Marvell/db-mv784mp-gp/binary.0               |   17 -
 board/Marvell/db-mv784mp-gp/kwbimage.cfg           |    2 +-
 board/maxbcm/binary.0                              |   17 -
 board/maxbcm/kwbimage.cfg                          |    2 +-
 board/maxbcm/maxbcm.c                              |   85 +-
 configs/db-mv784mp-gp_defconfig                    |    5 +-
 configs/maxbcm_defconfig                           |    5 +-
 drivers/ddr/mvebu/Makefile                         |   14 +
 drivers/ddr/mvebu/ddr3_axp.h                       |  510 +++++++
 drivers/ddr/mvebu/ddr3_axp_config.h                |  146 ++
 drivers/ddr/mvebu/ddr3_axp_mc_static.h             |  284 ++++
 drivers/ddr/mvebu/ddr3_axp_training_static.h       |  770 ++++++++++
 drivers/ddr/mvebu/ddr3_axp_vars.h                  |  226 +++
 drivers/ddr/mvebu/ddr3_dfs.c                       | 1552 +++++++++++++++++++
 drivers/ddr/mvebu/ddr3_dqs.c                       | 1374 +++++++++++++++++
 drivers/ddr/mvebu/ddr3_hw_training.c               | 1115 ++++++++++++++
 drivers/ddr/mvebu/ddr3_hw_training.h               |  392 +++++
 drivers/ddr/mvebu/ddr3_init.c                      | 1219 +++++++++++++++
 drivers/ddr/mvebu/ddr3_init.h                      |  143 ++
 drivers/ddr/mvebu/ddr3_patterns_64bit.h            |  924 ++++++++++++
 drivers/ddr/mvebu/ddr3_pbs.c                       | 1592 ++++++++++++++++++++
 drivers/ddr/mvebu/ddr3_read_leveling.c             | 1214 +++++++++++++++
 drivers/ddr/mvebu/ddr3_sdram.c                     |  669 ++++++++
 drivers/ddr/mvebu/ddr3_spd.c                       | 1300 ++++++++++++++++
 drivers/ddr/mvebu/ddr3_write_leveling.c            | 1366 +++++++++++++++++
 drivers/ddr/mvebu/xor.c                            |  436 ++++++
 drivers/ddr/mvebu/xor.h                            |   70 +
 drivers/ddr/mvebu/xor_regs.h                       |  103 ++
 include/configs/db-mv784mp-gp.h                    |   49 +
 include/configs/maxbcm.h                           |   49 +
 scripts/Makefile.spl                               |    1 +
 tools/kwbimage.c                                   |   11 +
 46 files changed, 17919 insertions(+), 44 deletions(-)
 create mode 100644 arch/arm/cpu/armv7/armada-xp/lowlevel_spl.S
 create mode 100644 arch/arm/cpu/armv7/armada-xp/spl.c
 create mode 100644 arch/arm/mvebu-common/serdes/Makefile
 create mode 100644 arch/arm/mvebu-common/serdes/board_env_spec.h
 create mode 100644 arch/arm/mvebu-common/serdes/high_speed_env_lib.c
 create mode 100644 arch/arm/mvebu-common/serdes/high_speed_env_spec.c
 create mode 100644 arch/arm/mvebu-common/serdes/high_speed_env_spec.h
 create mode 100644 arch/arm/mvebu-common/u-boot-spl.lds
 delete mode 100644 board/Marvell/db-mv784mp-gp/binary.0
 delete mode 100644 board/maxbcm/binary.0
 create mode 100644 drivers/ddr/mvebu/Makefile
 create mode 100644 drivers/ddr/mvebu/ddr3_axp.h
 create mode 100644 drivers/ddr/mvebu/ddr3_axp_config.h
 create mode 100644 drivers/ddr/mvebu/ddr3_axp_mc_static.h
 create mode 100644 drivers/ddr/mvebu/ddr3_axp_training_static.h
 create mode 100644 drivers/ddr/mvebu/ddr3_axp_vars.h
 create mode 100644 drivers/ddr/mvebu/ddr3_dfs.c
 create mode 100644 drivers/ddr/mvebu/ddr3_dqs.c
 create mode 100644 drivers/ddr/mvebu/ddr3_hw_training.c
 create mode 100644 drivers/ddr/mvebu/ddr3_hw_training.h
 create mode 100644 drivers/ddr/mvebu/ddr3_init.c
 create mode 100644 drivers/ddr/mvebu/ddr3_init.h
 create mode 100644 drivers/ddr/mvebu/ddr3_patterns_64bit.h
 create mode 100644 drivers/ddr/mvebu/ddr3_pbs.c
 create mode 100644 drivers/ddr/mvebu/ddr3_read_leveling.c
 create mode 100644 drivers/ddr/mvebu/ddr3_sdram.c
 create mode 100644 drivers/ddr/mvebu/ddr3_spd.c
 create mode 100644 drivers/ddr/mvebu/ddr3_write_leveling.c
 create mode 100644 drivers/ddr/mvebu/xor.c
 create mode 100644 drivers/ddr/mvebu/xor.h
 create mode 100644 drivers/ddr/mvebu/xor_regs.h

-- 
2.2.2



More information about the U-Boot mailing list