4 Copyright (c) 2002 Broadcom Corporation
6 No portions of this material may be reproduced in any form without the
10 Irvine, California 92619
11 All information contained in this document is Broadcom Corporation
12 company private, proprietary, and trade secret.
16 //**************************************************************************
19 // Description: This file contains the definitions, structures and function
20 // prototypes for ADSL PHY interface
22 //**************************************************************************
23 #if !defined(_BCMADSL_H_)
26 #if defined(__cplusplus)
31 #include "AdslMibDef.h"
33 //**************************************************************************
35 //**************************************************************************
37 // Return status values
38 typedef enum BcmAdslStatus
40 BCMADSL_STATUS_SUCCESS = 0,
44 // Return status values
45 typedef enum AdslLinkState
49 BCM_ADSL_TRAINING_G992_EXCHANGE,
50 BCM_ADSL_TRAINING_G992_CHANNEL_ANALYSIS,
51 BCM_ADSL_TRAINING_G992_STARTED,
52 BCM_ADSL_TRAINING_G994,
53 BCM_ADSL_G994_NONSTDINFO_RECEIVED,
54 BCM_ADSL_BERT_COMPLETE,
57 BCM_ADSL_G997_FRAME_RECEIVED,
58 BCM_ADSL_G997_FRAME_SENT
61 #ifndef DISABLE_ADSL_OLD_DEF
62 #define ADSL_LINK_UP BCM_ADSL_LINK_UP
63 #define ADSL_LINK_DOWN BCM_ADSL_LINK_DOWN
67 typedef enum AdslTestMode
72 ADSL_TEST_SELECT_TONES,
73 ADSL_TEST_NO_AUTO_RETRAIN,
74 ADSL_TEST_MARGIN_TWEAK,
75 ADSL_TEST_ESTIMATE_PLL_PHASE,
76 ADSL_TEST_REPORT_PLL_PHASE_STATUS,
77 ADSL_TEST_AFELOOPBACK,
83 // ADSL_CHANNEL_ADDR Contains ADSL Utopia PHY addresses
84 typedef struct AdslChannelAddr
86 UINT16 usFastChannelAddr;
87 UINT16 usInterleavedChannelAddr;
88 } ADSL_CHANNEL_ADDR, *PADSL_CHANNEL_ADDR;
90 // ADSL_CONNECTION_INFO Contains ADSL Connection Info
91 typedef struct AdslConnectionInfo
93 ADSL_LINK_STATE LinkState;
94 UINT32 ulFastUpStreamRate;
95 UINT32 ulFastDnStreamRate;
96 UINT32 ulInterleavedUpStreamRate;
97 UINT32 ulInterleavedDnStreamRate;
98 } ADSL_CONNECTION_INFO, *PADSL_CONNECTION_INFO;
100 /* OEM parameter definition */
101 #define ADSL_OEM_G994_VENDOR_ID 1 /* Vendor ID used during G.994 handshake */
102 #define ADSL_OEM_G994_XMT_NS_INFO 2 /* G.994 non-standard info field to send */
103 #define ADSL_OEM_G994_RCV_NS_INFO 3 /* G.994 received non-standard */
104 #define ADSL_OEM_EOC_VENDOR_ID 4 /* EOC reg. 0 */
105 #define ADSL_OEM_EOC_VERSION 5 /* EOC reg. 1 */
106 #define ADSL_OEM_EOC_SERIAL_NUMBER 6 /* EOC reg. 2 */
107 #define ADSL_OEM_T1413_VENDOR_ID 7 /* Vendor ID used during T1.413 handshake */
108 #define ADSL_OEM_T1413_EOC_VENDOR_ID 8 /* EOC reg. 0 (vendor ID) in T1.413 mode */
110 /* XMT gain definitions */
111 #define ADSL_XMT_GAIN_AUTO 0x80000000
120 } ADSL_DIAG, *PADSL_DIAG;
126 } ADSL_CONSTELLATION_POINT, *PADSL_CONSTELLATION_POINT;
128 #define ADSL_CONSTEL_DATA_ID 0
129 #define ADSL_CONSTEL_PILOT_ID 1
131 #define ADSL_MIB_INFO adslMibInfo
132 typedef ADSL_MIB_INFO *PADSL_MIB_INFO;
134 typedef void (*ADSL_FN_NOTIFY_CB) (ADSL_LINK_STATE AdslLinkState, UINT32 ulParm);
136 //**************************************************************************
137 // Function Prototypes
138 //**************************************************************************
140 BCMADSL_STATUS BcmAdsl_Check(void);
141 BCMADSL_STATUS BcmAdsl_Initialize(ADSL_FN_NOTIFY_CB pFnNotifyCb, UINT32 ulParm, adslCfgProfile *pAdslCfg);
143 BCMADSL_STATUS BcmAdsl_MapAtmPortIDs(UINT16 usAtmFastPortId, UINT16 usAtmInterleavedPortId);
145 BCMADSL_STATUS BcmAdsl_Uninitialize(void);
146 BCMADSL_STATUS BcmAdsl_ConnectionStart(void);
147 BCMADSL_STATUS BcmAdsl_ConnectionStop(void);
148 BCMADSL_STATUS BcmAdsl_GetPhyAddresses(PADSL_CHANNEL_ADDR pChannelAddr);
149 BCMADSL_STATUS BcmAdsl_SetPhyAddresses(PADSL_CHANNEL_ADDR pChannelAddr);
150 BCMADSL_STATUS BcmAdsl_GetConnectionInfo(PADSL_CONNECTION_INFO pConnectionInfo);
151 BCMADSL_STATUS BcmAdsl_DiagCommand(PADSL_DIAG pAdslDiag);
152 int BcmAdsl_GetObjectValue(char *objId, int objIdLen, char *dataBuf, long *dataBufLen);
153 BCMADSL_STATUS BcmAdsl_StartBERT(unsigned long totalBits);
154 BCMADSL_STATUS BcmAdsl_StopBERT(void);
155 BCMADSL_STATUS BcmAdsl_BertStartEx(unsigned long bertSec);
156 BCMADSL_STATUS BcmAdsl_BertStopEx(void);
157 BCMADSL_STATUS BcmAdsl_CheckPowerLoss(void);
158 BCMADSL_STATUS BcmAdsl_SendDyingGasp(int powerCtl);
159 BCMADSL_STATUS BcmAdsl_Configure(adslCfgProfile *pAdslCfg);
160 BCMADSL_STATUS BcmAdsl_GetVersion(adslVersionInfo *pAdslVer);
161 BCMADSL_STATUS BcmAdsl_SetSDRAMBaseAddr(void *pAddr);
162 BCMADSL_STATUS BcmAdsl_SetVcEntry (int gfc, int port, int vpi, int vci);
163 BCMADSL_STATUS BcmAdsl_SetVcEntryEx (int gfc, int port, int vpi, int vci, int pti_clp);
165 BCMADSL_STATUS BcmAdsl_ResetStatCounters(void);
166 BCMADSL_STATUS BcmAdsl_SetAtmLoopbackMode(void);
167 BCMADSL_STATUS BcmAdsl_SetTestMode(ADSL_TEST_MODE testMode);
168 BCMADSL_STATUS BcmAdsl_SelectTones(
176 BCMADSL_STATUS BcmAdsl_SetDiagMode(int diagMode);
178 int BcmAdsl_GetConstellationPoints (int toneId, ADSL_CONSTELLATION_POINT *pointBuf, int numPoints);
180 int BcmAdsl_GetOemParameter (int paramId, void *buf, int len);
181 int BcmAdsl_SetOemParameter (int paramId, void *buf, int len);
182 int BcmAdsl_SetXmtGain(int gain);
184 UINT32 BcmAdsl_GetSelfTestMode(void);
185 void BcmAdsl_SetSelfTestMode(UINT32 stMode);
186 UINT32 BcmAdsl_GetSelfTestResults(void);
188 BCMADSL_STATUS BcmAdsl_G997SendData(void *buf, int len);
189 void *BcmAdsl_G997FrameGet(int *pLen);
190 void *BcmAdsl_G997FrameGetNext(int *pLen);
191 void BcmAdsl_G997FrameFinished(void);
192 void BcmAdsl_DyingGaspHandler(void *context);
194 void BcmAdsl_AtmClearVcTable(void);
195 void BcmAdsl_AtmAddVc(int vpi, int vci);
196 void BcmAdsl_AtmDeleteVc(int vpi, int vci);
197 void BcmAdsl_AtmSetMaxSdu(unsigned short maxsdu);
199 #if defined(__cplusplus)
203 #endif // _BCMADSL_H_