arm: mx6: cm_fx6: detect 1GB DRAM correctly on solo
authorNikita Kiryanov <nikita@compulab.co.il>
Wed, 29 Oct 2014 15:56:22 +0000 (17:56 +0200)
committerStefano Babic <sbabic@denx.de>
Wed, 5 Nov 2014 16:18:01 +0000 (17:18 +0100)
The 1GB DRAM configuration on mx6 solo uses 2 chip selects, but
the code tests 1GB DRAM configuration as if it is all present on one
chip select, and thus cannot see the full range of available memory.

Refactor the check to detect 1GB DRAM correctly.

Signed-off-by: Nikita Kiryanov <nikita@compulab.co.il>
Cc: Igor Grinberg <grinberg@compulab.co.il>
Cc: Stefano Babic <sbabic@denx.de>
Acked-by: Igor Grinberg <grinberg@compulab.co.il>
board/compulab/cm_fx6/spl.c

index 3948ba23ae9e4267bfaa7b3d6f59aeb5b894c1ac..6fe937b4180fba98add32988d9820cc73d96680f 100644 (file)
@@ -235,10 +235,11 @@ static int cm_fx6_spl_dram_init(void)
 
                spl_mx6s_dram_init(DDR_32BIT_1GB, false);
                bank1_size = get_ram_size((long int *)PHYS_SDRAM_1, 0x80000000);
-               if (bank1_size == 0x40000000)
-                       return 0;
-
+               bank2_size = get_ram_size((long int *)PHYS_SDRAM_2, 0x80000000);
                if (bank1_size == 0x20000000) {
+                       if (bank2_size == 0x20000000)
+                               return 0;
+
                        spl_mx6s_dram_init(DDR_32BIT_512MB, true);
                        return 0;
                }