diff options
-rw-r--r-- | plat/imx/imx8m/ddr/dram.c | 3 | ||||
-rw-r--r-- | plat/imx/imx8m/include/dram.h | 2 |
2 files changed, 4 insertions, 1 deletions
diff --git a/plat/imx/imx8m/ddr/dram.c b/plat/imx/imx8m/ddr/dram.c index f785d2a0..49385909 100644 --- a/plat/imx/imx8m/ddr/dram.c +++ b/plat/imx/imx8m/ddr/dram.c @@ -154,7 +154,8 @@ void dram_info_init(unsigned long dram_timing_base) ddrc_mstr = mmio_read_32(DDRC_MSTR(0)); dram_info.dram_type = ddrc_mstr & DDR_TYPE_MASK; - dram_info.num_rank = (ddrc_mstr >> 24) & ACTIVE_RANK_MASK; + dram_info.num_rank = ((ddrc_mstr >> 24) & ACTIVE_RANK_MASK) == 0x3 ? + DDRC_ACTIVE_TWO_RANK : DDRC_ACTIVE_ONE_RANK; /* Get current fsp info */ current_fsp = mmio_read_32(DDRC_DFIMISC(0)) & 0xf; diff --git a/plat/imx/imx8m/include/dram.h b/plat/imx/imx8m/include/dram.h index c384cb1d..d221d27e 100644 --- a/plat/imx/imx8m/include/dram.h +++ b/plat/imx/imx8m/include/dram.h @@ -19,6 +19,8 @@ #define DDRC_DDR3L BIT(0) #define DDR_TYPE_MASK U(0x3f) #define ACTIVE_RANK_MASK U(0x3) +#define DDRC_ACTIVE_ONE_RANK U(0x1) +#define DDRC_ACTIVE_TWO_RANK U(0x2) /* reg & config param */ struct dram_cfg_param { |