On Mon, Jan 19, 2015 at 11:33:38AM +0100, Stefan Roese wrote: > 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).
I've tested entire series on Kirkwood board RaidSonic ICY BOX IB-NAS62x0. That said: Tested-by: Luka Perkov <luka.per...@sartura.hr> Tom, can you pull this series as-is or should I pull it in Marvell tree first? Luka > 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 > _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot