
On Wed, May 28, 2014 at 10:06 AM, Nikita Kiryanov nikita@compulab.co.il wrote:
Hi Tim,
On 08/05/14 08:16, Tim Harvey wrote:
Add memory-mapped structures for MMDC iomux and configuration. Note that the MMDC configuration registers are common between the IMX6DQ (IMX6DUAL/IMX6QUAD) and IMX6SDL (IMX6SOLO/IMX6DUALLITE) the iomux register addresses differ. This requires two sets of structures.
Add structures to describe DDR3 device information, system information (memory layout, etc), and MMDC calibration regitsers that can be used to configure the MMDC dynamically.
s/regitsers/registers
thanks - will address in the next revision or in a following the commit if we can ever get this series committed.
We define these structures for SPL builds instead of including mx6q-ddr.h an mx6dl-ddr.h which use the same namespace and are only useful for imximage cf files.
What about the usefulness of the structs for U-Boot code? For example, it might be necessary for U-Boot code to query the MMDC registers to setup memory related variables like gd->ram_size and gd->bd->bi_dram[i].size. Sure this can be done using the #defines in the header files, but we lose nothing by making the structs available to U-Boot as well.
perhaps, but I would assume if anyone needs these in u-boot they can broaden the scope when needed. There is an imx_ddr_size() function in spl/arch/arm/imx-common/cpu.c that returns dram size based on MMDC configuration already, yet it uses a subset of this structure that is common to imx in general.
Regards,
Tim