mx6: ddr: pass mx6_ddr_sysinfo to calibration routines
authorEric Nelson <eric@nelint.com>
Sun, 30 Oct 2016 23:33:48 +0000 (16:33 -0700)
committerStefano Babic <sbabic@denx.de>
Tue, 29 Nov 2016 15:40:12 +0000 (16:40 +0100)
commit7f17fb7400ff091dd48f86977655c6a57d06b17c
tree3fffa58f57820093a9c8877e09d52602d830f03e
parentb33f74ead4dfd1ec0b500dc3d1cfef0e308b45c3
mx6: ddr: pass mx6_ddr_sysinfo to calibration routines

The DDR calibration routines have scattered support for bus
widths other than 64-bits:

-- The mmdc_do_write_level_calibration() routine assumes the
presence of PHY1, and
-- The mmdc_do_dqs_calibration() routine tries to determine
whether one or two DDR PHYs are active by reading MDCTL.

Since a caller of these routines must have a valid struct mx6_ddr_sysinfo
for use in calling mx6_dram_cfg(), and the bus width is available in the
"dsize" field, use this structure to inform the calibration routines which
PHYs are active.

This allows the use of the DDR calibration routines on CPU variants
like i.MX6SL that only have a single MMDC port.

Signed-off-by: Eric Nelson <eric@nelint.com>
Reviewed-by: Marek Vasut <marex@denx.de>
arch/arm/cpu/armv7/mx6/ddr.c
arch/arm/include/asm/arch-mx6/mx6-ddr.h
board/kosagi/novena/novena_spl.c