1 /* 2 * Trace log blocks sent over HBUS 3 * 4 * Portions of this code are copyright (c) 2021 Cypress Semiconductor Corporation 5 * 6 * Copyright (C) 1999-2017, Broadcom Corporation 7 * 8 * Unless you and Broadcom execute a separate written software license 9 * agreement governing use of this software, this software is licensed to you 10 * under the terms of the GNU General Public License version 2 (the "GPL"), 11 * available at http://www.broadcom.com/licenses/GPLv2.php, with the 12 * following added to such license: 13 * 14 * As a special exception, the copyright holders of this software give you 15 * permission to link this software with independent modules, and to copy and 16 * distribute the resulting executable under terms of your choice, provided that 17 * you also meet, for each linked independent module, the terms and conditions of 18 * the license of that module. An independent module is a module which is not 19 * derived from this software. The special exception does not apply to any 20 * modifications of the software. 21 * 22 * Notwithstanding the above, under no circumstances may you combine this 23 * software in any way with any other Broadcom software provided under a license 24 * other than the GPL, without Broadcom's express prior written consent. 25 * 26 * 27 * <<Broadcom-WL-IPTag/Open:>> 28 * 29 * $Id: event_trace.h 693870 2017-04-05 09:03:17Z $ 30 */ 31 32 /** 33 * @file 34 * @brief 35 * Define the trace event ID and tag ID 36 */ 37 38 #ifndef _WL_DIAG_H 39 #define _WL_DIAG_H 40 41 #define DIAG_MAJOR_VERSION 1 /* 4 bits */ 42 #define DIAG_MINOR_VERSION 0 /* 4 bits */ 43 #define DIAG_MICRO_VERSION 0 /* 4 bits */ 44 45 #define DIAG_VERSION \ 46 ((DIAG_MICRO_VERSION&0xF) | (DIAG_MINOR_VERSION&0xF)<<4 | \ 47 (DIAG_MAJOR_VERSION&0xF)<<8) 48 /* bit[11:8] major ver */ 49 /* bit[7:4] minor ver */ 50 /* bit[3:0] micro ver */ 51 52 /* event ID for trace purpose only, to avoid the conflict with future new 53 * WLC_E_ , starting from 0x8000 54 */ 55 #define TRACE_FW_AUTH_STARTED 0x8000 56 #define TRACE_FW_ASSOC_STARTED 0x8001 57 #define TRACE_FW_RE_ASSOC_STARTED 0x8002 58 #define TRACE_G_SCAN_STARTED 0x8003 59 #define TRACE_ROAM_SCAN_STARTED 0x8004 60 #define TRACE_ROAM_SCAN_COMPLETE 0x8005 61 #define TRACE_FW_EAPOL_FRAME_TRANSMIT_START 0x8006 62 #define TRACE_FW_EAPOL_FRAME_TRANSMIT_STOP 0x8007 63 #define TRACE_BLOCK_ACK_NEGOTIATION_COMPLETE 0x8008 /* protocol status */ 64 #define TRACE_BT_COEX_BT_SCO_START 0x8009 65 #define TRACE_BT_COEX_BT_SCO_STOP 0x800a 66 #define TRACE_BT_COEX_BT_SCAN_START 0x800b 67 #define TRACE_BT_COEX_BT_SCAN_STOP 0x800c 68 #define TRACE_BT_COEX_BT_HID_START 0x800d 69 #define TRACE_BT_COEX_BT_HID_STOP 0x800e 70 #define TRACE_ROAM_AUTH_STARTED 0x800f 71 /* Event ID for NAN, start from 0x9000 */ 72 #define TRACE_NAN_CLUSTER_STARTED 0x9000 73 #define TRACE_NAN_CLUSTER_JOINED 0x9001 74 #define TRACE_NAN_CLUSTER_MERGED 0x9002 75 #define TRACE_NAN_ROLE_CHANGED 0x9003 76 #define TRACE_NAN_SCAN_COMPLETE 0x9004 77 #define TRACE_NAN_STATUS_CHNG 0x9005 78 79 /* Parameters of wifi logger events are TLVs */ 80 /* Event parameters tags are defined as: */ 81 #define TRACE_TAG_VENDOR_SPECIFIC 0 /* take a byte stream as parameter */ 82 #define TRACE_TAG_BSSID 1 /* takes a 6 bytes MAC address as parameter */ 83 #define TRACE_TAG_ADDR 2 /* takes a 6 bytes MAC address as parameter */ 84 #define TRACE_TAG_SSID 3 /* takes a 32 bytes SSID address as parameter */ 85 #define TRACE_TAG_STATUS 4 /* takes an integer as parameter */ 86 #define TRACE_TAG_CHANNEL_SPEC 5 /* takes one or more wifi_channel_spec as */ 87 /* parameter */ 88 #define TRACE_TAG_WAKE_LOCK_EVENT 6 /* takes a wake_lock_event struct as parameter */ 89 #define TRACE_TAG_ADDR1 7 /* takes a 6 bytes MAC address as parameter */ 90 #define TRACE_TAG_ADDR2 8 /* takes a 6 bytes MAC address as parameter */ 91 #define TRACE_TAG_ADDR3 9 /* takes a 6 bytes MAC address as parameter */ 92 #define TRACE_TAG_ADDR4 10 /* takes a 6 bytes MAC address as parameter */ 93 #define TRACE_TAG_TSF 11 /* take a 64 bits TSF value as parameter */ 94 #define TRACE_TAG_IE 12 /* take one or more specific 802.11 IEs */ 95 /* parameter, IEs are in turn indicated in */ 96 /* TLV format as per 802.11 spec */ 97 #define TRACE_TAG_INTERFACE 13 /* take interface name as parameter */ 98 #define TRACE_TAG_REASON_CODE 14 /* take a reason code as per 802.11 */ 99 /* as parameter */ 100 #define TRACE_TAG_RATE_MBPS 15 /* take a wifi rate in 0.5 mbps */ 101 #define TRACE_TAG_REQUEST_ID 16 /* take an integer as parameter */ 102 #define TRACE_TAG_BUCKET_ID 17 /* take an integer as parameter */ 103 #define TRACE_TAG_GSCAN_PARAMS 18 /* takes a wifi_scan_cmd_params struct as parameter */ 104 #define TRACE_TAG_GSCAN_CAPABILITIES 19 /* takes a wifi_gscan_capabilities struct as parameter */ 105 #define TRACE_TAG_SCAN_ID 20 /* take an integer as parameter */ 106 #define TRACE_TAG_RSSI 21 /* take an integer as parameter */ 107 #define TRACE_TAG_CHANNEL 22 /* take an integer as parameter */ 108 #define TRACE_TAG_LINK_ID 23 /* take an integer as parameter */ 109 #define TRACE_TAG_LINK_ROLE 24 /* take an integer as parameter */ 110 #define TRACE_TAG_LINK_STATE 25 /* take an integer as parameter */ 111 #define TRACE_TAG_LINK_TYPE 26 /* take an integer as parameter */ 112 #define TRACE_TAG_TSCO 27 /* take an integer as parameter */ 113 #define TRACE_TAG_RSCO 28 /* take an integer as parameter */ 114 #define TRACE_TAG_EAPOL_MESSAGE_TYPE 29 /* take an integer as parameter */ 115 /* M1-1, M2-2, M3-3, M4-4 */ 116 117 typedef union { 118 struct { 119 uint16 event: 16; 120 uint16 version: 16; 121 }; 122 uint32 t; 123 } wl_event_log_id_ver_t; 124 125 #endif /* _WL_DIAG_H */ 126