blob: 91992b60e2a7e31be8e3a2496f32192dd02b37f2 [file] [log] [blame]
yu.dongc33b3072024-08-21 23:14:49 -07001/*****************************************************************************
2* Copyright Statement:
3* --------------------
4* This software is protected by Copyright and the information contained
5* herein is confidential. The software may not be copied and the information
6* contained herein may not be used or disclosed except with the written
7* permission of MediaTek Inc. (C) 2016
8*
9* BY OPENING THIS FILE, BUYER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
10* THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS (""MEDIATEK SOFTWARE"")
11* RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO BUYER ON
12* AN ""AS-IS"" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES,
13* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF
14* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT.
15* NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH RESPECT TO THE
16* SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY, INCORPORATED IN, OR
17* SUPPLIED WITH THE MEDIATEK SOFTWARE, AND BUYER AGREES TO LOOK ONLY TO SUCH
18* THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO. MEDIATEK SHALL ALSO
19* NOT BE RESPONSIBLE FOR ANY MEDIATEK SOFTWARE RELEASES MADE TO BUYER'S
20* SPECIFICATION OR TO CONFORM TO A PARTICULAR STANDARD OR OPEN FORUM.
21*
22* BUYER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND CUMULATIVE
23* LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL BE,
24* AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT ISSUE,
25* OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY BUYER TO
26* MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE.
27*
28* THE TRANSACTION CONTEMPLATED HEREUNDER SHALL BE CONSTRUED IN ACCORDANCE
29* WITH THE LAWS OF THE STATE OF CALIFORNIA, USA, EXCLUDING ITS CONFLICT OF
30* LAWS PRINCIPLES. ANY DISPUTES, CONTROVERSIES OR CLAIMS ARISING THEREOF AND
31* RELATED THERETO SHALL BE SETTLED BY ARBITRATION IN SAN FRANCISCO, CA, UNDER
32* THE RULES OF THE INTERNATIONAL CHAMBER OF COMMERCE (ICC).
33*
34*****************************************************************************/
35/*************************************************************
36*
37* This Software is the property of VIA Telecom, Inc. and may only be used pursuant to a license from VIA Telecom, Inc.
38*
39* Any unauthorized use inconsistent with the terms of such license is strictly prohibited.
40*
41* Copyright (c) 1998-2010 VIA Telecom, Inc. All rights reserved.
42*
43*************************************************************/
44/*****************************************************************************
45
46 FILE NAME: etsapi.h
47
48 DESCRIPTION:
49
50 This file contains all the constants, mail message definition and
51 function prototypes exported by the ets unit.
52
53*****************************************************************************/
54
55#ifndef ETSAPI_H
56#define ETSAPI_H
57
58#include "monapi.h"
59#include "sysdefs.h"
60#include "sysapi.h"
61
62/*------------------------------------------------------------------------
63 * Constants
64 *------------------------------------------------------------------------*/
65
66 /* msg size constants */
67#define ETS_MSG_ID_LEN 2
68#define ETS_CHECKSUM_LEN 1
69#define ETS_MAX_MSG_BUFF_LEN EXE_MAX_ETS_MSG_SIZE
70#define ETS_MAX_MSG_LEN (ETS_MAX_MSG_BUFF_LEN + ETS_MSG_ID_LEN)
71#define ETS_MAX_PACKET_LEN (ETS_MAX_MSG_LEN + ETS_CHECKSUM_LEN)
72
73 /* msg framing chars */
74#define ETS_SER_ESC_CHAR 0xFD
75#define ETS_SER_SYNC_CHAR 0xFE
76#define ETS_SER_MOD_CHAR 0xFF
77
78/* USB and SS_LTE_DO DPRAM interface use same ETS msg format definitions */
79#define ETS_USB_SYNC 0x98BADCFE /* SYNCH field, reversed to fit a kal_uint32 format */
80#define ETS_USB_SYNC_SZ sizeof(kal_uint32) /* size of SYNCH field */
81#define ETS_USB_PAD 0xFE /* to pad ETS msgs to 4 bytes */
82
83typedef PACKED_PREFIX struct {
84 kal_uint32 Synch; /* synch signature */
85 kal_uint16 MsgLen; /* msg size, including msg id */
86 kal_uint16 MsgId; /* ETS message id */
87} PACKED_POSTFIX EtsMsgHeaderT;
88
89
90 /* ETS display size for MMI */
91#define ETS_MAX_DISPLAY_COLS 16
92#define ETS_MAX_DISPLAY_ROWS 2
93
94/*------------------------------------------------------------------------
95 * Mailbox, signal amd message IDs exported byETS
96 *-----------------------------------------------------------------------*/
97
98
99
100
101/*------------------------------------------------------------------------
102 * Mailbox, signal amd message IDs exported by ETS task
103 *-----------------------------------------------------------------------*/
104
105#define ETS_MAILBOX_ETS EXE_MAILBOX_1_ID /* ETS (MonFault/trace/spy/mailbox */
106#define ETS_MAILBOX_ETS_EVENT EXE_MESSAGE_MBOX_1
107
108#define ETS_MAILBOX_CMD EXE_MAILBOX_2_ID /* Command mailbox */
109#define ETS_MAILBOX_CMD_EVENT EXE_MESSAGE_MBOX_2
110
111#define ETS_QUEUE_FULL_SIGNAL EXE_SIGNAL_1 /* used by EXE */
112#define ETS_USB_RX_MSG_SIGNAL EXE_SIGNAL_2 /* data received */
113#define ETS_USB_TX_MSG_SIGNAL EXE_SIGNAL_3 /* data sent */
114#define ETS_UART_RX_ETS_MSG_SIGNAL EXE_SIGNAL_4
115#define ETS_STARTUP_SIGNAL EXE_SIGNAL_5
116#ifdef MTK_DEV_LOG_SPLM
117#define ETS_RX_SPLM_MSG_SIGNAL EXE_SIGNAL_6
118#endif
119
120/* TBD: Change to ETS_R/TX_MSG_SIGNAL */
121#define ETS_RX_ETS_MSG_SIGNAL ETS_USB_RX_MSG_SIGNAL
122#define ETS_TX_ETS_MSG_SIGNAL ETS_USB_TX_MSG_SIGNAL
123
124 /* grouping of USB data signals */
125#define ETS_USB_ALL_SIGNAL (ETS_USB_RX_MSG_SIGNAL | ETS_USB_TX_MSG_SIGNAL)
126
127/*------------------------------------------------------------------------
128 * Message IDs for _ETS mailbox
129 *-----------------------------------------------------------------------*/
130
131 /* enum for ETS message IDs is in iopets.h */
132
133 /* IOP_CP_DISPLAY_ETS */
134typedef enum
135{
136 ETS_ROW_1 = 0,
137 ETS_ROW_2 = 1
138} EtsRowIdT;
139
140typedef PACKED_PREFIX struct
141{
142 kal_uint8 Row;
143 kal_uint8 Column;
144 kal_uint8 Text[ETS_MAX_DISPLAY_COLS + 1];
145} PACKED_POSTFIX EtsDispTextMsgT;
146
147/* IOP_DSPM_PEEK_ETS */
148/* IOP_DSPV_PEEK_ETS */
149typedef PACKED_PREFIX struct
150{
151 kal_uint16 StartAddr;
152 kal_uint16 NumWords;
153 kal_uint16 Data[1];
154} PACKED_POSTFIX EtsDspPeekRspMsgT;
155
156/* IOP_GENERIC_ACK_ETS */
157typedef PACKED_PREFIX struct
158{
159 kal_uint16 MsgId;
160} PACKED_POSTFIX EtsGenericAckT;
161
162/* IOP_ENABLE_GENERIC_ACK_MSG */
163typedef PACKED_PREFIX struct
164{
165 ExeRspMsgT RspInfo;
166 kal_uint16 Enable;
167} PACKED_POSTFIX EtsEnableGenericAckMsgT;
168
169/* ETS_DEFERRED_HALT_MSG */
170typedef PACKED_PREFIX struct
171{
172 MonFaultUnitT UnitNum;
173 kal_uint32 FaultCode1;
174 kal_uint32 FaultCode2;
175} PACKED_POSTFIX EtsDeferredHaltMsgT;
176
177/*------------------------------------------------------------------------
178 * Message IDs for _CMD mailbox
179 *-----------------------------------------------------------------------*/
180
181typedef enum
182{
183 ETS_ENABLE_GENERIC_ACK_MSG,
184 ETS_SET_CHANNEL_DEVICE_MSG,
185 ETS_DEFERRED_HALT_MSG,
186#ifdef SYS_OPTION_DUAL_CARDS
187 UIM_ETS_SET_ACCESS_SLOT_MSG,
188#endif
189#ifdef MTK_DEV_LOG_FILTER_NVRAM
190 ETS_NVRAM_LOG_FILTER_UPDATE_ACK_MSG,
191 ETS_LOG_FILTER_UPDATE_MSG,
192#endif
193 ETS_CMD_MSG_NUM
194} EtsMsgIdT;
195
196/*------------------------------------------------------------------------
197 * Exported ETS functions
198 *-----------------------------------------------------------------------*/
199
200extern void EtsTxCriticalFault(MonFaultUnitT UnitNum, kal_uint32 FaultCode1, kal_uint32 FaultCode2);
201
202extern void EtsTxCriticalMsg( kal_uint32 MsgId, void *MsgDataP, kal_uint32 MsgDataSize );
203
204extern void EtsTxFaultFileInfo(char *FilenameBuffer);
205
206#if (defined(MTK_DEV_BUG_FIX_SS) && defined(BOARD_CBP80_FLASH)) || defined(MTK_PLT_MODEM_ONLY)
207extern void EtsUartTxCriticalMsg( kal_uint32 MsgId, void* MsgDataP, kal_uint32 MsgDataSize ) ;
208#endif
209
210#ifdef MTK_DEV_OPTIMIZE_LOGGING
211extern void MonLogOptUartTxEts (void);
212#endif
213
214#endif /* ETSAPI_H */
215
216
217