xref: /rk3399_ARM-atf/plat/brcm/board/common/cmn_plat_def.h (revision f29d1e0c72e6665ba4c8ab11bad83f59669ea0d9)
1717448d6SSheetal Tigadoli /*
2717448d6SSheetal Tigadoli  * Copyright (c) 2015 - 2020, Broadcom
3717448d6SSheetal Tigadoli  *
4717448d6SSheetal Tigadoli  * SPDX-License-Identifier: BSD-3-Clause
5717448d6SSheetal Tigadoli  */
6717448d6SSheetal Tigadoli 
7717448d6SSheetal Tigadoli #ifndef CMN_PLAT_DEF_H
8717448d6SSheetal Tigadoli #define CMN_PLAT_DEF_H
9717448d6SSheetal Tigadoli 
10*f29d1e0cSSheetal Tigadoli #include <bcm_elog.h>
11*f29d1e0cSSheetal Tigadoli 
12*f29d1e0cSSheetal Tigadoli #ifndef GET_LOG_LEVEL
13*f29d1e0cSSheetal Tigadoli #define GET_LOG_LEVEL() LOG_LEVEL
14*f29d1e0cSSheetal Tigadoli #endif
15*f29d1e0cSSheetal Tigadoli 
16*f29d1e0cSSheetal Tigadoli #ifndef SET_LOG_LEVEL
17*f29d1e0cSSheetal Tigadoli #define SET_LOG_LEVEL(x) ((void)(x))
18*f29d1e0cSSheetal Tigadoli #endif
19*f29d1e0cSSheetal Tigadoli 
20*f29d1e0cSSheetal Tigadoli #define PLAT_LOG_NOTICE(...)						 \
21*f29d1e0cSSheetal Tigadoli 		do {							 \
22*f29d1e0cSSheetal Tigadoli 			if (GET_LOG_LEVEL() >= LOG_LEVEL_NOTICE) {	 \
23*f29d1e0cSSheetal Tigadoli 				bcm_elog(LOG_MARKER_NOTICE __VA_ARGS__); \
24*f29d1e0cSSheetal Tigadoli 				tf_log(LOG_MARKER_NOTICE __VA_ARGS__);	 \
25*f29d1e0cSSheetal Tigadoli 			}						 \
26*f29d1e0cSSheetal Tigadoli 		} while (0)
27*f29d1e0cSSheetal Tigadoli 
28*f29d1e0cSSheetal Tigadoli #define PLAT_LOG_ERROR(...)						 \
29*f29d1e0cSSheetal Tigadoli 		do {							 \
30*f29d1e0cSSheetal Tigadoli 			if (GET_LOG_LEVEL() >= LOG_LEVEL_ERROR) {	 \
31*f29d1e0cSSheetal Tigadoli 				bcm_elog(LOG_MARKER_ERROR, __VA_ARGS__); \
32*f29d1e0cSSheetal Tigadoli 				tf_log(LOG_MARKER_ERROR __VA_ARGS__);	 \
33*f29d1e0cSSheetal Tigadoli 			}						 \
34*f29d1e0cSSheetal Tigadoli 		} while (0)
35*f29d1e0cSSheetal Tigadoli 
36*f29d1e0cSSheetal Tigadoli #define PLAT_LOG_WARN(...)						 \
37*f29d1e0cSSheetal Tigadoli 		do {							 \
38*f29d1e0cSSheetal Tigadoli 			if (GET_LOG_LEVEL() >= LOG_LEVEL_WARNING) {	 \
39*f29d1e0cSSheetal Tigadoli 				bcm_elog(LOG_MARKER_WARNING, __VA_ARGS__);\
40*f29d1e0cSSheetal Tigadoli 				tf_log(LOG_MARKER_WARNING __VA_ARGS__);	 \
41*f29d1e0cSSheetal Tigadoli 			}						 \
42*f29d1e0cSSheetal Tigadoli 		} while (0)
43*f29d1e0cSSheetal Tigadoli 
44*f29d1e0cSSheetal Tigadoli #define PLAT_LOG_INFO(...)						 \
45*f29d1e0cSSheetal Tigadoli 		do {							 \
46*f29d1e0cSSheetal Tigadoli 			if (GET_LOG_LEVEL() >= LOG_LEVEL_INFO) {	 \
47*f29d1e0cSSheetal Tigadoli 				bcm_elog(LOG_MARKER_INFO __VA_ARGS__);	 \
48*f29d1e0cSSheetal Tigadoli 				tf_log(LOG_MARKER_INFO  __VA_ARGS__);    \
49*f29d1e0cSSheetal Tigadoli 			}						 \
50*f29d1e0cSSheetal Tigadoli 		} while (0)
51*f29d1e0cSSheetal Tigadoli 
52*f29d1e0cSSheetal Tigadoli #define PLAT_LOG_VERBOSE(...)						 \
53*f29d1e0cSSheetal Tigadoli 		do {							 \
54*f29d1e0cSSheetal Tigadoli 			if (GET_LOG_LEVEL()  >= LOG_LEVEL_VERBOSE) {	 \
55*f29d1e0cSSheetal Tigadoli 				bcm_elog(LOG_MARKER_VERBOSE __VA_ARGS__);\
56*f29d1e0cSSheetal Tigadoli 				tf_log(LOG_MARKER_VERBOSE __VA_ARGS__);	 \
57*f29d1e0cSSheetal Tigadoli 			}						 \
58*f29d1e0cSSheetal Tigadoli 		} while (0)
59*f29d1e0cSSheetal Tigadoli 
60717448d6SSheetal Tigadoli /* Print file and line number on assert */
61717448d6SSheetal Tigadoli #define PLAT_LOG_LEVEL_ASSERT LOG_LEVEL_INFO
62717448d6SSheetal Tigadoli 
63717448d6SSheetal Tigadoli /*
64717448d6SSheetal Tigadoli  * The number of regions like RO(code), coherent and data required by
65717448d6SSheetal Tigadoli  * different BL stages which need to be mapped in the MMU.
66717448d6SSheetal Tigadoli  */
67717448d6SSheetal Tigadoli #if USE_COHERENT_MEM
68717448d6SSheetal Tigadoli #define CMN_BL_REGIONS	3
69717448d6SSheetal Tigadoli #else
70717448d6SSheetal Tigadoli #define CMN_BL_REGIONS	2
71717448d6SSheetal Tigadoli #endif
72717448d6SSheetal Tigadoli 
73717448d6SSheetal Tigadoli /*
74717448d6SSheetal Tigadoli  * FIP definitions
75717448d6SSheetal Tigadoli  */
76717448d6SSheetal Tigadoli #define PLAT_FIP_ATTEMPT_OFFSET		0x20000
77717448d6SSheetal Tigadoli #define PLAT_FIP_NUM_ATTEMPTS		128
78717448d6SSheetal Tigadoli 
79717448d6SSheetal Tigadoli #define PLAT_BRCM_FIP_QSPI_BASE		QSPI_BASE_ADDR
80717448d6SSheetal Tigadoli #define PLAT_BRCM_FIP_NAND_BASE		NAND_BASE_ADDR
81717448d6SSheetal Tigadoli #define PLAT_BRCM_FIP_MAX_SIZE		0x01000000
82717448d6SSheetal Tigadoli 
83717448d6SSheetal Tigadoli #define PLAT_BRCM_FIP_BASE	PLAT_BRCM_FIP_QSPI_BASE
84717448d6SSheetal Tigadoli #endif
85