1*f29d1e0cSSheetal Tigadoli /* 2*f29d1e0cSSheetal Tigadoli * Copyright (c) 2018 - 2020, Broadcom 3*f29d1e0cSSheetal Tigadoli * 4*f29d1e0cSSheetal Tigadoli * SPDX-License-Identifier: BSD-3-Clause 5*f29d1e0cSSheetal Tigadoli */ 6*f29d1e0cSSheetal Tigadoli 7*f29d1e0cSSheetal Tigadoli #ifndef BCM_ELOG_H 8*f29d1e0cSSheetal Tigadoli #define BCM_ELOG_H 9*f29d1e0cSSheetal Tigadoli 10*f29d1e0cSSheetal Tigadoli #ifndef __ASSEMBLER__ 11*f29d1e0cSSheetal Tigadoli 12*f29d1e0cSSheetal Tigadoli #include <stdint.h> 13*f29d1e0cSSheetal Tigadoli 14*f29d1e0cSSheetal Tigadoli #if defined(BCM_ELOG) && (defined(IMAGE_BL2) || defined(IMAGE_BL31)) 15*f29d1e0cSSheetal Tigadoli int bcm_elog_init(void *base, uint32_t size, unsigned int level); 16*f29d1e0cSSheetal Tigadoli void bcm_elog_exit(void); 17*f29d1e0cSSheetal Tigadoli int bcm_elog_copy_log(void *dst, uint32_t max_size); 18*f29d1e0cSSheetal Tigadoli void bcm_elog(const char *fmt, ...); 19*f29d1e0cSSheetal Tigadoli #else 20*f29d1e0cSSheetal Tigadoli static inline int bcm_elog_init(void *base, uint32_t size, 21*f29d1e0cSSheetal Tigadoli unsigned int level) 22*f29d1e0cSSheetal Tigadoli { 23*f29d1e0cSSheetal Tigadoli return 0; 24*f29d1e0cSSheetal Tigadoli } 25*f29d1e0cSSheetal Tigadoli static inline void bcm_elog_exit(void) 26*f29d1e0cSSheetal Tigadoli { 27*f29d1e0cSSheetal Tigadoli } 28*f29d1e0cSSheetal Tigadoli static inline int bcm_elog_copy_log(void *dst, uint32_t max_size) 29*f29d1e0cSSheetal Tigadoli { 30*f29d1e0cSSheetal Tigadoli return 0; 31*f29d1e0cSSheetal Tigadoli } 32*f29d1e0cSSheetal Tigadoli static inline void bcm_elog(const char *fmt, ...) 33*f29d1e0cSSheetal Tigadoli { 34*f29d1e0cSSheetal Tigadoli } 35*f29d1e0cSSheetal Tigadoli #endif /* BCM_ELOG */ 36*f29d1e0cSSheetal Tigadoli 37*f29d1e0cSSheetal Tigadoli #endif /* __ASSEMBLER__ */ 38*f29d1e0cSSheetal Tigadoli #endif /* BCM_ELOG_H */ 39