[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