blob: 218da3734861309588f02ac32ceaa4fbf78ac4ab [file] [log] [blame]
/* SPDX-License-Identifier: BSD-2-Clause */
/*
* Copyright 2019 Broadcom.
*/
#ifndef BCM_ELOG_H
#define BCM_ELOG_H
#include <mm/core_memprot.h>
/* Error logging signature offset and value */
#define BCM_ELOG_SIG_OFFSET 0x0000
#define BCM_ELOG_SIG_VAL 0x75767971
/* Current logging offset that points to where new logs should be added */
#define BCM_ELOG_OFF_OFFSET 0x0004
/* Current logging length (excluding header) */
#define BCM_ELOG_LEN_OFFSET 0x0008
#define BCM_ELOG_HEADER_LEN 12
/*
* @base: base address of memory where log is saved
* @max_size: max size of memory reserved for logging
*/
struct bcm_elog {
struct io_pa_va base;
uint32_t max_size;
};
void bcm_elog_init(uintptr_t pa_base, uint32_t size);
void bcm_elog_putchar(char ch);
#endif /* BCM_ELOG_H */