uc_dbg.h (2514B)
1 /* 2 * 3 * This license is set out in https://raw.githubusercontent.com/Broadcom-Network-Switching-Software/OpenBCM/master/Legal/LICENSE file. 4 * 5 * Copyright 2007-2019 Broadcom Inc. All rights reserved. 6 * 7 * File: ukernel_debug.h 8 * Purpose: 9 */ 10 11 #ifndef _UC_DBG_H 12 #define _UC_DBG_H 13 14 #include <bcm/types.h> 15 #include <bcm/error.h> 16 #include <soc/shared/mos_msg_common.h> 17 18 #if defined(SOC_UKERNEL_DEBUG) 19 #if defined(BCM_CMICM_SUPPORT) || defined(BCM_IPROC_SUPPORT) 20 21 #define CMIC_UC_DBG_PTP_CORE_COMM_SUCCESS (1<<0) 22 #define CMIC_UC_DBG_PTP_STACK_INIT_SUCCESS (1<<1) 23 24 #define CMIC_UCDEBUG_OUTPUT_DISP_TIMEOUT (1000) 25 26 typedef struct _soc_cmic_ucdbg_stats_s { 27 uint32 flags; 28 uint32 sw_intr_count_uc0; 29 uint32 sw_intr_count_uc1; 30 uint32 hostlog_indx_wr; 31 uint32 hostlog_indx_rd; 32 uint32 uclog_indx_rd; 33 mos_msg_cmic_ucdbg_t ucdbg_cache; /* memory cache of SRAM data struct */ 34 mos_msg_ucdbg_entry_t hostlog[MOS_UCDBG_MAX_LOG_ENTRIES_HOST]; /* host log buff pointer */ 35 mos_msg_ucdbg_entry_t *puclog[MOS_UCDBG_MAX_LOG_ENTRIES_UC]; /* uc log buffer pointer */ 36 }_soc_cmic_ucdbg_stats_t; 37 38 extern int 39 soc_cmic_ucdebug_init(int unit, int uC); 40 41 extern int 42 soc_cmic_ucdebug_sw_intr_count_inc(int unit, uint32 rupt_num); 43 44 45 extern int 46 soc_cmic_ucdebug_core_communication_status(int unit, uint32 flag); 47 48 extern int 49 soc_cmic_ucdebug_dump_start(int unit); 50 51 extern int 52 soc_cmic_ucdebug_dump_stop(int unit); 53 54 extern int 55 soc_cmic_ucdebug_status(int unit); 56 57 extern int 58 soc_cmic_ucdebug_log_add(int unit, mos_msg_ucdbg_logtype_t logtype, 59 const char *format, ...); 60 61 #define SOC_CMIC_UCDBG_LOG_ADD(stuff_) \ 62 soc_cmic_ucdebug_log_add stuff_; 63 64 #else 65 66 #define soc_cmic_ucdebug_init(unit, uC) 67 #define soc_cmic_ucdebug_sw_intr_count_inc(unit, rupt_num) 68 #define soc_cmic_ucdebug_core_communication_status(unit, flag) 69 #define soc_cmic_ucdebug_dump_start(unit) 70 #define soc_cmic_ucdebug_dump_stop(unit) 71 #define soc_cmic_ucdebug_status(unit) 72 73 #define SOC_CMIC_UCDBG_LOG_ADD(stuff_) 74 75 #endif 76 77 #else 78 79 #define soc_cmic_ucdebug_init(unit, uC) 80 #define soc_cmic_ucdebug_sw_intr_count_inc(unit, rupt_num) 81 #define soc_cmic_ucdebug_core_communication_status(unit, flag) 82 #define soc_cmic_ucdebug_dump_start(unit) 83 #define soc_cmic_ucdebug_dump_stop(unit) 84 #define soc_cmic_ucdebug_status(unit) 85 86 #define SOC_CMIC_UCDBG_LOG_ADD(stuff_) 87 88 #endif 89 90 #endif /*_UKERNEL_DEBUG_H_*/