]> git.kernelconcepts.de Git - karo-tx-uboot.git/commitdiff
am33xx: fix the ddr_cmdtctrl structure
authorIlya Ledvich <ilya@compulab.co.il>
Mon, 17 Jun 2013 13:59:27 +0000 (16:59 +0300)
committerTom Rini <trini@ti.com>
Tue, 2 Jul 2013 13:21:16 +0000 (09:21 -0400)
Fix the wrong mapping between the DDR I/O control registers on AM33XX
SoCs and the software representation in the SPL code.
The most recent public TRM defines the following DDR I/O control registers
offsets:
 * ddr_cmd0_ioctrl : offset 0x44E11404
 * ddr_cmd1_ioctrl : offset 0x44E11408
 * ddr_cmd2_ioctrl : offset 0x44E1140C
 * ddr_data0_ioctrl: offset 0x44E11440
 * ddr_data1_ioctrl: offset 0x44E11444

While the struct ddr_cmdtctrl has also some reserved bits in the beginning.
The struct is mapped to the address 0x44E11404. As a result "cm0ioctl" points
to the ddr_cmd1_ioctrl register, "cm1ioctl" to the ddr_cmd2_ioctrl and etc.
Registers ddr_cmd0_ioctrl and ddr_data0_ioctrl are never configured because
of this mapping mismatch.

Signed-off-by: Ilya Ledvich <ilya@compulab.co.il>
Reviewed-by: Peter Korsgaard <jacmet@sunsite.dk>
arch/arm/include/asm/arch-am33xx/ddr_defs.h

index bb53a6a14edc976d9e1a5e3236f1fac41eef7caa..d2f3a78a17c86697e3602b6cd237cac909118c30 100644 (file)
@@ -284,7 +284,6 @@ void config_ddr_data(const struct ddr_data *data, int nr);
  * This structure represents the DDR io control on AM33XX devices.
  */
 struct ddr_cmdtctrl {
-       unsigned int resv1[1];
        unsigned int cm0ioctl;
        unsigned int cm1ioctl;
        unsigned int cm2ioctl;