i4x4-ram
authorVagrant Cascadian <vagrant@debian.org>
Thu, 10 May 2018 20:24:57 +0000 (21:24 +0100)
committerVagrant Cascadian <vagrant@debian.org>
Thu, 10 May 2018 20:24:57 +0000 (21:24 +0100)
Gbp-Pq: Topic mx6cuboxi
Gbp-Pq: Name i4x4-ram.patch

board/solidrun/mx6cuboxi/Kconfig
board/solidrun/mx6cuboxi/mx6cuboxi.c

index 741c1754f819113d2fceb9b852f89dd326cce013..fc68eedce91732af7a624f7e9734b7d620051e56 100644 (file)
@@ -9,4 +9,8 @@ config SYS_VENDOR
 config SYS_CONFIG_NAME
        default "mx6cuboxi"
 
+config I4X4_RAM
+       bool "4GB ram support for cubox i4x4 (will break cubox i4)"
+       default n
+
 endif
index 1fb3c69edeb529c12c61355095b7a8074ac07ea1..3af9ca75e3fef6037c75244f9cd425a7fbbe8c32 100644 (file)
@@ -598,6 +598,19 @@ static struct mx6_ddr3_cfg mem_ddr_4g = {
        .trasmin = 3500,
 };
 
+static struct mx6_ddr3_cfg mem_ddr_8g = {
+       .mem_speed = 1600,
+       .density = 4,
+       .width = 16,
+       .banks = 8,
+       .rowaddr = 16,
+       .coladdr = 10,
+       .pagesz = 2,
+       .trcd = 1375,
+       .trcmin = 4875,
+       .trasmin = 3500,
+};
+
 static void ccgr_init(void)
 {
        struct mxc_ccm_reg *ccm = (struct mxc_ccm_reg *)CCM_BASE_ADDR;
@@ -641,7 +654,11 @@ static void spl_dram_init(int width)
        if (is_cpu_type(MXC_CPU_MX6D))
                mx6_dram_cfg(&sysinfo, &mx6q_1g_mmcd_calib, &mem_ddr_2g);
        else if (is_cpu_type(MXC_CPU_MX6Q))
-               mx6_dram_cfg(&sysinfo, &mx6q_2g_mmcd_calib, &mem_ddr_4g);
+               #ifdef CONFIG_I4X4_RAM
+                       mx6_dram_cfg(&sysinfo, &mx6q_2g_mmcd_calib, &mem_ddr_8g);
+               #else
+                       mx6_dram_cfg(&sysinfo, &mx6q_2g_mmcd_calib, &mem_ddr_4g);
+               #endif
        else if (is_cpu_type(MXC_CPU_MX6DL))
                mx6_dram_cfg(&sysinfo, &mx6dl_1g_mmcd_calib, &mem_ddr_2g);
        else if (is_cpu_type(MXC_CPU_MX6SOLO))