feat(drivers/rcar3): ddr: add function to judge a DDR rank
This commit adds the function to change the settings used for DDR initialization depending on the board ID and DDR rank. Signed-off-by: Toshiyuki Ogasahara <toshiyuki.ogasahara.bo@hitachi.com> Signed-off-by: Yoshifumi Hosoya <yoshifumi.hosoya.wj@renesas.com> Change-Id: I94d550cea620748f5b15499fed1b791a69d61592
This commit is contained in:
parent
ec767c1b99
commit
726050b8e2
|
@ -12,6 +12,9 @@
|
|||
#if (RZG_SOC == 1)
|
||||
#define BOARDNUM 4
|
||||
#else
|
||||
|
||||
#include <board.h>
|
||||
|
||||
#define BOARDNUM 22
|
||||
#endif /* RZG_SOC == 1 */
|
||||
#define BOARD_JUDGE_AUTO
|
||||
|
@ -1967,6 +1970,44 @@ static uint32_t rzg2_board_judge(void)
|
|||
}
|
||||
#endif /* RZG_SOC == 1 */
|
||||
|
||||
#if (RZG_SOC == 0) && (RCAR_DRAM_LPDDR4_MEMCONF != 0)
|
||||
static uint32_t ddr_rank_judge(void)
|
||||
{
|
||||
uint32_t brd;
|
||||
|
||||
#if (RCAR_DRAM_MEMRANK == 0)
|
||||
int32_t ret;
|
||||
uint32_t type = 0U;
|
||||
uint32_t rev = 0U;
|
||||
|
||||
brd = 99U;
|
||||
ret = rcar_get_board_type(&type, &rev);
|
||||
if ((ret == 0) && (rev != 0xFFU)) {
|
||||
if (type == (uint32_t)BOARD_SALVATOR_XS) {
|
||||
if (rev == 0x11U) {
|
||||
brd = 14U;
|
||||
} else {
|
||||
brd = 8U;
|
||||
}
|
||||
} else if (type == (uint32_t)BOARD_STARTER_KIT_PRE) {
|
||||
if (rev == 0x21U) {
|
||||
brd = 14U;
|
||||
} else {
|
||||
brd = 8U;
|
||||
}
|
||||
}
|
||||
}
|
||||
#elif (RCAR_DRAM_MEMRANK == 1)
|
||||
brd = 14U;
|
||||
#elif (RCAR_DRAM_MEMRANK == 2)
|
||||
brd = 8U;
|
||||
#else
|
||||
#error Invalid value was set to RCAR_DRAM_MEMRANK
|
||||
#endif /* (RCAR_DRAM_MEMRANK == 0) */
|
||||
return brd;
|
||||
}
|
||||
#endif /* (RCAR_DRAM_LPDDR4_MEMCONF != 0) */
|
||||
|
||||
static uint32_t _board_judge(void)
|
||||
{
|
||||
uint32_t brd;
|
||||
|
@ -1985,7 +2026,7 @@ static uint32_t _board_judge(void)
|
|||
#if (RCAR_DRAM_LPDDR4_MEMCONF == 0)
|
||||
brd = 7;
|
||||
#else
|
||||
brd = 8;
|
||||
brd = ddr_rank_judge();
|
||||
#endif
|
||||
}
|
||||
} else if (prr_product == PRR_PRODUCT_M3) {
|
||||
|
@ -2039,7 +2080,7 @@ static uint32_t _board_judge(void)
|
|||
#if (RCAR_DRAM_LPDDR4_MEMCONF == 0)
|
||||
brd = 7;
|
||||
#else
|
||||
brd = 8;
|
||||
brd = ddr_rank_judge();
|
||||
#endif
|
||||
}
|
||||
} else if (prr_product == PRR_PRODUCT_M3N) {
|
||||
|
|
Loading…
Reference in New Issue