ELTEX-MES-HARDWARE-MIB DEFINITIONS ::= BEGIN

-- Title:      Eltex MES Hardware Configuration
-- Version:    2.0
-- Date:       11-Nov-2017

IMPORTS
    MODULE-IDENTITY, OBJECT-TYPE                FROM SNMPv2-SMI
    TruthValue                                  FROM SNMPv2-TC
    PortList                                    FROM Q-BRIDGE-MIB
    ifIndex, InterfaceIndex                     FROM IF-MIB
    eltMes, eltMesHardwareMib                   FROM ELTEX-MES;

--
-- Textual Conventions
--

EltHardwareLedUnitIdModeType ::= TEXTUAL-CONVENTION
    STATUS      current
    DESCRIPTION "Indication mode of Unit-Id LEDs on the front panel"
    SYNTAX      INTEGER {
                  stack (1),    -- Unit location in a stack
                  poe (2)       -- PoE port indication
                }

EltBreakoutMode ::= TEXTUAL-CONVENTION
    STATUS      current
    DESCRIPTION "Hardware profile mode."
    SYNTAX      INTEGER {
                  default (1),
                  mode-4x10 (2)
                }

--
-- MIB Groups
--
eltMesHardwareMibMIBObjects    OBJECT IDENTIFIER ::=
                                { eltMesHardwareMib 1 }

eltMesHardwareConfig           OBJECT IDENTIFIER ::=
                                { eltMesHardwareMibMIBObjects 1 }

eltMesHardwareStatus           OBJECT IDENTIFIER ::=
                                { eltMesHardwareMibMIBObjects 2 }

--
-- Configuration
--

eltMesHardwareSerdesConfig     OBJECT IDENTIFIER ::=
                                { eltMesHardwareConfig 1 }

--
-- Configuration - Serdes Rx Params
--

eltHardwareSerdesRxConfigTable OBJECT-TYPE
    SYNTAX SEQUENCE OF EltHardwareSerdesRxConfigEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "Serdes Rx parameters configuration."
    ::= { eltMesHardwareSerdesConfig 1 }

eltHardwareSerdesRxConfigEntry OBJECT-TYPE
    SYNTAX      EltHardwareSerdesRxConfigEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "Defines the contents of each line in the eltHardwareSerdesRxConfigTable table."
    INDEX { eltHardwareSerdesRxConfigIfIndex, eltHardwareSerdesRxConfigLaneNumber }
    ::= { eltHardwareSerdesRxConfigTable 1 }

EltHardwareSerdesRxConfigEntry ::= SEQUENCE {
    eltHardwareSerdesRxConfigIfIndex                 INTEGER,
    eltHardwareSerdesRxConfigLaneNumber              INTEGER,
    eltHardwareSerdesRxConfigUserParamsEnable        TruthValue,
    eltHardwareSerdesRxConfigSquelch                 INTEGER,
    eltHardwareSerdesRxConfigFFEResistor             INTEGER,
    eltHardwareSerdesRxConfigFFECapacitor            INTEGER,
    eltHardwareSerdesRxConfigAlign90                 INTEGER
}

eltHardwareSerdesRxConfigIfIndex OBJECT-TYPE
    SYNTAX INTEGER
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Interface Index."
    ::= { eltHardwareSerdesRxConfigEntry 1 }

eltHardwareSerdesRxConfigLaneNumber OBJECT-TYPE
    SYNTAX INTEGER
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Lane number."
    ::= { eltHardwareSerdesRxConfigEntry 2 }
    
eltHardwareSerdesRxConfigUserParamsEnable OBJECT-TYPE
    SYNTAX TruthValue
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Enable user configured parameters to port serdes"
    DEFVAL          { false }
    ::= { eltHardwareSerdesRxConfigEntry 3 }

eltHardwareSerdesRxConfigSquelch OBJECT-TYPE
    SYNTAX INTEGER
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Threshold that trips the squelch detector peak-to-peak differential amplitude."
    DEFVAL          { 0 }
    ::= { eltHardwareSerdesRxConfigEntry 4 }
    
eltHardwareSerdesRxConfigFFEResistor OBJECT-TYPE
    SYNTAX INTEGER
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Feed Forward Equalization (FFE) resistor select."
    DEFVAL          { 0 }
    ::= { eltHardwareSerdesRxConfigEntry 5 }
    
eltHardwareSerdesRxConfigFFECapacitor OBJECT-TYPE
    SYNTAX INTEGER
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Feed Forward Equalization (FFE) capacitor select."
    DEFVAL          { 0 }
    ::= { eltHardwareSerdesRxConfigEntry 6 }
    
eltHardwareSerdesRxConfigAlign90 OBJECT-TYPE
    SYNTAX INTEGER
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Align 90 calibration phase offset."
    DEFVAL          { 0 }        
    ::= { eltHardwareSerdesRxConfigEntry 7 }

--
-- Configuration - Serdes Tx Params
--

eltHardwareSerdesTxConfigTable OBJECT-TYPE
    SYNTAX SEQUENCE OF EltHardwareSerdesTxConfigEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "Serdes Tx parameters configuration."
    ::= { eltMesHardwareSerdesConfig 2 }

eltHardwareSerdesTxConfigEntry OBJECT-TYPE
    SYNTAX      EltHardwareSerdesTxConfigEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "Defines the contents of each line in the eltHardwareSerdesTxConfigTable table."
    INDEX { eltHardwareSerdesTxConfigIfIndex, eltHardwareSerdesTxConfigLaneNumber }
    ::= { eltHardwareSerdesTxConfigTable 1 }

EltHardwareSerdesTxConfigEntry ::= SEQUENCE {
    eltHardwareSerdesTxConfigIfIndex                 INTEGER,
    eltHardwareSerdesTxConfigLaneNumber              INTEGER,
    eltHardwareSerdesTxConfigUserParamsEnable        TruthValue,
    eltHardwareSerdesTxConfigAmplitude               INTEGER,
    eltHardwareSerdesTxConfigAmplitudeAdjustEnable   TruthValue,
    eltHardwareSerdesTxConfigEmphasisAmplitudeGen0   INTEGER,
    eltHardwareSerdesTxConfigEmphasisAmplitudeGen1   INTEGER,
    eltHardwareSerdesTxConfigAmplitudeShiftEnable    TruthValue
}

eltHardwareSerdesTxConfigIfIndex OBJECT-TYPE
    SYNTAX INTEGER
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Interface Index."
    ::= { eltHardwareSerdesTxConfigEntry 1 }

eltHardwareSerdesTxConfigLaneNumber OBJECT-TYPE
    SYNTAX INTEGER
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Lane number."
    ::= { eltHardwareSerdesTxConfigEntry 2 }
    
eltHardwareSerdesTxConfigUserParamsEnable OBJECT-TYPE
    SYNTAX TruthValue
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Enable user configured parameters to port serdes"
    DEFVAL          { false }    
    ::= { eltHardwareSerdesTxConfigEntry 3 }
    
eltHardwareSerdesTxConfigAmplitude OBJECT-TYPE
    SYNTAX INTEGER
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Tx Driver output amplitude."
    DEFVAL          { 0 }    
    ::= { eltHardwareSerdesTxConfigEntry 4 }
    
eltHardwareSerdesTxConfigAmplitudeAdjustEnable OBJECT-TYPE
    SYNTAX TruthValue
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Enable transmitter amplitude adjust."
    DEFVAL          { false }    
    ::= { eltHardwareSerdesTxConfigEntry 5 }
    
eltHardwareSerdesTxConfigEmphasisAmplitudeGen0 OBJECT-TYPE
    SYNTAX INTEGER
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Controls the emphasis amplitude for Gen0 bit rates."
    DEFVAL          { 0 }    
    ::= { eltHardwareSerdesTxConfigEntry 6 }
    
eltHardwareSerdesTxConfigEmphasisAmplitudeGen1 OBJECT-TYPE
    SYNTAX INTEGER
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Controls the emphasis amplitude for Gen1 bit rates."
    DEFVAL          { 0 }    
    ::= { eltHardwareSerdesTxConfigEntry 7 }

eltHardwareSerdesTxConfigAmplitudeShiftEnable OBJECT-TYPE
    SYNTAX TruthValue
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Enable transmitter amplitude shift."
    DEFVAL          { false }    
    ::= { eltHardwareSerdesTxConfigEntry 8 }

--
-- Configuration - LED Indication
--

eltMesHardwareLedConfig        OBJECT IDENTIFIER ::= { eltMesHardwareConfig 2 }

eltHardwareLedConfigUnitIdMode OBJECT-TYPE
    SYNTAX      EltHardwareLedUnitIdModeType
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION 
        "Specify an indication mode of Unit-Id LEDs on the from panel."
    DEFVAL      { stack }
    ::= { eltMesHardwareLedConfig 1 }

--
-- Configuration interface breakout mode
--

eltHardwareInterfaceTable OBJECT-TYPE
    SYNTAX SEQUENCE OF EltHardwareInterfaceEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "Hardware profile mode configuration." 
    ::= { eltMesHardwareSerdesConfig 3 }

eltHardwareInterfaceEntry OBJECT-TYPE
    SYNTAX      EltHardwareInterfaceEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "Defines the contents of each port in the eltHardwareInterfaceTable table." 
    INDEX { eltHardwareInterfaceIndex }
    ::= { eltHardwareInterfaceTable 1 }

EltHardwareInterfaceEntry ::= SEQUENCE {
    eltHardwareInterfaceIndex                   InterfaceIndex,
    eltHardwareInterfaceBreakoutModeAfterReset  EltBreakoutMode,
    eltHardwareInterfaceBreakoutMode            EltBreakoutMode,
    eltHardwareInterfaceBreakoutPortList        PortList
}

eltHardwareInterfaceIndex OBJECT-TYPE
    SYNTAX InterfaceIndex
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Interface Index."
    ::= { eltHardwareInterfaceEntry 1 }

eltHardwareInterfaceBreakoutModeAfterReset OBJECT-TYPE
    SYNTAX EltBreakoutMode
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Breakout mode after reset."
    ::= { eltHardwareInterfaceEntry 2 }
    
eltHardwareInterfaceBreakoutMode OBJECT-TYPE
    SYNTAX EltBreakoutMode
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Breakout mode."
    ::= { eltHardwareInterfaceEntry 3 }

eltHardwareInterfaceBreakoutPortList OBJECT-TYPE
    SYNTAX      PortList
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Expanded interfaces."
    ::= { eltHardwareInterfaceEntry 4 }

--
-- Status
--

eltMesHardwareSerdesStatus     OBJECT IDENTIFIER ::=
                                { eltMesHardwareStatus 1 }
    
END

