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 //**************************************************************************
23 // Description: This file contains the definitions, structures and function
24 // prototypes for ADSL PHY interface
26 //**************************************************************************
27 #if !defined(_BCMADSL_H_)
30 #if defined(__cplusplus)
35 #include "AdslMibDef.h"
37 //**************************************************************************
39 //**************************************************************************
41 // Return status values
42 typedef enum BcmAdslStatus
44 BCMADSL_STATUS_SUCCESS = 0,
48 // Return status values
49 typedef enum AdslLinkState
53 BCM_ADSL_TRAINING_G992_EXCHANGE,
54 BCM_ADSL_TRAINING_G992_CHANNEL_ANALYSIS,
55 BCM_ADSL_TRAINING_G992_STARTED,
56 BCM_ADSL_TRAINING_G994,
57 BCM_ADSL_G994_NONSTDINFO_RECEIVED,
58 BCM_ADSL_BERT_COMPLETE,
61 BCM_ADSL_G997_FRAME_RECEIVED,
62 BCM_ADSL_G997_FRAME_SENT
65 #ifndef DISABLE_ADSL_OLD_DEF
66 #define ADSL_LINK_UP BCM_ADSL_LINK_UP
67 #define ADSL_LINK_DOWN BCM_ADSL_LINK_DOWN
71 typedef enum AdslTestMode
76 ADSL_TEST_SELECT_TONES,
77 ADSL_TEST_NO_AUTO_RETRAIN,
78 ADSL_TEST_MARGIN_TWEAK,
79 ADSL_TEST_ESTIMATE_PLL_PHASE,
80 ADSL_TEST_REPORT_PLL_PHASE_STATUS,
81 ADSL_TEST_AFELOOPBACK,
87 // ADSL_CHANNEL_ADDR Contains ADSL Utopia PHY addresses
88 typedef struct AdslChannelAddr
90 UINT16 usFastChannelAddr;
91 UINT16 usInterleavedChannelAddr;
92 } ADSL_CHANNEL_ADDR, *PADSL_CHANNEL_ADDR;
94 // ADSL_CONNECTION_INFO Contains ADSL Connection Info
95 typedef struct AdslConnectionInfo
97 ADSL_LINK_STATE LinkState;
99 unsigned long ShowtimeStart;
100 UINT32 ulFastUpStreamRate;
101 UINT32 ulFastDnStreamRate;
102 UINT32 ulInterleavedUpStreamRate;
103 UINT32 ulInterleavedDnStreamRate;
104 } ADSL_CONNECTION_INFO, *PADSL_CONNECTION_INFO;
107 typedef struct _adslConnectionCounter {
110 char system_up_time_duration[13];
111 char line_up_time_duration[13];
112 } adslConnectionCounter;
114 /* OEM parameter definition */
115 #define ADSL_OEM_G994_VENDOR_ID 1 /* Vendor ID used during G.994 handshake */
116 #define ADSL_OEM_G994_XMT_NS_INFO 2 /* G.994 non-standard info field to send */
117 #define ADSL_OEM_G994_RCV_NS_INFO 3 /* G.994 received non-standard */
118 #define ADSL_OEM_EOC_VENDOR_ID 4 /* EOC reg. 0 */
119 #define ADSL_OEM_EOC_VERSION 5 /* EOC reg. 1 */
120 #define ADSL_OEM_EOC_SERIAL_NUMBER 6 /* EOC reg. 2 */
121 #define ADSL_OEM_T1413_VENDOR_ID 7 /* Vendor ID used during T1.413 handshake */
122 #define ADSL_OEM_T1413_EOC_VENDOR_ID 8 /* EOC reg. 0 (vendor ID) in T1.413 mode */
124 /* XMT gain definitions */
125 #define ADSL_XMT_GAIN_AUTO 0x80000000
134 } ADSL_DIAG, *PADSL_DIAG;
140 } ADSL_CONSTELLATION_POINT, *PADSL_CONSTELLATION_POINT;
142 #define ADSL_CONSTEL_DATA_ID 0
143 #define ADSL_CONSTEL_PILOT_ID 1
145 #define ADSL_MIB_INFO adslMibInfo
146 typedef ADSL_MIB_INFO *PADSL_MIB_INFO;
148 typedef void (*ADSL_FN_NOTIFY_CB) (ADSL_LINK_STATE AdslLinkState, UINT32 ulParm);
150 //**************************************************************************
151 // Function Prototypes
152 //**************************************************************************
154 BCMADSL_STATUS BcmAdsl_Check(void);
155 BCMADSL_STATUS BcmAdsl_Initialize(ADSL_FN_NOTIFY_CB pFnNotifyCb, UINT32 ulParm, adslCfgProfile *pAdslCfg);
157 BCMADSL_STATUS BcmAdsl_MapAtmPortIDs(UINT16 usAtmFastPortId, UINT16 usAtmInterleavedPortId);
159 BCMADSL_STATUS BcmAdsl_Uninitialize(void);
160 BCMADSL_STATUS BcmAdsl_ConnectionStart(void);
161 BCMADSL_STATUS BcmAdsl_ConnectionStop(void);
162 BCMADSL_STATUS BcmAdsl_GetPhyAddresses(PADSL_CHANNEL_ADDR pChannelAddr);
163 BCMADSL_STATUS BcmAdsl_SetPhyAddresses(PADSL_CHANNEL_ADDR pChannelAddr);
164 BCMADSL_STATUS BcmAdsl_GetConnectionInfo(PADSL_CONNECTION_INFO pConnectionInfo);
165 BCMADSL_STATUS BcmAdsl_DiagCommand(PADSL_DIAG pAdslDiag);
166 int BcmAdsl_SetObjectValue(char *objId, int objIdLen, char *dataBuf, long *dataBufLen);
167 int BcmAdsl_GetObjectValue(char *objId, int objIdLen, char *dataBuf, long *dataBufLen);
168 BCMADSL_STATUS BcmAdsl_StartBERT(unsigned long totalBits);
169 BCMADSL_STATUS BcmAdsl_StopBERT(void);
170 BCMADSL_STATUS BcmAdsl_BertStartEx(unsigned long bertSec);
171 BCMADSL_STATUS BcmAdsl_BertStopEx(void);
172 BCMADSL_STATUS BcmAdsl_CheckPowerLoss(void);
173 BCMADSL_STATUS BcmAdsl_SendDyingGasp(int powerCtl);
174 BCMADSL_STATUS BcmAdsl_Configure(adslCfgProfile *pAdslCfg);
175 BCMADSL_STATUS BcmAdsl_GetVersion(adslVersionInfo *pAdslVer);
176 BCMADSL_STATUS BcmAdsl_SetSDRAMBaseAddr(void *pAddr);
178 BCMADSL_STATUS BcmAdsl_GetAdslConnectionCnt(adslConnectionCounter *padslconncnt);
179 BCMADSL_STATUS BcmAdsl_SetVcEntry (int gfc, int port, int vpi, int vci);
180 BCMADSL_STATUS BcmAdsl_SetVcEntryEx (int gfc, int port, int vpi, int vci, int pti_clp);
182 BCMADSL_STATUS BcmAdsl_ResetStatCounters(void);
183 BCMADSL_STATUS BcmAdsl_SetAtmLoopbackMode(void);
184 BCMADSL_STATUS BcmAdsl_SetTestMode(ADSL_TEST_MODE testMode);
185 BCMADSL_STATUS BcmAdsl_SelectTones(
193 BCMADSL_STATUS BcmAdsl_SetDiagMode(int diagMode);
195 int BcmAdsl_GetConstellationPoints (int toneId, ADSL_CONSTELLATION_POINT *pointBuf, int numPoints);
197 int BcmAdsl_GetOemParameter (int paramId, void *buf, int len);
198 int BcmAdsl_SetOemParameter (int paramId, void *buf, int len);
199 int BcmAdsl_SetXmtGain(int gain);
201 UINT32 BcmAdsl_GetSelfTestMode(void);
202 void BcmAdsl_SetSelfTestMode(UINT32 stMode);
203 UINT32 BcmAdsl_GetSelfTestResults(void);
205 BCMADSL_STATUS BcmAdsl_G997SendData(void *buf, int len);
206 void *BcmAdsl_G997FrameGet(int *pLen);
207 void *BcmAdsl_G997FrameGetNext(int *pLen);
208 void BcmAdsl_G997FrameFinished(void);
209 void BcmAdsl_DyingGaspHandler(void *context);
211 void BcmAdsl_AtmClearVcTable(void);
212 void BcmAdsl_AtmAddVc(int vpi, int vci);
213 void BcmAdsl_AtmDeleteVc(int vpi, int vci);
214 void BcmAdsl_AtmSetMaxSdu(unsigned short maxsdu);
215 void BcmAdsl_AtmSetPortId(int path, int portId) ;
217 #if defined(__cplusplus)
221 #endif // _BCMADSL_H_