diff options
author | Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com> | 2021-03-19 12:01:00 +0000 |
---|---|---|
committer | Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com> | 2021-04-20 16:17:50 +0100 |
commit | a4d86f6767083b5236ebf1d2cb60fe3d1713f7ba (patch) | |
tree | 84df6d85988ede5000ad27c55fca3be6ec5c62a4 /drivers/renesas/rzg | |
parent | bf007a56e725eb2aff8be50c6b94aa0e7dffb6f2 (diff) | |
download | trusted-firmware-a-a4d86f6767083b5236ebf1d2cb60fe3d1713f7ba.tar.gz |
renesas: rzg: Add support to identify HopeRun HiHope RZ/G2N board
Add support to identify HopeRun HiHope RZ/G2N board.
Signed-off-by: Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com>
Reviewed-by: Biju Das <biju.das.jz@bp.renesas.com>
Change-Id: Ib47aba84b63488247f6e9da1f5878140129766ce
Diffstat (limited to 'drivers/renesas/rzg')
-rw-r--r-- | drivers/renesas/rzg/board/board.c | 15 | ||||
-rw-r--r-- | drivers/renesas/rzg/board/board.h | 1 |
2 files changed, 13 insertions, 3 deletions
diff --git a/drivers/renesas/rzg/board/board.c b/drivers/renesas/rzg/board/board.c index 5c99ba9b61..60e6380dea 100644 --- a/drivers/renesas/rzg/board/board.c +++ b/drivers/renesas/rzg/board/board.c @@ -15,6 +15,8 @@ #ifndef BOARD_DEFAULT #if (RCAR_LSI == RZ_G2H) #define BOARD_DEFAULT (BOARD_HIHOPE_RZ_G2H << BOARD_CODE_SHIFT) +#elif (RCAR_LSI == RZ_G2N) +#define BOARD_DEFAULT (BOARD_HIHOPE_RZ_G2N << BOARD_CODE_SHIFT) #else #define BOARD_DEFAULT (BOARD_HIHOPE_RZ_G2M << BOARD_CODE_SHIFT) #endif /* RCAR_LSI == RZ_G2H */ @@ -32,10 +34,12 @@ #define HM_ID { 0x10U, 0xFFU, 0xFFU, 0xFFU, 0xFFU, 0xFFU, 0xFFU, 0xFFU } #define HH_ID HM_ID +#define HN_ID { 0x20U, 0xFFU, 0xFFU, 0xFFU, 0xFFU, 0xFFU, 0xFFU, 0xFFU } const char *g_board_tbl[] = { [BOARD_HIHOPE_RZ_G2M] = "HiHope RZ/G2M", [BOARD_HIHOPE_RZ_G2H] = "HiHope RZ/G2H", + [BOARD_HIHOPE_RZ_G2N] = "HiHope RZ/G2N", [BOARD_UNKNOWN] = "unknown" }; @@ -45,6 +49,7 @@ void rzg_get_board_type(uint32_t *type, uint32_t *rev) const uint8_t board_tbl[][8] = { [BOARD_HIHOPE_RZ_G2M] = HM_ID, [BOARD_HIHOPE_RZ_G2H] = HH_ID, + [BOARD_HIHOPE_RZ_G2N] = HN_ID, }; uint32_t reg, boardInfo; @@ -65,8 +70,12 @@ void rzg_get_board_type(uint32_t *type, uint32_t *rev) *rev = board_tbl[*type][(uint8_t)(board_id & BOARD_REV_MASK)]; } else { reg = mmio_read_32(GPIO_INDT5); - boardInfo = reg & (GP5_19_BIT | GP5_21_BIT); - *rev = (((boardInfo & GP5_19_BIT) >> 14) | - ((boardInfo & GP5_21_BIT) >> 17)) + 0x30U; + if (reg & GP5_25_BIT) { + *rev = board_tbl[*type][(uint8_t)(board_id & BOARD_REV_MASK)]; + } else { + boardInfo = reg & (GP5_19_BIT | GP5_21_BIT); + *rev = (((boardInfo & GP5_19_BIT) >> 14) | + ((boardInfo & GP5_21_BIT) >> 17)) + 0x30U; + } } } diff --git a/drivers/renesas/rzg/board/board.h b/drivers/renesas/rzg/board/board.h index 9a3fc1ffe6..7165d45520 100644 --- a/drivers/renesas/rzg/board/board.h +++ b/drivers/renesas/rzg/board/board.h @@ -10,6 +10,7 @@ enum rzg2_board_id { BOARD_HIHOPE_RZ_G2M = 0, BOARD_HIHOPE_RZ_G2H, + BOARD_HIHOPE_RZ_G2N, BOARD_UNKNOWN }; |