xref: /aosp_15_r20/external/arm-trusted-firmware/drivers/renesas/rzg/board/board.h (revision 54fd6939e177f8ff529b10183254802c76df6d08)
1*54fd6939SJiyong Park /*
2*54fd6939SJiyong Park  * Copyright (c) 2020-2021, Renesas Electronics Corporation. All rights reserved.
3*54fd6939SJiyong Park  *
4*54fd6939SJiyong Park  * SPDX-License-Identifier: BSD-3-Clause
5*54fd6939SJiyong Park  */
6*54fd6939SJiyong Park 
7*54fd6939SJiyong Park #ifndef RZ_G2_BOARD_H
8*54fd6939SJiyong Park #define RZ_G2_BOARD_H
9*54fd6939SJiyong Park 
10*54fd6939SJiyong Park enum rzg2_board_id {
11*54fd6939SJiyong Park 	BOARD_HIHOPE_RZ_G2M = 0,
12*54fd6939SJiyong Park 	BOARD_HIHOPE_RZ_G2H,
13*54fd6939SJiyong Park 	BOARD_HIHOPE_RZ_G2N,
14*54fd6939SJiyong Park 	BOARD_EK874_RZ_G2E,
15*54fd6939SJiyong Park 	BOARD_UNKNOWN
16*54fd6939SJiyong Park };
17*54fd6939SJiyong Park 
18*54fd6939SJiyong Park #define BOARD_REV_UNKNOWN	(0xFFU)
19*54fd6939SJiyong Park 
20*54fd6939SJiyong Park extern const char *g_board_tbl[];
21*54fd6939SJiyong Park 
22*54fd6939SJiyong Park /************************************************************************
23*54fd6939SJiyong Park  * Revisions are expressed in 8 bits.
24*54fd6939SJiyong Park  *  The upper 4 bits are major version.
25*54fd6939SJiyong Park  *  The lower 4 bits are minor version.
26*54fd6939SJiyong Park  ************************************************************************/
27*54fd6939SJiyong Park #define GET_BOARD_MAJOR(a)	((uint32_t)(a) >> 0x4)
28*54fd6939SJiyong Park #define GET_BOARD_MINOR(a)	((uint32_t)(a) &  0xF)
29*54fd6939SJiyong Park #define GET_BOARD_NAME(a)	(g_board_tbl[(a)])
30*54fd6939SJiyong Park 
31*54fd6939SJiyong Park void rzg_get_board_type(uint32_t *type, uint32_t *rev);
32*54fd6939SJiyong Park 
33*54fd6939SJiyong Park #endif /* RZ_G2_BOARD_H */
34