/*******************************************************************************
Copyright (C) Marvell International Ltd. and its affiliates

This software file (the "File") is owned and distributed by Marvell
International Ltd. and/or its affiliates ("Marvell") under the following
alternative licensing terms.  Once you have made an election to distribute the
File under one of the following license alternatives, please (i) delete this
introductory statement regarding license alternatives, (ii) delete the two
license alternatives that you have not elected to use and (iii) preserve the
Marvell copyright notice above.

********************************************************************************
Marvell Commercial License Option

If you received this File from Marvell and you have entered into a commercial
license agreement (a "Commercial License") with Marvell, the File is licensed
to you under the terms of the applicable Commercial License.

********************************************************************************
Marvell GPL License Option

If you received this File from Marvell, you may opt to use, redistribute and/or
modify this File in accordance with the terms and conditions of the General
Public License Version 2, June 1991 (the "GPL License"), a copy of which is
available along with the File in the license.txt file or by writing to the Free
Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 or
on the worldwide web at http://www.gnu.org/licenses/gpl.txt.

THE FILE IS DISTRIBUTED AS-IS, WITHOUT WARRANTY OF ANY KIND, AND THE IMPLIED
WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE ARE EXPRESSLY
DISCLAIMED.  The GPL License provides additional details about this warranty
disclaimer.
********************************************************************************
Marvell BSD License Option

If you received this File from Marvell, you may opt to use, redistribute and/or
modify this File under the following licensing terms.
Redistribution and use in source and binary forms, with or without modification,
are permitted provided that the following conditions are met:

    *   Redistributions of source code must retain the above copyright notice,
	    this list of conditions and the following disclaimer.

    *   Redistributions in binary form must reproduce the above copyright
        notice, this list of conditions and the following disclaimer in the
        documentation and/or other materials provided with the distribution.

    *   Neither the name of Marvell nor the names of its contributors may be
        used to endorse or promote products derived from this software without
        specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

*******************************************************************************/

/* Include Files
------------------------------------------------------------------------------*/
#include "mvTypes.h"
#include "mvCommon.h"
#include "mvOs.h"
#include "ctrlEnv/mvCtrlEnvSpec.h"

#include "mvPonOnuDefines.h"
#include "mvPonOnuRegs.h"
#include "mvPonOnuMac.h"

/* Local Constant
------------------------------------------------------------------------------*/
#define MV_ASIC_ONT_GLB_ADDR   (MV_ASIC_ONT_BASE)

/* Global Variables
------------------------------------------------------------------------------*/
MV_U32 ponOnuGlbAddr;

/* Local Variables
------------------------------------------------------------------------------*/

S_asicGlobalRegDb asicGlbDb[] =
{
/* Enumeration                                                                                          |Address                        |Offset   |Access     |Mask           |Shift  |Table |Table  |Cnt   |Description
 *                                                                                                      |                               |         |Type       |               |       |Len   |Entry  |      |
 *                                                                                                      |                               |         |           |               |       |      |Size   |      |
 * ============================================================================================================================================================================================================================= */
  [mvAsicReg_Start]                                 = {mvAsicReg_Start},


/******************************************************************************/
/******************************************************************************/
/* ========================================================================== */
/* ========================================================================== */
/* ==                                                                      == */
/* ==           =========   =========   =========   ===       ==           == */
/* ==           =========   =========   =========   ====      ==           == */
/* ==           ==          ==     ==   ==     ==   == ==     ==           == */
/* ==           ==          ==     ==   ==     ==   ==  ==    ==           == */
/* ==           =========   =========   ==     ==   ==   ==   ==           == */
/* ==           =========   =========   ==     ==   ==    ==  ==           == */
/* ==           ==     ==   ==          ==     ==   ==     == ==           == */
/* ==           ==     ==   ==          ==     ==   ==      ====           == */
/* ==           =========   ==          =========   ==       ===           == */
/* ==           =========   ==          =========   ==        ==           == */
/* ==                                                                      == */
/* ========================================================================== */
/* ========================================================================== */
/******************************************************************************/
/******************************************************************************/

  /* =========================== */
  /*  Interrupts Registers       */
  /* =========================== */
  [mvAsicReg_GPON_INTERRUPT_PON]                    = {mvAsicReg_GPON_INTERRUPT_PON,                    MV_ASIC_ONT_GLB_ADDR + 0x0000,   0x0000,   asicRO,     0xFFFFFFFF,     0,      0,     0,      0,     "Interrupt PON"},
  [mvAsicReg_GPON_INTERRUPT_PON_MASK]               = {mvAsicReg_GPON_INTERRUPT_PON_MASK,               MV_ASIC_ONT_GLB_ADDR + 0x0004,   0x0004,   asicRW,     0xFFFFFFFF,     0,      0,     0,      0,     "Interrupt PON Mask"},
  [mvAsicReg_BIP_INTR_INTERVAL]                     = {mvAsicReg_BIP_INTR_INTERVAL,                     MV_ASIC_ONT_GLB_ADDR + 0x0008,   0x0008,   asicRW,     0x0000FFFF,     0,      0,     0,      0,     "BIP INTR interval"},
  [mvAsicReg_RX_BIP_STATUS_FOR_INTERRUPT]           = {mvAsicReg_RX_BIP_STATUS_FOR_INTERRUPT,           MV_ASIC_ONT_GLB_ADDR + 0x000C,   0x000C,   asicRO,     0x0000FFFF,     0,      0,     0,      0,     "BIP INTR stats accumulator"},
  [mvAsicReg_RAM_TEST_CONFIG]                       = {mvAsicReg_RAM_TEST_CONFIG,                       MV_ASIC_ONT_GLB_ADDR + 0x0010,   0x000C,   asicRW,     0x0000000F,     0,      0,     0,      0,     "Ram test config PE polarity"},

  /* =========================== */
  /*  General Registers          */
  /* =========================== */
  [mvAsicReg_GPON_GEN_MAC_VERSION]                  = {mvAsicReg_GPON_GEN_MAC_VERSION,                  MV_ASIC_ONT_GLB_ADDR + 0x0400,   0x0400,   asicRO,     0xFFFFFFFF,     0,      0,     0,      0,     "GPON version"},
  [mvAsicReg_GPON_GEN_MAC_VERSION_ID]               = {mvAsicReg_GPON_GEN_MAC_VERSION_ID,               MV_ASIC_ONT_GLB_ADDR + 0x0400,   0x0400,   asicRO,     0x0000FFFF,     0,      0,     0,      0,     "GPON MAC version"},
  [mvAsicReg_GPON_GEN_MAC_VERSION_MAC_ID]           = {mvAsicReg_GPON_GEN_MAC_VERSION_MAC_ID,           MV_ASIC_ONT_GLB_ADDR + 0x0400,   0x0400,   asicRO,     0x0000FFFF,    16,      0,     0,      0,     "GPON MAC Id"},
  [mvAsicReg_GPON_GEN_MAC_SCRATCH]                  = {mvAsicReg_GPON_GEN_MAC_SCRATCH,                  MV_ASIC_ONT_GLB_ADDR + 0x0404,   0x0404,   asicRW,     0xFFFFFFFF,     0,      0,     0,      0,     "MAC scratch register"},
  [mvAsicReg_GPON_ONU_STATE]                        = {mvAsicReg_GPON_ONU_STATE,                        MV_ASIC_ONT_GLB_ADDR + 0x0408,   0x0408,   asicRW,     0x000000FF,     0,      0,     0,      0,     "ONU state"},
  [mvAsicReg_GPON_GEN_MICRO_SEC_CNT]                = {mvAsicReg_GPON_GEN_MICRO_SEC_CNT,                MV_ASIC_ONT_GLB_ADDR + 0x040C,   0x040C,   asicRO,     0xFFFFFFFF,     0,      0,     0,      0,     "Micro second counter"},
  [mvAsicReg_GPON_TX_SERIAL_NUMBER]                 = {mvAsicReg_GPON_TX_SERIAL_NUMBER,                 MV_ASIC_ONT_GLB_ADDR + 0x0410,   0x0410,   asicRW,     0x0000FFFF,     0,      0,     0,      0,     "Tx serial number"},
  [mvAsicReg_GPON_ONU_ID]                           = {mvAsicReg_GPON_ONU_ID,                           MV_ASIC_ONT_GLB_ADDR + 0x0414,   0x0414,   asicRW,     0xFFFFFFFF,     0,      0,     0,      0,     "ONU Id"},
  [mvAsicReg_GPON_ONU_ID_OID]                       = {mvAsicReg_GPON_ONU_ID_OID,                       MV_ASIC_ONT_GLB_ADDR + 0x0414,   0x0414,   asicRW,     0x000000FF,     0,      0,     0,      0,     "GPON ONU Id"},
  [mvAsicReg_GPON_ONU_ID_V]                         = {mvAsicReg_GPON_ONU_ID_V,                         MV_ASIC_ONT_GLB_ADDR + 0x0414,   0x0414,   asicRW,     0x00000001,     8,      0,     0,      0,     "GPON ONU valid indication"},

  /* =========================== */
  /*  Rx Registers               */
  /* =========================== */
  [mvAsicReg_GPON_RX_CONFIG]                        = {mvAsicReg_GPON_RX_CONFIG,                        MV_ASIC_ONT_GLB_ADDR + 0x0800,   0x0800,   asicRW,     0xFFFFFFFF,     0,      0,     0,      0,     "Rx config"},
  [mvAsicReg_GPON_RX_CONFIG_EN]                     = {mvAsicReg_GPON_RX_CONFIG_EN,                     MV_ASIC_ONT_GLB_ADDR + 0x0800,   0x0800,   asicRW,     0x00000001,     0,      0,     0,      0,     "Rx config - enable"},
  [mvAsicReg_GPON_RX_CONFIG_BIT_ORDER]              = {mvAsicReg_GPON_RX_CONFIG_BIT_ORDER,              MV_ASIC_ONT_GLB_ADDR + 0x0800,   0x0800,   asicRW,     0x00000001,     1,      0,     0,      0,     "Rx config - bit order"},
  [mvAsicReg_GPON_RX_PSA_CONFIG]                    = {mvAsicReg_GPON_RX_PSA_CONFIG,                    MV_ASIC_ONT_GLB_ADDR + 0x0804,   0x0804,   asicRW,     0xFFFFFFFF,     0,      0,     0,      0,     "Rx PSA config"},
  [mvAsicReg_GPON_RX_PSA_CONFIG_SFM3]               = {mvAsicReg_GPON_RX_PSA_CONFIG_SFM3,               MV_ASIC_ONT_GLB_ADDR + 0x0804,   0x0804,   asicRW,     0x000000FF,     0,      0,     0,      0,     "PLOAM Sync SM: sync => hunt state"},
  [mvAsicReg_GPON_RX_PSA_CONFIG_SFM2]               = {mvAsicReg_GPON_RX_PSA_CONFIG_SFM2,               MV_ASIC_ONT_GLB_ADDR + 0x0804,   0x0804,   asicRW,     0x000000FF,     8,      0,     0,      0,     "PLOAM Sync SM: sync => hunt state"},
  [mvAsicReg_GPON_RX_PSA_CONFIG_SFM1]               = {mvAsicReg_GPON_RX_PSA_CONFIG_SFM1,               MV_ASIC_ONT_GLB_ADDR + 0x0804,   0x0804,   asicRW,     0x000000FF,     16,     0,     0,      0,     "PLOAM Sync SM: pre-sync => sync state"},
  [mvAsicReg_GPON_RX_PSA_CONFIG_FHM1]               = {mvAsicReg_GPON_RX_PSA_CONFIG_FHM1,               MV_ASIC_ONT_GLB_ADDR + 0x0804,   0x0804,   asicRW,     0x0000000F,     24,     0,     0,      0,     "FEC hysteresis mechanisem"},
  [mvAsicReg_GPON_RX_FEC_CONFIG]                    = {mvAsicReg_GPON_RX_FEC_CONFIG,                    MV_ASIC_ONT_GLB_ADDR + 0x0808,   0x0808,   asicRW,     0xFFFFFFFF,     0,      0,     0,      0,     "Rx FEC config"},
  [mvAsicReg_GPON_RX_FEC_CONFIG_SWVAL]              = {mvAsicReg_GPON_RX_FEC_CONFIG_SWVAL,              MV_ASIC_ONT_GLB_ADDR + 0x0808,   0x0808,   asicRW,     0x00000001,     0,      0,     0,      0,     "SW value for internal FEC indication"},
  [mvAsicReg_GPON_RX_FEC_CONFIG_FSW]                = {mvAsicReg_GPON_RX_FEC_CONFIG_FSW,                MV_ASIC_ONT_GLB_ADDR + 0x0808,   0x0808,   asicRW,     0x00000001,     1,      0,     0,      0,     "Force SW FEC indication"},
  [mvAsicReg_GPON_RX_FEC_CONFIG_IGNP]               = {mvAsicReg_GPON_RX_FEC_CONFIG_IGNP,               MV_ASIC_ONT_GLB_ADDR + 0x0808,   0x0808,   asicRW,     0x00000001,     2,      0,     0,      0,     "Force SW FEC ignore parity"},
  [mvAsicReg_GPON_RX_FEC_CONFIG_IND]                = {mvAsicReg_GPON_RX_FEC_CONFIG_IND,                MV_ASIC_ONT_GLB_ADDR + 0x0808,   0x0808,   asicRO,     0x00000001,     31,     0,     0,      0,     "Internal FEC indication"},
  [mvAsicReg_GPON_RX_FEC_STAT0]                     = {mvAsicReg_GPON_RX_FEC_STAT0,                     MV_ASIC_ONT_GLB_ADDR + 0x080C,   0x080C,   asicRO,     0xFFFFFFFF,     0,      0,     0,      0,     "Num of bytes rece from last read"},
  [mvAsicReg_GPON_RX_FEC_STAT1]                     = {mvAsicReg_GPON_RX_FEC_STAT1,                     MV_ASIC_ONT_GLB_ADDR + 0x0810,   0x0810,   asicRO,     0xFFFFFFFF,     0,      0,     0,      0,     "Num of correct bytes / bits"},
  [mvAsicReg_GPON_RX_FEC_STAT2]                     = {mvAsicReg_GPON_RX_FEC_STAT2,                     MV_ASIC_ONT_GLB_ADDR + 0x0814,   0x0814,   asicRO,     0xFFFFFFFF,     0,      0,     0,      0,     "Num of incorrect / rece bytes"},
  [mvAsicReg_GPON_RX_SFRAME_COUNTER]                = {mvAsicReg_GPON_RX_SFRAME_COUNTER,                MV_ASIC_ONT_GLB_ADDR + 0x0818,   0x0818,   asicRO,     0x3FFFFFFF,     0,      0,     0,      0,     "Rx Superframe Counter"},
  [mvAsicReg_GPON_RX_PLOAMD_DATA_READ]              = {mvAsicReg_GPON_RX_PLOAMD_DATA_READ,              MV_ASIC_ONT_GLB_ADDR + 0x081C,   0x081C,   asicRO,     0xFFFFFFFF,     0,      0,     0,      0,     "Rx PLOAM data fifo, PLOAM = 3xread"},
  [mvAsicReg_GPON_RX_PLOAMD_DATA_USED]              = {mvAsicReg_GPON_RX_PLOAMD_DATA_USED,              MV_ASIC_ONT_GLB_ADDR + 0x0820,   0x0820,   asicRO,     0x000000FF,     0,      0,     0,      0,     "Num of free entry's in PLOAM data fifo"},
  [mvAsicReg_GPON_RX_PLOAMD_CONFIG]                 = {mvAsicReg_GPON_RX_PLOAMD_CONFIG,                 MV_ASIC_ONT_GLB_ADDR + 0x0824,   0x0824,   asicRW,     0xFFFFFFFF,     0,      0,     0,      0,     "Rx PLOAM config"},
  [mvAsicReg_GPON_RX_PLOAMD_CONFIG_IGNC]            = {mvAsicReg_GPON_RX_PLOAMD_CONFIG_IGNC,            MV_ASIC_ONT_GLB_ADDR + 0x0824,   0x0824,   asicRW,     0x00000001,     0,      0,     0,      0,     "Ignore PLOAM crc, forward regardless of crc"},
  [mvAsicReg_GPON_RX_PLOAMD_CONFIG_IGNB]            = {mvAsicReg_GPON_RX_PLOAMD_CONFIG_IGNB,            MV_ASIC_ONT_GLB_ADDR + 0x0824,   0x0824,   asicRW,     0x00000001,     1,      0,     0,      0,     "Ignore broadcast PLOAM, forward only onuId"},
  [mvAsicReg_GPON_RX_PLOAMD_CONFIG_FALL]            = {mvAsicReg_GPON_RX_PLOAMD_CONFIG_FALL,            MV_ASIC_ONT_GLB_ADDR + 0x0824,   0x0824,   asicRW,     0x00000001,     2,      0,     0,      0,     "Forward all PLOAM"},
  [mvAsicReg_GPON_RX_PLOAMD_LOST_CRC_STATUS]        = {mvAsicReg_GPON_RX_PLOAMD_LOST_CRC_STATUS,        MV_ASIC_ONT_GLB_ADDR + 0x0828,   0x0828,   asicRO,     0x0000FFFF,     0,      0,     0,      0,     "Num of PLOAM lost due to faulty crc"},
  [mvAsicReg_GPON_RX_PLOAMD_LOST_FULL_STATUS]       = {mvAsicReg_GPON_RX_PLOAMD_LOST_FULL_STATUS,       MV_ASIC_ONT_GLB_ADDR + 0x082C,   0x082C,   asicRO,     0x0000FFFF,     0,      0,     0,      0,     "Num of PLOAM lost due to cpu fifo full"},
  [mvAsicReg_GPON_RX_PLOAMD_RCVD_IDLE_STATUS]       = {mvAsicReg_GPON_RX_PLOAMD_RCVD_IDLE_STATUS,       MV_ASIC_ONT_GLB_ADDR + 0x0830,   0x0830,   asicRO,     0xFFFFFFFF,     0,      0,     0,      0,     "Num of idle PLOAM rece"},
  [mvAsicReg_GPON_RX_PLOAMD_RCVD_BROAD_STATUS]      = {mvAsicReg_GPON_RX_PLOAMD_RCVD_BROAD_STATUS,      MV_ASIC_ONT_GLB_ADDR + 0x0834,   0x0834,   asicRO,     0xFFFFFFFF,     0,      0,     0,      0,     "Num of broadcast PLOAM rece"},
  [mvAsicReg_GPON_RX_PLOAMD_RCVD_MYID_STATUS]       = {mvAsicReg_GPON_RX_PLOAMD_RCVD_MYID_STATUS,       MV_ASIC_ONT_GLB_ADDR + 0x0838,   0x0838,   asicRO,     0x0000FFFF,     0,      0,     0,      0,     "Num of PLOAM rece assigned to MYID"},
  [mvAsicReg_GPON_RX_BIP_STATUS]                    = {mvAsicReg_GPON_RX_BIP_STATUS,                    MV_ASIC_ONT_GLB_ADDR + 0x083C,   0x083C,   asicRO,     0x0000FFFF,     0,      0,     0,      0,     "Num of BIP errors since last read"},
  [mvAsicReg_GPON_RX_PLEND_CONFIG]                  = {mvAsicReg_GPON_RX_PLEND_CONFIG,                  MV_ASIC_ONT_GLB_ADDR + 0x0840,   0x0840,   asicRW,     0xFFFFFFFF,     0,      0,     0,      0,     "Rx PLEND config"},
  [mvAsicReg_GPON_RX_PLEND_CONFIG_FN]               = {mvAsicReg_GPON_RX_PLEND_CONFIG_FN,               MV_ASIC_ONT_GLB_ADDR + 0x0840,   0x0840,   asicRW,     0x00000001,     0,      0,     0,      0,     "Force SW plend field selection"},
  [mvAsicReg_GPON_RX_PLEND_CONFIG_UF]               = {mvAsicReg_GPON_RX_PLEND_CONFIG_UF,               MV_ASIC_ONT_GLB_ADDR + 0x0840,   0x0840,   asicRW,     0x00000001,     1,      0,     0,      0,     "SW use of plend field"},
  [mvAsicReg_GPON_RX_PLEND_CONFIG_IGND]             = {mvAsicReg_GPON_RX_PLEND_CONFIG_IGND,             MV_ASIC_ONT_GLB_ADDR + 0x0840,   0x0840,   asicRW,     0x00000001,     2,      0,     0,      0,     "Ignore diff between two plend fields"},
  [mvAsicReg_GPON_RX_PLEND_CONFIG_DFIX]             = {mvAsicReg_GPON_RX_PLEND_CONFIG_DFIX,             MV_ASIC_ONT_GLB_ADDR + 0x0840,   0x0840,   asicRW,     0x00000001,     3,      0,     0,      0,     "Do not fix plend field according to crc result"},
  [mvAsicReg_GPON_RX_PLEND_CONFIG_IGNC]             = {mvAsicReg_GPON_RX_PLEND_CONFIG_IGNC,             MV_ASIC_ONT_GLB_ADDR + 0x0840,   0x0840,   asicRW,     0x00000001,     4,      0,     0,      0,     "Ignore crc during plend field selection"},
  [mvAsicReg_GPON_RX_PLEND_STATUS]                  = {mvAsicReg_GPON_RX_PLEND_STATUS,                  MV_ASIC_ONT_GLB_ADDR + 0x0844,   0x0844,   asicRO,     0x0000FFFF,     0,      0,     0,      0,     "Rx PLEND status"},
  [mvAsicReg_GPON_RX_BWMAP_CONFIG]                  = {mvAsicReg_GPON_RX_BWMAP_CONFIG,                  MV_ASIC_ONT_GLB_ADDR + 0x0848,   0x0848,   asicRW,     0xFFFFFFFF,     0,      0,     0,      0,     "Rx BW map config"},
  [mvAsicReg_GPON_RX_BWMAP_CONFIG_MSD]              = {mvAsicReg_GPON_RX_BWMAP_CONFIG_MSD,              MV_ASIC_ONT_GLB_ADDR + 0x0848,   0x0848,   asicRW,     0x00000FFF,     0,      0,     0,      0,     "Min num of bytes between bursts"},
  [mvAsicReg_GPON_RX_BWMAP_CONFIG_DFIX]             = {mvAsicReg_GPON_RX_BWMAP_CONFIG_DFIX,             MV_ASIC_ONT_GLB_ADDR + 0x0848,   0x0848,   asicRW,     0x00000001,    12,      0,     0,      0,     "Do not fix BW map according to crc result"},
  [mvAsicReg_GPON_RX_BWMAP_CONFIG_IGNC]             = {mvAsicReg_GPON_RX_BWMAP_CONFIG_IGNC,             MV_ASIC_ONT_GLB_ADDR + 0x0848,   0x0848,   asicRW,     0x00000001,    13,      0,     0,      0,     "Ignore crc result for BW allocation"},
  [mvAsicReg_GPON_RX_BWMAP_STATUS0]                 = {mvAsicReg_GPON_RX_BWMAP_STATUS0,                 MV_ASIC_ONT_GLB_ADDR + 0x084C,   0x084C,   asicRO,     0xFFFFFFFF,     0,      0,     0,      0,     "Num of BW bytes rece with crc: bad/error/corr/uncorr"},
  [mvAsicReg_GPON_RX_BWMAP_STATUS1]                 = {mvAsicReg_GPON_RX_BWMAP_STATUS1,                 MV_ASIC_ONT_GLB_ADDR + 0x0850,   0x0850,   asicRO,     0xFFFFFFFF,     0,      0,     0,      0,     "Num of BW bytes rece from last read"},
  [mvAsicReg_GPON_RX_AES_CONFIG]                    = {mvAsicReg_GPON_RX_AES_CONFIG,                    MV_ASIC_ONT_GLB_ADDR + 0x0854,   0x0854,   asicRW,     0xFFFFFFFF,     0,      0,     0,      0,     "Rx AES key switch config"},
  [mvAsicReg_GPON_RX_AES_CONFIG_TIME]               = {mvAsicReg_GPON_RX_AES_CONFIG_TIME,               MV_ASIC_ONT_GLB_ADDR + 0x0854,   0x0854,   asicRW,     0x3FFFFFFF,     0,      0,     0,      0,     "AES Key switch time value based on superframe counter"},
  [mvAsicReg_GPON_RX_AES_CONFIG_SWS]                = {mvAsicReg_GPON_RX_AES_CONFIG_SWS,                MV_ASIC_ONT_GLB_ADDR + 0x0854,   0x0854,   asicRW,     0x00000001,    30,      0,     0,      0,     "AES SW Force key switch according to superframe counter"},
  [mvAsicReg_GPON_RX_AES_STATUS]                    = {mvAsicReg_GPON_RX_AES_STATUS,                    MV_ASIC_ONT_GLB_ADDR + 0x0858,   0x0858,   asicRO,     0xFFFFFFFF,     0,      0,     0,      0,     "Rx AES status"},
  [mvAsicReg_GPON_RX_AES_STATUS_HST]                = {mvAsicReg_GPON_RX_AES_STATUS_HST,                MV_ASIC_ONT_GLB_ADDR + 0x0858,   0x0858,   asicRO,     0x3FFFFFFF,     0,      0,     0,      0,     "Indicates the time to switch AES Key"},
  [mvAsicReg_GPON_RX_AES_STATUS_HWS]                = {mvAsicReg_GPON_RX_AES_STATUS_HWS,                MV_ASIC_ONT_GLB_ADDR + 0x0858,   0x0858,   asicRO,     0x00000001,    30,      0,     0,      0,     "indicates AES key switch time is valid"},
  [mvAsicReg_GPON_RX_EQULIZATION_DELAY]             = {mvAsicReg_GPON_RX_EQULIZATION_DELAY,             MV_ASIC_ONT_GLB_ADDR + 0x085C,   0x085C,   asicRW,     0x000FFFFF,     0,      0,     0,      0,     "Rx equalization delay, sent from the OLT"},
  [mvAsicReg_GPON_RX_INTERNAL_DELAY]                = {mvAsicReg_GPON_RX_INTERNAL_DELAY,                MV_ASIC_ONT_GLB_ADDR + 0x0860,   0x0860,   asicRW,     0x00001FFF,     0,      0,     0,      0,     "Rx Internal Delay - Constant"},
  [mvAsicReg_GPON_RX_BW_MAP]                        = {mvAsicReg_GPON_RX_BW_MAP,                        MV_ASIC_ONT_GLB_ADDR + 0x0880,   0x0880,   asicRW,     0xFFFFFFFF,     0,      8,     1,      0,     "Rx BW map"},
  [mvAsicReg_GPON_RX_BW_MAP_ALID]                   = {mvAsicReg_GPON_RX_BW_MAP_ALID,                   MV_ASIC_ONT_GLB_ADDR + 0x0880,   0x0880,   asicRW,     0x00000FFF,     0,      8,     1,      0,     "Alloc Id number to be mapped to tcont number"},
  [mvAsicReg_GPON_RX_BW_MAP_TCN]                    = {mvAsicReg_GPON_RX_BW_MAP_TCN,                    MV_ASIC_ONT_GLB_ADDR + 0x0880,   0x0880,   asicRW,     0x0000000F,    12,      8,     1,      0,     "Tcont number to which the allocId will be mapped"},
  [mvAsicReg_GPON_RX_BW_MAP_EN]                     = {mvAsicReg_GPON_RX_BW_MAP_EN,                     MV_ASIC_ONT_GLB_ADDR + 0x0880,   0x0880,   asicRW,     0x00000001,    16,      8,     1,      0,     "Rx BW map mapping fields are valid"},

  /* =========================== */
  /*  GEM Registers              */
  /* =========================== */
  [mvAsicReg_GPON_GEM_STAT_IDLE_GEM_CNT]            = {mvAsicReg_GPON_GEM_STAT_IDLE_GEM_CNT,            MV_ASIC_ONT_GLB_ADDR + 0x0C00,   0x0C00,   asicRO,     0xFFFFFFFF,      0,     0,     0,      0,     "Num of rece idle gem frames"},
  [mvAsicReg_GPON_GEM_STAT_VALID_GEM_CNT]           = {mvAsicReg_GPON_GEM_STAT_VALID_GEM_CNT,           MV_ASIC_ONT_GLB_ADDR + 0x0C04,   0x0C04,   asicRO,     0xFFFFFFFF,      0,     0,     0,      0,     "Num of rece valid gem frames"},
  [mvAsicReg_GPON_GEM_STAT_UNDEF_GEM_CNT]           = {mvAsicReg_GPON_GEM_STAT_UNDEF_GEM_CNT,           MV_ASIC_ONT_GLB_ADDR + 0x0C08,   0x0C08,   asicRO,     0xFFFFFFFF,      0,     0,     0,      0,     "Num of rece undefined gem frames"},
  [mvAsicReg_GPON_GEM_STAT_VALID_OMCI_CNT]          = {mvAsicReg_GPON_GEM_STAT_VALID_OMCI_CNT,          MV_ASIC_ONT_GLB_ADDR + 0x0C0C,   0x0C0C,   asicRO,     0xFFFFFFFF,      0,     0,     0,      0,     "Num of rece omci frames"},
  [mvAsicReg_GPON_GEM_STAT_DROPPED_GEM_CNT]         = {mvAsicReg_GPON_GEM_STAT_DROPPED_GEM_CNT,         MV_ASIC_ONT_GLB_ADDR + 0x0C10,   0x0C10,   asicRO,     0xFFFFFFFF,      0,     0,     0,      0,     "Num of dropped gem frames"},
  [mvAsicReg_GPON_GEM_STAT_DROPPED_OMCI_CNT]        = {mvAsicReg_GPON_GEM_STAT_DROPPED_OMCI_CNT,        MV_ASIC_ONT_GLB_ADDR + 0x0C14,   0x0C14,   asicRO,     0xFFFFFFFF,      0,     0,     0,      0,     "Num of dropped omci frames"},
  [mvAsicReg_GPON_GEM_STAT_ERROR_GEM_CNT]           = {mvAsicReg_GPON_GEM_STAT_ERROR_GEM_CNT,           MV_ASIC_ONT_GLB_ADDR + 0x0C18,   0x0C18,   asicRO,     0xFFFFFFFF,      0,     0,     0,      0,     "Num of rece gem frames with uncorr HEC errors"},
  [mvAsicReg_GPON_GEM_STAT_ONE_FIXED_HEC_ERR_CNT]   = {mvAsicReg_GPON_GEM_STAT_ONE_FIXED_HEC_ERR_CNT,   MV_ASIC_ONT_GLB_ADDR + 0x0C1C,   0x0C1C,   asicRO,     0xFFFFFFFF,      0,     0,     0,      0,     "Num of rece gem frames with 1 HEC error in gem header"},
  [mvAsicReg_GPON_GEM_STAT_TWO_FIXED_HEC_ERR_CNT]   = {mvAsicReg_GPON_GEM_STAT_TWO_FIXED_HEC_ERR_CNT,   MV_ASIC_ONT_GLB_ADDR + 0x0C20,   0x0C20,   asicRO,     0xFFFFFFFF,      0,     0,     0,      0,     "Num of rece gem frames with 2 HEC error in gem header"},
  [mvAsicReg_GPON_GEM_STAT_VALID_GEM_PAYLOAD_CNT]   = {mvAsicReg_GPON_GEM_STAT_VALID_GEM_PAYLOAD_CNT,   MV_ASIC_ONT_GLB_ADDR + 0x0C24,   0x0C24,   asicRO,     0xFFFFFFFF,      0,     0,     0,      0,     "Total payload byte count of rece valid gem frames"},
  [mvAsicReg_GPON_GEM_STAT_UNDEF_GEM_PAYLOAD_CNT]   = {mvAsicReg_GPON_GEM_STAT_UNDEF_GEM_PAYLOAD_CNT,   MV_ASIC_ONT_GLB_ADDR + 0x0C28,   0x0C28,   asicRO,     0xFFFFFFFF,      0,     0,     0,      0,     "Total payload byte count of rece undefined gem frames"},
  [mvAsicReg_GPON_GEM_STAT_RSMBL_MEM_FLUSH_CNT]     = {mvAsicReg_GPON_GEM_STAT_RSMBL_MEM_FLUSH_CNT,     MV_ASIC_ONT_GLB_ADDR + 0x0C2C,   0x0C2C,   asicRO,     0xFFFFFFFF,      0,     0,     0,      0,     "Num of times gem reassemble memory was flushed"},
  [mvAsicReg_GPON_GEM_STAT_LCDGi_CNT]               = {mvAsicReg_GPON_GEM_STAT_LCDGi_CNT,               MV_ASIC_ONT_GLB_ADDR + 0x0C30,   0x0C30,   asicRO,     0xFFFFFFFF,      0,     0,     0,      0,     "Num of times gem synchronization was lost"},
  [mvAsicReg_GPON_GEM_STAT_CORR_ETH_FRAME_CNT]      = {mvAsicReg_GPON_GEM_STAT_CORR_ETH_FRAME_CNT,      MV_ASIC_ONT_GLB_ADDR + 0x0C34,   0x0C34,   asicRO,     0xFFFFFFFF,      0,     0,     0,      0,     "Num of rece ethernet frames with corr fcs"},
  [mvAsicReg_GPON_GEM_STAT_ERR_ETH_FRAME_CNT]       = {mvAsicReg_GPON_GEM_STAT_ERR_ETH_FRAME_CNT,       MV_ASIC_ONT_GLB_ADDR + 0x0C38,   0x0C38,   asicRO,     0xFFFFFFFF,      0,     0,     0,      0,     "Num of rece ethernet frames with fcs error"},
  [mvAsicReg_GPON_GEM_STAT_CORR_OMCI_FRAME_CNT]     = {mvAsicReg_GPON_GEM_STAT_CORR_OMCI_FRAME_CNT,     MV_ASIC_ONT_GLB_ADDR + 0x0C3C,   0x0C3C,   asicRO,     0xFFFFFFFF,      0,     0,     0,      0,     "Num of rece omci frames with corr crc"},
  [mvAsicReg_GPON_GEM_STAT_ERR_OMCI_FRAME_CNT]      = {mvAsicReg_GPON_GEM_STAT_ERR_OMCI_FRAME_CNT,      MV_ASIC_ONT_GLB_ADDR + 0x0C40,   0x0C40,   asicRO,     0xFFFFFFFF,      0,     0,     0,      0,     "Num of rece omci frames with crc error"},
  [mvAsicReg_GPON_GEM_CONFIG_PLI]                   = {mvAsicReg_GPON_GEM_CONFIG_PLI,                   MV_ASIC_ONT_GLB_ADDR + 0x0C44,   0x0C44,   asicRW,     0x00000FFF,      0,     0,     0,      0,     "Gem frames max payload length"},
  [mvAsicReg_GPON_GEM_CONFIG_ETH_FRAME_LEN]         = {mvAsicReg_GPON_GEM_CONFIG_ETH_FRAME_LEN,         MV_ASIC_ONT_GLB_ADDR + 0x0C48,   0x0C48,   asicRW,     0xFFFFFFFF,      0,     0,     0,      0,     "Gem ethernet frames length config"},
  [mvAsicReg_GPON_GEM_CONFIG_ETH_FRAME_LEN_MAX]     = {mvAsicReg_GPON_GEM_CONFIG_ETH_FRAME_LEN_MAX,     MV_ASIC_ONT_GLB_ADDR + 0x0C48,   0x0C48,   asicRW,     0x00000FFF,      0,     0,     0,      0,     "Gem ethernet frames max length"},
  [mvAsicReg_GPON_GEM_CONFIG_ETH_FRAME_LEN_MIN]     = {mvAsicReg_GPON_GEM_CONFIG_ETH_FRAME_LEN_MIN,     MV_ASIC_ONT_GLB_ADDR + 0x0C48,   0x0C48,   asicRW,     0x00000FFF,     16,     0,     0,      0,     "Gem ethernet frames min length"},
  [mvAsicReg_GPON_GEM_CONFIG_OMCI_FRAME_LEN]        = {mvAsicReg_GPON_GEM_CONFIG_OMCI_FRAME_LEN,        MV_ASIC_ONT_GLB_ADDR + 0x0C4C,   0x0C4C,   asicRW,     0xFFFFFFFF,      0,     0,     0,      0,     "Gem omci frames length config"},
  [mvAsicReg_GPON_GEM_CONFIG_OMCI_FRAME_LEN_MAX]    = {mvAsicReg_GPON_GEM_CONFIG_OMCI_FRAME_LEN_MAX,    MV_ASIC_ONT_GLB_ADDR + 0x0C4C,   0x0C4C,   asicRW,     0x00000FFF,      0,     0,     0,      0,     "Gem omci frames max length"},
  [mvAsicReg_GPON_GEM_CONFIG_OMCI_FRAME_LEN_MIN]    = {mvAsicReg_GPON_GEM_CONFIG_OMCI_FRAME_LEN_MIN,    MV_ASIC_ONT_GLB_ADDR + 0x0C4C,   0x0C4C,   asicRW,     0x00000FFF,     16,     0,     0,      0,     "Gem omci frames min length"},
  [mvAsicReg_GPON_GEM_CONFIG_OMCI_PORT]             = {mvAsicReg_GPON_GEM_CONFIG_OMCI_PORT,             MV_ASIC_ONT_GLB_ADDR + 0x0C50,   0x0C50,   asicRW,     0xFFFFFFFF,      0,     0,     0,      0,     "Omci gem port Id config"},
  [mvAsicReg_GPON_GEM_CONFIG_OMCI_PORT_ID]          = {mvAsicReg_GPON_GEM_CONFIG_OMCI_PORT_ID,          MV_ASIC_ONT_GLB_ADDR + 0x0C50,   0x0C50,   asicRW,     0x00000FFF,      0,     0,     0,      0,     "Omci gem port Id value"},
  [mvAsicReg_GPON_GEM_CONFIG_OMCI_PORT_VALID]       = {mvAsicReg_GPON_GEM_CONFIG_OMCI_PORT_VALID,       MV_ASIC_ONT_GLB_ADDR + 0x0C50,   0x0C50,   asicRW,     0x00000001,     16,     0,     0,      0,     "Omci gem port Id valid indication"},
  [mvAsicReg_GPON_GEM_CONFIG_AES]                   = {mvAsicReg_GPON_GEM_CONFIG_AES,                   MV_ASIC_ONT_GLB_ADDR + 0x0C54,   0x0C54,   asicRW,     0x00000001,      0,     0,     0,      0,     "Gem AES enable"},
  [mvAsicReg_GPON_GEM_AES_SHADOW_KEY]               = {mvAsicReg_GPON_GEM_AES_SHADOW_KEY,               MV_ASIC_ONT_GLB_ADDR + 0x0C58,   0x0C58,   asicRW,     0xFFFFFFFF,      0,     4,     1,      0,     "Rx AES shadow key"},
  [mvAsicReg_GPON_GEM_CFG_IPG_VALUE]                = {mvAsicReg_GPON_GEM_CFG_IPG_VALUE,                MV_ASIC_ONT_GLB_ADDR + 0x0C68,   0x0C68,   asicRW,     0x000000FF,      0,     0,     0,      0,     "Gem Cfg IPG Value"},
  [mvAsicReg_GPON_GEM_CFG_IPG_VALID]                = {mvAsicReg_GPON_GEM_CFG_IPG_VALID,                MV_ASIC_ONT_GLB_ADDR + 0x0C6C,   0x0C6C,   asicRW,     0x00000001,      0,     0,     0,      0,     "Gem Cfg IPG Valid"},

  /* =========================== */
  /*  Tx Registers               */
  /* =========================== */
  [mvAsicReg_GPON_TX_PREAMBLE]                      = {mvAsicReg_GPON_TX_PREAMBLE,                      MV_ASIC_ONT_GLB_ADDR + 0x1000,   0x1000,   asicRW,     0xFFFFFFFF,     0,      3,     1,      0,     "Tx preamble config"},
  [mvAsicReg_GPON_TX_PREAMBLE_PATT]                 = {mvAsicReg_GPON_TX_PREAMBLE_PATT,                 MV_ASIC_ONT_GLB_ADDR + 0x1000,   0x1000,   asicRW,     0x000000FF,     0,      3,     1,      0,     "Tx preamble type 1/2/3 pattern"},
  [mvAsicReg_GPON_TX_PREAMBLE_SIZE]                 = {mvAsicReg_GPON_TX_PREAMBLE_SIZE,                 MV_ASIC_ONT_GLB_ADDR + 0x1000,   0x1000,   asicRW,     0x000000FF,     8,      3,     1,      0,     "Tx preamble type 1/2/3 size"},
  [mvAsicReg_GPON_TX_DELIMITER]                     = {mvAsicReg_GPON_TX_DELIMITER,                     MV_ASIC_ONT_GLB_ADDR + 0x100C,   0x100C,   asicRW,     0xFFFFFFFF,     0,      0,     0,      0,     "Tx delimiter config"},
  [mvAsicReg_GPON_TX_DELIMITER_PAT]                 = {mvAsicReg_GPON_TX_DELIMITER_PAT,                 MV_ASIC_ONT_GLB_ADDR + 0x100C,   0x100C,   asicRW,     0x00FFFFFF,     0,      0,     0,      0,     "Tx delimiter byte 1/2/3 pattern"},
  [mvAsicReg_GPON_TX_DELIMITER_SIZE]                = {mvAsicReg_GPON_TX_DELIMITER_SIZE,                MV_ASIC_ONT_GLB_ADDR + 0x100C,   0x100C,   asicRW,     0x000000FF,     24,     0,     0,      0,     "Tx delimiter size"},
  [mvAsicReg_GPON_TX_BURST_EN_PARAM]                = {mvAsicReg_GPON_TX_BURST_EN_PARAM,                MV_ASIC_ONT_GLB_ADDR + 0x1010,   0x1010,   asicRW,     0xFFFFFFFF,     0,      0,     0,      0,     "Tx burst enable config"},
  [mvAsicReg_GPON_TX_BURST_EN_PARAM_STR]            = {mvAsicReg_GPON_TX_BURST_EN_PARAM_STR,            MV_ASIC_ONT_GLB_ADDR + 0x1010,   0x1010,   asicRW,     0x0000001F,     0,      0,     0,      0,     "Num of tx enable bytes before first US data bit is trans"},
  [mvAsicReg_GPON_TX_BURST_EN_PARAM_STP]            = {mvAsicReg_GPON_TX_BURST_EN_PARAM_STP,            MV_ASIC_ONT_GLB_ADDR + 0x1010,   0x1010,   asicRW,     0x0000001F,     8,      0,     0,      0,     "Num of tx enable bytes after last US data bit is trans"},
  [mvAsicReg_GPON_TX_BURST_EN_PARAM_DLY]            = {mvAsicReg_GPON_TX_BURST_EN_PARAM_DLY,            MV_ASIC_ONT_GLB_ADDR + 0x1010,   0x1010,   asicRW,     0x00000001,     14,     0,     0,      0,     "Swap the order of tx data and tx enable bytes"},
  [mvAsicReg_GPON_TX_BURST_EN_PARAM_P]              = {mvAsicReg_GPON_TX_BURST_EN_PARAM_P,              MV_ASIC_ONT_GLB_ADDR + 0x1010,   0x1010,   asicRW,     0x00000001,     15,     0,     0,      0,     "Tx Burst enable polarity"},
  [mvAsicReg_GPON_TX_BURST_EN_PARAM_MASK]           = {mvAsicReg_GPON_TX_BURST_EN_PARAM_MASK,           MV_ASIC_ONT_GLB_ADDR + 0x1010,   0x1010,   asicRW,     0x000000FF,     16,     0,     0,      0,     "Mask for 8 bits that are added to the end of tx enable signal"},
  [mvAsicReg_GPON_TX_FDELAY]                        = {mvAsicReg_GPON_TX_FDELAY,                        MV_ASIC_ONT_GLB_ADDR + 0x1014,   0x1014,   asicRW,     0x0000003F,     0,      0,     0,      0,     "Tx final delay"},
  [mvAsicReg_GPON_TX_PLOAM_DATA_WRITE]              = {mvAsicReg_GPON_TX_PLOAM_DATA_WRITE,              MV_ASIC_ONT_GLB_ADDR + 0x1018,   0x1018,   asicWO,     0xFFFFFFFF,     0,      0,     0,      0,     "Tx PLOAM data fifo"},
  [mvAsicReg_GPON_TX_PLOAM_DATA_WRITE_FREE]         = {mvAsicReg_GPON_TX_PLOAM_DATA_WRITE_FREE,         MV_ASIC_ONT_GLB_ADDR + 0x101C,   0x101C,   asicRO,     0x000000FF,     0,      0,     0,      0,     "Num of free entry's in Us PLOAM data fifo"},
  [mvAsicReg_GPON_TX_PLS_CONSTANT]                  = {mvAsicReg_GPON_TX_PLS_CONSTANT,                  MV_ASIC_ONT_GLB_ADDR + 0x1020,   0x1020,   asicRW,     0x000000FF,     0,      0,     0,      0,     "Tx PLS Constant"},
  [mvAsicReg_GPON_TX_DBR_REPORT_BLOCK_IDX]          = {mvAsicReg_GPON_TX_DBR_REPORT_BLOCK_IDX,          MV_ASIC_ONT_GLB_ADDR + 0x1024,   0x1024,   asicRW,     0x000000FF,     0,      0,     0,      0,     "Tx dbr block index"},
  [mvAsicReg_GPON_TX_FE_RDI_INDICATION]             = {mvAsicReg_GPON_TX_FE_RDI_INDICATION,             MV_ASIC_ONT_GLB_ADDR + 0x1028,   0x1028,   asicRW,     0x00000001,     0,      0,     0,      0,     "Tx rdi indication for US trans"},
  [mvAsicReg_GPON_TX_STAT_GEM_PTI1]                 = {mvAsicReg_GPON_TX_STAT_GEM_PTI1,                 MV_ASIC_ONT_GLB_ADDR + 0x102C,   0x102C,   asicRO,     0xFFFFFFFF,     0,      0,     0,      0,     "Total num of trans gem frames with pti indication set to 1"},
  [mvAsicReg_GPON_TX_STAT_GEM_PTI0]                 = {mvAsicReg_GPON_TX_STAT_GEM_PTI0,                 MV_ASIC_ONT_GLB_ADDR + 0x1030,   0x1030,   asicRO,     0xFFFFFFFF,     0,      0,     0,      0,     "Total num of trans gem frames with pti indication set to 0"},
  [mvAsicReg_GPON_TX_STAT_GEM_IDLE]                 = {mvAsicReg_GPON_TX_STAT_GEM_IDLE,                 MV_ASIC_ONT_GLB_ADDR + 0x1034,   0x1034,   asicRO,     0xFFFFFFFF,     0,      0,     0,      0,     "Total num of trans idle gem frames"},
  [mvAsicReg_GPON_TX_STAT_TX_EN_CNT]                = {mvAsicReg_GPON_TX_STAT_TX_EN_CNT,                MV_ASIC_ONT_GLB_ADDR + 0x1038,   0x1038,   asicRO,     0xFFFFFFFF,     0,      0,     0,      0,     "Total num of cycles with tx enable indication asserted"},
  [mvAsicReg_GPON_TX_CONFIG_EN_THRESHOLD]           = {mvAsicReg_GPON_TX_CONFIG_EN_THRESHOLD,           MV_ASIC_ONT_GLB_ADDR + 0x103C,   0x103C,   asicRW,     0xFFFFFFFF,     0,      0,     0,      0,     "Saturation threshold for tx enable indication counter"},
  [mvAsicReg_GPON_TX_GSE_TRANS_THRESHOLD]           = {mvAsicReg_GPON_TX_GSE_TRANS_THRESHOLD,           MV_ASIC_ONT_GLB_ADDR + 0x1040,   0x1040,   asicRO,     0x00FFFFFF,     0,      0,     0,      0,     "GSE threshold for starting forwarding data to the tx burst fifo"},
  [mvAsicReg_GPON_TX_CFG_AC_COUPLING]               = {mvAsicReg_GPON_TX_CFG_AC_COUPLING,               MV_ASIC_ONT_GLB_ADDR + 0x104C,   0x104C,   asicRW,     0xFFFFFFFF,     0,      0,     0,      0,     "Transmit Configuration AC Coupling"},
  [mvAsicReg_GPON_TX_STAT_TCONT_i_ETH_FRAMES]       = {mvAsicReg_GPON_TX_STAT_TCONT_i_ETH_FRAMES,       MV_ASIC_ONT_GLB_ADDR + 0x10A0,   0x10A0,   asicRO,     0xFFFFFFFF,     0,      8,     1,      0,     "Num of ethernet frames trans via tcont i"},
  [mvAsicReg_GPON_TX_STAT_TCONT_i_ETH_BYTES]        = {mvAsicReg_GPON_TX_STAT_TCONT_i_ETH_BYTES,        MV_ASIC_ONT_GLB_ADDR + 0x10C8,   0x10C8,   asicRO,     0xFFFFFFFF,     0,      8,     1,      0,     "Num of ethernet payload bytes trans via tcont i"},
  [mvAsicReg_GPON_TX_STAT_TCONT_i_GEM_FRAMES]       = {mvAsicReg_GPON_TX_STAT_TCONT_i_GEM_FRAMES,       MV_ASIC_ONT_GLB_ADDR + 0x10F0,   0x10F0,   asicRO,     0xFFFFFFFF,     0,      8,     1,      0,     "Num of gem frames trans via tcont i"},
  [mvAsicReg_GPON_TX_STAT_TCONT_i_IDLE_GEM]         = {mvAsicReg_GPON_TX_STAT_TCONT_i_IDLE_GEM,         MV_ASIC_ONT_GLB_ADDR + 0x1118,   0x1118,   asicRO,     0xFFFFFFFF,     0,      8,     1,      0,     "Num of idle gem frames trans via tcont i"},

  /* =========================== */
  /*  UTM Registers              */
  /* =========================== */
  [mvAsicReg_GPON_UTM_CONFIG_OMCI_PORT_ID]          = {mvAsicReg_GPON_UTM_CONFIG_OMCI_PORT_ID,          MV_ASIC_ONT_GLB_ADDR + 0x1400,   0x1400,   asicRW,     0x00000FFF,     0,      0,     0,      0,     "Omci gem port Id - upstream direction"},
  [mvAsicReg_GPON_UTM_CONFIG_OMCI_PORT_VALID]       = {mvAsicReg_GPON_UTM_CONFIG_OMCI_PORT_VALID,       MV_ASIC_ONT_GLB_ADDR + 0x1404,   0x1404,   asicRW,     0x00000001,     0,      0,     0,      0,     "Omci gem port valid - upstream direction"},
  [mvAsicReg_GPON_UTM_CONFIG_TC_PERIOD]             = {mvAsicReg_GPON_UTM_CONFIG_TC_PERIOD,             MV_ASIC_ONT_GLB_ADDR + 0x1408,   0x1408,   asicRW,     0xFFFFFFFF,     0,      0,     0,      0,     "Num of cycles to pause between two counter gathering sweeps"},
  [mvAsicReg_GPON_UTM_CONFIG_TC_PERIOD_VALID]       = {mvAsicReg_GPON_UTM_CONFIG_TC_PERIOD_VALID,       MV_ASIC_ONT_GLB_ADDR + 0x140C,   0x140C,   asicRW,     0x00000001,     0,      0,     0,      0,     "Tc period valid"},

  /* =========================== */
  /*  SGL Registers              */
  /* =========================== */
  [mvAsicReg_GPON_SGL_SW_RESET]                     = {mvAsicReg_GPON_SGL_SW_RESET,                     MV_ASIC_ONT_GLB_ADDR + 0x1800,   0x1800,   asicRW,     0x00000001,     0,      0,     0,      0,     "Serdes glue logic - sw reset"},
  [mvAsicReg_GPON_SGL_CONFIG_REG]                   = {mvAsicReg_GPON_SGL_CONFIG_REG,                   MV_ASIC_ONT_GLB_ADDR + 0x1804,   0x1804,   asicRW,     0x0000000F,     0,      0,     0,      0,     "Serdes glue logic - config"},
  [mvAsicReg_GPON_SGL_STATS_REG]                    = {mvAsicReg_GPON_SGL_STATS_REG,                    MV_ASIC_ONT_GLB_ADDR + 0x1808,   0x1808,   asicRO,     0x000000FF,     0,      0,     0,      0,     "Serdes glue logic - stats"},

  /* =========================== */
  /*  Memory Registers           */
  /* =========================== */
  [mvAsicReg_GPON_TX_CONST_DATA_RAM]                = {mvAsicReg_GPON_TX_CONST_DATA_RAM,                MV_ASIC_ONT_GLB_ADDR + 0x2000,   0x2000,   asicWO,     0xFFFFFFFF,     0,      8,     1,      0,     "Tx constantant data ram"},
  [mvAsicReg_GPON_TX_CONST_DATA_RAM_IDLE]           = {mvAsicReg_GPON_TX_CONST_DATA_RAM_IDLE,           MV_ASIC_ONT_GLB_ADDR + 0x2000,   0x2000,   asicWO,     0xFFFFFFFF,     0,      3,     1,      0,     "Tx constantant data - Idle message"},
  [mvAsicReg_GPON_TX_CONST_DATA_RAM_SN]             = {mvAsicReg_GPON_TX_CONST_DATA_RAM_SN,             MV_ASIC_ONT_GLB_ADDR + 0x2020,   0x2020,   asicWO,     0xFFFFFFFF,     0,      3,     1,      0,     "Tx constantant data - SN message"},

  [mvAsicReg_GPON_GEM_AES_PID_TABLE]                = {mvAsicReg_GPON_GEM_AES_PID_TABLE,                MV_ASIC_ONT_GLB_ADDR + 0x2200,   0x2200,   asicWO,     0xFFFFFFFF,     0,      128,   1,      0,     "Gem AES port Id table"},
  [mvAsicReg_GPON_GEM_VALID_PID_TABLE]              = {mvAsicReg_GPON_GEM_VALID_PID_TABLE,              MV_ASIC_ONT_GLB_ADDR + 0x2400,   0x2400,   asicWO,     0xFFFFFFFF,     0,      128,   1,      0,     "Gem valid port Id table"},

  [mvAsicReg_GPON_TEST]                             = {mvAsicReg_GPON_TEST,                             MV_ASIC_ONT_GLB_ADDR + 0x0940,   0x0940,   asicRW,     0x03FF03FF,     0,      0,     0,      0,     "Gem valid port Id table"},

  /* =========================== */
  /*  GEM Port MIB Counters      */
  /* =========================== */
  [mvAsicReg_PON_MAC_MIB_COUNTERS_0]                = {mvAsicReg_PON_MAC_MIB_COUNTERS_0,                0xA3000,                         0xA3000,  asicRO,     0xFFFFFFFF,     0,      32,     1,      0,     "PON MAC MIB Counter Set #0"},
  [mvAsicReg_PON_MAC_MIB_COUNTERS_1]                = {mvAsicReg_PON_MAC_MIB_COUNTERS_1,                0xA3080,                         0xA3080,  asicRO,     0xFFFFFFFF,     0,      32,     1,      0,     "PON MAC MIB Counter Set #1"},
  [mvAsicReg_PON_MAC_MIB_COUNTERS_2]                = {mvAsicReg_PON_MAC_MIB_COUNTERS_2,                0xA3100,                         0xA3100,  asicRO,     0xFFFFFFFF,     0,      32,     1,      0,     "PON MAC MIB Counter Set #2"},
  [mvAsicReg_PON_MAC_MIB_COUNTERS_3]                = {mvAsicReg_PON_MAC_MIB_COUNTERS_3,                0xA3180,                         0xA3180,  asicRO,     0xFFFFFFFF,     0,      32,     1,      0,     "PON MAC MIB Counter Set #3"},
  [mvAsicReg_PON_MAC_MIB_COUNTERS_4]                = {mvAsicReg_PON_MAC_MIB_COUNTERS_4,                0xA3200,                         0xA3200,  asicRO,     0xFFFFFFFF,     0,      32,     1,      0,     "PON MAC MIB Counter Set #4"},
  [mvAsicReg_PON_MAC_MIB_COUNTERS_5]                = {mvAsicReg_PON_MAC_MIB_COUNTERS_5,                0xA3280,                         0xA3280,  asicRO,     0xFFFFFFFF,     0,      32,     1,      0,     "PON MAC MIB Counter Set #5"},
  [mvAsicReg_PON_MAC_MIB_COUNTERS_6]                = {mvAsicReg_PON_MAC_MIB_COUNTERS_6,                0xA3300,                         0xA3300,  asicRO,     0xFFFFFFFF,     0,      32,     1,      0,     "PON MAC MIB Counter Set #6"},
  [mvAsicReg_PON_MAC_MIB_COUNTERS_7]                = {mvAsicReg_PON_MAC_MIB_COUNTERS_7,                0xA3380,                         0xA3380,  asicRO,     0xFFFFFFFF,     0,      32,     1,      0,     "PON MAC MIB Counter Set #7"},

  [mvAsicReg_RX_MIB_CTRL]                           = {mvAsicReg_RX_MIB_CTRL,                           0xA3800,                         0xA3800,  asicRW,     0xFFFFFFFF,     0,      32,     1,      0,     "RX MIB Control table"},
  [mvAsicReg_RX_MIB_DEFAULT]                        = {mvAsicReg_RX_MIB_DEFAULT,                        0xA3880,                         0xA3880,  asicRW,     0xFFFFFFFF,     0,      0,      0,      0,     "RX MIB Default"},


/******************************************************************************/
/******************************************************************************/
/* ========================================================================== */
/* ========================================================================== */
/* ==                                                                      == */
/* ==           =========   =========   =========   ===       ==           == */
/* ==           =========   =========   =========   ====      ==           == */
/* ==           ==          ==     ==   ==     ==   == ==     ==           == */
/* ==           ==          ==     ==   ==     ==   ==  ==    ==           == */
/* ==           =========   =========   ==     ==   ==   ==   ==           == */
/* ==           =========   =========   ==     ==   ==    ==  ==           == */
/* ==           ==          ==          ==     ==   ==     == ==           == */
/* ==           ==          ==          ==     ==   ==      ====           == */
/* ==           =========   ==          =========   ==       ===           == */
/* ==           =========   ==          =========   ==        ==           == */
/* ==                                                                      == */
/* ========================================================================== */
/* ========================================================================== */
/******************************************************************************/
/******************************************************************************/

  /* =========================== */
  /*  EPON Interrupt Registers   */
  /* =========================== */
  [mvAsicReg_EPON_INTR_REG]                         = {mvAsicReg_EPON_INTR_REG,                         MV_ASIC_ONT_GLB_ADDR + 0x0000,   0x0000,   asicRW,     0xFFFFFFFF,     0,      0,     0,      0,     "Interrupt PON"},
  [mvAsicReg_EPON_INTR_MASK]                        = {mvAsicReg_EPON_INTR_MASK,                        MV_ASIC_ONT_GLB_ADDR + 0x0004,   0x0004,   asicRW,     0xFFFFFFFF,     0,      0,     0,      0,     "Interrupt PON Mask"},

  /* =========================== */
  /*  EPON General Registers     */
  /* =========================== */
  [mvAsicReg_EPON_GEN_MAC_VERSION_ADDR]             = {mvAsicReg_EPON_GEN_MAC_VERSION_ADDR,             MV_ASIC_ONT_GLB_ADDR + 0x0400,   0x0400,   asicRW,     0xFFFFFFFF,     0,      0,     0,      0,     "EPON MAC version"},
  [mvAsicReg_EPON_GEN_ONT_ENABLE]                   = {mvAsicReg_EPON_GEN_ONT_ENABLE,                   MV_ASIC_ONT_GLB_ADDR + 0x040C,   0x040C,   asicRW,     0x0000FF01,     0,      0,     0,      0,     "ONU Rx/Tx Enable"},
  [mvAsicReg_EPON_GEN_ONT_RX_ENABLE]                = {mvAsicReg_EPON_GEN_ONT_RX_ENABLE,                MV_ASIC_ONT_GLB_ADDR + 0x040C,   0x040C,   asicRW,     0x00000001,     0,      0,     0,      0,     "ONU Rx Enable"},
  [mvAsicReg_EPON_GEN_ONT_TX_ENABLE]                = {mvAsicReg_EPON_GEN_ONT_TX_ENABLE,                MV_ASIC_ONT_GLB_ADDR + 0x040C,   0x040C,   asicRW,     0x000000FF,     8,      0,     0,      0,     "ONU Tx Enable"},
#ifdef PON_Z1
  [mvAsicReg_EPON_GEN_ONT_STATE]                    = {mvAsicReg_EPON_GEN_ONT_STATE,                    MV_ASIC_ONT_GLB_ADDR + 0x0410,   0x0410,   asicRW,     0x00000003,     0,      0,     0,      0,     "ONU State"},
  [mvAsicReg_EPON_GEN_ONT_STATE_REG_AUTO_EN]        = {mvAsicReg_EPON_GEN_ONT_STATE_REG_AUTO_EN,        MV_ASIC_ONT_GLB_ADDR + 0x0410,   0x0410,   asicRW,     0x00000001,     1,      0,     0,      0,     "ONU Register State Auto Enable"},
  [mvAsicReg_EPON_GEN_ONT_STATE_REG]                = {mvAsicReg_EPON_GEN_ONT_STATE_REG,                MV_ASIC_ONT_GLB_ADDR + 0x0410,   0x0410,   asicRW,     0x00000001,     0,      0,     0,      0,     "ONU Register State"},
#else /* PON_Z2 */
  [mvAsicReg_EPON_GEN_ONT_STATE]                    = {mvAsicReg_EPON_GEN_ONT_STATE,                    MV_ASIC_ONT_GLB_ADDR + 0x0410,   0x0410,   asicRW,     0x00000FFF,     0,      0,     0,      0,     "ONU State"},
  [mvAsicReg_EPON_GEN_ONT_STATE_REG]                = {mvAsicReg_EPON_GEN_ONT_STATE_REG,                MV_ASIC_ONT_GLB_ADDR + 0x0410,   0x0410,   asicRW,     0x000000FF,     0,      0,     0,      0,     "ONU Register State"},
  [mvAsicReg_EPON_GEN_ONT_STATE_REG_AUTO_EN]        = {mvAsicReg_EPON_GEN_ONT_STATE_REG_AUTO_EN,        MV_ASIC_ONT_GLB_ADDR + 0x0410,   0x0410,   asicRW,     0x00000001,     8,      0,     0,      0,     "ONU Register State Auto Enable"},
#endif /* PON_Z2  */
  [mvAsicReg_EPON_GEN_ONT_STATE_REREG_AUTO_EN]      = {mvAsicReg_EPON_GEN_ONT_STATE_REREG_AUTO_EN,      MV_ASIC_ONT_GLB_ADDR + 0x0410,   0x0410,   asicRW,     0x00000001,     9,      0,     0,      0,     "ONU ReRegister State Auto Enable"},
  [mvAsicReg_EPON_GEN_ONT_STATE_DEREG_AUTO_EN]      = {mvAsicReg_EPON_GEN_ONT_STATE_DEREG_AUTO_EN,      MV_ASIC_ONT_GLB_ADDR + 0x0410,   0x0410,   asicRW,     0x00000001,    10,      0,     0,      0,     "ONU DeRegister State Auto Enable"},
  [mvAsicReg_EPON_GEN_ONT_STATE_NACK_AUTO_EN]       = {mvAsicReg_EPON_GEN_ONT_STATE_NACK_AUTO_EN,       MV_ASIC_ONT_GLB_ADDR + 0x0410,   0x0410,   asicRW,     0x00000001,    11,      0,     0,      0,     "ONU Nack State Auto Enable"},
  [mvAsicReg_EPON_GEN_TQ_SIZE]                      = {mvAsicReg_EPON_GEN_TQ_SIZE,                      MV_ASIC_ONT_GLB_ADDR + 0x0414,   0x0414,   asicRW,     0x000000FF,     0,      0,     0,      0,     "TQ Size"},
  [mvAsicReg_EPON_GEN_LASER_PARAM]                  = {mvAsicReg_EPON_GEN_LASER_PARAM,                  MV_ASIC_ONT_GLB_ADDR + 0x0418,   0x0418,   asicRW,     0x01FFFFFF,     0,      0,     0,      0,     "Laser Params"},
  [mvAsicReg_EPON_GEN_TAIL_GUARD]                   = {mvAsicReg_EPON_GEN_TAIL_GUARD,                   MV_ASIC_ONT_GLB_ADDR + 0x0420,   0x0420,   asicRW,     0x0000FFFF,     0,      0,     0,      0,     "Tail Guard"},
  [mvAsicReg_EPON_GEN_SYNC_TIME]                    = {mvAsicReg_EPON_GEN_SYNC_TIME,                    MV_ASIC_ONT_GLB_ADDR + 0x0424,   0x0424,   asicRW,     0xFFFFFFFF,     0,      0,     0,      0,     "Sync Time"},
  [mvAsicReg_EPON_GEN_BROADCAST_ADDR_LOW]           = {mvAsicReg_EPON_GEN_BROADCAST_ADDR_LOW,           MV_ASIC_ONT_GLB_ADDR + 0x0428,   0x0428,   asicRW,     0xFFFFFFFF,     0,      0,     0,      0,     "Broadcast Address Low"},
  [mvAsicReg_EPON_GEN_BROADCAST_ADDR_HIGH]          = {mvAsicReg_EPON_GEN_BROADCAST_ADDR_HIGH,          MV_ASIC_ONT_GLB_ADDR + 0x042C,   0x042C,   asicRW,     0x0000FFFF,     0,      0,     0,      0,     "Broadcast Address High"},
#ifdef PON_Z1
  [mvAsicReg_EPON_GEN_CONFIGURATION]                = {mvAsicReg_EPON_GEN_CONFIGURATION,                MV_ASIC_ONT_GLB_ADDR + 0x0430,   0x0430,   asicRW,     0x00000073,     0,      0,     0,      0,     "Gen Configuration"},
#else /* PON_Z2 */
  [mvAsicReg_EPON_GEN_CONFIGURATION]                = {mvAsicReg_EPON_GEN_CONFIGURATION,                MV_ASIC_ONT_GLB_ADDR + 0x0430,   0x0430,   asicRW,     0x0000FF73,     0,      0,     0,      0,     "Gen Configuration"},
  [mvAsicReg_EPON_GEN_CONFIGURATION_AUTO_REPORT]    = {mvAsicReg_EPON_GEN_CONFIGURATION_AUTO_REPORT,    MV_ASIC_ONT_GLB_ADDR + 0x0430,   0x0430,   asicRW,     0x00000001,     4,      0,     0,      0,     "Gen Configuration Auto Report"},
  [mvAsicReg_EPON_GEN_CONFIGURATION_AUTO_ACK]       = {mvAsicReg_EPON_GEN_CONFIGURATION_AUTO_ACK,       MV_ASIC_ONT_GLB_ADDR + 0x0430,   0x0430,   asicRW,     0x00000001,     5,      0,     0,      0,     "Gen Configuration Auto Ack"},
  [mvAsicReg_EPON_GEN_CONFIGURATION_AUTO_REQUEST]   = {mvAsicReg_EPON_GEN_CONFIGURATION_AUTO_REQUEST,   MV_ASIC_ONT_GLB_ADDR + 0x0430,   0x0430,   asicRW,     0x00000001,     6,      0,     0,      0,     "Gen Configuration Auto Request"},


#endif /* PON_Z2  */
  [mvAsicReg_EPON_GEN_SLD]                          = {mvAsicReg_EPON_GEN_SLD,                          MV_ASIC_ONT_GLB_ADDR + 0x0434,   0x0434,   asicRW,     0x000000FF,     0,      0,     0,      0,     "Sld"},
  [mvAsicReg_EPON_GEN_MAC_CONTROL_TYPE]             = {mvAsicReg_EPON_GEN_MAC_CONTROL_TYPE,             MV_ASIC_ONT_GLB_ADDR + 0x0438,   0x0438,   asicRW,     0x0000FFFF,     0,      0,     0,      0,     "Mac Control type"},
  [mvAsicReg_EPON_GEN_LOCAL_TIMESTAMP]              = {mvAsicReg_EPON_GEN_LOCAL_TIMESTAMP,              MV_ASIC_ONT_GLB_ADDR + 0x043C,   0x043C,   asicRW,     0xFFFFFFFF,     0,      0,     0,      0,     "Local TimeStamp"},
  [mvAsicReg_EPON_GEN_NUM_OF_PENDING_GRANTS]        = {mvAsicReg_EPON_GEN_NUM_OF_PENDING_GRANTS,        MV_ASIC_ONT_GLB_ADDR + 0x0448,   0x0448,   asicRW,     0x000000FF,     0,      0,     0,      0,     "Num Of Pending Grants"},
  [mvAsicReg_EPON_GEN_SGL_STATUS]                   = {mvAsicReg_EPON_GEN_SGL_STATUS,                   MV_ASIC_ONT_GLB_ADDR + 0x044C,   0x044C,   asicRW,     0x000000FF,     0,      0,     0,      0,     "SGL Status"},
  [mvAsicReg_EPON_GEN_PON_PHY_DEBUG]                = {mvAsicReg_EPON_GEN_PON_PHY_DEBUG,                MV_ASIC_ONT_GLB_ADDR + 0x0450,   0x0450,   asicRW,     0x000000FF,     0,      0,     0,      0,     "Phy Debug"},
  [mvAsicReg_EPON_GEN_SGL_SW_RESET]                 = {mvAsicReg_EPON_GEN_SGL_SW_RESET,                 MV_ASIC_ONT_GLB_ADDR + 0x0454,   0x0454,   asicRW,     0x00000001,     0,      0,     0,      0,     "SGL SW Reset"},
  [mvAsicReg_EPON_GEN_SGL_CONFIG]                   = {mvAsicReg_EPON_GEN_SGL_CONFIG,                   MV_ASIC_ONT_GLB_ADDR + 0x0458,   0x0458,   asicRW,     0x0000001F,     0,      0,     0,      0,     "SGL Config"},
  [mvAsicReg_EPON_GEN_SGL_DEBOUNCE_CONFIG]          = {mvAsicReg_EPON_GEN_SGL_DEBOUNCE_CONFIG,          MV_ASIC_ONT_GLB_ADDR + 0x045C,   0x045C,   asicRW,     0x0001FFFF,     0,      0,     0,      0,     "SGL Debounce Config"},
  [mvAsicReg_EPON_GEN_SGL_DEBOUNCE_ENABLE]          = {mvAsicReg_EPON_GEN_SGL_DEBOUNCE_ENABLE,          MV_ASIC_ONT_GLB_ADDR + 0x0460,   0x0460,   asicRW,     0x00000001,     0,      0,     0,      0,     "SGL Debounce Enable"},
  [mvAsicReg_EPON_GEN_TCH_CHURNING_KEY]             = {mvAsicReg_EPON_GEN_TCH_CHURNING_KEY,             MV_ASIC_ONT_GLB_ADDR + 0x0464,   0x0464,   asicRW,     0x00FFFFFF,     0,      0,     0,      0,     "Churning Key random for SW"},
  [mvAsicReg_EPON_GEN_ADDITIONAL_OPCODE1]           = {mvAsicReg_EPON_GEN_ADDITIONAL_OPCODE1,           MV_ASIC_ONT_GLB_ADDR + 0x0468,   0x0468,   asicRW,     0x001FFFFF,     0,      0,     0,      0,     "Additional Opcode 01"},
  [mvAsicReg_EPON_GEN_ADDITIONAL_OPCODE2]           = {mvAsicReg_EPON_GEN_ADDITIONAL_OPCODE2,           MV_ASIC_ONT_GLB_ADDR + 0x046C,   0x046C,   asicRW,     0x001FFFFF,     0,      0,     0,      0,     "Additional Opcode 02"},
  [mvAsicReg_EPON_GEN_DRIFT_THRESHOLD]              = {mvAsicReg_EPON_GEN_DRIFT_THRESHOLD,              MV_ASIC_ONT_GLB_ADDR + 0x0470,   0x0470,   asicRW,     0x0000FFFF,     0,      0,     0,      0,     "Drift Threshold"},
  [mvAsicReg_EPON_GEN_TIMESTAMP_VAL_FOR_INTR]       = {mvAsicReg_EPON_GEN_TIMESTAMP_VAL_FOR_INTR,       MV_ASIC_ONT_GLB_ADDR + 0x0474,   0x0474,   asicRW,     0xFFFFFFFF,     0,      0,     0,      0,     "Timestamp valuer for interrupt"},
  [mvAsicReg_EPON_GEN_ADDITIONAL_OPCODE3]           = {mvAsicReg_EPON_GEN_ADDITIONAL_OPCODE3,           MV_ASIC_ONT_GLB_ADDR + 0x0478,   0x0478,   asicRW,     0x001FFFFF,     0,      0,     0,      0,     "Additional Opcode 03"},
#ifdef PON_Z2
  [mvAsicReg_EPON_GEN_LLID_CRC_CONFIG]              = {mvAsicReg_EPON_GEN_LLID_CRC_CONFIG,              MV_ASIC_ONT_GLB_ADDR + 0x047C,   0x047C,   asicRW,     0x000003FF,     0,      0,     0,      0,     "LLID configuration"},
  [mvAsicReg_EPON_GEN_TIMESTAMP_CONFIG]             = {mvAsicReg_EPON_GEN_TIMESTAMP_CONFIG,             MV_ASIC_ONT_GLB_ADDR + 0x0480,   0x0480,   asicRW,     0x87FFC7FF,     0,      0,     0,      0,     "Timestamp configuration"},
  [mvAsicReg_EPON_GEN_ONT_RX_TIMESTAMP_CONFIG]      = {mvAsicReg_EPON_GEN_ONT_RX_TIMESTAMP_CONFIG,      MV_ASIC_ONT_GLB_ADDR + 0x0484,   0x0484,   asicRW,     0x00008FFF,     0,      0,     0,      0,     "ONT Rx Timestamp configuration"},
  [mvAsicReg_EPON_GEN_ONT_REGISTER_PACKET_PADDING]  = {mvAsicReg_EPON_GEN_ONT_REGISTER_PACKET_PADDING,  MV_ASIC_ONT_GLB_ADDR + 0x0488,   0x0488,   asicRW,     0x0000FFFF,     0,      0,     0,      0,     "ONT Register packet pading"},
#endif /* PON_Z2 */
#ifdef PON_Z1
  [mvAsicReg_EPON_GEN_MAC_ADDR_LOW]                 = {mvAsicReg_EPON_GEN_MAC_ADDR_LOW,                 MV_ASIC_ONT_GLB_ADDR + 0x0440,   0x0440,   asicRW,     0xFFFFFFFF,     0,      0,     0,      0,     "MAC address low part"},
  [mvAsicReg_EPON_GEN_MAC_ADDR_HIGH]                = {mvAsicReg_EPON_GEN_MAC_ADDR_HIGH,                MV_ASIC_ONT_GLB_ADDR + 0x0444,   0x0444,   asicRW,     0xFFFFFFFF,     0,      0,     0,      0,     "MAC address high part"},
#else /* PON_Z2 */
  [mvAsicReg_EPON_GEN_MAC_ADDR_LOW]                 = {mvAsicReg_EPON_GEN_MAC_ADDR_LOW,                 MV_ASIC_ONT_GLB_ADDR + 0x04A0,   0x04A0,   asicRW,     0xFFFFFFFF,     0,      8,     1,      0,     "MAC address low part"},
  [mvAsicReg_EPON_GEN_MAC_ADDR_HIGH]                = {mvAsicReg_EPON_GEN_MAC_ADDR_HIGH,                MV_ASIC_ONT_GLB_ADDR + 0x04C8,   0x04C8,   asicRW,     0xFFFFFFFF,     0,      8,     1,      0,     "MAC address high part"},
#endif /* PON_Z2 */
  [mvAsicReg_EPON_GEN_UTM_TC_PERIOD]                = {mvAsicReg_EPON_GEN_UTM_TC_PERIOD,                MV_ASIC_ONT_GLB_ADDR + 0x0720,   0x0720,   asicRW,     0xFFFFFFFF,     0,      0,     0,      0,     "UTM TC Period"},
  [mvAsicReg_EPON_GEN_UTM_TC_PERIOD_VALID]          = {mvAsicReg_EPON_GEN_UTM_TC_PERIOD_VALID,          MV_ASIC_ONT_GLB_ADDR + 0x0724,   0x0724,   asicRW,     0x00000001,     0,      0,     0,      0,     "UTM TC Period valid"},
  [mvAsicReg_EPON_GEN_GEM_IPG_VAL]                  = {mvAsicReg_EPON_GEN_GEM_IPG_VAL,                  MV_ASIC_ONT_GLB_ADDR + 0x0728,   0x0728,   asicRW,     0x000000FF,     0,      0,     0,      0,     "IPG Value"},
  [mvAsicReg_EPON_GEN_GEM_IPG_VAL_VALID]            = {mvAsicReg_EPON_GEN_GEM_IPG_VAL_VALID,            MV_ASIC_ONT_GLB_ADDR + 0x072C,   0x072C,   asicRW,     0x00000001,     0,      0,     0,      0,     "IPG Value valid"},

  /* =========================== */
  /*  EPON RXP Registers         */
  /* =========================== */
  [mvAsicReg_EPON_RXP_PACKET_SIZE_LIMIT]            = {mvAsicReg_EPON_RXP_PACKET_SIZE_LIMIT,            MV_ASIC_ONT_GLB_ADDR + 0x0810,   0x0810,   asicRW,     0x0FFF0FFF,     0,      0,     0,      0,     "Rxp packet limit size"},
#ifdef PON_Z1
  [mvAsicReg_EPON_RXP_PACKET_FILTER]                = {mvAsicReg_EPON_RXP_PACKET_FILTER,                MV_ASIC_ONT_GLB_ADDR + 0x0814,   0x0814,   asicRW,     0x000000FF,     0,      0,     0,      0,     "Rxp packet filter"},
#else /* PON_Z2 and higher */
  [mvAsicReg_EPON_RXP_PACKET_FILTER]                = {mvAsicReg_EPON_RXP_PACKET_FILTER,                MV_ASIC_ONT_GLB_ADDR + 0x0814,   0x0814,   asicRW,     0x000001FF,     0,      0,     0,      0,     "Rxp packet filter"},
#endif /* PON_Z2 and higher */
  [mvAsicReg_EPON_RXP_CTRL_FRAME_FORWARD]           = {mvAsicReg_EPON_RXP_CTRL_FRAME_FORWARD,           MV_ASIC_ONT_GLB_ADDR + 0x0818,   0x0818,   asicRW,     0x0000003F,     0,      0,     0,      0,     "Rxp ctrl frame forward"},
  [mvAsicReg_EPON_RXP_LLT_LLID_DATA]                = {mvAsicReg_EPON_RXP_LLT_LLID_DATA,                MV_ASIC_ONT_GLB_ADDR + 0x081C,   0x081C,   asicRW,     0x000FFFFF,     0,     10,     1,      0,     "Rxp LLID data"},
  [mvAsicReg_EPON_RXP_LLT_LLID_DATA_VALUE]          = {mvAsicReg_EPON_RXP_LLT_LLID_DATA_VALUE,          MV_ASIC_ONT_GLB_ADDR + 0x081C,   0x081C,   asicRW,     0x00007FFF,     0,     10,     1,      0,     "Rxp LLID data value"},
  [mvAsicReg_EPON_RXP_LLT_LLID_DATA_INDEX]          = {mvAsicReg_EPON_RXP_LLT_LLID_DATA_INDEX,          MV_ASIC_ONT_GLB_ADDR + 0x081C,   0x081C,   asicRW,     0x0000000F,    18,     10,     1,      0,     "Rxp LLID data index"},
  [mvAsicReg_EPON_RXP_LLT_LLID_DATA_VALID]          = {mvAsicReg_EPON_RXP_LLT_LLID_DATA_VALID,          MV_ASIC_ONT_GLB_ADDR + 0x081C,   0x081C,   asicRW,     0x00000001,    19,     10,     1,      0,     "Rxp LLID data valid"},
  [mvAsicReg_EPON_RXP_ENCRYPTION_CONFIG]            = {mvAsicReg_EPON_RXP_ENCRYPTION_CONFIG,            MV_ASIC_ONT_GLB_ADDR + 0x0844,   0x0844,   asicRW,     0x00000031,     0,      0,     0,      0,     "Rxp Enctyption Config"},
#ifdef PON_Z1
  [mvAsicReg_EPON_RXP_ENCRYPTION_KEY0]              = {mvAsicReg_EPON_RXP_ENCRYPTION_KEY0,              MV_ASIC_ONT_GLB_ADDR + 0x0848,   0x0848,   asicRW,     0x00FFFFFF,     0,      0,     0,      0,     "Rxp Enctyption Key 0"},
  [mvAsicReg_EPON_RXP_ENCRYPTION_KEY1]              = {mvAsicReg_EPON_RXP_ENCRYPTION_KEY1,              MV_ASIC_ONT_GLB_ADDR + 0x084C,   0x084C,   asicRW,     0x00FFFFFF,     0,      0,     0,      0,     "Rxp Enctyption Key 1"},
#else /* PON_Z2 and higher */
  [mvAsicReg_EPON_RXP_ENCRYPTION_KEY0]              = {mvAsicReg_EPON_RXP_ENCRYPTION_KEY0,              MV_ASIC_ONT_GLB_ADDR + 0x0850,   0x0850,   asicRW,     0x00FFFFFF,     0,      8,     1,      0,     "Rxp Enctyption Key 0"},
  [mvAsicReg_EPON_RXP_ENCRYPTION_KEY1]              = {mvAsicReg_EPON_RXP_ENCRYPTION_KEY1,              MV_ASIC_ONT_GLB_ADDR + 0x0878,   0x0878,   asicRW,     0x00FFFFFF,     0,      8,     1,      0,     "Rxp Enctyption Key 1"},
#endif /* PON_Z2 and higher */
  [mvAsicReg_EPON_RXP_DATA_FIFO_THRESH]             = {mvAsicReg_EPON_RXP_DATA_FIFO_THRESH,             MV_ASIC_ONT_GLB_ADDR + 0x08C0,   0x08C0,   asicRW,     0x00000FFF,     0,      8,     1,      0,     "Rxp FIFO Threshold"},

  /* =========================== */
  /*  EPON GPM Registers         */
  /* =========================== */
  [mvAsicReg_EPON_GPM_MAX_FUTURE_GRANT_TIME]        = {mvAsicReg_EPON_GPM_MAX_FUTURE_GRANT_TIME,        MV_ASIC_ONT_GLB_ADDR + 0x0C10,   0x0C10,   asicRW,     0xFFFFFFFF,     0,      0,     0,      0,     "Max future grant time"},
#ifdef PON_Z1
  [mvAsicReg_EPON_GPM_MIN_PROCESSING_TIME]          = {mvAsicReg_EPON_GPM_MIN_PROCESSING_TIME,          MV_ASIC_ONT_GLB_ADDR + 0x0C14,   0x0C14,   asicRW,     0x0000FFFF,     0,      0,     0,      0,     "Min processing time"},
#else /* PON_Z2 */
  [mvAsicReg_EPON_GPM_MIN_PROCESSING_TIME]          = {mvAsicReg_EPON_GPM_MIN_PROCESSING_TIME,          MV_ASIC_ONT_GLB_ADDR + 0x0C14,   0x0C14,   asicRW,     0x00FFFFFF,     0,      0,     0,      0,     "Min processing time"},
#endif /* PON_Z2  */
  [mvAsicReg_EPON_GPM_DISCOVERY_GRANT_LENGTH]       = {mvAsicReg_EPON_GPM_DISCOVERY_GRANT_LENGTH,       MV_ASIC_ONT_GLB_ADDR + 0x0C18,   0x0C18,   asicRW,     0x0FFFFFFF,     0,      0,     0,      0,     "Discovery grant length"},
  [mvAsicReg_EPON_GPM_RX_SYNC_TIME]                 = {mvAsicReg_EPON_GPM_RX_SYNC_TIME,                 MV_ASIC_ONT_GLB_ADDR + 0x0C1C,   0x0C1C,   asicRW,     0x0001FFFF,     0,      0,     0,      0,     "Rx sync time"},
  [mvAsicReg_EPON_GPM_GRANT_VALID]                  = {mvAsicReg_EPON_GPM_GRANT_VALID,                  MV_ASIC_ONT_GLB_ADDR + 0x0C50,   0x0C50,   asicRW,     0xFFFFFFFF,     0,      8,     1,      0,     "Grant valid counter"},
  [mvAsicReg_EPON_GPM_GRANT_MAX_FUTURE_TIME_ERR]    = {mvAsicReg_EPON_GPM_GRANT_MAX_FUTURE_TIME_ERR,    MV_ASIC_ONT_GLB_ADDR + 0x0C70,   0x0C70,   asicRW,     0xFFFFFFFF,     0,      8,     1,      0,     "Grant max future time error counter"},
  [mvAsicReg_EPON_GPM_MIN_PROC_TIME_ERR]            = {mvAsicReg_EPON_GPM_MIN_PROC_TIME_ERR,            MV_ASIC_ONT_GLB_ADDR + 0x0C90,   0x0C90,   asicRW,     0xFFFFFFFF,     0,      8,     1,      0,     "Min proc time error counter"},
  [mvAsicReg_EPON_GPM_LENGTH_ERR]                   = {mvAsicReg_EPON_GPM_LENGTH_ERR,                   MV_ASIC_ONT_GLB_ADDR + 0x0CB0,   0x0CB0,   asicRW,     0xFFFFFFFF,     0,      8,     1,      0,     "Length error counter"},
  [mvAsicReg_EPON_GPM_DISCOVERY_AND_REGISTERED_ERR] = {mvAsicReg_EPON_GPM_DISCOVERY_AND_REGISTERED_ERR, MV_ASIC_ONT_GLB_ADDR + 0x0CD0,   0x0CD0,   asicRW,     0xFFFFFFFF,     0,      8,     1,      0,     "Discovery and register error counter"},
  [mvAsicReg_EPON_GPM_FIFO_FULL_ERR]                = {mvAsicReg_EPON_GPM_FIFO_FULL_ERR,                MV_ASIC_ONT_GLB_ADDR + 0x0CF0,   0x0CF0,   asicRW,     0xFFFFFFFF,     0,      8,     1,      0,     "Fifo full error counter"},
  [mvAsicReg_EPON_GPM_OPC_DISC_NOT_REG_BCAST]       = {mvAsicReg_EPON_GPM_OPC_DISC_NOT_REG_BCAST,       MV_ASIC_ONT_GLB_ADDR + 0x0D10,   0x0D10,   asicRW,     0xFFFFFFFF,     0,      8,     1,      0,     "OPC discard not register broadcast counter"},
  [mvAsicReg_EPON_GPM_OPC_REG_NOT_DISC]             = {mvAsicReg_EPON_GPM_OPC_REG_NOT_DISC,             MV_ASIC_ONT_GLB_ADDR + 0x0D30,   0x0D30,   asicRW,     0xFFFFFFFF,     0,      8,     1,      0,     "OPC register not broadcast counter"},
  [mvAsicReg_EPON_GPM_OPC_DISC_NOT_REG_NOT_BCAST]   = {mvAsicReg_EPON_GPM_OPC_DISC_NOT_REG_NOT_BCAST,   MV_ASIC_ONT_GLB_ADDR + 0x0D50,   0x0D50,   asicRW,     0xFFFFFFFF,     0,      8,     1,      0,     "OPC discard not register not broadcast counter"},
  [mvAsicReg_EPON_GPM_OPC_DROPED_GRANT]             = {mvAsicReg_EPON_GPM_OPC_DROPED_GRANT,             MV_ASIC_ONT_GLB_ADDR + 0x0D70,   0x0D70,   asicRW,     0xFFFFFFFF,     0,      8,     1,      0,     "OPC dropped grant counter"},
  [mvAsicReg_EPON_GPM_OPC_HIDDEN_GRANT]             = {mvAsicReg_EPON_GPM_OPC_HIDDEN_GRANT,             MV_ASIC_ONT_GLB_ADDR + 0x0D90,   0x0D90,   asicRW,     0xFFFFFFFF,     0,      8,     1,      0,     "OPC hidden grant counter"},
  [mvAsicReg_EPON_GPM_OPC_BACK_TO_BACK_GRANT]       = {mvAsicReg_EPON_GPM_OPC_BACK_TO_BACK_GRANT,       MV_ASIC_ONT_GLB_ADDR + 0x0DB0,   0x0DB0,   asicRW,     0xFFFFFFFF,     0,      8,     1,      0,     "OPC back to back grant counter"},

  /* =========================== */
  /*  EPON TXM Registers         */
  /* =========================== */
#ifdef PON_Z1
  [mvAsicReg_EPON_TXM_DEFAULT_OVERHEAD]             = {mvAsicReg_EPON_TXM_DEFAULT_OVERHEAD,             MV_ASIC_ONT_GLB_ADDR + 0x1010,   0x1010,   asicRW,     0x000000FF,     0,      0,     0,      0,     "Default overhead"},
  [mvAsicReg_EPON_TXM_CONFIGURATION]                = {mvAsicReg_EPON_TXM_CONFIGURATION,                MV_ASIC_ONT_GLB_ADDR + 0x1018,   0x1018,   asicRW,     0x00000007,     0,      0,     0,      0,     "Tx Configuration"},
  [mvAsicReg_EPON_TXM_TX_LLID]                      = {mvAsicReg_EPON_TXM_TX_LLID,                      MV_ASIC_ONT_GLB_ADDR + 0x1014,   0x1014,   asicRW,     0x00007FFF,     0,      0,     0,      0,     "Tx LLID"},
#else /* PON_Z2 and higher */
  [mvAsicReg_EPON_TXM_DEFAULT_OVERHEAD]             = {mvAsicReg_EPON_TXM_DEFAULT_OVERHEAD,             MV_ASIC_ONT_GLB_ADDR + 0x1010,   0x1010,   asicRW,     0x0000FFFF,     0,      0,     0,      0,     "Default overhead"},
  [mvAsicReg_EPON_TXM_CONFIGURATION]                = {mvAsicReg_EPON_TXM_CONFIGURATION,                MV_ASIC_ONT_GLB_ADDR + 0x1018,   0x1018,   asicRW,     0x0000FFFF,     0,      0,     0,      0,     "Tx Configuration"},
  [mvAsicReg_EPON_TXM_TX_LLID]                      = {mvAsicReg_EPON_TXM_TX_LLID,                      MV_ASIC_ONT_GLB_ADDR + 0x1050,   0x1050,   asicRW,     0x00007FFF,     0,      8,     1,      0,     "Tx LLID"},
#endif /* PON_Z2 and higher */
#ifdef PON_Z1
  [mvAsicReg_EPON_TXM_CPP_RPRT_CONFIG]              = {mvAsicReg_EPON_TXM_CPP_RPRT_CONFIG,              MV_ASIC_ONT_GLB_ADDR + 0x1078,   0x1078,   asicRW,     0x000003FF,     0,      8,     1,      0,     "Cpp report configuration"},
  [mvAsicReg_EPON_TXM_CPP_RPRT_BIT_MAP]             = {mvAsicReg_EPON_TXM_CPP_RPRT_BIT_MAP,             MV_ASIC_ONT_GLB_ADDR + 0x1098,   0x1098,   asicRW,     0x000000FF,     0,      8,     1,      0,     "Cpp report bit map"},
  [mvAsicReg_EPON_TXM_CPP_RPRT_QUEUE_SET]           = {mvAsicReg_EPON_TXM_CPP_RPRT_QUEUE_SET,           MV_ASIC_ONT_GLB_ADDR + 0x10B8,   0x10B8,   asicRW,     0x0000003F,     0,      8,     1,      0,     "Cpp report queue sets"},
  [mvAsicReg_EPON_TXM_CPP_RPRT_QUEUE_0]             = {mvAsicReg_EPON_TXM_CPP_RPRT_QUEUE_0,             MV_ASIC_ONT_GLB_ADDR + 0x10D8,   0x10D8,   asicRW,     0x0000FFFF,     0,      8,     1,      0,     "Cpp report queue0"},
  [mvAsicReg_EPON_TXM_CPP_RPRT_QUEUE_1]             = {mvAsicReg_EPON_TXM_CPP_RPRT_QUEUE_1,             MV_ASIC_ONT_GLB_ADDR + 0x10F8,   0x10F8,   asicRW,     0x0000FFFF,     0,      8,     1,      0,     "Cpp report queue1"},
  [mvAsicReg_EPON_TXM_CPP_RPRT_QUEUE_2]             = {mvAsicReg_EPON_TXM_CPP_RPRT_QUEUE_2,             MV_ASIC_ONT_GLB_ADDR + 0x1118,   0x1118,   asicRW,     0x0000FFFF,     0,      8,     1,      0,     "Cpp report queue2"},
  [mvAsicReg_EPON_TXM_CPP_RPRT_QUEUE_3]             = {mvAsicReg_EPON_TXM_CPP_RPRT_QUEUE_3,             MV_ASIC_ONT_GLB_ADDR + 0x1138,   0x1138,   asicRW,     0x0000FFFF,     0,      8,     1,      0,     "Cpp report queue3"},
  [mvAsicReg_EPON_TXM_CPP_RPRT_QUEUE_4]             = {mvAsicReg_EPON_TXM_CPP_RPRT_QUEUE_4,             MV_ASIC_ONT_GLB_ADDR + 0x1158,   0x1158,   asicRW,     0x0000FFFF,     0,      8,     1,      0,     "Cpp report queue4"},
  [mvAsicReg_EPON_TXM_CPP_RPRT_QUEUE_5]             = {mvAsicReg_EPON_TXM_CPP_RPRT_QUEUE_5,             MV_ASIC_ONT_GLB_ADDR + 0x1178,   0x1178,   asicRW,     0x0000FFFF,     0,      8,     1,      0,     "Cpp report queue5"},
  [mvAsicReg_EPON_TXM_CPP_RPRT_QUEUE_6]             = {mvAsicReg_EPON_TXM_CPP_RPRT_QUEUE_6,             MV_ASIC_ONT_GLB_ADDR + 0x1198,   0x1198,   asicRW,     0x0000FFFF,     0,      8,     1,      0,     "Cpp report queue6"},
  [mvAsicReg_EPON_TXM_CPP_RPRT_QUEUE_7]             = {mvAsicReg_EPON_TXM_CPP_RPRT_QUEUE_7,             MV_ASIC_ONT_GLB_ADDR + 0x11B8,   0x11B8,   asicRW,     0x0000FFFF,     0,      8,     1,      0,     "Cpp report queue7"},
  [mvAsicReg_EPON_TXM_CPP_RPRT_FEC_CONFIG]          = {mvAsicReg_EPON_TXM_CPP_RPRT_FEC_CONFIG,          MV_ASIC_ONT_GLB_ADDR + 0x11DC,   0x11DC,   asicRW,     0x00FFFFFF,     0,      8,     1,      0,     "Cpp report fec config"},
#else /* PON_Z2 and higher */
  [mvAsicReg_EPON_TXM_CPP_RPRT_CONFIG]              = {mvAsicReg_EPON_TXM_CPP_RPRT_CONFIG,              MV_ASIC_ONT_GLB_ADDR + 0x1078,   0x1078,   asicRW,     0x03FD03FF,     0,      8,     1,      0,     "Cpp report configuration"},
  [mvAsicReg_EPON_TXM_CPP_RPRT_BIT_MAP]             = {mvAsicReg_EPON_TXM_CPP_RPRT_BIT_MAP,             MV_ASIC_ONT_GLB_ADDR + 0x1098,   0x1098,   asicRW,     0x0000FFFF,     0,      8,     1,      0,     "Cpp report bit map"},
  [mvAsicReg_EPON_TXM_CPP_RPRT_QUEUE_SET]           = {mvAsicReg_EPON_TXM_CPP_RPRT_QUEUE_SET,           MV_ASIC_ONT_GLB_ADDR + 0x10B8,   0x10B8,   asicRW,     0x0000003F,     0,      8,     1,      0,     "Cpp report queue sets"},
  [mvAsicReg_EPON_TXM_CPP_RPRT_QUEUE_0]             = {mvAsicReg_EPON_TXM_CPP_RPRT_QUEUE_0,             MV_ASIC_ONT_GLB_ADDR + 0x10D8,   0x10D8,   asicRW,     0xFFFFFFFF,     0,      8,     1,      0,     "Cpp report queue0"},
  [mvAsicReg_EPON_TXM_CPP_RPRT_QUEUE_1]             = {mvAsicReg_EPON_TXM_CPP_RPRT_QUEUE_1,             MV_ASIC_ONT_GLB_ADDR + 0x10F8,   0x10F8,   asicRW,     0xFFFFFFFF,     0,      8,     1,      0,     "Cpp report queue1"},
  [mvAsicReg_EPON_TXM_CPP_RPRT_QUEUE_2]             = {mvAsicReg_EPON_TXM_CPP_RPRT_QUEUE_2,             MV_ASIC_ONT_GLB_ADDR + 0x1118,   0x1118,   asicRW,     0xFFFFFFFF,     0,      8,     1,      0,     "Cpp report queue2"},
  [mvAsicReg_EPON_TXM_CPP_RPRT_QUEUE_3]             = {mvAsicReg_EPON_TXM_CPP_RPRT_QUEUE_3,             MV_ASIC_ONT_GLB_ADDR + 0x1138,   0x1138,   asicRW,     0xFFFFFFFF,     0,      8,     1,      0,     "Cpp report queue3"},
  [mvAsicReg_EPON_TXM_CPP_RPRT_QUEUE_4]             = {mvAsicReg_EPON_TXM_CPP_RPRT_QUEUE_4,             MV_ASIC_ONT_GLB_ADDR + 0x1158,   0x1158,   asicRW,     0xFFFFFFFF,     0,      8,     1,      0,     "Cpp report queue4"},
  [mvAsicReg_EPON_TXM_CPP_RPRT_QUEUE_5]             = {mvAsicReg_EPON_TXM_CPP_RPRT_QUEUE_5,             MV_ASIC_ONT_GLB_ADDR + 0x1178,   0x1178,   asicRW,     0xFFFFFFFF,     0,      8,     1,      0,     "Cpp report queue5"},
  [mvAsicReg_EPON_TXM_CPP_RPRT_QUEUE_6]             = {mvAsicReg_EPON_TXM_CPP_RPRT_QUEUE_6,             MV_ASIC_ONT_GLB_ADDR + 0x1198,   0x1198,   asicRW,     0xFFFFFFFF,     0,      8,     1,      0,     "Cpp report queue6"},
  [mvAsicReg_EPON_TXM_CPP_RPRT_QUEUE_7]             = {mvAsicReg_EPON_TXM_CPP_RPRT_QUEUE_7,             MV_ASIC_ONT_GLB_ADDR + 0x11B8,   0x11B8,   asicRW,     0xFFFFFFFF,     0,      8,     1,      0,     "Cpp report queue7"},
  [mvAsicReg_EPON_TXM_CPP_RPRT_FEC_CONFIG]          = {mvAsicReg_EPON_TXM_CPP_RPRT_FEC_CONFIG,          MV_ASIC_ONT_GLB_ADDR + 0x11DC,   0x11DC,   asicRW,     0x00FFFFFF,     0,      8,     1,      0,     "Cpp report fec config"},
#endif /* PON_Z2  and higher */

  /* =========================== */
  /*  EPON PCS Registers         */
  /* =========================== */
  [mvAsicReg_EPON_PCS_CONFIGURATION]                = {mvAsicReg_EPON_PCS_CONFIGURATION,                MV_ASIC_ONT_GLB_ADDR + 0x1414,   0x1414,   asicRW,     0x00000033,     0,      0,     0,      0,     "PCS configuration"},
  [mvAsicReg_EPON_PCS_DELAY_CONFIG]                 = {mvAsicReg_EPON_PCS_DELAY_CONFIG,                 MV_ASIC_ONT_GLB_ADDR + 0x1418,   0x1418,   asicRW,     0x00001FFF,     0,      0,     0,      0,     "PCS delay config"},
  [mvAsicReg_EPON_PCS_STATS_FEC_0]                  = {mvAsicReg_EPON_PCS_STATS_FEC_0,                  MV_ASIC_ONT_GLB_ADDR + 0x141C,   0x141C,   asicRW,     0xFFFFFFFF,     0,      0,     0,      0,     "PCS stats Fec 0"},
  [mvAsicReg_EPON_PCS_STATS_FEC_1]                  = {mvAsicReg_EPON_PCS_STATS_FEC_1,                  MV_ASIC_ONT_GLB_ADDR + 0x1420,   0x1420,   asicRW,     0xFFFFFFFF,     0,      0,     0,      0,     "PCS stats Fec 1"},
  [mvAsicReg_EPON_PCS_STATS_FEC_2]                  = {mvAsicReg_EPON_PCS_STATS_FEC_2,                  MV_ASIC_ONT_GLB_ADDR + 0x1424,   0x1424,   asicRW,     0x00FFFFFF,     0,      0,     0,      0,     "PCS stats Fec 2"},
  [mvAsicReg_EPON_PCS_STATS_0]                      = {mvAsicReg_EPON_PCS_STATS_0,                      MV_ASIC_ONT_GLB_ADDR + 0x1428,   0x1428,   asicRO,     0xFFFFFFFF,     0,      0,     0,      0,     "PCS stats 0"},
  [mvAsicReg_EPON_PCS_STATS_1]                      = {mvAsicReg_EPON_PCS_STATS_1,                      MV_ASIC_ONT_GLB_ADDR + 0x142C,   0x142C,   asicRO,     0xFFFFFFFF,     0,      0,     0,      0,     "PCS stats 1"},
  [mvAsicReg_EPON_PCS_STATS_2]                      = {mvAsicReg_EPON_PCS_STATS_2,                      MV_ASIC_ONT_GLB_ADDR + 0x1430,   0x1430,   asicRO,     0xFFFFFFFF,     0,      0,     0,      0,     "PCS stats 2"},
  [mvAsicReg_EPON_PCS_STATS_3]                      = {mvAsicReg_EPON_PCS_STATS_3,                      MV_ASIC_ONT_GLB_ADDR + 0x1434,   0x1434,   asicRO,     0xFFFFFFFF,     0,      0,     0,      0,     "PCS stats 3"},
  [mvAsicReg_EPON_PCS_STATS_4]                      = {mvAsicReg_EPON_PCS_STATS_4,                      MV_ASIC_ONT_GLB_ADDR + 0x1438,   0x1438,   asicRO,     0xFFFFFFFF,     0,      0,     0,      0,     "PCS stats 4"},
  [mvAsicReg_EPON_PCS_FRAME_SZ_LIMITS]              = {mvAsicReg_EPON_PCS_FRAME_SZ_LIMITS,              MV_ASIC_ONT_GLB_ADDR + 0x143C,   0x143C,   asicRW,     0x1FFF0FFF,     0,      0,     0,      0,     "PCS Frame Size Limits"},

  /* =========================== */
  /*  EPON DDM Registers         */
  /* =========================== */
  [mvAsicReg_EPON_DDM_DELAY_CONFIG]                 = {mvAsicReg_EPON_DDM_DELAY_CONFIG,                 MV_ASIC_ONT_GLB_ADDR + 0x1814,   0x1814,   asicRW,     0x0000FFFF,     0,      0,     0,      0,     "DDM delay config"},
  [mvAsicReg_EPON_DDM_TX_POLARITY]                  = {mvAsicReg_EPON_DDM_TX_POLARITY,                  MV_ASIC_ONT_GLB_ADDR + 0x1818,   0x1818,   asicRW,     0x0000003F,     0,      0,     0,      0,     "DDM tx ploarity"},
#ifdef PON_Z1
  [mvAsicReg_EPON_STAT_RXP_FCS_ERROR_CNT]           = {mvAsicReg_EPON_STAT_RXP_FCS_ERROR_CNT,           MV_ASIC_ONT_GLB_ADDR + 0x1828,   0x1828,   asicRW,     0xFFFFFFFF,     0,      0,     0,      0,     "RXP fcs error counter"},
  [mvAsicReg_EPON_STAT_RXP_SHORT_ERROR_CNT]         = {mvAsicReg_EPON_STAT_RXP_SHORT_ERROR_CNT,         MV_ASIC_ONT_GLB_ADDR + 0x182c,   0x182c,   asicRW,     0xFFFFFFFF,     0,      0,     0,      0,     "RXP short error counter"},
  [mvAsicReg_EPON_STAT_RXP_LONG_ERROR_CNT]          = {mvAsicReg_EPON_STAT_RXP_LONG_ERROR_CNT,          MV_ASIC_ONT_GLB_ADDR + 0x1830,   0x1830,   asicRW,     0xFFFFFFFF,     0,      0,     0,      0,     "RXP long error counter"},
  [mvAsicReg_EPON_STAT_RXP_DATA_FRAMES_CNT]         = {mvAsicReg_EPON_STAT_RXP_DATA_FRAMES_CNT,         MV_ASIC_ONT_GLB_ADDR + 0x1834,   0x1834,   asicRW,     0xFFFFFFFF,     0,      0,     0,      0,     "RXP data frame counter"},
  [mvAsicReg_EPON_STAT_RXP_CTRL_FRAMES_CNT]         = {mvAsicReg_EPON_STAT_RXP_CTRL_FRAMES_CNT,         MV_ASIC_ONT_GLB_ADDR + 0x1838,   0x1838,   asicRW,     0xFFFFFFFF,     0,      0,     0,      0,     "RXP ctrl frame counter"},
  [mvAsicReg_EPON_STAT_RXP_REPORT_FRAMES_CNT]       = {mvAsicReg_EPON_STAT_RXP_REPORT_FRAMES_CNT,       MV_ASIC_ONT_GLB_ADDR + 0x183C,   0x183C,   asicRW,     0xFFFFFFFF,     0,      0,     0,      0,     "RXP report frame counter"},
  [mvAsicReg_EPON_STAT_RXP_GATE_FRAMES_CNT]         = {mvAsicReg_EPON_STAT_RXP_GATE_FRAMES_CNT,         MV_ASIC_ONT_GLB_ADDR + 0x1840,   0x1840,   asicRW,     0xFFFFFFFF,     0,      0,     0,      0,     "RXP gate frame counter"},
  [mvAsicReg_EPON_STAT_TXP_CTRL_REG_REQ_FRAMES_CNT] = {mvAsicReg_EPON_STAT_TXP_CTRL_REG_REQ_FRAMES_CNT, MV_ASIC_ONT_GLB_ADDR + 0x1844,   0x1844,   asicRW,     0xFFFFFFFF,     0,      0,     0,      0,     "TXP ctrl register req frame counter"},
  [mvAsicReg_EPON_STAT_TXP_CTRL_REG_ACK_FRAMES_CNT] = {mvAsicReg_EPON_STAT_TXP_CTRL_REG_ACK_FRAMES_CNT, MV_ASIC_ONT_GLB_ADDR + 0x1848,   0x1848,   asicRW,     0xFFFFFFFF,     0,      0,     0,      0,     "TXP ctrl register ack frame counter"},
  [mvAsicReg_EPON_STAT_TXP_CTRL_REPORT_FRAMES_CNT]  = {mvAsicReg_EPON_STAT_TXP_CTRL_REPORT_FRAMES_CNT,  MV_ASIC_ONT_GLB_ADDR + 0x184C,   0x184C,   asicRW,     0xFFFFFFFF,     0,      0,     0,      0,     "TXP ctrl report frame counter"},
  [mvAsicReg_EPON_STAT_TXP_DATA_FRAMES_CNT]         = {mvAsicReg_EPON_STAT_TXP_DATA_FRAMES_CNT,         MV_ASIC_ONT_GLB_ADDR + 0x1850,   0x1850,   asicRW,     0xFFFFFFFF,     0,      0,     0,      0,     "TXP data frame counter"},
  [mvAsicReg_EPON_STAT_TXP_TX_ALLOWED_BYTE_CNT]     = {mvAsicReg_EPON_STAT_TXP_TX_ALLOWED_BYTE_CNT,     MV_ASIC_ONT_GLB_ADDR + 0x1854,   0x1854,   asicRW,     0xFFFFFFFF,     0,      0,     0,      0,     "TXP tx allowed byte counter"},
#else /* PON_Z2 */
  [mvAsicReg_EPON_STAT_RXP_FCS_ERROR_CNT]           = {mvAsicReg_EPON_STAT_RXP_FCS_ERROR_CNT,           MV_ASIC_ONT_GLB_ADDR + 0x1828,   0x1828,   asicRW,     0xFFFFFFFF,     0,      0,     0,      0,     "RXP fcs error counter"},
  [mvAsicReg_EPON_STAT_RXP_SHORT_ERROR_CNT]         = {mvAsicReg_EPON_STAT_RXP_SHORT_ERROR_CNT,         MV_ASIC_ONT_GLB_ADDR + 0x1848,   0x1848,   asicRW,     0xFFFFFFFF,     0,      0,     0,      0,     "RXP short error counter"},
  [mvAsicReg_EPON_STAT_RXP_LONG_ERROR_CNT]          = {mvAsicReg_EPON_STAT_RXP_LONG_ERROR_CNT,          MV_ASIC_ONT_GLB_ADDR + 0x1868,   0x1868,   asicRW,     0xFFFFFFFF,     0,      0,     0,      0,     "RXP long error counter"},
  [mvAsicReg_EPON_STAT_RXP_DATA_FRAMES_CNT]         = {mvAsicReg_EPON_STAT_RXP_DATA_FRAMES_CNT,         MV_ASIC_ONT_GLB_ADDR + 0x1888,   0x1888,   asicRW,     0xFFFFFFFF,     0,      0,     0,      0,     "RXP data frame counter"},
  [mvAsicReg_EPON_STAT_RXP_CTRL_FRAMES_CNT]         = {mvAsicReg_EPON_STAT_RXP_CTRL_FRAMES_CNT,         MV_ASIC_ONT_GLB_ADDR + 0x18A8,   0x18A8,   asicRW,     0xFFFFFFFF,     0,      0,     0,      0,     "RXP ctrl frame counter"},
  [mvAsicReg_EPON_STAT_RXP_REPORT_FRAMES_CNT]       = {mvAsicReg_EPON_STAT_RXP_REPORT_FRAMES_CNT,       MV_ASIC_ONT_GLB_ADDR + 0x18C8,   0x18C8,   asicRW,     0xFFFFFFFF,     0,      0,     0,      0,     "RXP report frame counter"},
  [mvAsicReg_EPON_STAT_RXP_GATE_FRAMES_CNT]         = {mvAsicReg_EPON_STAT_RXP_GATE_FRAMES_CNT,         MV_ASIC_ONT_GLB_ADDR + 0x18E8,   0x18E8,   asicRW,     0xFFFFFFFF,     0,      0,     0,      0,     "RXP gate frame counter"},
  [mvAsicReg_EPON_STAT_TXP_CTRL_REG_REQ_FRAMES_CNT] = {mvAsicReg_EPON_STAT_TXP_CTRL_REG_REQ_FRAMES_CNT, MV_ASIC_ONT_GLB_ADDR + 0x1908,   0x1908,   asicRW,     0xFFFFFFFF,     0,      8,     1,      0,     "TXP ctrl register req frame counter"},
  [mvAsicReg_EPON_STAT_TXP_CTRL_REG_ACK_FRAMES_CNT] = {mvAsicReg_EPON_STAT_TXP_CTRL_REG_ACK_FRAMES_CNT, MV_ASIC_ONT_GLB_ADDR + 0x1928,   0x1928,   asicRW,     0xFFFFFFFF,     0,      8,     1,      0,     "TXP ctrl register ack frame counter"},
  [mvAsicReg_EPON_STAT_TXP_CTRL_REPORT_FRAMES_CNT]  = {mvAsicReg_EPON_STAT_TXP_CTRL_REPORT_FRAMES_CNT,  MV_ASIC_ONT_GLB_ADDR + 0x1948,   0x1948,   asicRW,     0xFFFFFFFF,     0,      8,     1,      0,     "TXP ctrl report frame counter"},
  [mvAsicReg_EPON_STAT_TXP_DATA_FRAMES_CNT]         = {mvAsicReg_EPON_STAT_TXP_DATA_FRAMES_CNT,         MV_ASIC_ONT_GLB_ADDR + 0x1968,   0x1968,   asicRW,     0xFFFFFFFF,     0,      8,     1,      0,     "TXP data frame counter"},
  [mvAsicReg_EPON_STAT_TXP_TX_ALLOWED_BYTE_CNT]     = {mvAsicReg_EPON_STAT_TXP_TX_ALLOWED_BYTE_CNT,     MV_ASIC_ONT_GLB_ADDR + 0x1988,   0x1988,   asicRW,     0xFFFFFFFF,     0,      8,     1,      0,     "TXP tx allowed byte counter"},
#endif /* PON_Z2  */

  /* ===================================== */
  /*  EPON Control Packet queue Registers  */
  /* ===================================== */
  [mvAsicReg_EPON_CPQ_RX_CTRL_Q_READ]               = {mvAsicReg_EPON_CPQ_RX_CTRL_Q_READ,               MV_ASIC_ONT_GLB_ADDR + 0x1C10,   0x1C10,   asicRW,     0x000000FF,     0,      0,     0,      0,     "CPQ rx ctrl queue read"},
  [mvAsicReg_EPON_CPQ_RX_CTRL_Q_USED]               = {mvAsicReg_EPON_CPQ_RX_CTRL_Q_USED,               MV_ASIC_ONT_GLB_ADDR + 0x1C14,   0x1C14,   asicRW,     0x000007FF,     0,      0,     0,      0,     "CPQ rx ctrl queue used"},
  [mvAsicReg_EPON_CPQ_RX_RPRT_Q_READ]               = {mvAsicReg_EPON_CPQ_RX_RPRT_Q_READ,               MV_ASIC_ONT_GLB_ADDR + 0x1C18,   0x1C18,   asicRW,     0x000000FF,     0,      0,     0,      0,     "CPQ rx report queue read"},
  [mvAsicReg_EPON_CPQ_RX_RPRT_Q_USED]               = {mvAsicReg_EPON_CPQ_RX_RPRT_Q_USED,               MV_ASIC_ONT_GLB_ADDR + 0x1C1C,   0x1C1C,   asicRW,     0x000007FF,     0,      0,     0,      0,     "CPQ rx report queue used"},
  [mvAsicReg_EPON_CPQ_RX_CTRL_HQ_READ_L]            = {mvAsicReg_EPON_CPQ_RX_CTRL_HQ_READ_L,            MV_ASIC_ONT_GLB_ADDR + 0x1C20,   0x1C20,   asicRW,     0xFFFFFFFF,     0,      0,     0,      0,     "CPQ rx ctrl header queue read L"},
  [mvAsicReg_EPON_CPQ_RX_CTRL_HQ_READ_H]            = {mvAsicReg_EPON_CPQ_RX_CTRL_HQ_READ_H,            MV_ASIC_ONT_GLB_ADDR + 0x1C24,   0x1C24,   asicRW,     0xFFFFFFFF,     0,      0,     0,      0,     "CPQ rx ctrl header queue read H"},
  [mvAsicReg_EPON_CPQ_RX_CTRL_HQ_USED]              = {mvAsicReg_EPON_CPQ_RX_CTRL_HQ_USED,              MV_ASIC_ONT_GLB_ADDR + 0x1C28,   0x1C28,   asicRW,     0x0000001F,     0,      0,     0,      0,     "CPQ rx ctrl header queue read used"},
  [mvAsicReg_EPON_CPQ_RX_RPRT_HQ_READ_L]            = {mvAsicReg_EPON_CPQ_RX_RPRT_HQ_READ_L,            MV_ASIC_ONT_GLB_ADDR + 0x1C2C,   0x1C2C,   asicRW,     0xFFFFFFFF,     0,      0,     0,      0,     "CPQ rx report header queue read L"},
  [mvAsicReg_EPON_CPQ_RX_RPRT_HQ_READ_H]            = {mvAsicReg_EPON_CPQ_RX_RPRT_HQ_READ_H,            MV_ASIC_ONT_GLB_ADDR + 0x1C30,   0x1C30,   asicRW,     0xFFFFFFFF,     0,      0,     0,      0,     "CPQ rx report header queue read H"},
  [mvAsicReg_EPON_CPQ_RX_RPRT_HQ_USED]              = {mvAsicReg_EPON_CPQ_RX_RPRT_HQ_USED,              MV_ASIC_ONT_GLB_ADDR + 0x1C34,   0x1C34,   asicRW,     0x0000001F,     0,      0,     0,      0,     "CPQ rx report header queue read used"},
#ifdef PON_Z1
  [mvAsicReg_EPON_CPQ_TX_CTRL_Q_WRITE]              = {mvAsicReg_EPON_CPQ_TX_CTRL_Q_WRITE,              MV_ASIC_ONT_GLB_ADDR + 0x1C38,   0x1C38,   asicRW,     0x000000FF,     0,      0,     0,      0,     "CPQ tx ctrl queue write"},
  [mvAsicReg_EPON_CPQ_TX_CTRL_Q_FREE]               = {mvAsicReg_EPON_CPQ_TX_CTRL_Q_FREE,               MV_ASIC_ONT_GLB_ADDR + 0x1C3C,   0x1C3C,   asicRW,     0x000001FF,     0,      0,     0,      0,     "CPQ tx ctrl queue free"},
#else /* PON_Z2 */
  [mvAsicReg_EPON_CPQ_TX_CTRL_Q_WRITE]              = {mvAsicReg_EPON_CPQ_TX_CTRL_Q_WRITE,              MV_ASIC_ONT_GLB_ADDR + 0x1C78,   0x1C78,   asicRW,     0x000000FF,     0,      8,     1,      0,     "CPQ tx ctrl queue write"},
  [mvAsicReg_EPON_CPQ_TX_CTRL_Q_FREE]               = {mvAsicReg_EPON_CPQ_TX_CTRL_Q_FREE,               MV_ASIC_ONT_GLB_ADDR + 0x1C98,   0x1C98,   asicRW,     0x000001FF,     0,      8,     1,      0,     "CPQ tx ctrl queue free"},
#endif /* PON_Z2  */
#ifdef PON_Z1
  [mvAsicReg_EPON_CPQ_TX_CTRL_HQ_WRITE]             = {mvAsicReg_EPON_CPQ_TX_CTRL_HQ_WRITE,             MV_ASIC_ONT_GLB_ADDR + 0x1C48,   0x1C48,   asicRW,     0x00FFFFFF,     0,      0,     0,      0,     "CPQ tx ctrl header queue write"},
  [mvAsicReg_EPON_CPQ_TX_CTRL_HQ_FREE]              = {mvAsicReg_EPON_CPQ_TX_CTRL_HQ_FREE,              MV_ASIC_ONT_GLB_ADDR + 0x1C4C,   0x1C4C,   asicRW,     0x00FFFFFF,     0,      0,     0,      0,     "CPQ tx ctrl header queue free"},
#else /* PON_Z2 */
  [mvAsicReg_EPON_CPQ_TX_CTRL_HQ_WRITE]             = {mvAsicReg_EPON_CPQ_TX_CTRL_HQ_WRITE,             MV_ASIC_ONT_GLB_ADDR + 0x1CB8,   0x1CB8,   asicRW,     0x00FFFFFF,     0,      8,     1,      0,     "CPQ tx ctrl header queue write"},
  [mvAsicReg_EPON_CPQ_TX_CTRL_HQ_FREE]              = {mvAsicReg_EPON_CPQ_TX_CTRL_HQ_FREE,              MV_ASIC_ONT_GLB_ADDR + 0x1CD8,   0x1CD8,   asicRW,     0x00FFFFFF,     0,      8,     1,      0,     "CPQ tx ctrl header queue free"},
#endif /* PON_Z2  */

  /* =========================== */
  /*  P2P Registers              */
  /* =========================== */
  [mvAsicReg_P2P_GEN_ONT_MODE]                      = {mvAsicReg_P2P_GEN_ONT_MODE,                      MV_ASIC_ONT_GLB_ADDR + 0x040C,   0x040C,   asicRW,     0x00000001,    31,      0,     0,      0,     "ONU mode"},
  [mvAsicReg_P2P_PCS_CONFIGURATION]                 = {mvAsicReg_P2P_PCS_CONFIGURATION,                 MV_ASIC_ONT_GLB_ADDR + 0x1414,   0x1414,   asicRW,     0x00000613,    16,      0,     0,      0,     "P2P PCS configuration"},
  [mvAsicReg_P2P_TXM_CFG_MODE]                      = {mvAsicReg_P2P_TXM_CFG_MODE,                      MV_ASIC_ONT_GLB_ADDR + 0x1018,   0x1018,   asicRW,     0x00000003,     3,      0,     0,      0,     "Tx Configuration mode"},


#ifndef PON_FPGA
  [mvAsicReg_PON_SERDES_PHY_CTRL_0]                 = {mvAsicReg_PON_SERDES_PHY_CTRL_0,                 0x184F4,                         0x184F4,  asicRW,     0xFFFFFFFF,     0,      0,     0,      0,     "Gpon Phy Control 0"},
  [mvAsicReg_PON_SERDES_PHY_CTRL_0_PU_Pll]          = {mvAsicReg_PON_SERDES_PHY_CTRL_0_PU_Pll,          0x184F4,                         0x184F4,  asicRW,     0x00000001,     0,      0,     0,      0,     "Gpon Phy Control 0 Power Up Pll"},
  [mvAsicReg_PON_SERDES_PHY_CTRL_0_PU_RX]           = {mvAsicReg_PON_SERDES_PHY_CTRL_0_PU_RX,           0x184F4,                         0x184F4,  asicRW,     0x00000001,     1,      0,     0,      0,     "Gpon Phy Control 0 Power Up Rx"},
  [mvAsicReg_PON_SERDES_PHY_CTRL_0_PU_TX]           = {mvAsicReg_PON_SERDES_PHY_CTRL_0_PU_TX,           0x184F4,                         0x184F4,  asicRW,     0x00000001,     2,      0,     0,      0,     "Gpon Phy Control 0 Power Up Tx"},
  [mvAsicReg_PON_SERDES_PHY_CTRL_0_RST]             = {mvAsicReg_PON_SERDES_PHY_CTRL_0_RST,             0x184F4,                         0x184F4,  asicRW,     0x00000001,     3,      0,     0,      0,     "Gpon Phy Control 0 Reset"},
  [mvAsicReg_PON_SERDES_PHY_CTRL_0_RST_TX_DOUT]     = {mvAsicReg_PON_SERDES_PHY_CTRL_0_RST_TX_DOUT,     0x184F4,                         0x184F4,  asicRW,     0x00000001,     4,      0,     0,      0,     "Gpon Phy Control 0 Reset Tx Dout"},
  [mvAsicReg_PON_SERDES_PHY_CTRL_0_RX_INIT]         = {mvAsicReg_PON_SERDES_PHY_CTRL_0_RX_INIT,         0x184F4,                         0x184F4,  asicRW,     0x00000001,     5,      0,     0,      0,     "Gpon Phy Control 0 Rx Init"},
  [mvAsicReg_PON_SERDES_PHY_CTRL_0_RX_RATE]         = {mvAsicReg_PON_SERDES_PHY_CTRL_0_RX_RATE,         0x184F4,                         0x184F4,  asicRW,     0x00000001,     6,      0,     0,      0,     "Gpon Phy Control 0 Rx Rate"},
  [mvAsicReg_PON_SERDES_PHY_CTRL_0_SEL_GEPON]       = {mvAsicReg_PON_SERDES_PHY_CTRL_0_SEL_GEPON,       0x184F4,                         0x184F4,  asicRW,     0x00000001,     7,      0,     0,      0,     "Gpon Phy Control 0 Sel GEPON"},
  [mvAsicReg_PON_SERDES_PHY_CTRL_0_SEL_REF_CLK]     = {mvAsicReg_PON_SERDES_PHY_CTRL_0_SEL_REF_CLK,     0x184F4,                         0x184F4,  asicRW,     0x00000003,     8,      0,     0,      0,     "Gpon Phy Control 0 Sel Ref Clk"},
  [mvAsicReg_PON_SERDES_PHY_CTRL_0_CID_REV]         = {mvAsicReg_PON_SERDES_PHY_CTRL_0_CID_REV,         0x184F4,                         0x184F4,  asicRW,     0x000000FF,    16,      0,     0,      0,     "Gpon Phy Control 0 Cid Rev"},
  [mvAsicReg_PON_SERDES_PHY_CTRL_0_TX_RATE]         = {mvAsicReg_PON_SERDES_PHY_CTRL_0_TX_RATE,         0x184F4,                         0x184F4,  asicRW,     0x00000001,    24,      0,     0,      0,     "Gpon Phy Control 0 Tx Rate"},
  [mvAsicReg_PON_SERDES_PHY_CTRL_0_REF_CLK_25M]     = {mvAsicReg_PON_SERDES_PHY_CTRL_0_REF_CLK_25M,     0x184F4,                         0x184F4,  asicRW,     0x00000001,    25,      0,     0,      0,     "Gpon Phy Control 0 Ref Clk 25M"},
  [mvAsicReg_PON_SERDES_PHY_CTRL_0_INIT_DONE]       = {mvAsicReg_PON_SERDES_PHY_CTRL_0_INIT_DONE,       0x184F4,                         0x184F4,  asicRW,     0x00000001,    29,      0,     0,      0,     "Gpon Phy Control 0 Rx Init Done"},
  [mvAsicReg_PON_SERDES_PHY_CTRL_0_READY_TX]        = {mvAsicReg_PON_SERDES_PHY_CTRL_0_READY_TX,        0x184F4,                         0x184F4,  asicRW,     0x00000001,    30,      0,     0,      0,     "Gpon Phy Control 0 Pll Ready Tx"},
  [mvAsicReg_PON_SERDES_PHY_CTRL_0_READY_RX]        = {mvAsicReg_PON_SERDES_PHY_CTRL_0_READY_RX,        0x184F4,                         0x184F4,  asicRW,     0x00000001,    31,      0,     0,      0,     "Gpon Phy Control 0 Pll Ready Rx"},

  [mvAsicReg_PON_SERDES_PHY_CTRL_1_BEN_IO_EN]       = {mvAsicReg_PON_SERDES_PHY_CTRL_1_BEN_IO_EN,       0x184F8,                         0x184F8,  asicRW,     0x00000001,    24,      0,     0,      0,     "Gpon Phy Control 1 BEN IO Enable"},
  [mvAsicReg_PON_SERDES_PHY_CTRL_1_FORCE_BEN_IO_EN] = {mvAsicReg_PON_SERDES_PHY_CTRL_1_FORCE_BEN_IO_EN, 0x184F8,                         0x184F8,  asicRW,     0x00000001,    25,      0,     0,      0,     "Gpon Phy Control 1 Force BEN IO Enable"},
  [mvAsicReg_PON_SERDES_PHY_CTRL_1_FORCE_BEN_IO_VAL]= {mvAsicReg_PON_SERDES_PHY_CTRL_1_FORCE_BEN_IO_VAL,0x184F8,                         0x184F8,  asicRW,     0x00000001,    26,      0,     0,      0,     "Gpon Phy Control 1 Force BEN IO Value"},
  [mvAsicReg_PON_SERDES_PHY_CTRL_1_BEN_SW_HW_SELECT]= {mvAsicReg_PON_SERDES_PHY_CTRL_1_BEN_SW_HW_SELECT,0x184F8,                         0x184F8,  asicRW,     0x00000001,    27,      0,     0,      0,     "Gpon Phy Control 1 Select MC SW or HW Control"},
  [mvAsicReg_PON_SERDES_PHY_CTRL_1_BEN_SW_FORCE]    = {mvAsicReg_PON_SERDES_PHY_CTRL_1_BEN_SW_FORCE,    0x184F8,                         0x184F8,  asicRW,     0x00000001,    28,      0,     0,      0,     "Gpon Phy Control 1 MC Software Control Force Enable"},
  [mvAsicReg_PON_SERDES_PHY_CTRL_1_BEN_SW_VALUE]    = {mvAsicReg_PON_SERDES_PHY_CTRL_1_BEN_SW_VALUE,    0x184F8,                         0x184F8,  asicRW,     0x00000001,    29,      0,     0,      0,     "Gpon Phy Control 1 MC Software Control Force Value"},

  [mvAsicReg_PON_SERDES_CLK_SEL]                    = {mvAsicReg_PON_SERDES_CLK_SEL,                    0x18748,                         0x18748,  asicRW,     0x00000001,     8,      0,     0,      0,     "Gpon Serded Clock Select"},
  [mvAsicReg_PON_SERDES_CLK_EN]                     = {mvAsicReg_PON_SERDES_CLK_EN,                     0x18748,                         0x18748,  asicRW,     0x00000001,     9,      0,     0,      0,     "Gpon Serded Clock Enable"},

  [mvAsicReg_PON_SERDES_XPON_CTRL]                  = {mvAsicReg_PON_SERDES_XPON_CTRL,                  0x184FC,                         0x184FC,  asicRW,     0x00000001,     0,      0,     0,      0,     "Gpon Serded XPON MAC Control"},

  [mvAsicReg_PON_SERDES_INTERNAL_PASSWORD]          = {mvAsicReg_PON_SERDES_INTERNAL_PASSWORD,          0xA2E88,                         0xA2E88,  asicRW,     0x000000FF,     0,      0,     0,      0,     "Gpon Serded Internal - password"},
  [mvAsicReg_PON_SERDES_INTERNAL_EN_LOOP_TIMING]    = {mvAsicReg_PON_SERDES_INTERNAL_EN_LOOP_TIMING,    0xA2E8C,                         0xA2E8C,  asicRW,     0x00000001,    12,      0,     0,      0,     "Gpon Serded Internal - enable loop timing"},
  [mvAsicReg_PON_SERDES_INTERNAL_PON_SELECT]        = {mvAsicReg_PON_SERDES_INTERNAL_PON_SELECT,        0xA2E8C,                         0xA2E8C,  asicRW,     0x00000003,    10,      0,     0,      0,     "Gpon Serded Internal - pon select"},
  [mvAsicReg_PON_SERDES_INTERNAL_OPEN_TX_DOOR]      = {mvAsicReg_PON_SERDES_INTERNAL_OPEN_TX_DOOR,      0xA2E98,                         0xA2E98,  asicRW,     0x00000001,     8,      0,     0,      0,     "Gpon Serded Internal - open tx door"},

  [mvAsicReg_PON_MAC_GPON_CLK_EN]                   = {mvAsicReg_PON_MAC_GPON_CLK_EN,                   0x1821C,                         0x1821C,  asicRW,     0x00000001,    28,      0,     0,      0,     "Gpon MAC Gpon T-Clock Enable"},
  [mvAsicReg_PON_MAC_SW_RESET_CTRL]                 = {mvAsicReg_PON_MAC_SW_RESET_CTRL,                 0x18220,                         0x18220,  asicRW,     0x00000001,    10,      0,     0,      0,     "Gpon MAC Software Reset Control"},

  [mvAsicReg_PON_MPP_00]                            = {mvAsicReg_PON_MPP_00,                            0x18000,                         0x18000,  asicRW,     0x0000000F,     0,      0,     0,      0,     "Gpon MMP 00"},
  [mvAsicReg_PON_MPP_01]                            = {mvAsicReg_PON_MPP_01,                            0x18000,                         0x18000,  asicRW,     0x0000000F,     4,      0,     0,      0,     "Gpon MMP 01"},
  [mvAsicReg_PON_MPP_02]                            = {mvAsicReg_PON_MPP_02,                            0x18000,                         0x18000,  asicRW,     0x0000000F,     8,      0,     0,      0,     "Gpon MMP 02"},
  [mvAsicReg_PON_MPP_03]                            = {mvAsicReg_PON_MPP_03,                            0x18000,                         0x18000,  asicRW,     0x0000000F,    12,      0,     0,      0,     "Gpon MMP 03"},
  [mvAsicReg_PON_MPP_04]                            = {mvAsicReg_PON_MPP_04,                            0x18000,                         0x18000,  asicRW,     0x0000000F,    16,      0,     0,      0,     "Gpon MMP 04"},
  [mvAsicReg_PON_MPP_05]                            = {mvAsicReg_PON_MPP_05,                            0x18000,                         0x18000,  asicRW,     0x0000000F,    20,      0,     0,      0,     "Gpon MMP 05"},
  [mvAsicReg_PON_MPP_06]                            = {mvAsicReg_PON_MPP_06,                            0x18000,                         0x18000,  asicRW,     0x0000000F,    24,      0,     0,      0,     "Gpon MMP 06"},
  [mvAsicReg_PON_MPP_07]                            = {mvAsicReg_PON_MPP_07,                            0x18000,                         0x18000,  asicRW,     0x0000000F,    28,      0,     0,      0,     "Gpon MMP 07"},
  [mvAsicReg_PON_MPP_08]                            = {mvAsicReg_PON_MPP_08,                            0x18004,                         0x18004,  asicRW,     0x0000000F,     0,      0,     0,      0,     "Gpon MMP 08"},
  [mvAsicReg_PON_MPP_09]                            = {mvAsicReg_PON_MPP_09,                            0x18004,                         0x18004,  asicRW,     0x0000000F,     4,      0,     0,      0,     "Gpon MMP 09"},
  [mvAsicReg_PON_MPP_10]                            = {mvAsicReg_PON_MPP_10,                            0x18004,                         0x18004,  asicRW,     0x0000000F,     8,      0,     0,      0,     "Gpon MMP 10"},
  [mvAsicReg_PON_MPP_11]                            = {mvAsicReg_PON_MPP_11,                            0x18004,                         0x18004,  asicRW,     0x0000000F,    12,      0,     0,      0,     "Gpon MMP 11"},
  [mvAsicReg_PON_MPP_12]                            = {mvAsicReg_PON_MPP_12,                            0x18004,                         0x18004,  asicRW,     0x0000000F,    16,      0,     0,      0,     "Gpon MMP 12"},
  [mvAsicReg_PON_MPP_13]                            = {mvAsicReg_PON_MPP_13,                            0x18004,                         0x18004,  asicRW,     0x0000000F,    20,      0,     0,      0,     "Gpon MMP 13"},
  [mvAsicReg_PON_MPP_14]                            = {mvAsicReg_PON_MPP_14,                            0x18004,                         0x18004,  asicRW,     0x0000000F,    24,      0,     0,      0,     "Gpon MMP 14"},
  [mvAsicReg_PON_MPP_15]                            = {mvAsicReg_PON_MPP_15,                            0x18004,                         0x18004,  asicRW,     0x0000000F,    28,      0,     0,      0,     "Gpon MMP 15"},
  [mvAsicReg_PON_MPP_16]                            = {mvAsicReg_PON_MPP_16,                            0x18008,                         0x18008,  asicRW,     0x0000000F,     0,      0,     0,      0,     "Gpon MMP 16"},
  [mvAsicReg_PON_MPP_17]                            = {mvAsicReg_PON_MPP_17,                            0x18008,                         0x18008,  asicRW,     0x0000000F,     4,      0,     0,      0,     "Gpon MMP 17"},
  [mvAsicReg_PON_MPP_18]                            = {mvAsicReg_PON_MPP_18,                            0x18008,                         0x18008,  asicRW,     0x0000000F,     8,      0,     0,      0,     "Gpon MMP 18, DB Board XVR SD"},
  [mvAsicReg_PON_MPP_19]                            = {mvAsicReg_PON_MPP_19,                            0x18008,                         0x18008,  asicRW,     0x0000000F,    12,      0,     0,      0,     "Gpon MMP 19"},
  [mvAsicReg_PON_MPP_20]                            = {mvAsicReg_PON_MPP_20,                            0x18008,                         0x18008,  asicRW,     0x0000000F,    16,      0,     0,      0,     "Gpon MMP 20"},
  [mvAsicReg_PON_MPP_21]                            = {mvAsicReg_PON_MPP_21,                            0x18008,                         0x18008,  asicRW,     0x0000000F,    20,      0,     0,      0,     "Gpon MMP 21"},
  [mvAsicReg_PON_MPP_22]                            = {mvAsicReg_PON_MPP_22,                            0x18008,                         0x18008,  asicRW,     0x0000000F,    24,      0,     0,      0,     "Gpon MMP 22, DB Board Dying Gasp"},
  [mvAsicReg_PON_MPP_23]                            = {mvAsicReg_PON_MPP_23,                            0x18008,                         0x18008,  asicRW,     0x0000000F,    28,      0,     0,      0,     "Gpon MMP 23"},
  [mvAsicReg_PON_MPP_24]                            = {mvAsicReg_PON_MPP_24,                            0x1800C,                         0x1800C,  asicRW,     0x0000000F,     0,      0,     0,      0,     "Gpon MMP 24"},
  [mvAsicReg_PON_MPP_25]                            = {mvAsicReg_PON_MPP_25,                            0x1800C,                         0x1800C,  asicRW,     0x0000000F,     4,      0,     0,      0,     "Gpon MMP 25"},
  [mvAsicReg_PON_MPP_26]                            = {mvAsicReg_PON_MPP_26,                            0x1800C,                         0x1800C,  asicRW,     0x0000000F,     8,      0,     0,      0,     "Gpon MMP 26"},
  [mvAsicReg_PON_MPP_27]                            = {mvAsicReg_PON_MPP_27,                            0x1800C,                         0x1800C,  asicRW,     0x0000000F,    12,      0,     0,      0,     "Gpon MMP 27"},
  [mvAsicReg_PON_MPP_28]                            = {mvAsicReg_PON_MPP_28,                            0x1800C,                         0x1800C,  asicRW,     0x0000000F,    16,      0,     0,      0,     "Gpon MMP 28"},
  [mvAsicReg_PON_MPP_29]                            = {mvAsicReg_PON_MPP_29,                            0x1800C,                         0x1800C,  asicRW,     0x0000000F,    20,      0,     0,      0,     "Gpon MMP 29"},
  [mvAsicReg_PON_MPP_30]                            = {mvAsicReg_PON_MPP_30,                            0x1800C,                         0x1800C,  asicRW,     0x0000000F,    24,      0,     0,      0,     "Gpon MMP 30"},
  [mvAsicReg_PON_MPP_31]                            = {mvAsicReg_PON_MPP_31,                            0x1800C,                         0x1800C,  asicRW,     0x0000000F,    28,      0,     0,      0,     "Gpon MMP 31"},
  [mvAsicReg_PON_MPP_32]                            = {mvAsicReg_PON_MPP_32,                            0x18010,                         0x18010,  asicRW,     0x0000000F,     0,      0,     0,      0,     "Gpon MMP 32"},
  [mvAsicReg_PON_MPP_33]                            = {mvAsicReg_PON_MPP_33,                            0x18010,                         0x18010,  asicRW,     0x0000000F,     4,      0,     0,      0,     "Gpon MMP 33"},
  [mvAsicReg_PON_MPP_34]                            = {mvAsicReg_PON_MPP_34,                            0x18010,                         0x18010,  asicRW,     0x0000000F,     8,      0,     0,      0,     "Gpon MMP 34"},
  [mvAsicReg_PON_MPP_35]                            = {mvAsicReg_PON_MPP_35,                            0x18010,                         0x18010,  asicRW,     0x0000000F,    12,      0,     0,      0,     "Gpon MMP 35"},
  [mvAsicReg_PON_MPP_36]                            = {mvAsicReg_PON_MPP_36,                            0x18010,                         0x18010,  asicRW,     0x0000000F,    16,      0,     0,      0,     "Gpon MMP 36"},
  [mvAsicReg_PON_MPP_37]                            = {mvAsicReg_PON_MPP_37,                            0x18010,                         0x18010,  asicRW,     0x0000000F,    20,      0,     0,      0,     "Gpon MMP 37"},
  [mvAsicReg_PON_MPP_38]                            = {mvAsicReg_PON_MPP_38,                            0x18010,                         0x18010,  asicRW,     0x0000000F,    24,      0,     0,      0,     "Gpon MMP 38"},
  [mvAsicReg_PON_MPP_39]                            = {mvAsicReg_PON_MPP_39,                            0x18010,                         0x18010,  asicRW,     0x0000000F,    28,      0,     0,      0,     "Gpon MMP 39"},
  [mvAsicReg_PON_MPP_40]                            = {mvAsicReg_PON_MPP_40,                            0x18014,                         0x18014,  asicRW,     0x0000000F,     0,      0,     0,      0,     "Gpon MMP 40"},
  [mvAsicReg_PON_MPP_41]                            = {mvAsicReg_PON_MPP_41,                            0x18014,                         0x18014,  asicRW,     0x0000000F,     4,      0,     0,      0,     "Gpon MMP 41"},
  [mvAsicReg_PON_MPP_42]                            = {mvAsicReg_PON_MPP_42,                            0x18014,                         0x18014,  asicRW,     0x0000000F,     8,      0,     0,      0,     "Gpon MMP 42"},
  [mvAsicReg_PON_MPP_43]                            = {mvAsicReg_PON_MPP_43,                            0x18014,                         0x18014,  asicRW,     0x0000000F,    12,      0,     0,      0,     "Gpon MMP 43"},
  [mvAsicReg_PON_MPP_44]                            = {mvAsicReg_PON_MPP_44,                            0x18014,                         0x18014,  asicRW,     0x0000000F,    16,      0,     0,      0,     "Gpon MMP 44"},
  [mvAsicReg_PON_MPP_45]                            = {mvAsicReg_PON_MPP_45,                            0x18014,                         0x18014,  asicRW,     0x0000000F,    20,      0,     0,      0,     "Gpon MMP 45"},
  [mvAsicReg_PON_MPP_46]                            = {mvAsicReg_PON_MPP_46,                            0x18014,                         0x18014,  asicRW,     0x0000000F,    24,      0,     0,      0,     "Gpon MMP 46"},
  [mvAsicReg_PON_MPP_47]                            = {mvAsicReg_PON_MPP_47,                            0x18014,                         0x18014,  asicRW,     0x0000000F,    28,      0,     0,      0,     "Gpon MMP 47"},
  [mvAsicReg_PON_MPP_48]                            = {mvAsicReg_PON_MPP_48,                            0x18018,                         0x18018,  asicRW,     0x0000000F,     0,      0,     0,      0,     "Gpon MMP 48"},
  [mvAsicReg_PON_MPP_49]                            = {mvAsicReg_PON_MPP_49,                            0x18018,                         0x18018,  asicRW,     0x0000000F,     4,      0,     0,      0,     "Gpon MMP 49"},
  [mvAsicReg_PON_MPP_50]                            = {mvAsicReg_PON_MPP_50,                            0x18018,                         0x18018,  asicRW,     0x0000000F,     8,      0,     0,      0,     "Gpon MMP 50, RD Board Dying Gasp"},
  [mvAsicReg_PON_MPP_51]                            = {mvAsicReg_PON_MPP_51,                            0x18018,                         0x18018,  asicRW,     0x0000000F,    12,      0,     0,      0,     "Gpon MMP 51"},
  [mvAsicReg_PON_MPP_52]                            = {mvAsicReg_PON_MPP_52,                            0x18018,                         0x18018,  asicRW,     0x0000000F,    16,      0,     0,      0,     "Gpon MMP 52"},
  [mvAsicReg_PON_MPP_53]                            = {mvAsicReg_PON_MPP_53,                            0x18018,                         0x18018,  asicRW,     0x0000000F,    20,      0,     0,      0,     "Gpon MMP 53"},
  [mvAsicReg_PON_MPP_54]                            = {mvAsicReg_PON_MPP_54,                            0x18018,                         0x18018,  asicRW,     0x0000000F,    24,      0,     0,      0,     "Gpon MMP 54"},
  [mvAsicReg_PON_MPP_55]                            = {mvAsicReg_PON_MPP_55,                            0x18018,                         0x18018,  asicRW,     0x0000000F,    28,      0,     0,      0,     "Gpon MMP 55"},
  [mvAsicReg_PON_MPP_56]                            = {mvAsicReg_PON_MPP_56,                            0x1801C,                         0x1801C,  asicRW,     0x0000000F,     0,      0,     0,      0,     "Gpon MMP 56"},
  [mvAsicReg_PON_MPP_57]                            = {mvAsicReg_PON_MPP_57,                            0x1801C,                         0x1801C,  asicRW,     0x0000000F,     4,      0,     0,      0,     "Gpon MMP 57"},
  [mvAsicReg_PON_MPP_58]                            = {mvAsicReg_PON_MPP_58,                            0x1801C,                         0x1801C,  asicRW,     0x0000000F,     8,      0,     0,      0,     "Gpon MMP 58"},
  [mvAsicReg_PON_MPP_59]                            = {mvAsicReg_PON_MPP_59,                            0x1801C,                         0x1801C,  asicRW,     0x0000000F,    12,      0,     0,      0,     "Gpon MMP 59"},
  [mvAsicReg_PON_MPP_60]                            = {mvAsicReg_PON_MPP_60,                            0x1801C,                         0x1801C,  asicRW,     0x0000000F,    16,      0,     0,      0,     "Gpon MMP 60"},
  [mvAsicReg_PON_MPP_61]                            = {mvAsicReg_PON_MPP_61,                            0x1801C,                         0x1801C,  asicRW,     0x0000000F,    20,      0,     0,      0,     "Gpon MMP 61"},
  [mvAsicReg_PON_MPP_62]                            = {mvAsicReg_PON_MPP_62,                            0x1801C,                         0x1801C,  asicRW,     0x0000000F,    24,      0,     0,      0,     "Gpon MMP 62"},
  [mvAsicReg_PON_MPP_63]                            = {mvAsicReg_PON_MPP_63,                            0x1801C,                         0x1801C,  asicRW,     0x0000000F,    28,      0,     0,      0,     "Gpon MMP 63"},
  [mvAsicReg_PON_MPP_64]                            = {mvAsicReg_PON_MPP_64,                            0x18020,                         0x18020,  asicRW,     0x0000000F,     0,      0,     0,      0,     "Gpon MMP 64"},
  [mvAsicReg_PON_MPP_65]                            = {mvAsicReg_PON_MPP_65,                            0x18020,                         0x18020,  asicRW,     0x0000000F,     4,      0,     0,      0,     "Gpon MMP 65"},
  [mvAsicReg_PON_MPP_66]                            = {mvAsicReg_PON_MPP_66,                            0x18020,                         0x18020,  asicRW,     0x0000000F,     8,      0,     0,      0,     "Gpon MMP 66"},
  [mvAsicReg_PON_MPP_67]                            = {mvAsicReg_PON_MPP_67,                            0x18020,                         0x18020,  asicRW,     0x0000000F,    12,      0,     0,      0,     "Gpon MMP 67"},
  [mvAsicReg_PON_MPP_68]                            = {mvAsicReg_PON_MPP_68,                            0x18020,                         0x18020,  asicRW,     0x0000000F,    16,      0,     0,      0,     "Gpon MMP 68"},
  [mvAsicReg_PON_MPP_69]                            = {mvAsicReg_PON_MPP_69,                            0x18020,                         0x18020,  asicRW,     0x0000000F,    20,      0,     0,      0,     "Gpon MMP 69, RD Board XVR SD"},
  [mvAsicReg_PON_XVR_TX_DATA_OUT_17]                = {mvAsicReg_PON_XVR_TX_DATA_OUT_17,                0x18104,                         0x18104,  asicRW,     0x00000001,    17,      0,     0,      0,     "GPIO 17 data out transmit"},
  [mvAsicReg_PON_XVR_TX_DATA_OUT_37]                = {mvAsicReg_PON_XVR_TX_DATA_OUT_37,                0x18144,                         0x18144,  asicRW,     0x00000001,    5,       0,     0,      0,     "GPIO 37 data out transmit"},
  [mvAsicReg_PON_XVR_TX_DATA_OUT_68]                = {mvAsicReg_PON_XVR_TX_DATA_OUT_68,                0x18184,                         0x18184,  asicRW,     0x00000001,    4,       0,     0,      0,     "GPIO 68 data out transmit"},
  [mvAsicReg_PON_XVR_TX_OUTPUT_ENABLE_17]           = {mvAsicReg_PON_XVR_TX_OUTPUT_ENABLE_17,           0x18100,                         0x18100,  asicRW,     0x00000001,    17,      0,     0,      0,     "GPIO 17 data out enabled"},
  [mvAsicReg_PON_XVR_TX_OUTPUT_ENABLE_37]           = {mvAsicReg_PON_XVR_TX_OUTPUT_ENABLE_37,           0x18140,                         0x18140,  asicRW,     0x00000001,    5,       0,     0,      0,     "GPIO 37 data out enabled"},
  [mvAsicReg_PON_XVR_TX_OUTPUT_ENABLE_68]           = {mvAsicReg_PON_XVR_TX_OUTPUT_ENABLE_68,           0x18180,                         0x18180,  asicRW,     0x00000001,    4,       0,     0,      0,     "GPIO 68 data out enabled"},
  [mvAsicReg_PON_SERDES_INTERNAL_OPEN_TX_DOOR_15]   = {mvAsicReg_PON_SERDES_INTERNAL_OPEN_TX_DOOR_15,   0xA2E98,                         0xA2E98,  asicRW,     0x00000001,    15,      0,     0,      0,     "Gpon Serded Internal - open tx door"},
  [mvAsicReg_PON_SERDES_POWER_PHY_MODE]             = {mvAsicReg_PON_SERDES_POWER_PHY_MODE,             0xA2E04,                         0xA2E04,  asicRW,     0x0000FFFF,    0,       0,     0,      0,     "Gpon Serded power up in PHY mode"},
  [mvAsicReg_PON_SYS_LED_ENABLE]                    = {mvAsicReg_PON_SYS_LED_ENABLE,                    0x18144,                         0x18144,  asicRW,     0x00000001,    12,      0,     0,      0,     "ONU Sys Led enable"},
  [mvAsicReg_PON_SYS_LED_STATE]                     = {mvAsicReg_PON_SYS_LED_STATE,                     0x18140,                         0x18140,  asicRW,     0x00000001,    12,      0,     0,      0,     "ONU Sys Led state"},
  [mvAsicReg_PON_SYS_LED_BLINK]                     = {mvAsicReg_PON_SYS_LED_BLINK,                     0x18148,                         0x18148,  asicRW,     0x00000001,    12,      0,     0,      0,     "ONU Sys Led blink"},
  [mvAsicReg_PON_SYS_LED_BLINK_FREQ]                = {mvAsicReg_PON_SYS_LED_BLINK_FREQ,                0x18160,                         0x18160,  asicRW,     0x00000001,    12,      0,     0,      0,     "ONU Sys Led blink freq"},
  [mvAsicReg_PON_SYNC_LED_ENABLE]                   = {mvAsicReg_PON_SYNC_LED_ENABLE,                   0x18144,                         0x18144,  asicRW,     0x00000001,    13,      0,     0,      0,     "ONU Sync Led enable"},
  [mvAsicReg_PON_SYNC_LED_STATE]                    = {mvAsicReg_PON_SYNC_LED_STATE,                    0x18140,                         0x18140,  asicRW,     0x00000001,    13,      0,     0,      0,     "ONU Sync Led state"},
  [mvAsicReg_PON_SYNC_LED_BLINK]                    = {mvAsicReg_PON_SYNC_LED_BLINK,                    0x18148,                         0x18148,  asicRW,     0x00000001,    13,      0,     0,      0,     "ONU Sync Led blink"},
  [mvAsicReg_PON_SYNC_LED_BLINK_FREQ]               = {mvAsicReg_PON_SYNC_LED_BLINK_FREQ,               0x18160,                         0x18160,  asicRW,     0x00000001,    13,      0,     0,      0,     "ONU Sync Led blink freq"},
  [mvAsicReg_PON_LED_BLINK_FREQ_A_ON]               = {mvAsicReg_PON_LED_BLINK_FREQ_A_ON,               0x181C0,                         0x181C0,  asicRW,     0x00000000,     0,      0,     0,      0,     "ONU Led Freq A On"},
  [mvAsicReg_PON_LED_BLINK_FREQ_A_OFF]              = {mvAsicReg_PON_LED_BLINK_FREQ_A_OFF,              0x181C4,                         0x181C4,  asicRW,     0x00000000,     0,      0,     0,      0,     "ONU Led Freq A Off"},
  [mvAsicReg_PON_LED_BLINK_FREQ_B_ON]               = {mvAsicReg_PON_LED_BLINK_FREQ_B_ON,               0x181C8,                         0x181C8,  asicRW,     0x00000000,     0,      0,     0,      0,     "ONU Led Freq B On"},
  [mvAsicReg_PON_LED_BLINK_FREQ_B_OFF]              = {mvAsicReg_PON_LED_BLINK_FREQ_B_OFF,              0x181CC,                         0x181CC,  asicRW,     0x00000000,     0,      0,     0,      0,     "ONU Led Freq B Off"},
  [mvAsicReg_PON_DG_CTRL_EN]                        = {mvAsicReg_PON_DG_CTRL_EN,                        0x18270,                         0x18270,  asicRW,     0x00000001,     0,      0,     0,      0,     "ONU Dying Gasp enable"},
  [mvAsicReg_PON_DG_CTRL_POLARITY]                  = {mvAsicReg_PON_DG_CTRL_POLARITY,                  0x18270,                         0x18270,  asicRW,     0x00000001,     1,      0,     0,      0,     "ONU Dying Gasp polarity"},
  [mvAsicReg_PON_DG_THRESHOLD]                      = {mvAsicReg_PON_DG_THRESHOLD,                      0x18274,                         0x18274,  asicRW,     0x00000000,     0,      0,     0,      0,     "ONU Dying Gasp threshold"},
  [mvAsicReg_PT_PATTERN_SELECT]                     = {mvAsicReg_PT_PATTERN_SELECT,                     0xA2E54,                         0xA2E54,  asicRW,     0x00000007,     5,      0,     0,      0,     "PHY test pattern select"},
  [mvAsicReg_PT_PATTERN_ENABLED]                    = {mvAsicReg_PT_PATTERN_ENABLED,                    0xA2E54,                         0xA2E54,  asicRW,     0x00000001,     15,     0,     0,      0,     "PHY test pattern enabled"},
  [mvAsicReg_PT_PATTERN_DATA]                       = {mvAsicReg_PT_PATTERN_DATA,                       0xA2E6C,                         0xA2E6C,  asicRW,     0x000000FF,     0,      0,     0,      0,     "PHY test pattern data"},
  [mvAsicReg_GUNIT_TX_0_QUEUES]                     = {mvAsicReg_GUNIT_TX_0_QUEUES,                     0xA5900,                         0xA5900,  asicRW,     0xFFFFFFFF,     0,      8,     1,      0,     "GPON GUNIT Queues for TX 0"},
  [mvAsicReg_GUNIT_TX_1_QUEUES]                     = {mvAsicReg_GUNIT_TX_1_QUEUES,                     0xA5D00,                         0xA5D00,  asicRW,     0xFFFFFFFF,     0,      8,     1,      0,     "GPON GUNIT Queues for TX 1"},
  [mvAsicReg_GUNIT_TX_2_QUEUES]                     = {mvAsicReg_GUNIT_TX_2_QUEUES,                     0xA7900,                         0xA7900,  asicRW,     0xFFFFFFFF,     0,      8,     1,      0,     "GPON GUNIT Queues for TX 2"},
  [mvAsicReg_GUNIT_TX_3_QUEUES]                     = {mvAsicReg_GUNIT_TX_3_QUEUES,                     0xA7D00,                         0xA7D00,  asicRW,     0xFFFFFFFF,     0,      8,     1,      0,     "GPON GUNIT Queues for TX 3"},
  [mvAsicReg_GUNIT_TX_4_QUEUES]                     = {mvAsicReg_GUNIT_TX_4_QUEUES,                     0xA9900,                         0xA9900,  asicRW,     0xFFFFFFFF,     0,      8,     1,      0,     "GPON GUNIT Queues for TX 4"},
  [mvAsicReg_GUNIT_TX_5_QUEUES]                     = {mvAsicReg_GUNIT_TX_5_QUEUES,                     0xA9D00,                         0xA9D00,  asicRW,     0xFFFFFFFF,     0,      8,     1,      0,     "GPON GUNIT Queues for TX 5"},
  [mvAsicReg_GUNIT_TX_6_QUEUES]                     = {mvAsicReg_GUNIT_TX_6_QUEUES,                     0xAB900,                         0xAB900,  asicRW,     0xFFFFFFFF,     0,      8,     1,      0,     "GPON GUNIT Queues for TX 6"},
  [mvAsicReg_GUNIT_TX_7_QUEUES]                     = {mvAsicReg_GUNIT_TX_7_QUEUES,                     0xABD00,                         0xABD00,  asicRW,     0xFFFFFFFF,     0,      8,     1,      0,     "GPON GUNIT Queues for TX 7"},

  [mvAsicReg_GUNIT_TX_0_PKT_MOD_MAX_HEAD_SIZE_CFG]  = {mvAsicReg_GUNIT_TX_0_PKT_MOD_MAX_HEAD_SIZE_CFG,  0xA59D0,                         0xA59D0,  asicRW,     0x000000FE,     1,      0,     0,      0,     "GPON GUNIT Pkt Mod Mac Head Size for TX 0"},
  [mvAsicReg_GUNIT_TX_1_PKT_MOD_MAX_HEAD_SIZE_CFG]  = {mvAsicReg_GUNIT_TX_1_PKT_MOD_MAX_HEAD_SIZE_CFG,  0xA5DD0,                         0xA5DD0,  asicRW,     0x000000FE,     1,      0,     0,      0,     "GPON GUNIT Pkt Mod Mac Head Size for TX 1"},
  [mvAsicReg_GUNIT_TX_2_PKT_MOD_MAX_HEAD_SIZE_CFG]  = {mvAsicReg_GUNIT_TX_2_PKT_MOD_MAX_HEAD_SIZE_CFG,  0xA79D0,                         0xA79D0,  asicRW,     0x000000FE,     1,      0,     0,      0,     "GPON GUNIT Pkt Mod Mac Head Size for TX 2"},
  [mvAsicReg_GUNIT_TX_3_PKT_MOD_MAX_HEAD_SIZE_CFG]  = {mvAsicReg_GUNIT_TX_3_PKT_MOD_MAX_HEAD_SIZE_CFG,  0xA7DD0,                         0xA7DD0,  asicRW,     0x000000FE,     1,      0,     0,      0,     "GPON GUNIT Pkt Mod Mac Head Size for TX 3"},
  [mvAsicReg_GUNIT_TX_4_PKT_MOD_MAX_HEAD_SIZE_CFG]  = {mvAsicReg_GUNIT_TX_4_PKT_MOD_MAX_HEAD_SIZE_CFG,  0xA99D0,                         0xA99D0,  asicRW,     0x000000FE,     1,      0,     0,      0,     "GPON GUNIT Pkt Mod Mac Head Size for TX 4"},
  [mvAsicReg_GUNIT_TX_5_PKT_MOD_MAX_HEAD_SIZE_CFG]  = {mvAsicReg_GUNIT_TX_5_PKT_MOD_MAX_HEAD_SIZE_CFG,  0xA9DD0,                         0xA9DD0,  asicRW,     0x000000FE,     1,      0,     0,      0,     "GPON GUNIT Pkt Mod Mac Head Size for TX 5"},
  [mvAsicReg_GUNIT_TX_6_PKT_MOD_MAX_HEAD_SIZE_CFG]  = {mvAsicReg_GUNIT_TX_6_PKT_MOD_MAX_HEAD_SIZE_CFG,  0xAB9D0,                         0xAB9D0,  asicRW,     0x000000FE,     1,      0,     0,      0,     "GPON GUNIT Pkt Mod Mac Head Size for TX 6"},
  [mvAsicReg_GUNIT_TX_7_PKT_MOD_MAX_HEAD_SIZE_CFG]  = {mvAsicReg_GUNIT_TX_7_PKT_MOD_MAX_HEAD_SIZE_CFG,  0xABDD0,                         0xABDD0,  asicRW,     0x000000FE,     1,      0,     0,      0,     "GPON GUNIT Pkt Mod Mac Head Size for TX 7"},

  [mvAsicReg_GUNIT_TX_0_PKT_MOD_STATS_PKT_COUNT]    = {mvAsicReg_GUNIT_TX_0_PKT_MOD_STATS_PKT_COUNT,    0xA59D8,                         0xA59D8,  asicRW,     0x0000FFFF,     0,      0,     0,      0,     "GPON GUNIT Pkt Mod Packet Count for TX 0"},
  [mvAsicReg_GUNIT_TX_1_PKT_MOD_STATS_PKT_COUNT]    = {mvAsicReg_GUNIT_TX_1_PKT_MOD_STATS_PKT_COUNT,    0xA5DD8,                         0xA5DD8,  asicRW,     0x0000FFFF,     0,      0,     0,      0,     "GPON GUNIT Pkt Mod Packet Count for TX 1"},
  [mvAsicReg_GUNIT_TX_2_PKT_MOD_STATS_PKT_COUNT]    = {mvAsicReg_GUNIT_TX_2_PKT_MOD_STATS_PKT_COUNT,    0xA79D8,                         0xA79D8,  asicRW,     0x0000FFFF,     0,      0,     0,      0,     "GPON GUNIT Pkt Mod Packet Count for TX 2"},
  [mvAsicReg_GUNIT_TX_3_PKT_MOD_STATS_PKT_COUNT]    = {mvAsicReg_GUNIT_TX_3_PKT_MOD_STATS_PKT_COUNT,    0xA7DD8,                         0xA7DD8,  asicRW,     0x0000FFFF,     0,      0,     0,      0,     "GPON GUNIT Pkt Mod Packet Count for TX 3"},
  [mvAsicReg_GUNIT_TX_4_PKT_MOD_STATS_PKT_COUNT]    = {mvAsicReg_GUNIT_TX_4_PKT_MOD_STATS_PKT_COUNT,    0xA99D8,                         0xA99D8,  asicRW,     0x0000FFFF,     0,      0,     0,      0,     "GPON GUNIT Pkt Mod Packet Count for TX 4"},
  [mvAsicReg_GUNIT_TX_5_PKT_MOD_STATS_PKT_COUNT]    = {mvAsicReg_GUNIT_TX_5_PKT_MOD_STATS_PKT_COUNT,    0xA9DD8,                         0xA9DD8,  asicRW,     0x0000FFFF,     0,      0,     0,      0,     "GPON GUNIT Pkt Mod Packet Count for TX 5"},
  [mvAsicReg_GUNIT_TX_6_PKT_MOD_STATS_PKT_COUNT]    = {mvAsicReg_GUNIT_TX_6_PKT_MOD_STATS_PKT_COUNT,    0xAB9D8,                         0xAB9D8,  asicRW,     0x0000FFFF,     0,      0,     0,      0,     "GPON GUNIT Pkt Mod Packet Count for TX 6"},
  [mvAsicReg_GUNIT_TX_7_PKT_MOD_STATS_PKT_COUNT]    = {mvAsicReg_GUNIT_TX_7_PKT_MOD_STATS_PKT_COUNT,    0xABDD8,                         0xABDD8,  asicRW,     0x0000FFFF,     0,      0,     0,      0,     "GPON GUNIT Pkt Mod Packet Count for TX 7"}

#endif /* PON_FPGA */
};

/* Export Functions
------------------------------------------------------------------------------*/

/* Local Functions
------------------------------------------------------------------------------*/
MV_STATUS asicOntGlbRegValidation(E_asicGlobalRegs  reg,
                                  S_asicGlobalRegDb **pRegEntry,
                                  MV_U32            entry,
                                  MV_U32            accessType);

/*******************************************************************************
**
**  asicOntGlbAddrSet
**  ____________________________________________________________________________
**
**  DESCRIPTION: Set ASIC global address
**
**  PARAMETERS:  MV_U32 address
**
**  OUTPUTS:     None
**
**  RETURNS:     MV_OK
**
*******************************************************************************/
MV_STATUS ponOnuGlbAddrSet(MV_U32 address)
{
  ponOnuGlbAddr = address;

  return(MV_OK);
}

/*******************************************************************************
**
**  asicOntGlbRegValidation
**  ____________________________________________________________________________
**
**  DESCRIPTION: Validate ASIC register
**
**  PARAMETERS:  E_asicGlobalRegs  reg,
**               S_asicGlobalRegDb **pRegEntry
**               MV_U32            entry
**               MV_U32            accessType
**
**  OUTPUTS:     S_asicGlobalRegDb **pRegEntry
**
**  RETURNS:     MV_OK or error
**
*******************************************************************************/
MV_STATUS asicOntGlbRegValidation(E_asicGlobalRegs   reg,
                                   S_asicGlobalRegDb **pRegEntry,
                                   MV_U32            entry,
                                   MV_U32            accessType)
{
  /* Check range */
  if (reg >= mvAsicReg_MAX_NUM_OF_REGS)
    return(MV_ERROR);

  /* Get the register entry in DB */
  *pRegEntry = &(asicGlbDb[reg]);

  /* Check DB coherency */
  if ((*pRegEntry)->enumVal != reg)
    return(MV_ERROR);

  /* Check access type */
  if (accessType == funcRegR) /* Read */
  {
    if ((*pRegEntry)->accessType == asicWO)
      return(MV_ERROR);
  }
  else if (accessType == funcRegW) /* Write */
  {
    if((*pRegEntry)->accessType == asicRO)
      return(MV_ERROR);
  }

  /* Check table entry - only valid for tables */
  if (entry > (*pRegEntry)->tblLength)
    return(MV_ERROR);

  /* Update the access count to this register */
  (*pRegEntry)->accessCount++;

  return(MV_OK);
}

/*******************************************************************************
**
**  asicOntGlbRegRead
**  ____________________________________________________________________________
**
**  DESCRIPTION: Read the contents of MV_U32 ASIC register
**
**  PARAMETERS:  E_asicGlobalRegs reg
**               MV_U32           *pValue
**               MV_U32           entry
**
**  OUTPUTS:     a_value_p
**
**  RETURNS:     MV_OK or error
**
*******************************************************************************/
MV_STATUS asicOntGlbRegRead(E_asicGlobalRegs reg,
                             MV_U32          *pValue,
                             MV_U32          entry)
{
  MV_STATUS          rcode;
  S_asicGlobalRegDb *pRegEntry = NULL;
  MV_U32             regAddr;
  MV_U32             baseAddr;
  MV_U32             regValue;

  rcode = asicOntGlbRegValidation(reg, &pRegEntry, entry, funcRegR);
  if (rcode != MV_OK)
    return(rcode);

  baseAddr = pRegEntry->address;

  /* Absolute register address */
  regAddr = (baseAddr + (pRegEntry->tblEntrySize *
                         entry                   *
                         sizeof (MV_U32)));

  /* Read the value of the register */
  regValue = MV_REG_READ(ponOnuGlbAddr + regAddr);

  *pValue = ((regValue >> (pRegEntry->shift)) & (pRegEntry->mask));

  return(MV_OK);
}

/*******************************************************************************
**
**  asicOntGlbRegWrite
**  ____________________________________________________________________________
**
**  DESCRIPTION: Write the contents of MV_U32 ASIC register
**
**  PARAMETERS:  E_asicGlobalRegs reg
**               MV_U32           value
**               MV_U32           entry
**
**  OUTPUTS:     None
**
**  RETURNS:     MV_OK or error
**
*******************************************************************************/
MV_STATUS asicOntGlbRegWrite(E_asicGlobalRegs reg,
                              MV_U32          value,
                              MV_U32          entry)
{
  MV_STATUS          rcode;
  S_asicGlobalRegDb *pRegEntry = NULL;
  MV_U32             regAddr;
  MV_U32             tempValue;
  MV_U32             baseAddr;

  rcode = asicOntGlbRegValidation(reg, &pRegEntry, entry, funcRegW);
  if (rcode != MV_OK)
    return(rcode);

  baseAddr = pRegEntry->address;

  /* Absolute register address */
  regAddr = (baseAddr + (pRegEntry->tblEntrySize *
                         entry                   *
                         sizeof (MV_U32)));

  tempValue = MV_REG_READ(ponOnuGlbAddr + regAddr);

  /* Clear field */
  tempValue &= ~((pRegEntry->mask) << (pRegEntry->shift));

  /* Set field */
  tempValue |= (((value) & (pRegEntry->mask)) << (pRegEntry->shift));

  /* Write the value of the register */
  MV_REG_WRITE((ponOnuGlbAddr + regAddr) , tempValue);

  return(MV_OK);
}

/*******************************************************************************
**
**  asicOntGlbRegReadNoCheck
**  ____________________________________________________________________________
**
**  DESCRIPTION: Read fast (with no checkings) the contents of MV_U32 ASIC register
**
**  PARAMETERS:  E_asicGlobalRegs reg
**               MV_U32           *pValue
**               MV_U32           entry
**
**  OUTPUTS:     a_value_p
**
**  RETURNS:     MV_OK or error
**
*******************************************************************************/
MV_STATUS asicOntGlbRegReadNoCheck(E_asicGlobalRegs reg,
                                     MV_U32         *pValue,
                                     MV_U32         entry)
{
  S_asicGlobalRegDb *pRegEntry = NULL;
  MV_U32             regAddr;
  MV_U32             baseAddr;
  MV_U32             regValue;

  /* Check range */
  if (reg >= mvAsicReg_MAX_NUM_OF_REGS)
    return(MV_ERROR);

  /* Get the register entry in DB */
  pRegEntry = &(asicGlbDb[reg]);

  /* Update the access count to this register */
  pRegEntry->accessCount++;

  baseAddr = pRegEntry->address;

  /* Absolute register address */
  regAddr = (baseAddr + (pRegEntry->tblEntrySize *
                         entry                   *
                         sizeof (MV_U32)));

  /* Read the value of the register */
  regValue = MV_REG_READ(ponOnuGlbAddr + regAddr);

  *pValue = ((regValue >> (pRegEntry->shift)) & (pRegEntry->mask));

  return(MV_OK);
}

/*******************************************************************************
**
**  asicOntGlbRegWriteNoCheck
**  ____________________________________________________________________________
**
**  DESCRIPTION: Write fast (with no checkings) the contents of MV_U32 ASIC register
**
**  PARAMETERS:  E_asicGlobalRegs reg
**               MV_U32           value
**               MV_U32           entry
**
**  OUTPUTS:     None
**
**  RETURNS:     MV_OK or error
**
*******************************************************************************/
MV_STATUS asicOntGlbRegWriteNoCheck(E_asicGlobalRegs reg,
                                       MV_U32        value,
                                       MV_U32        entry)
{
  S_asicGlobalRegDb *pRegEntry = NULL;
  MV_U32             regAddr;
  MV_U32             tempValue;
  MV_U32             baseAddr;

  /* Check range */
  if (reg >= mvAsicReg_MAX_NUM_OF_REGS)
    return(MV_ERROR);

  /* Get the register entry in DB */
  pRegEntry = &(asicGlbDb[reg]);

  /* Update the access count to this register */
  pRegEntry->accessCount++;

  baseAddr = pRegEntry->address;

  /* Absolute register address */
  regAddr = (baseAddr + (pRegEntry->tblEntrySize *
                         entry                   *
                         sizeof (MV_U32)));

  tempValue = MV_REG_READ(ponOnuGlbAddr + regAddr);

  /* Clear field */
  tempValue &= ~((pRegEntry->mask) << (pRegEntry->shift));

  /* Set field */
  tempValue |= (((value) & (pRegEntry->mask)) << (pRegEntry->shift));

  /* Write the value of the register */
  MV_REG_WRITE((ponOnuGlbAddr + regAddr) , tempValue);

  return(MV_OK);
}

/*******************************************************************************
**
**  asicOntGlbSerdesRegWrite
**  ____________________________________________________________________________
**
**  DESCRIPTION: Write the contents of MV_U32 ASIC register
**
**  PARAMETERS:  E_asicGlobalRegs reg
**               MV_U32           value
**               MV_U32           entry
**
**  OUTPUTS:     None
**
**  RETURNS:     MV_OK or error
**
*******************************************************************************/
MV_STATUS asicOntMiscRegWrite(E_asicGlobalRegs reg,
                                MV_U32         value,
                                MV_U32         entry)
{
  MV_STATUS          rcode;
  S_asicGlobalRegDb *pRegEntry = NULL;
  MV_U32             regAddr;
  MV_U32             tempValue;
  MV_U32             baseAddr;


  rcode = asicOntGlbRegValidation(reg, &pRegEntry, entry, funcRegW);
  if (rcode != MV_OK)
    return(rcode);

  baseAddr = pRegEntry->address;

  /* Absolute register address */
  regAddr = (baseAddr + (pRegEntry->tblEntrySize *
                         entry                   *
                         sizeof (MV_U32)));

  tempValue = MV_REG_READ(regAddr);

  /* Clear field */
  tempValue &= ~((pRegEntry->mask) << (pRegEntry->shift));

  /* Set field */
  tempValue |= (((value) & (pRegEntry->mask)) << (pRegEntry->shift));

  /* Write the value of the register */
  MV_REG_WRITE(regAddr , tempValue);

  return(MV_OK);
}

/*******************************************************************************
**
**  asicOntMiscRegRead
**  ____________________________________________________________________________
**
**  DESCRIPTION: Read the contents of MV_U32 ASIC register
**
**  PARAMETERS:  E_asicGlobalRegs reg
**               MV_U32           *pValue
**               MV_U32           entry
**
**  OUTPUTS:     a_value_p
**
**  RETURNS:     MV_OK or error
**
*******************************************************************************/
MV_STATUS asicOntMiscRegRead(E_asicGlobalRegs reg,
                             MV_U32          *pValue,
                             MV_U32          entry)
{
  MV_STATUS          rcode;
  S_asicGlobalRegDb *pRegEntry = NULL;
  MV_U32             regAddr;
  MV_U32             baseAddr;
  MV_U32             regValue;

  rcode = asicOntGlbRegValidation(reg, &pRegEntry, entry, funcRegR);
  if (rcode != MV_OK)
    return(rcode);

  baseAddr = pRegEntry->address;

  /* Absolute register address */
  regAddr = (baseAddr + (pRegEntry->tblEntrySize *
                         entry                   *
                         sizeof (MV_U32)));

  /* Read the value of the register */
  regValue = MV_REG_READ(regAddr);

  *pValue = ((regValue >> (pRegEntry->shift)) & (pRegEntry->mask));

  return(MV_OK);
}
