www.usr.com/support/gpl/USR9107_release.1.4.tar.gz
[bcm963xx.git] / bcmdrivers / broadcom / include / bcm963xx / AdslMibDef.h
index 4f503d7..e6048f0 100755 (executable)
  * Copyright (c) 1993-1998 AltoCom, Inc. All rights reserved.
  * Authors: Ilya Stomakhin
  *
- * $Revision: 1.17 $
+ * $Revision: 1.19 $
  *
- * $Id: AdslMibDef.h,v 1.17 2004/07/27 19:24:40 ilyas Exp $
+ * $Id: AdslMibDef.h,v 1.19 2005/08/11 15:08:38 ilyas Exp $
  *
  * $Log: AdslMibDef.h,v $
+ * Revision 1.19  2005/08/11 15:08:38  ilyas
+ * Added string scrambling checking and AnnexL/M submodes display
+ *
+ * Revision 1.18  2005/04/01 21:57:42  ilyas
+ * Added definition for PwmClock (ADSL driver)
+ *
  * Revision 1.17  2004/07/27 19:24:40  ilyas
  * Added AnnexM configuration option
  *
@@ -168,6 +174,32 @@ extern "C" {
 #define kAdsl2CfgReachExOn                                     0x00000001
 #define kAdsl2CfgAnnexMEnabled                         0x00000002
 
+#define kAdsl2CfgAnnexMPsdShift                                2
+#define kAdsl2CfgAnnexMPsdBits                         12
+#define kAdsl2CfgAnnexMPsdMask                         (0xFFF << kAdsl2CfgAnnexMPsdShift)
+
+#if (((1 << kAdsl2CfgAnnexMPsdBits) - 1) != (kAdsl2CfgAnnexMPsdMask >> kAdsl2CfgAnnexMPsdShift))
+#error Inconsistent kAdsl2CfgAnnexM definitions
+#endif
+
+#define kAdsl2CfgAnnexMUp32                 (0x00000001 << kAdsl2CfgAnnexMPsdShift)
+#define kAdsl2CfgAnnexMUp36                 (0x00000002 << kAdsl2CfgAnnexMPsdShift) 
+#define kAdsl2CfgAnnexMUp40                 (0x00000004 << kAdsl2CfgAnnexMPsdShift) 
+#define kAdsl2CfgAnnexMUp44                 (0x00000008 << kAdsl2CfgAnnexMPsdShift)
+#define kAdsl2CfgAnnexMUp48                 (0x00000010 << kAdsl2CfgAnnexMPsdShift)
+#define kAdsl2CfgAnnexMUp52                 (0x00000020 << kAdsl2CfgAnnexMPsdShift)
+#define kAdsl2CfgAnnexMUp56                 (0x00000040 << kAdsl2CfgAnnexMPsdShift)
+#define kAdsl2CfgAnnexMUp60                 (0x00000080 << kAdsl2CfgAnnexMPsdShift)
+#define kAdsl2CfgAnnexMUp64                 (0x00000100 << kAdsl2CfgAnnexMPsdShift)
+#define kAdsl2CfgAnnexMCustomPsd            (0x00000200 << kAdsl2CfgAnnexMPsdShift)
+
+#define kAdsl2CfgAnnexLShift                           (2 + kAdsl2CfgAnnexMPsdBits)
+#define kAdsl2CfgAnnexLMask                                    (0x7 << kAdsl2CfgAnnexLShift)
+
+#define kAdsl2CfgAnnexLUpWide               (0x00000001 << kAdsl2CfgAnnexLShift)
+#define kAdsl2CfgAnnexLUpNarrow             (0x00000002 << kAdsl2CfgAnnexLShift)
+#define kAdsl2CfgAnnexLDnOvlap                         (0x00000004 << kAdsl2CfgAnnexLShift)
+
 typedef struct _adslCfgProfile {
        long            adslAnnexCParam;
        long            adslAnnexAParam;
@@ -178,6 +210,7 @@ typedef struct _adslCfgProfile {
        long            adslDemodCapValue;
        long            adsl2Param;
        long            adslPwmSyncClockFreq;
+       long            adslHsModeSwitchTime;
 } adslCfgProfile;
 
 /* 
@@ -438,6 +471,8 @@ typedef struct _adslPhysEntry {
        long            adslCurrStatus;
        long            adslCurrOutputPwr;
        long            adslCurrAttainableRate;
+       long            adslSignalAttn;
+       long            adslHlinScaleFactor;
 } adslPhysEntry;
 
 #define kAdslPhysVendorIdLen           8
@@ -453,6 +488,8 @@ typedef struct _adslFullPhysEntry {
        long            adslCurrStatus;
        long            adslCurrOutputPwr;
        long            adslCurrAttainableRate;
+       long            adslSignalAttn;
+       long            adslHlinScaleFactor;
 } adslFullPhysEntry;
 
 /* Adsl channel entry definitions */
@@ -477,8 +514,20 @@ typedef struct _adslPerfCounters {
        unsigned long           adslSES;        /* Count of Severely Errored Seconds */
        unsigned long           adslLOSS;       /* Count of LOS seconds */
        unsigned long           adslFECs;       /* Count of FEC seconds  */
+       unsigned long           adslLCDS;       /* Count of LCD Errored Seconds */
 } adslPerfCounters;
 
+typedef struct _adslFailureCounters {
+       unsigned long           adslRetr;               /* Count of total retrains */
+       unsigned long           adslRetrLof;    /* Count of retrains due to LOF */
+       unsigned long           adslRetrLos;    /* Count of retrains due to LOS */
+       unsigned long           adslRetrLpr;    /* Count of retrains due to LPR */
+       unsigned long           adslRetrLom;    /* Count of retrains due to LOM */
+       unsigned long           adslInitErr;    /* Count of training failures */
+       unsigned long           adslInitTo;             /* Count of training timeouts */
+       unsigned long           adslLineSearch; /* Count of line search inits */
+} adslFailureCounters;
+
 typedef struct _adslPerfDataEntry {
        adslPerfCounters        perfTotal;
        unsigned long                           adslPerfValidIntervals;
@@ -489,6 +538,7 @@ typedef struct _adslPerfDataEntry {
        unsigned long                           adslPerfCurr1DayTimeElapsed;
        adslPerfCounters        perfPrev1Day;
        unsigned long                           adslAturPerfPrev1DayMoniSecs;
+       adslFailureCounters failTotal;
 } adslPerfDataEntry;
 
 #define kAdslMibPerfIntervals          4
@@ -597,6 +647,31 @@ typedef struct _adsl2DataConnectionInfo {
        unsigned short          B;
 } adsl2DataConnectionInfo;
 
+/* ADSL2 connection parameters */
+
+#define kAdsl2ModeAnnexMask                                    0xF
+
+#define kAdsl2ModeAnnexMUp32                           1
+#define kAdsl2ModeAnnexMUp36                           2 
+#define kAdsl2ModeAnnexMUp40                           3 
+#define kAdsl2ModeAnnexMUp44                4
+#define kAdsl2ModeAnnexMUp48                5
+#define kAdsl2ModeAnnexMUp52                           6
+#define kAdsl2ModeAnnexMUp56                7
+#define kAdsl2ModeAnnexMUp60                8
+#define kAdsl2ModeAnnexMUp64                9
+
+#define kAdsl2ModeAnnexLShift                          4
+#define kAdsl2ModeAnnexLMask                           (0x3 << kAdsl2ModeAnnexLShift)
+
+#define kAdsl2ModeAnnexLUpMask                         (0x00000001 << kAdsl2ModeAnnexLShift)
+#define kAdsl2ModeAnnexLUpWide              (0x00000000 << kAdsl2ModeAnnexLShift)
+#define kAdsl2ModeAnnexLUpNarrow            (0x00000001 << kAdsl2ModeAnnexLShift)
+
+#define kAdsl2ModeAnnexLDnMask                         (0x00000002 << kAdsl2ModeAnnexLShift)
+#define kAdsl2ModeAnnexLDnNonOvlap                     (0x00000000 << kAdsl2ModeAnnexLShift)
+#define kAdsl2ModeAnnexLDnOvlap                                (0x00000002 << kAdsl2ModeAnnexLShift)
+
 typedef struct _adsl2ConnectionInfo {
        long                                    adsl2Mode;
        long                                    rcvRate;
@@ -703,6 +778,8 @@ typedef struct _adslMibInfo {
        adslDiagModeData                adslDiag;
        adsl2ConnectionInfo             adsl2Info;
        adslPerfCounters                adslTxPerfTotal;
+       adslPerfCounters                adslTxPerfLast15Min;
+       adslPerfCounters                adslTxPerfLast1Day;
 } adslMibInfo;
 
 #if defined(__cplusplus)