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 //**************************************************************************
17 // File Name : bcmvdsl.h
19 // Description: This file contains the definitions, structures and function
20 // prototypes for VDSL 6510 interface
22 //**************************************************************************
23 #if !defined(_BCMXDSL_H_)
26 #if defined(__cplusplus)
31 #include "VdslInfoDef.h"
33 //**************************************************************************
35 //**************************************************************************
37 // Return status values
38 typedef enum BcmXdslStatus
40 BCMXDSL_STATUS_SUCCESS = 0,
44 // Return status values
45 typedef enum XdslLinkState
49 BCM_XDSL_TRAINING_G992_EXCHANGE,
50 BCM_XDSL_TRAINING_G992_CHANNEL_ANALYSIS,
51 BCM_XDSL_TRAINING_G992_STARTED,
52 BCM_XDSL_TRAINING_G994,
53 BCM_XDSL_G994_NONSTDINFO_RECEIVED,
54 BCM_XDSL_BERT_COMPLETE,
57 BCM_XDSL_G997_FRAME_RECEIVED,
58 BCM_XDSL_G997_FRAME_SENT
61 #ifndef DISABLE_VDSL_OLD_DEF
62 #define XDSL_LINK_UP BCM_XDSL_LINK_UP
63 #define XDSL_LINK_DOWN BCM_XDSL_LINK_DOWN
66 typedef enum XdslTrafficType
68 BCM_XDSL_TRAFFIC_INACTIVE = 0,
74 typedef enum VdslTestMode
79 VDSL_TEST_SELECT_TONES,
80 VDSL_TEST_NO_AUTO_RETRAIN,
81 VDSL_TEST_MARGIN_TWEAK,
82 VDSL_TEST_ESTIMATE_PLL_PHASE,
83 VDSL_TEST_REPORT_PLL_PHASE_STATUS,
84 VDSL_TEST_AFELOOPBACK,
90 // XDSL_CHANNEL_ADDR Contains XDSL Utopia PHY addresses
91 typedef struct XdslChannelAddr
93 UINT16 usFastChannelAddr;
94 UINT16 usInterleavedChannelAddr;
95 } XDSL_CHANNEL_ADDR, *PXDSL_CHANNEL_ADDR;
97 // For ADSL B0 maps to interleaved and B1 to fast
101 // XDSL_CONNECTION_INFO Contains XDSL Connection Info
102 typedef struct XdslConnectionInfo
104 XDSL_LINK_STATE LinkState;
105 XDSL_TRAFFIC_TYPE TrafficType[2]; /* B0 and B1 */
106 UINT32 ulUpStreamRate[2]; /* B0 and B1 */
107 UINT32 ulDnStreamRate[2]; /* B0 and B1 */
108 } XDSL_CONNECTION_INFO, *PXDSL_CONNECTION_INFO;
110 /* OEM parameter definition */
111 #define XDSL_OEM_G994_VENDOR_ID 1 /* Vendor ID used during G.994 handshake */
112 #define XDSL_OEM_G994_XMT_NS_INFO 2 /* G.994 non-standard info field to send */
113 #define XDSL_OEM_G994_RCV_NS_INFO 3 /* G.994 received non-standard */
114 #define XDSL_OEM_EOC_VENDOR_ID 4 /* EOC reg. 0 */
115 #define XDSL_OEM_EOC_VERSION 5 /* EOC reg. 1 */
116 #define XDSL_OEM_EOC_SERIAL_NUMBER 6 /* EOC reg. 2 */
117 #define XDSL_OEM_T1413_VENDOR_ID 7 /* Vendor ID used during T1.413 handshake */
118 #define XDSL_OEM_T1413_EOC_VENDOR_ID 8 /* EOC reg. 0 (vendor ID) in T1.413 mode */
120 /* XMT gain definitions */
121 #define XDSL_XMT_GAIN_AUTO 0x80000000
130 } VDSL_DIAG, *PVDSL_DIAG;
136 } XDSL_CONSTELLATION_POINT, *PXDSL_CONSTELLATION_POINT;
138 #define XDSL_CONSTEL_DATA_ID 0
139 #define XDSL_CONSTEL_PILOT_ID 1
141 #define VDSL_INFO vdslInfo
142 typedef VDSL_INFO *PVDSL_INFO;
144 typedef void (*XDSL_FN_NOTIFY_CB) (XDSL_LINK_STATE XdslLinkState, UINT32 ulParm);
146 //**************************************************************************
147 // Function Prototypes
148 //**************************************************************************
150 BCMXDSL_STATUS BcmVdsl_Check(void);
151 BCMXDSL_STATUS BcmVdsl_Initialize(XDSL_FN_NOTIFY_CB pFnNotifyCb, UINT32 ulParm, vdslCfgProfile *pVdslCfg);
153 BCMXDSL_STATUS BcmVdsl_MapAtmPortIDs(UINT16 usAtmFastPortId, UINT16 usAtmInterleavedPortId);
155 BCMXDSL_STATUS BcmVdsl_Uninitialize(void);
156 BCMXDSL_STATUS BcmVdsl_ConnectionStart(void);
157 BCMXDSL_STATUS BcmVdsl_ConnectionStop(void);
158 BCMXDSL_STATUS BcmVdsl_GetCounterInfo( vdslInfo *pVdslInfo );
159 BCMXDSL_STATUS BcmVdsl_SetPtmVpiVci( vdslVpiVciInfo *rxFirstBearer,
160 vdslVpiVciInfo *rxSecondBearer,
161 vdslVpiVciInfo *txFirstBearer,
162 vdslVpiVciInfo *txSecondBearer
164 BCMXDSL_STATUS BcmVdsl_GetPhyAddresses(PXDSL_CHANNEL_ADDR pChannelAddr);
165 BCMXDSL_STATUS BcmVdsl_SetPhyAddresses(PXDSL_CHANNEL_ADDR pChannelAddr);
166 BCMXDSL_STATUS BcmVdsl_GetConnectionInfo(PXDSL_CONNECTION_INFO pConnectionInfo);
167 BCMXDSL_STATUS BcmVdsl_DiagCommand(PVDSL_DIAG pVdslDiag);
168 int BcmVdsl_GetObjectValue(char *objId, int objIdLen, char *dataBuf, long *dataBufLen);
169 BCMXDSL_STATUS BcmVdsl_StartBERT(unsigned long totalBits);
170 BCMXDSL_STATUS BcmVdsl_StopBERT(void);
171 BCMXDSL_STATUS BcmVdsl_BertStartEx(unsigned long bertSec);
172 BCMXDSL_STATUS BcmVdsl_BertStopEx(void);
173 BCMXDSL_STATUS BcmVdsl_CheckPowerLoss(void);
174 BCMXDSL_STATUS BcmVdsl_SendDyingGasp(int powerCtl);
175 BCMXDSL_STATUS BcmVdsl_Configure(vdslCfgProfile *pVdslCfg);
176 BCMXDSL_STATUS BcmVdsl_GetVersion(vdslVersionInfo *pVdslVer);
177 BCMXDSL_STATUS BcmVdsl_SetSDRAMBaseAddr(void *pAddr);
178 BCMXDSL_STATUS BcmVdsl_SetVcEntry (int gfc, int port, int vpi, int vci);
179 BCMXDSL_STATUS BcmVdsl_SetVcEntryEx (int gfc, int port, int vpi, int vci, int pti_clp);
181 BCMXDSL_STATUS BcmVdsl_ResetStatCounters(void);
182 BCMXDSL_STATUS BcmVdsl_SetAtmLoopbackMode(void);
183 BCMXDSL_STATUS BcmVdsl_SetTestMode(VDSL_TEST_MODE testMode);
184 BCMXDSL_STATUS BcmVdsl_SelectTones(
192 BCMXDSL_STATUS BcmVdsl_SetDiagMode(int diagMode);
194 int BcmVdsl_GetConstellationPoints (int toneId, XDSL_CONSTELLATION_POINT *pointBuf, int numPoints);
196 int BcmVdsl_GetOemParameter (int paramId, void *buf, int len);
197 int BcmVdsl_SetOemParameter (int paramId, void *buf, int len);
198 int BcmVdsl_SetXmtGain(int gain);
200 UINT32 BcmVdsl_GetSelfTestMode(void);
201 void BcmVdsl_SetSelfTestMode(UINT32 stMode);
202 UINT32 BcmVdsl_GetSelfTestResults(void);
204 void *BcmVdsl_G997FrameGet(int *pLen);
205 void *BcmVdsl_G997FrameGetNext(int *pLen);
206 void BcmVdsl_G997FrameFinished(void);
208 #if defined(__cplusplus)
212 #endif // _BCMXDSL_H_