首先,先修复上一个篇文章遗留下来的问题,即uboot起来后显示内容容量只有512M的问题,后来查看了4412的芯片手册,发现是有寄存器没有设置正确,所以才导致内存容量识别有问题,按照下面的修改,我们的uboot就能识别到1G的内存容量了!
diff --git a/arch/arm/mach-exynos/exynos4_setup.h b/arch/arm/mach-exynos/exynos4_setup.h
index 9e252ad..b3477e7 100644
--- a/arch/arm/mach-exynos/exynos4_setup.h
+++ b/arch/arm/mach-exynos/exynos4_setup.h
@@ -385,7 +385,7 @@ struct mem_timings {
#define ADD_LAT_PALL (1 << 6)
#define MEM_TYPE_DDR3 (0x6 << 8)
#define MEM_WIDTH_32 (0x2 << 12)
-#define NUM_CHIP_2 (1 << 16)
+#define NUM_CHIP_2 (0 << 16)
#define BL_8 (0x3 << 20)
#define MEMCONTROL_VAL (CLK_STOP_DISABLE | DPWRDN_DISABLE\
| DPWRDN_TYPE | TP_DISABLE | DSREF_DIABLE\
@@ -394,16 +394,16 @@ struct mem_timings {
#define CHIP_BANK_8 (0x3 << 0)
-#define CHIP_ROW_14 (0x2 << 4)
+#define CHIP_ROW_14 (0x3 << 4)