summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarcel Ziswiler <marcel.ziswiler@toradex.com>2021-07-08 18:31:52 +0200
committerMarcel Ziswiler <marcel.ziswiler@toradex.com>2021-07-09 15:15:02 +0200
commit1a7d3dafa0aa166d1917183669ee3767189795ec (patch)
treecc9c8f21d8f19dee98825f00384329bb0152a816
parent247fa16c24e917788778903a5ff6d3afbbc43113 (diff)
board: toradex: verdin-imx8mp: unified ram configuration
First, try configuring for quad die, dual rank aka 8 GB RAM configuration. Falling back to dual die, single rank aka 1 GB (untested), 2 GB or 4 GB RAM configuration if it fails. Related-to: ELB-3938 Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
-rw-r--r--board/toradex/verdin-imx8mp/spl.c11
1 files changed, 10 insertions, 1 deletions
diff --git a/board/toradex/verdin-imx8mp/spl.c b/board/toradex/verdin-imx8mp/spl.c
index 207997dcc7..3257431ed1 100644
--- a/board/toradex/verdin-imx8mp/spl.c
+++ b/board/toradex/verdin-imx8mp/spl.c
@@ -22,6 +22,8 @@
#include <power/pmic.h>
#include <spl.h>
+extern struct dram_timing_info dram_timing2;
+
DECLARE_GLOBAL_DATA_PTR;
int spl_board_boot_device(enum boot_device boot_dev_spl)
@@ -52,7 +54,14 @@ int spl_board_boot_device(enum boot_device boot_dev_spl)
void spl_dram_init(void)
{
- ddr_init(&dram_timing);
+ /*
+ * try configuring for quad die, dual rank aka 8 GB falling back to
+ * dual die, single rank aka 1 GB (untested), 2 GB or 4 GB if it fails
+ */
+ if (ddr_init(&dram_timing)) {
+ printf("Quad die, dual rank failed, attempting dual die, single rank configuration.\n");
+ ddr_init(&dram_timing2);
+ }
}
#define I2C_PAD_CTRL (PAD_CTL_DSE6 | PAD_CTL_HYS | PAD_CTL_PUE | PAD_CTL_PE)