/* *********************************************************************
* BCM1280/BCM1480 Board Support Package
*
* Remote line directory constants and macros File: bcm1480_rld.h
*
* This module contains constants useful for manipulating the
* BCM1280/BCM1480 remote line directory (part of the node controller).
*
* BCM1400 specification level: 1X55_1X80-UM100-D4 (11/24/03)
*
*********************************************************************
*
* Copyright 2000,2001,2002,2003,2004
* Broadcom Corporation. All rights reserved.
*
* This software is furnished under license and may be used and
* copied only in accordance with the following terms and
* conditions. Subject to these conditions, you may download,
* copy, install, use, modify and distribute modified or unmodified
* copies of this software in source and/or binary form. No title
* or ownership is transferred hereby.
*
* 1) Any source code used, modified or distributed must reproduce
* and retain this copyright notice and list of conditions
* as they appear in the source file.
*
* 2) No right is granted to use any trade name, trademark, or
* logo of Broadcom Corporation. The "Broadcom Corporation"
* name may not be used to endorse or promote products derived
* from this software without the prior written permission of
* Broadcom Corporation.
*
* 3) THIS SOFTWARE IS PROVIDED "AS-IS" AND ANY EXPRESS OR
* IMPLIED WARRANTIES, INCLUDING BUT NOT LIMITED TO, ANY IMPLIED
* WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
* PURPOSE, OR NON-INFRINGEMENT ARE DISCLAIMED. IN NO EVENT
* SHALL BROADCOM BE LIABLE FOR ANY DAMAGES WHATSOEVER, AND IN
* PARTICULAR, BROADCOM SHALL NOT BE LIABLE FOR 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), EVEN IF ADVISED OF
* THE POSSIBILITY OF SUCH DAMAGE.
********************************************************************* */
#ifndef _BCM1480_RLD_H
#define _BCM1480_RLD_H
#include "sb1250_defs.h"
/*
* RLD Field Way Enable Register (Table 185)
*/
#define S_BCM1480_RLD_WAY_ENABLE 0
#define M_BCM1480_RLD_WAY_ENABLE _SB_MAKEMASK(8,S_BCM1480_RLD_WAY_ENABLE)
#define V_BCM1480_RLD_WAY_ENABLE(x) _SB_MAKEVALUE(x,S_BCM1480_RLD_WAY_ENABLE)
#define G_BCM1480_RLD_WAY_ENABLE(x) _SB_GETVALUE(x,S_BCM1480_RLD_WAY_ENABLE,M_BCM1480_RLD_WAY_ENABLE)
/*
* RLD Random LFSR Seed Register (Table 186)
*/
#define S_BCM1480_RLD_RANDOM_SEED 0
#define M_BCM1480_RLD_RANDOM_SEED _SB_MAKEMASK(8,S_BCM1480_RLD_RANDOM_SEED)
#define V_BCM1480_RLD_RANDOM_SEED(x) _SB_MAKEVALUE(x,S_BCM1480_RLD_RANDOM_SEED)
#define G_BCM1480_RLD_RANDOM_SEED(x) _SB_GETVALUE(x,S_BCM1480_RLD_RANDOM_SEED,M_BCM1480_RLD_RANDOM_SEED)
/*
* RLD Field Register (Table 187)
*/
#define S_BCM1480_RLD_FIELD_OFFSET 0
#define M_BCM1480_RLD_FIELD_OFFSET _SB_MAKEMASK(5,S_BCM1480_RLD_FIELD_OFFSET)
#define V_BCM1480_RLD_FIELD_OFFSET(x) _SB_MAKEVALUE(x,S_BCM1480_RLD_FIELD_OFFSET)
#define G_BCM1480_RLD_FIELD_OFFSET(x) _SB_GETVALUE(x,S_BCM1480_RLD_FIELD_OFFSET,M_BCM1480_RLD_FIELD_OFFSET)
#define S_BCM1480_RLD_FIELD_INDEX 5
#define M_BCM1480_RLD_FIELD_INDEX _SB_MAKEMASK(11,S_BCM1480_RLD_FIELD_INDEX)
#define V_BCM1480_RLD_FIELD_INDEX(x) _SB_MAKEVALUE(x,S_BCM1480_RLD_FIELD_INDEX)
#define G_BCM1480_RLD_FIELD_INDEX(x) _SB_GETVALUE(x,S_BCM1480_RLD_FIELD_INDEX,M_BCM1480_RLD_FIELD_INDEX)
#define S_BCM1480_RLD_FIELD_TAG 16
#define M_BCM1480_RLD_FIELD_TAG _SB_MAKEMASK(20,S_BCM1480_RLD_FIELD_TAG)
#define V_BCM1480_RLD_FIELD_TAG(x) _SB_MAKEVALUE(x,S_BCM1480_RLD_FIELD_TAG)
#define G_BCM1480_RLD_FIELD_TAG(x) _SB_GETVALUE(x,S_BCM1480_RLD_FIELD_TAG,M_BCM1480_RLD_FIELD_TAG)
#define S_BCM1480_RLD_FIELD_WAY_SELECT 36
#define M_BCM1480_RLD_FIELD_WAY_SELECT _SB_MAKEMASK(3,S_BCM1480_RLD_FIELD_WAY_SELECT)
#define V_BCM1480_RLD_FIELD_WAY_SELECT(x) _SB_MAKEVALUE(x,S_BCM1480_RLD_FIELD_WAY_SELECT)
#define G_BCM1480_RLD_FIELD_WAY_SELECT(x) _SB_GETVALUE(x,S_BCM1480_RLD_FIELD_WAY_SELECT,M_BCM1480_RLD_FIELD_WAY_SELECT)
#define M_BCM1480_RLD_FIELD_VALID _SB_MAKEMASK1(39)
#define M_BCM1480_RLD_FIELD_MODIFIED _SB_MAKEMASK1(40)
#define S_BCM1480_RLD_FIELD_NODE_VECTOR 41
#define M_BCM1480_RLD_FIELD_NODE_VECTOR _SB_MAKEMASK(11,S_BCM1480_RLD_FIELD_NODE_VECTOR)
#define V_BCM1480_RLD_FIELD_NODE_VECTOR(x) _SB_MAKEVALUE(x,S_BCM1480_RLD_FIELD_NODE_VECTOR)
#define G_BCM1480_RLD_FIELD_NODE_VECTOR(x) _SB_GETVALUE(x,S_BCM1480_RLD_FIELD_NODE_VECTOR,M_BCM1480_RLD_FIELD_NODE_VECTOR)
#define S_BCM1480_RLD_FIELD_ECC_BITS 52
#define M_BCM1480_RLD_FIELD_ECC_BITS _SB_MAKEMASK(7,S_BCM1480_RLD_FIELD_ECC_BITS)
#define V_BCM1480_RLD_FIELD_ECC_BITS(x) _SB_MAKEVALUE(x,S_BCM1480_RLD_FIELD_ECC_BITS)
#define G_BCM1480_RLD_FIELD_ECC_BITS(x) _SB_GETVALUE(x,S_BCM1480_RLD_FIELD_ECC_BITS,M_BCM1480_RLD_FIELD_ECC_BITS)
#define M_BCM1480_RLD_FIELD_NEW_ECC _SB_MAKEMASK1(59)
#define M_BCM1480_RLD_FIELD_CHECK_ECC _SB_MAKEMASK1(60)
/*
* RLD Trigger Register (Table 188)
*/
#define S_BCM1480_RLD_TRIGGER_TAG 0
#define M_BCM1480_RLD_TRIGGER_TAG _SB_MAKEMASK(20,S_BCM1480_RLD_TRIGGER_TAG)
#define V_BCM1480_RLD_TRIGGER_TAG(x) _SB_MAKEVALUE(x,S_BCM1480_RLD_TRIGGER_TAG)
#define G_BCM1480_RLD_TRIGGER_TAG(x) _SB_GETVALUE(x,S_BCM1480_RLD_TRIGGER_TAG,M_BCM1480_RLD_TRIGGER_TAG)
#define M_BCM1480_RLD_TRIGGER_VALID _SB_MAKEMASK1(20)
#define M_BCM1480_RLD_TRIGGER_MODIFIED _SB_MAKEMASK1(21)
#define S_BCM1480_RLD_TRIGGER_NODE_VECTOR 22
#define M_BCM1480_RLD_TRIGGER_NODE_VECTOR _SB_MAKEMASK(11,S_BCM1480_RLD_TRIGGER_NODE_VECTOR)
#define V_BCM1480_RLD_TRIGGER_NODE_VECTOR(x) _SB_MAKEVALUE(x,S_BCM1480_RLD_TRIGGER_NODE_VECTOR)
#define G_BCM1480_RLD_TRIGGER_NODE_VECTOR(x) _SB_GETVALUE(x,S_BCM1480_RLD_TRIGGER_NODE_VECTOR,M_BCM1480_RLD_TRIGGER_NODE_VECTOR)
#define S_BCM1480_RLD_TRIGGER_ECC_BITS 33
#define M_BCM1480_RLD_TRIGGER_ECC_BITS _SB_MAKEMASK(7,S_BCM1480_RLD_TRIGGER_ECC_BITS)
#define V_BCM1480_RLD_TRIGGER_ECC_BITS(x) _SB_MAKEVALUE(x,S_BCM1480_RLD_TRIGGER_ECC_BITS)
#define G_BCM1480_RLD_TRIGGER_ECC_BITS(x) _SB_GETVALUE(x,S_BCM1480_RLD_TRIGGER_ECC_BITS,M_BCM1480_RLD_TRIGGER_ECC_BITS)
#define M_BCM1480_RLD_TRIGGER_S_BERR _SB_MAKEMASK1(40)
#define M_BCM1480_RLD_TRIGGER_D_BERR _SB_MAKEMASK1(41)
/*
* RLD Uncorrectable ECC Error Counter (Table 189)
*/
#define S_BCM1480_RLD_BAD_ECC 0
#define M_BCM1480_RLD_BAD_ECC _SB_MAKEMASK(8,S_BCM1480_RLD_BAD_ECC)
#define V_BCM1480_RLD_BAD_ECC(x) _SB_MAKEVALUE(x,S_BCM1480_RLD_BAD_ECC)
#define G_BCM1480_RLD_BAD_ECC(x) _SB_GETVALUE(x,S_BCM1480_RLD_BAD_ECC,M_BCM1480_RLD_BAD_ECC)
/*
* RLD Correctable ECC Error Counter (Table 190)
*/
#define S_BCM1480_RLD_COR_ERR 0
#define M_BCM1480_RLD_COR_ERR _SB_MAKEMASK(8,S_BCM1480_RLD_COR_ERR)
#define V_BCM1480_RLD_COR_ERR(x) _SB_MAKEVALUE(x,S_BCM1480_RLD_COR_ERR)
#define G_BCM1480_RLD_COR_ERR(x) _SB_GETVALUE(x,S_BCM1480_RLD_COR_ERR,M_BCM1480_RLD_COR_ERR)
/*
* RLD ECC Content Status Register (Table 191)
*/
#define S_BCM1480_RLD_ECC_CS_OFFSET 0
#define M_BCM1480_RLD_ECC_CS_OFFSET _SB_MAKEMASK(5,S_BCM1480_RLD_ECC_CS_OFFSET)
#define V_BCM1480_RLD_ECC_CS_OFFSET(x) _SB_MAKEVALUE(x,S_BCM1480_RLD_ECC_CS_OFFSET)
#define G_BCM1480_RLD_ECC_CS_OFFSET(x) _SB_GETVALUE(x,S_BCM1480_RLD_ECC_CS_OFFSET,M_BCM1480_RLD_ECC_CS_OFFSET)
#define S_BCM1480_RLD_ECC_CS_INDEX 5
#define M_BCM1480_RLD_ECC_CS_INDEX _SB_MAKEMASK(11,S_BCM1480_RLD_ECC_CS_INDEX)
#define V_BCM1480_RLD_ECC_CS_INDEX(x) _SB_MAKEVALUE(x,S_BCM1480_RLD_ECC_CS_INDEX)
#define G_BCM1480_RLD_ECC_CS_INDEX(x) _SB_GETVALUE(x,S_BCM1480_RLD_ECC_CS_INDEX,M_BCM1480_RLD_ECC_CS_INDEX)
#define S_BCM1480_RLD_ECC_CS_TAG 16
#define M_BCM1480_RLD_ECC_CS_TAG _SB_MAKEMASK(20,S_BCM1480_RLD_ECC_CS_TAG)
#define V_BCM1480_RLD_ECC_CS_TAG(x) _SB_MAKEVALUE(x,S_BCM1480_RLD_ECC_CS_TAG)
#define G_BCM1480_RLD_ECC_CS_TAG(x) _SB_GETVALUE(x,S_BCM1480_RLD_ECC_CS_TAG,M_BCM1480_RLD_ECC_CS_TAG)
#define S_BCM1480_RLD_ECC_CS_WAY_SELECT 36
#define M_BCM1480_RLD_ECC_CS_WAY_SELECT _SB_MAKEMASK(3,S_BCM1480_RLD_ECC_CS_WAY_SELECT)
#define V_BCM1480_RLD_ECC_CS_WAY_SELECT(x) _SB_MAKEVALUE(x,S_BCM1480_RLD_ECC_CS_WAY_SELECT)
#define G_BCM1480_RLD_ECC_CS_WAY_SELECT(x) _SB_GETVALUE(x,S_BCM1480_RLD_ECC_CS_WAY_SELECT,M_BCM1480_RLD_ECC_CS_WAY_SELECT)
#define M_BCM1480_RLD_ECC_CS_VALID _SB_MAKEMASK1(39)
#define M_BCM1480_RLD_ECC_CS_MODIFIED _SB_MAKEMASK1(40)
#define S_BCM1480_RLD_ECC_CS_NODE_VECTOR 41
#define M_BCM1480_RLD_ECC_CS_NODE_VECTOR _SB_MAKEMASK(11,S_BCM1480_RLD_ECC_CS_NODE_VECTOR)
#define V_BCM1480_RLD_ECC_CS_NODE_VECTOR(x) _SB_MAKEVALUE(x,S_BCM1480_RLD_ECC_CS_NODE_VECTOR)
#define G_BCM1480_RLD_ECC_CS_NODE_VECTOR(x) _SB_GETVALUE(x,S_BCM1480_RLD_ECC_CS_NODE_VECTOR,M_BCM1480_RLD_ECC_CS_NODE_VECTOR)
#define S_BCM1480_RLD_ECC_CS_ECC_BITS 52
#define M_BCM1480_RLD_ECC_CS_ECC_BITS _SB_MAKEMASK(7,S_BCM1480_RLD_ECC_CS_ECC_BITS)
#define V_BCM1480_RLD_ECC_CS_ECC_BITS(x) _SB_MAKEVALUE(x,S_BCM1480_RLD_ECC_CS_ECC_BITS)
#define G_BCM1480_RLD_ECC_CS_ECC_BITS(x) _SB_GETVALUE(x,S_BCM1480_RLD_ECC_CS_ECC_BITS,M_BCM1480_RLD_ECC_CS_ECC_BITS)
#define M_BCM1480_RLD_ECC_CS_SINGLE_BIT_ERR _SB_MAKEMASK1(59)
#define M_BCM1480_RLD_ECC_CS_DOUBLE_BIT_ERR _SB_MAKEMASK1(60)
#endif /* _BCM1480_BCM1480_RLD_H */