diff options
author | Marcel Ziswiler <marcel.ziswiler@toradex.com> | 2021-07-08 18:31:52 +0200 |
---|---|---|
committer | Marcel Ziswiler <marcel.ziswiler@toradex.com> | 2021-07-09 15:15:02 +0200 |
commit | 1a7d3dafa0aa166d1917183669ee3767189795ec (patch) | |
tree | cc9c8f21d8f19dee98825f00384329bb0152a816 | |
parent | 247fa16c24e917788778903a5ff6d3afbbc43113 (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.c | 11 |
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) |