http://downloads.netgear.com/files/GPL/GPL_Source_V361j_DM111PSP_series_consumer_rele...
[bcm963xx.git] / bcmdrivers / broadcom / include / bcm963xx / DiagDef.h
1 /*
2 <:copyright-gpl
3  Copyright 2004 Broadcom Corp. All Rights Reserved.
4  
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.
8  
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
12  for more details.
13
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.
17 :>
18 */
19
20 /*******************************************************************
21  * DiagDef.h
22  *
23  *      Description:
24  *              Diag definitions
25  *
26  * $Revision: 1.3 $
27  *
28  * $Id: DiagDef.h,v 1.3 2006/11/27 07:27:08 swda Exp $
29  *
30  * $Log: DiagDef.h,v $
31  * Revision 1.3  2006/11/27 07:27:08  swda
32  * Integrate ADSL2+ new Annex A CPE PHY A2pB022c and driver A2x020c
33  *
34  * Revision 1.23  2005/07/14 23:43:20  ilyas
35  * Added command to start data logging
36  *
37  * Revision 1.22  2004/10/16 23:43:19  ilyas
38  * Added playback resume command
39  *
40  * Revision 1.21  2004/10/16 23:24:08  ilyas
41  * Improved FileRead command support for LOG file playback (RecordTest on the board)
42  *
43  * Revision 1.20  2004/04/28 16:52:32  ilyas
44  * Added GDB frame processing
45  *
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
49  *
50  * Revision 1.18  2004/01/24 23:41:37  ilyas
51  * Added DIAG_DEBUG_CMD_LOG_SAMPLES debug command
52  *
53  * Revision 1.17  2003/11/19 02:25:45  ilyas
54  * Added definitions for LOG frame retransmission, time, ADSL2 plots
55  *
56  * Revision 1.16  2003/11/14 18:46:05  ilyas
57  * Added G992p3 debug commands
58  *
59  * Revision 1.15  2003/10/02 19:50:41  ilyas
60  * Added support for buffering data for AnnexI and statistical counters
61  *
62  * Revision 1.14  2003/09/03 19:45:11  ilyas
63  * To refuse connection with older protocol versions
64  *
65  * Revision 1.13  2003/08/30 00:12:39  ilyas
66  * Added support for running chip test regressions via DslDiags
67  *
68  * Revision 1.12  2003/08/12 00:19:28  ilyas
69  * Improved image downloading protocol.
70  * Added DEBUG command support
71  *
72  * Revision 1.11  2003/04/11 00:37:24  ilyas
73  * Added DiagProtoFrame definition
74  *
75  * Revision 1.10  2003/03/25 00:10:07  ilyas
76  * Added command for "long" BERT test
77  *
78  * Revision 1.9  2003/01/30 03:29:32  ilyas
79  * Added PHY_CFG support and fixed printing showtime counters
80  *
81  * Revision 1.8  2002/12/16 20:56:38  ilyas
82  * Added support for binary statuses
83  *
84  * Revision 1.7  2002/12/06 20:19:13  ilyas
85  * Added support for binary statuses and scrambled status strings
86  *
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
91  *
92  * Revision 1.5  2002/07/30 23:23:43  ilyas
93  * Implemented DIAG configuration command for AnnexA and AnnexC
94  *
95  * Revision 1.4  2002/07/30 22:47:15  ilyas
96  * Added DIAG command for configuration
97  *
98  * Revision 1.3  2002/07/15 23:52:51  ilyas
99  * iAdded switch RJ11 pair command
100  *
101  * Revision 1.2  2002/04/25 17:55:51  ilyas
102  * Added mibGet command
103  *
104  * Revision 1.1  2002/04/02 22:56:39  ilyas
105  * Support DIAG connection at any time; BERT commands
106  *
107  *
108  ******************************************************************/
109
110 #define LOG_PROTO_ID                            "*L"
111
112 #define DIAG_PARTY_ID_MASK                      0x01
113 #define LOG_PARTY_CLIENT                        0x01
114 #define LOG_PARTY_SERVER                        0x00
115
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    
121
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)
125
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
153
154 typedef struct _LogProtoHeader {
155         unsigned char   logProtoId[2];
156         unsigned char   logPartyId;
157         unsigned char   logCommmand;
158 } LogProtoHeader;
159
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))
164
165 typedef struct {
166         LogProtoHeader  diagHdr;
167         unsigned char   diagData[LOG_MAX_DATA_SIZE];
168 } DiagProtoFrame;
169
170 #define DIAG_PROXY_TERMINATE                            1
171
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
185
186 #define DIAG_DEBUG_CMD_PLAYBACK_STOP            14
187 #define DIAG_DEBUG_CMD_PLAYBACK_RESUME          15
188
189 #define DIAG_DEBUG_CMD_LOG_DATA                         16
190 #define DIAG_DEBUG_CMD_CLEAREOC_LOOPBACK    17
191 #define DIAG_DEBUG_CMD_ANNEXM_CFG                       18
192
193 #define DIAG_DEBUG_CMD_PRINT_STAT                       21
194 #define DIAG_DEBUG_CMD_CLEAR_STAT                       22
195 #define DIAG_DEBUG_CMD_SET_OEM                          23
196
197 typedef struct {
198         unsigned short  cmd;
199         unsigned short  cmdId;
200         unsigned long   param1;
201         unsigned long   param2;
202         unsigned char   diagData[1];
203 } DiagDebugData;
204
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
210
211 #define DIAG_TEST_FILENAME_LEN                          64
212
213 typedef struct {
214         unsigned short  cmd;
215         unsigned short  cmdId;
216         unsigned long   offset;
217         unsigned long   len;
218         unsigned long   bufPtr;
219         char                    fileName[DIAG_TEST_FILENAME_LEN];
220 } DiagTestData;
221
222 typedef struct {
223         unsigned long   frStart;
224         unsigned long   frNum;
225 } DiagLogRetrData;