3 Copyright 2004 Broadcom Corp. All Rights Reserved.
5 This program is free software; you can distribute it and/or modify it
6 under the terms of the GNU General Public License (Version 2) as
7 published by the Free Software Foundation.
9 This program is distributed in the hope it will be useful, but WITHOUT
10 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
11 FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
14 You should have received a copy of the GNU General Public License along
15 with this program; if not, write to the Free Software Foundation, Inc.,
16 59 Temple Place - Suite 330, Boston MA 02111-1307, USA.
20 /*******************************************************************
28 * $Id: DiagDef.h,v 1.3 2006/11/27 07:27:08 swda Exp $
31 * Revision 1.3 2006/11/27 07:27:08 swda
32 * Integrate ADSL2+ new Annex A CPE PHY A2pB022c and driver A2x020c
34 * Revision 1.23 2005/07/14 23:43:20 ilyas
35 * Added command to start data logging
37 * Revision 1.22 2004/10/16 23:43:19 ilyas
38 * Added playback resume command
40 * Revision 1.21 2004/10/16 23:24:08 ilyas
41 * Improved FileRead command support for LOG file playback (RecordTest on the board)
43 * Revision 1.20 2004/04/28 16:52:32 ilyas
44 * Added GDB frame processing
46 * Revision 1.19 2004/03/10 22:26:53 ilyas
47 * Added command-line parameter for IP port number.
48 * Added proxy remote termination
50 * Revision 1.18 2004/01/24 23:41:37 ilyas
51 * Added DIAG_DEBUG_CMD_LOG_SAMPLES debug command
53 * Revision 1.17 2003/11/19 02:25:45 ilyas
54 * Added definitions for LOG frame retransmission, time, ADSL2 plots
56 * Revision 1.16 2003/11/14 18:46:05 ilyas
57 * Added G992p3 debug commands
59 * Revision 1.15 2003/10/02 19:50:41 ilyas
60 * Added support for buffering data for AnnexI and statistical counters
62 * Revision 1.14 2003/09/03 19:45:11 ilyas
63 * To refuse connection with older protocol versions
65 * Revision 1.13 2003/08/30 00:12:39 ilyas
66 * Added support for running chip test regressions via DslDiags
68 * Revision 1.12 2003/08/12 00:19:28 ilyas
69 * Improved image downloading protocol.
70 * Added DEBUG command support
72 * Revision 1.11 2003/04/11 00:37:24 ilyas
73 * Added DiagProtoFrame definition
75 * Revision 1.10 2003/03/25 00:10:07 ilyas
76 * Added command for "long" BERT test
78 * Revision 1.9 2003/01/30 03:29:32 ilyas
79 * Added PHY_CFG support and fixed printing showtime counters
81 * Revision 1.8 2002/12/16 20:56:38 ilyas
82 * Added support for binary statuses
84 * Revision 1.7 2002/12/06 20:19:13 ilyas
85 * Added support for binary statuses and scrambled status strings
87 * Revision 1.6 2002/11/05 00:18:27 ilyas
88 * Added configuration dialog box for Eye tone selection.
89 * Added Centillium CRC workaround to AnnexC config dialog
90 * Bit allocation update on bit swap messages
92 * Revision 1.5 2002/07/30 23:23:43 ilyas
93 * Implemented DIAG configuration command for AnnexA and AnnexC
95 * Revision 1.4 2002/07/30 22:47:15 ilyas
96 * Added DIAG command for configuration
98 * Revision 1.3 2002/07/15 23:52:51 ilyas
99 * iAdded switch RJ11 pair command
101 * Revision 1.2 2002/04/25 17:55:51 ilyas
102 * Added mibGet command
104 * Revision 1.1 2002/04/02 22:56:39 ilyas
105 * Support DIAG connection at any time; BERT commands
108 ******************************************************************/
110 #define LOG_PROTO_ID "*L"
112 #define DIAG_PARTY_ID_MASK 0x01
113 #define LOG_PARTY_CLIENT 0x01
114 #define LOG_PARTY_SERVER 0x00
116 #define DIAG_DATA_MASK 0x0E
117 #define DIAG_DATA_LOG 0x02
118 #define DIAG_DATA_EYE 0x04
119 #define DIAG_DATA_LOG_TIME 0x08
120 #define DIAG_DATA_GUI_ID 0x10
122 #define DIAG_DATA_EX 0x80
123 #define DIAG_PARTY_ID_MASK_EX (DIAG_DATA_EX | DIAG_PARTY_ID_MASK)
124 #define LOG_PARTY_SERVER_EX (DIAG_DATA_EX | LOG_PARTY_SERVER)
126 #define DIAG_ACK_FRAME_ACK_MASK 0x000000FF
127 #define DIAG_ACK_FRAME_RCV_SHIFT 8
128 #define DIAG_ACK_FRAME_RCV_MASK 0x0000FF00
129 #define DIAG_ACK_FRAME_RCV_PRESENT 0x00010000
130 #define DIAG_ACK_TIMEOUT -1
131 #define DIAG_ACK_LEN_INDICATION -1
132 #define LOG_CMD_CFG_PHY2 235
133 #define LOG_CMD_GDB 236
134 #define LOG_CMD_PROXY 237
135 #define LOG_CMD_RETR 238
136 #define LOG_CMD_DEBUG 239
137 #define LOG_CMD_BERT_EX 240
138 #define LOG_CMD_CFG_PHY 241
139 #define LOG_CMD_RESET 242
140 #define LOG_CMD_SCRAMBLED_STRING 243
141 #define LOG_CMD_EYE_CFG 244
142 #define LOG_CMD_CONFIG_A 245
143 #define LOG_CMD_CONFIG_C 246
144 #define LOG_CMD_SWITCH_RJ11_PAIR 247
145 #define LOG_CMD_MIB_GET 248
146 #define LOG_CMD_LOG_STOP 249
147 #define LOG_CMD_PING_REQ 250
148 #define LOG_CMD_PING_RSP 251
149 #define LOG_CMD_DISCONNECT 252
150 #define LOG_CMD_STRING_DATA 253
151 #define LOG_CMD_TEST_DATA 254
152 #define LOG_CMD_CONNECT 255
154 typedef struct _LogProtoHeader {
155 unsigned char logProtoId[2];
156 unsigned char logPartyId;
157 unsigned char logCommmand;
160 #define LOG_FILE_PORT 5100
161 #define LOG_FILE_PORT2 5099
162 #define LOG_MAX_BUF_SIZE 1400
163 #define LOG_MAX_DATA_SIZE (LOG_MAX_BUF_SIZE - sizeof(LogProtoHeader))
166 LogProtoHeader diagHdr;
167 unsigned char diagData[LOG_MAX_DATA_SIZE];
170 #define DIAG_PROXY_TERMINATE 1
172 #define DIAG_DEBUG_CMD_READ_MEM 1
173 #define DIAG_DEBUG_CMD_SET_MEM 2
174 #define DIAG_DEBUG_CMD_RESET_CONNECTION 3
175 #define DIAG_DEBUG_CMD_RESET_PHY 4
176 #define DIAG_DEBUG_CMD_RESET_CHIP 5
177 #define DIAG_DEBUG_CMD_EXEC_FUNC 6
178 #define DIAG_DEBUG_CMD_EXEC_ADSL_FUNC 7
179 #define DIAG_DEBUG_CMD_WRITE_FILE 8
180 #define DIAG_DEBUG_CMD_G992P3_DEBUG 9
181 #define DIAG_DEBUG_CMD_G992P3_DIAG_MODE 10
182 #define DIAG_DEBUG_CMD_CLEAR_TIME 11
183 #define DIAG_DEBUG_CMD_PRINT_TIME 12
184 #define DIAG_DEBUG_CMD_LOG_SAMPLES 13
186 #define DIAG_DEBUG_CMD_PLAYBACK_STOP 14
187 #define DIAG_DEBUG_CMD_PLAYBACK_RESUME 15
189 #define DIAG_DEBUG_CMD_LOG_DATA 16
190 #define DIAG_DEBUG_CMD_CLEAREOC_LOOPBACK 17
191 #define DIAG_DEBUG_CMD_ANNEXM_CFG 18
193 #define DIAG_DEBUG_CMD_PRINT_STAT 21
194 #define DIAG_DEBUG_CMD_CLEAR_STAT 22
195 #define DIAG_DEBUG_CMD_SET_OEM 23
199 unsigned short cmdId;
200 unsigned long param1;
201 unsigned long param2;
202 unsigned char diagData[1];
205 #define DIAG_TEST_CMD_LOAD 101
206 #define DIAG_TEST_CMD_READ 102
207 #define DIAG_TEST_CMD_WRITE 103
208 #define DIAG_TEST_CMD_APPEND 104
209 #define DIAG_TEST_CMD_TEST_COMPLETE 105
211 #define DIAG_TEST_FILENAME_LEN 64
215 unsigned short cmdId;
216 unsigned long offset;
218 unsigned long bufPtr;
219 char fileName[DIAG_TEST_FILENAME_LEN];
223 unsigned long frStart;