1 /* *********************************************************************
2 * BCM1280/BCM1480 Board Support Package
4 * Remote line directory constants and macros File: bcm1480_rld.h
6 * This module contains constants useful for manipulating the
7 * BCM1280/BCM1480 remote line directory (part of the node controller).
9 * BCM1400 specification level: 1X55_1X80-UM100-D4 (11/24/03)
11 *********************************************************************
13 * Copyright 2000,2001,2002,2003,2004
14 * Broadcom Corporation. All rights reserved.
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.
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.
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.
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 ********************************************************************* */
48 #ifndef _BCM1480_RLD_H
49 #define _BCM1480_RLD_H
51 #include "sb1250_defs.h"
54 * RLD Field Way Enable Register (Table 185)
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)
63 * RLD Random LFSR Seed Register (Table 186)
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)
72 * RLD Field Register (Table 187)
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)
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)
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)
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)
95 #define M_BCM1480_RLD_FIELD_VALID _SB_MAKEMASK1(39)
96 #define M_BCM1480_RLD_FIELD_MODIFIED _SB_MAKEMASK1(40)
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)
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)
108 #define M_BCM1480_RLD_FIELD_NEW_ECC _SB_MAKEMASK1(59)
109 #define M_BCM1480_RLD_FIELD_CHECK_ECC _SB_MAKEMASK1(60)
112 * RLD Trigger Register (Table 188)
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)
120 #define M_BCM1480_RLD_TRIGGER_VALID _SB_MAKEMASK1(20)
121 #define M_BCM1480_RLD_TRIGGER_MODIFIED _SB_MAKEMASK1(21)
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)
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)
133 #define M_BCM1480_RLD_TRIGGER_S_BERR _SB_MAKEMASK1(40)
134 #define M_BCM1480_RLD_TRIGGER_D_BERR _SB_MAKEMASK1(41)
137 * RLD Uncorrectable ECC Error Counter (Table 189)
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)
146 * RLD Correctable ECC Error Counter (Table 190)
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)
155 * RLD ECC Content Status Register (Table 191)
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)
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)
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)
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)
178 #define M_BCM1480_RLD_ECC_CS_VALID _SB_MAKEMASK1(39)
179 #define M_BCM1480_RLD_ECC_CS_MODIFIED _SB_MAKEMASK1(40)
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)
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)
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)
194 #endif /* _BCM1480_BCM1480_RLD_H */