[U-Boot] [PATCH v2 0/3] ddr: vybrid: Support for vf610 built-in DDR3 memory calibration

Lukasz Majewski
2018-12-05T16:04:00Z

This patch series provides code to perform read leveling - RDLVL, which
is adjusting the DQS strobe in relation to the DQ signals so that the
strobe edge is centered in the window of valid read data.

The code is based on Vybrid's Reference Manual's:
"VFxxx Controller Reference Manual, Rev. 0, 10/2016", page 1600,
10.1.6.16.4.1 "Software Read Leveling in MC Evaluation Mode"

and uses clarification provided by following NXP's community thread:
"Vybrid: About DDR leveling feature on DDRMC."
https://community.nxp.com/thread/395323

It depends on a BITMAP rework patch:
usb: composite: Move bitmap related operations to ./include/linux/bitmap.h
http://patchwork.ozlabs.org/patch/1006448/

Changes in v2:
- CR93_SWLVL_EXIT -> CR94_SWLVL_EXIT (EXIT is in CR94)
- Add more defines to imx-regs.h (moved from *-calibration.h)
- CR93_SWLVL_EXIT -> CR94_SWLVL_EXIT (EXIT is in CR94)
- Update Kconfig information regarding DDRMC_VF610_CALIBRATION
- Update ddrmc-vf610-calibration. comment
- Update code after extending imx-regs.h
- Remove not needed #ifdef

Lukasz Majewski (3):
ddr: vybrid: Add DDRMC calibration related registers (DQS to DQ)
ddr: vybrid: Provide code to perform on-boot calibration
ddr: vybrid: Add calibration code to memory controler's (DDRMC) setup
code

arch/arm/include/asm/arch-vf610/imx-regs.h | 14 +-
arch/arm/mach-imx/Kconfig | 12 +
arch/arm/mach-imx/Makefile | 1 +
arch/arm/mach-imx/ddrmc-vf610-calibration.c | 342 ++++++++++++++++++++++++++++
arch/arm/mach-imx/ddrmc-vf610-calibration.h | 45 ++++
arch/arm/mach-imx/ddrmc-vf610.c | 5 +
6 files changed, 418 insertions(+), 1 deletion(-)
create mode 100644 arch/arm/mach-imx/ddrmc-vf610-calibration.c
create mode 100644 arch/arm/mach-imx/ddrmc-vf610-calibration.h

--
2.11.0