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