Home | History | Annotate | Line # | Download | only in include
bcm1480_rld.h revision 1.1.2.2
      1 /*  *********************************************************************
      2     *  BCM1280/BCM1480 Board Support Package
      3     *
      4     *  Remote line directory constants and macros	File: bcm1480_rld.h
      5     *
      6     *  This module contains constants useful for manipulating the
      7     *  BCM1280/BCM1480 remote line directory (part of the node controller).
      8     *
      9     *  BCM1400 specification level:  1X55_1X80-UM100-D4 (11/24/03)
     10     *
     11     *********************************************************************
     12     *
     13     *  Copyright 2000,2001,2002,2003,2004
     14     *  Broadcom Corporation. All rights reserved.
     15     *
     16     *  This software is furnished under license and may be used and
     17     *  copied only in accordance with the following terms and
     18     *  conditions.  Subject to these conditions, you may download,
     19     *  copy, install, use, modify and distribute modified or unmodified
     20     *  copies of this software in source and/or binary form.  No title
     21     *  or ownership is transferred hereby.
     22     *
     23     *  1) Any source code used, modified or distributed must reproduce
     24     *     and retain this copyright notice and list of conditions
     25     *     as they appear in the source file.
     26     *
     27     *  2) No right is granted to use any trade name, trademark, or
     28     *     logo of Broadcom Corporation.  The "Broadcom Corporation"
     29     *     name may not be used to endorse or promote products derived
     30     *     from this software without the prior written permission of
     31     *     Broadcom Corporation.
     32     *
     33     *  3) THIS SOFTWARE IS PROVIDED "AS-IS" AND ANY EXPRESS OR
     34     *     IMPLIED WARRANTIES, INCLUDING BUT NOT LIMITED TO, ANY IMPLIED
     35     *     WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
     36     *     PURPOSE, OR NON-INFRINGEMENT ARE DISCLAIMED. IN NO EVENT
     37     *     SHALL BROADCOM BE LIABLE FOR ANY DAMAGES WHATSOEVER, AND IN
     38     *     PARTICULAR, BROADCOM SHALL NOT BE LIABLE FOR DIRECT, INDIRECT,
     39     *     INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
     40     *     (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
     41     *     GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
     42     *     BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
     43     *     OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
     44     *     TORT (INCLUDING NEGLIGENCE OR OTHERWISE), EVEN IF ADVISED OF
     45     *     THE POSSIBILITY OF SUCH DAMAGE.
     46     ********************************************************************* */
     47 
     48 #ifndef _BCM1480_RLD_H
     49 #define _BCM1480_RLD_H
     50 
     51 #include "sb1250_defs.h"
     52 
     53 /*
     54  * RLD Field Way Enable Register (Table 185)
     55  */
     56 
     57 #define S_BCM1480_RLD_WAY_ENABLE            0
     58 #define M_BCM1480_RLD_WAY_ENABLE            _SB_MAKEMASK(8,S_BCM1480_RLD_WAY_ENABLE)
     59 #define V_BCM1480_RLD_WAY_ENABLE(x)         _SB_MAKEVALUE(x,S_BCM1480_RLD_WAY_ENABLE)
     60 #define G_BCM1480_RLD_WAY_ENABLE(x)         _SB_GETVALUE(x,S_BCM1480_RLD_WAY_ENABLE,M_BCM1480_RLD_WAY_ENABLE)
     61 
     62 /*
     63  * RLD Random LFSR Seed Register (Table 186)
     64  */
     65 
     66 #define S_BCM1480_RLD_RANDOM_SEED           0
     67 #define M_BCM1480_RLD_RANDOM_SEED           _SB_MAKEMASK(8,S_BCM1480_RLD_RANDOM_SEED)
     68 #define V_BCM1480_RLD_RANDOM_SEED(x)        _SB_MAKEVALUE(x,S_BCM1480_RLD_RANDOM_SEED)
     69 #define G_BCM1480_RLD_RANDOM_SEED(x)        _SB_GETVALUE(x,S_BCM1480_RLD_RANDOM_SEED,M_BCM1480_RLD_RANDOM_SEED)
     70 
     71 /*
     72  * RLD Field Register (Table 187)
     73  */
     74 
     75 #define S_BCM1480_RLD_FIELD_OFFSET          0
     76 #define M_BCM1480_RLD_FIELD_OFFSET          _SB_MAKEMASK(5,S_BCM1480_RLD_FIELD_OFFSET)
     77 #define V_BCM1480_RLD_FIELD_OFFSET(x)       _SB_MAKEVALUE(x,S_BCM1480_RLD_FIELD_OFFSET)
     78 #define G_BCM1480_RLD_FIELD_OFFSET(x)       _SB_GETVALUE(x,S_BCM1480_RLD_FIELD_OFFSET,M_BCM1480_RLD_FIELD_OFFSET)
     79 
     80 #define S_BCM1480_RLD_FIELD_INDEX           5
     81 #define M_BCM1480_RLD_FIELD_INDEX           _SB_MAKEMASK(11,S_BCM1480_RLD_FIELD_INDEX)
     82 #define V_BCM1480_RLD_FIELD_INDEX(x)        _SB_MAKEVALUE(x,S_BCM1480_RLD_FIELD_INDEX)
     83 #define G_BCM1480_RLD_FIELD_INDEX(x)        _SB_GETVALUE(x,S_BCM1480_RLD_FIELD_INDEX,M_BCM1480_RLD_FIELD_INDEX)
     84 
     85 #define S_BCM1480_RLD_FIELD_TAG             16
     86 #define M_BCM1480_RLD_FIELD_TAG             _SB_MAKEMASK(20,S_BCM1480_RLD_FIELD_TAG)
     87 #define V_BCM1480_RLD_FIELD_TAG(x)          _SB_MAKEVALUE(x,S_BCM1480_RLD_FIELD_TAG)
     88 #define G_BCM1480_RLD_FIELD_TAG(x)          _SB_GETVALUE(x,S_BCM1480_RLD_FIELD_TAG,M_BCM1480_RLD_FIELD_TAG)
     89 
     90 #define S_BCM1480_RLD_FIELD_WAY_SELECT      36
     91 #define M_BCM1480_RLD_FIELD_WAY_SELECT      _SB_MAKEMASK(3,S_BCM1480_RLD_FIELD_WAY_SELECT)
     92 #define V_BCM1480_RLD_FIELD_WAY_SELECT(x)   _SB_MAKEVALUE(x,S_BCM1480_RLD_FIELD_WAY_SELECT)
     93 #define G_BCM1480_RLD_FIELD_WAY_SELECT(x)   _SB_GETVALUE(x,S_BCM1480_RLD_FIELD_WAY_SELECT,M_BCM1480_RLD_FIELD_WAY_SELECT)
     94 
     95 #define M_BCM1480_RLD_FIELD_VALID           _SB_MAKEMASK1(39)
     96 #define M_BCM1480_RLD_FIELD_MODIFIED        _SB_MAKEMASK1(40)
     97 
     98 #define S_BCM1480_RLD_FIELD_NODE_VECTOR     41
     99 #define M_BCM1480_RLD_FIELD_NODE_VECTOR     _SB_MAKEMASK(11,S_BCM1480_RLD_FIELD_NODE_VECTOR)
    100 #define V_BCM1480_RLD_FIELD_NODE_VECTOR(x)  _SB_MAKEVALUE(x,S_BCM1480_RLD_FIELD_NODE_VECTOR)
    101 #define G_BCM1480_RLD_FIELD_NODE_VECTOR(x)  _SB_GETVALUE(x,S_BCM1480_RLD_FIELD_NODE_VECTOR,M_BCM1480_RLD_FIELD_NODE_VECTOR)
    102 
    103 #define S_BCM1480_RLD_FIELD_ECC_BITS        52
    104 #define M_BCM1480_RLD_FIELD_ECC_BITS        _SB_MAKEMASK(7,S_BCM1480_RLD_FIELD_ECC_BITS)
    105 #define V_BCM1480_RLD_FIELD_ECC_BITS(x)     _SB_MAKEVALUE(x,S_BCM1480_RLD_FIELD_ECC_BITS)
    106 #define G_BCM1480_RLD_FIELD_ECC_BITS(x)     _SB_GETVALUE(x,S_BCM1480_RLD_FIELD_ECC_BITS,M_BCM1480_RLD_FIELD_ECC_BITS)
    107 
    108 #define M_BCM1480_RLD_FIELD_NEW_ECC         _SB_MAKEMASK1(59)
    109 #define M_BCM1480_RLD_FIELD_CHECK_ECC       _SB_MAKEMASK1(60)
    110 
    111 /*
    112  * RLD Trigger Register (Table 188)
    113  */
    114 
    115 #define S_BCM1480_RLD_TRIGGER_TAG           0
    116 #define M_BCM1480_RLD_TRIGGER_TAG           _SB_MAKEMASK(20,S_BCM1480_RLD_TRIGGER_TAG)
    117 #define V_BCM1480_RLD_TRIGGER_TAG(x)        _SB_MAKEVALUE(x,S_BCM1480_RLD_TRIGGER_TAG)
    118 #define G_BCM1480_RLD_TRIGGER_TAG(x)        _SB_GETVALUE(x,S_BCM1480_RLD_TRIGGER_TAG,M_BCM1480_RLD_TRIGGER_TAG)
    119 
    120 #define M_BCM1480_RLD_TRIGGER_VALID         _SB_MAKEMASK1(20)
    121 #define M_BCM1480_RLD_TRIGGER_MODIFIED      _SB_MAKEMASK1(21)
    122 
    123 #define S_BCM1480_RLD_TRIGGER_NODE_VECTOR   22
    124 #define M_BCM1480_RLD_TRIGGER_NODE_VECTOR   _SB_MAKEMASK(11,S_BCM1480_RLD_TRIGGER_NODE_VECTOR)
    125 #define V_BCM1480_RLD_TRIGGER_NODE_VECTOR(x) _SB_MAKEVALUE(x,S_BCM1480_RLD_TRIGGER_NODE_VECTOR)
    126 #define G_BCM1480_RLD_TRIGGER_NODE_VECTOR(x) _SB_GETVALUE(x,S_BCM1480_RLD_TRIGGER_NODE_VECTOR,M_BCM1480_RLD_TRIGGER_NODE_VECTOR)
    127 
    128 #define S_BCM1480_RLD_TRIGGER_ECC_BITS      33
    129 #define M_BCM1480_RLD_TRIGGER_ECC_BITS      _SB_MAKEMASK(7,S_BCM1480_RLD_TRIGGER_ECC_BITS)
    130 #define V_BCM1480_RLD_TRIGGER_ECC_BITS(x)   _SB_MAKEVALUE(x,S_BCM1480_RLD_TRIGGER_ECC_BITS)
    131 #define G_BCM1480_RLD_TRIGGER_ECC_BITS(x)   _SB_GETVALUE(x,S_BCM1480_RLD_TRIGGER_ECC_BITS,M_BCM1480_RLD_TRIGGER_ECC_BITS)
    132 
    133 #define M_BCM1480_RLD_TRIGGER_S_BERR        _SB_MAKEMASK1(40)
    134 #define M_BCM1480_RLD_TRIGGER_D_BERR        _SB_MAKEMASK1(41)
    135 
    136 /*
    137  * RLD Uncorrectable ECC Error Counter (Table 189)
    138  */
    139 
    140 #define S_BCM1480_RLD_BAD_ECC               0
    141 #define M_BCM1480_RLD_BAD_ECC               _SB_MAKEMASK(8,S_BCM1480_RLD_BAD_ECC)
    142 #define V_BCM1480_RLD_BAD_ECC(x)            _SB_MAKEVALUE(x,S_BCM1480_RLD_BAD_ECC)
    143 #define G_BCM1480_RLD_BAD_ECC(x)            _SB_GETVALUE(x,S_BCM1480_RLD_BAD_ECC,M_BCM1480_RLD_BAD_ECC)
    144 
    145 /*
    146  * RLD Correctable ECC Error Counter (Table 190)
    147  */
    148 
    149 #define S_BCM1480_RLD_COR_ERR               0
    150 #define M_BCM1480_RLD_COR_ERR               _SB_MAKEMASK(8,S_BCM1480_RLD_COR_ERR)
    151 #define V_BCM1480_RLD_COR_ERR(x)            _SB_MAKEVALUE(x,S_BCM1480_RLD_COR_ERR)
    152 #define G_BCM1480_RLD_COR_ERR(x)            _SB_GETVALUE(x,S_BCM1480_RLD_COR_ERR,M_BCM1480_RLD_COR_ERR)
    153 
    154 /*
    155  * RLD ECC Content Status Register (Table 191)
    156  */
    157 
    158 #define S_BCM1480_RLD_ECC_CS_OFFSET         0
    159 #define M_BCM1480_RLD_ECC_CS_OFFSET         _SB_MAKEMASK(5,S_BCM1480_RLD_ECC_CS_OFFSET)
    160 #define V_BCM1480_RLD_ECC_CS_OFFSET(x)      _SB_MAKEVALUE(x,S_BCM1480_RLD_ECC_CS_OFFSET)
    161 #define G_BCM1480_RLD_ECC_CS_OFFSET(x)      _SB_GETVALUE(x,S_BCM1480_RLD_ECC_CS_OFFSET,M_BCM1480_RLD_ECC_CS_OFFSET)
    162 
    163 #define S_BCM1480_RLD_ECC_CS_INDEX          5
    164 #define M_BCM1480_RLD_ECC_CS_INDEX          _SB_MAKEMASK(11,S_BCM1480_RLD_ECC_CS_INDEX)
    165 #define V_BCM1480_RLD_ECC_CS_INDEX(x)       _SB_MAKEVALUE(x,S_BCM1480_RLD_ECC_CS_INDEX)
    166 #define G_BCM1480_RLD_ECC_CS_INDEX(x)       _SB_GETVALUE(x,S_BCM1480_RLD_ECC_CS_INDEX,M_BCM1480_RLD_ECC_CS_INDEX)
    167 
    168 #define S_BCM1480_RLD_ECC_CS_TAG            16
    169 #define M_BCM1480_RLD_ECC_CS_TAG            _SB_MAKEMASK(20,S_BCM1480_RLD_ECC_CS_TAG)
    170 #define V_BCM1480_RLD_ECC_CS_TAG(x)         _SB_MAKEVALUE(x,S_BCM1480_RLD_ECC_CS_TAG)
    171 #define G_BCM1480_RLD_ECC_CS_TAG(x)         _SB_GETVALUE(x,S_BCM1480_RLD_ECC_CS_TAG,M_BCM1480_RLD_ECC_CS_TAG)
    172 
    173 #define S_BCM1480_RLD_ECC_CS_WAY_SELECT     36
    174 #define M_BCM1480_RLD_ECC_CS_WAY_SELECT     _SB_MAKEMASK(3,S_BCM1480_RLD_ECC_CS_WAY_SELECT)
    175 #define V_BCM1480_RLD_ECC_CS_WAY_SELECT(x)  _SB_MAKEVALUE(x,S_BCM1480_RLD_ECC_CS_WAY_SELECT)
    176 #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)
    177 
    178 #define M_BCM1480_RLD_ECC_CS_VALID          _SB_MAKEMASK1(39)
    179 #define M_BCM1480_RLD_ECC_CS_MODIFIED       _SB_MAKEMASK1(40)
    180 
    181 #define S_BCM1480_RLD_ECC_CS_NODE_VECTOR    41
    182 #define M_BCM1480_RLD_ECC_CS_NODE_VECTOR    _SB_MAKEMASK(11,S_BCM1480_RLD_ECC_CS_NODE_VECTOR)
    183 #define V_BCM1480_RLD_ECC_CS_NODE_VECTOR(x) _SB_MAKEVALUE(x,S_BCM1480_RLD_ECC_CS_NODE_VECTOR)
    184 #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)
    185 
    186 #define S_BCM1480_RLD_ECC_CS_ECC_BITS       52
    187 #define M_BCM1480_RLD_ECC_CS_ECC_BITS       _SB_MAKEMASK(7,S_BCM1480_RLD_ECC_CS_ECC_BITS)
    188 #define V_BCM1480_RLD_ECC_CS_ECC_BITS(x)    _SB_MAKEVALUE(x,S_BCM1480_RLD_ECC_CS_ECC_BITS)
    189 #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)
    190 
    191 #define M_BCM1480_RLD_ECC_CS_SINGLE_BIT_ERR _SB_MAKEMASK1(59)
    192 #define M_BCM1480_RLD_ECC_CS_DOUBLE_BIT_ERR _SB_MAKEMASK1(60)
    193 
    194 #endif /* _BCM1480_BCM1480_RLD_H */
    195