1/*  *********************************************************************
2    *  BCM1280/BCM1480 Board Support Package
3    *
4    *  High-Speed Port Block constants           File: bcm1480_hsp.h
5    *
6    *  This module contains constants and macros useful for
7    *  programming the the high-speed (HT/SPI-4) ports.
8    *
9    *  BCM1400 specification level:  1X55_1X80-UM100-R (12/18/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_HSP_H
49#define _BCM1480_HSP_H
50
51#include "sb1250_defs.h"
52
53
54#define BCM1480_HSP_NUM_PORTS                3
55
56
57/*
58 * RX SPI-4 Configuration 0 Register (Table 334)
59 */
60
61#define M_BCM1480_HSP_RX_PORT_RESET         _SB_MAKEMASK1(0)
62#define M_BCM1480_HSP_RX_PLL_DIV_4          _SB_MAKEMASK1(2)
63
64#define S_BCM1480_HSP_RX_PLL_MULTIPLIER     3
65#define M_BCM1480_HSP_RX_PLL_MULTIPLIER     _SB_MAKEMASK(5,S_BCM1480_HSP_RX_PLL_MULTIPLIER)
66#define V_BCM1480_HSP_RX_PLL_MULTIPLIER(x)  _SB_MAKEVALUE(x,S_BCM1480_HSP_RX_PLL_MULTIPLIER)
67#define G_BCM1480_HSP_RX_PLL_MULTIPLIER(x)  _SB_GETVALUE(x,S_BCM1480_HSP_RX_PLL_MULTIPLIER,M_BCM1480_HSP_RX_PLL_MULTIPLIER)
68
69#define S_BCM1480_HSP_TRAIN_CYCLE_COUNT     8
70#define M_BCM1480_HSP_TRAIN_CYCLE_COUNT     _SB_MAKEMASK(8,S_BCM1480_HSP_TRAIN_CYCLE_COUNT)
71#define V_BCM1480_HSP_TRAIN_CYCLE_COUNT(x)  _SB_MAKEVALUE(x,S_BCM1480_HSP_TRAIN_CYCLE_COUNT)
72#define G_BCM1480_HSP_TRAIN_CYCLE_COUNT(x)  _SB_GETVALUE(x,S_BCM1480_HSP_TRAIN_CYCLE_COUNT,M_BCM1480_HSP_TRAIN_CYCLE_COUNT)
73
74#define S_BCM1480_HSP_DIP4_ERR_CLEAR        16
75#define M_BCM1480_HSP_DIP4_ERR_CLEAR        _SB_MAKEMASK(4,S_BCM1480_HSP_DIP4_ERR_CLEAR)
76#define V_BCM1480_HSP_DIP4_ERR_CLEAR(x)     _SB_MAKEVALUE(x,S_BCM1480_HSP_DIP4_ERR_CLEAR)
77#define G_BCM1480_HSP_DIP4_ERR_CLEAR(x)     _SB_GETVALUE(x,S_BCM1480_HSP_DIP4_ERR_CLEAR,M_BCM1480_HSP_DIP4_ERR_CLEAR)
78
79#define S_BCM1480_DIP4_ERR_LIMIT            20
80#define M_BCM1480_DIP4_ERR_LIMIT            _SB_MAKEMASK(4,S_BCM1480_DIP4_ERR_LIMIT)
81#define V_BCM1480_DIP4_ERR_LIMIT(x)         _SB_MAKEVALUE(x,S_BCM1480_DIP4_ERR_LIMIT)
82#define G_BCM1480_DIP4_ERR_LIMIT(x)         _SB_GETVALUE(x,S_BCM1480_DIP4_ERR_LIMIT,M_BCM1480_DIP4_ERR_LIMIT)
83
84#define M_BCM1480_HSP_RSTAT_POLARITY        _SB_MAKEMASK1(24)
85
86#define S_BCM1480_HSP_LINK_MODE             62
87#define M_BCM1480_HSP_LINK_MODE             _SB_MAKEMASK(2,S_BCM1480_HSP_LINK_MODE)
88#define V_BCM1480_HSP_LINK_MODE(x)          _SB_MAKEVALUE(x,S_BCM1480_HSP_LINK_MODE)
89#define G_BCM1480_HSP_LINK_MODE(x)          _SB_GETVALUE(x,S_BCM1480_HSP_LINK_MODE,M_BCM1480_HSP_LINK_MODE)
90
91
92#define K_BCM1480_HSP_LINK_MODE_HT	0
93#define K_BCM1480_HSP_LINK_MODE_NOTCONN	1
94#define K_BCM1480_HSP_LINK_MODE_SPI4	3
95
96/*
97 * RX SPI-4 De-Skew Override Configuration Register (Table 335)
98 */
99
100/*
101 * Note: these macros don't follow the usual convention, since the entire
102 * thing is basically an array of 4-bit fields, we add the "bit" parameter to each.
103 */
104#define M_BCM1480_HSP_RX_DESKEW_BIT(b)          _SB_MAKEMASK(2,S_BCM1480_HSP_RX_DESKEW_BIT(b))
105#define V_BCM1480_HSP_RX_DESKEW_BIT(b,x)        _SB_MAKEVALUE(x,S_BCM1480_HSP_RX_DESKEW_BIT(b))
106#define G_BCM1480_HSP_RX_DESKEW_BIT(b,x)        _SB_GETVALUE(x,S_BCM1480_HSP_RX_DESKEW_BIT(b),M_BCM1480_HSP_RX_DESKEW_BIT(b))
107
108
109/*
110 * RX SPI-4 Data Path and Deskew Configuration Register (Table 336)
111 */
112
113#define S_BCM1480_HSP_RX_DESKEW_PER_BIT     0
114#define M_BCM1480_HSP_RX_DESKEW_PER_BIT     _SB_MAKEMASK(4,S_BCM1480_HSP_RX_DESKEW_PER_BIT)
115#define V_BCM1480_HSP_RX_DESKEW_PER_BIT(x)  _SB_MAKEVALUE(x,S_BCM1480_HSP_RX_DESKEW_PER_BIT)
116#define G_BCM1480_HSP_RX_DESKEW_PER_BIT(x)  _SB_GETVALUE(x,S_BCM1480_HSP_RX_DESKEW_PER_BIT,M_BCM1480_HSP_RX_DESKEW_PER_BIT)
117
118#define M_BCM1480_HSP_RX_STATIC_DESKEW_EN _SB_MAKEMASK1(4)
119#define M_BCM1480_HSP_RX_DESKEW_DISA      _SB_MAKEMASK1(5)
120#define M_BCM1480_HSP_RX_RETRAIN_EN       _SB_MAKEMASK1(8)
121
122
123/*
124 * TX SPI-4 Configuration 0 Register (Table 337)
125 */
126
127#define M_BCM1480_HSP_TX_PORT_RESET         _SB_MAKEMASK1(0)
128
129#define S_BCM1480_HSP_TX_PLL_MULTIPLIER     1
130#define M_BCM1480_HSP_TX_PLL_MULTIPLIER     _SB_MAKEMASK(5,S_BCM1480_HSP_TX_PLL_MULTIPLIER)
131#define V_BCM1480_HSP_TX_PLL_MULTIPLIER(x)  _SB_MAKEVALUE(x,S_BCM1480_HSP_TX_PLL_MULTIPLIER)
132#define G_BCM1480_HSP_TX_PLL_MULTIPLIER(x)  _SB_GETVALUE(x,S_BCM1480_HSP_TX_PLL_MULTIPLIER,M_BCM1480_HSP_TX_PLL_MULTIPLIER)
133
134#define S_BCM1480_HSP_TX_RST_TRAINCNT       8
135#define M_BCM1480_HSP_TX_RST_TRAINCNT       _SB_MAKEMASK(16,S_BCM1480_HSP_TX_RST_TRAINCNT)
136#define V_BCM1480_HSP_TX_RST_TRAINCNT(x)    _SB_MAKEVALUE(x,S_BCM1480_HSP_TX_RST_TRAINCNT)
137#define G_BCM1480_HSP_TX_RST_TRAINCNT(x)    _SB_GETVALUE(x,S_BCM1480_HSP_TX_RST_TRAINCNT,M_BCM1480_HSP_TX_RST_TRAINCNT)
138
139#define S_BCM1480_HSP_TX_RST_STATCNT        24
140#define M_BCM1480_HSP_TX_RST_STATCNT        _SB_MAKEMASK(4,S_BCM1480_HSP_TX_RST_STATCNT)
141#define V_BCM1480_HSP_TX_RST_STATCNT(x)     _SB_MAKEVALUE(x,S_BCM1480_HSP_TX_RST_STATCNT)
142#define G_BCM1480_HSP_TX_RST_STATCNT(x)     _SB_GETVALUE(x,S_BCM1480_HSP_TX_RST_STATCNT,M_BCM1480_HSP_TX_RST_STATCNT)
143
144#define M_BCM1480_HSP_TX_FORCE_ERR          _SB_MAKEMASK1(32)
145#define M_BCM1480_HSP_TX_TSTAT_SLOW_MODE    _SB_MAKEMASK1(33)
146#define M_BCM1480_HSP_TX_TX_PLL_DIV_4       _SB_MAKEMASK1(34)
147
148#define S_BCM1480_HSP_TX_DIP2_ERRLIMIT      36
149#define M_BCM1480_HSP_TX_DIP2_ERRLIMIT      _SB_MAKEMASK(4,S_BCM1480_HSP_TX_DIP2_ERRLIMIT)
150#define V_BCM1480_HSP_TX_DIP2_ERRLIMIT(x)   _SB_MAKEVALUE(x,S_BCM1480_HSP_TX_DIP2_ERRLIMIT)
151#define G_BCM1480_HSP_TX_DIP2_ERRLIMIT(x)   _SB_GETVALUE(x,S_BCM1480_HSP_TX_DIP2_ERRLIMIT,M_BCM1480_HSP_TX_DIP2_ERRLIMIT)
152
153#define M_BCM1480_HSP_TX_TSTAT_POLARITY     _SB_MAKEMASK1(40)
154#define M_BCM1480_HSP_TX_TX_OFF             _SB_MAKEMASK1(41)
155
156
157/*
158 * TX SPI-4 Training and Packet Configuration Register (Table 338)
159 */
160
161#define S_BCM1480_HSP_TX_DATA_MAX_T     0
162#define M_BCM1480_HSP_TX_DATA_MAX_T     _SB_MAKEMASK(16,S_BCM1480_HSP_TX_DATA_MAX_T)
163#define V_BCM1480_HSP_TX_DATA_MAX_T(x)  _SB_MAKEVALUE(x,S_BCM1480_HSP_TX_DATA_MAX_T)
164#define G_BCM1480_HSP_TX_DATA_MAX_T(x)  _SB_GETVALUE(x,S_BCM1480_HSP_TX_DATA_MAX_T,M_BCM1480_HSP_TX_DATA_MAX_T)
165
166#define S_BCM1480_HSP_TX_TXPREFBURSTSZ     32
167#define M_BCM1480_HSP_TX_TXPREFBURSTSZ     _SB_MAKEMASK(8,S_BCM1480_HSP_TX_TXPREFBURSTSZ)
168#define V_BCM1480_HSP_TX_TXPREFBURSTSZ(x)  _SB_MAKEVALUE(x,S_BCM1480_HSP_TX_TXPREFBURSTSZ)
169#define G_BCM1480_HSP_TX_TXPREFBURSTSZ(x)  _SB_GETVALUE(x,S_BCM1480_HSP_TX_TXPREFBURSTSZ,M_BCM1480_HSP_TX_TXPREFBURSTSZ)
170
171#define S_BCM1480_HSP_TX_TXMAXBURSTSZ     40
172#define M_BCM1480_HSP_TX_TXMAXBURSTSZ     _SB_MAKEMASK(8,S_BCM1480_HSP_TX_TXMAXBURSTSZ)
173#define V_BCM1480_HSP_TX_TXMAXBURSTSZ(x)  _SB_MAKEVALUE(x,S_BCM1480_HSP_TX_TXMAXBURSTSZ)
174#define G_BCM1480_HSP_TX_TXMAXBURSTSZ(x)  _SB_GETVALUE(x,S_BCM1480_HSP_TX_TXMAXBURSTSZ,M_BCM1480_HSP_TX_TXMAXBURSTSZ)
175
176#define M_BCM1480_HSP_TX_NO_INTERLEAVE_MODE _SB_MAKEMASK1(48)
177
178
179/*  *********************************************************************
180    *  Interrupts and Diagnostics
181    ********************************************************************* */
182
183/*
184 * RX SPI4 Interrupt enable and Interrupt Status (tables 339, 340)
185 */
186
187#define M_BCM1480_HSP_RX_INT_PERVCERR		_SB_MAKEMASK1(0)
188#define M_BCM1480_HSP_RX_INT_EOPABORT		_SB_MAKEMASK1(1)
189#define M_BCM1480_HSP_RX_INT_SPI4PROTOERR	_SB_MAKEMASK1(2)
190#define M_BCM1480_HSP_RX_INT_ESTOREOVERFLOW	_SB_MAKEMASK1(3)
191#define M_BCM1480_HSP_RX_INT_ALPHATRAINERR	_SB_MAKEMASK1(4)
192#define M_BCM1480_HSP_RX_INT_DIP4ERROR		_SB_MAKEMASK1(5)
193#define M_BCM1480_HSP_RX_INT_HRERROR		_SB_MAKEMASK1(6)
194#define M_BCM1480_HSP_RX_INT_INTOVERFLOW	_SB_MAKEMASK1(7)
195
196
197
198/*
199 * RX HT Diagnostic CRC Error (tables 341, 342)
200 */
201
202
203#define S_BCM1480_HSP_RX_BAD_CRC_LANE     0
204#define M_BCM1480_HSP_RX_BAD_CRC_LANE     _SB_MAKEMASK(32,S_BCM1480_HSP_RX_BAD_CRC_LANE)
205#define V_BCM1480_HSP_RX_BAD_CRC_LANE(x)  _SB_MAKEVALUE(x,S_BCM1480_HSP_RX_BAD_CRC_LANE)
206#define G_BCM1480_HSP_RX_BAD_CRC_LANE(x)  _SB_GETVALUE(x,S_BCM1480_HSP_RX_BAD_CRC_LANE,M_BCM1480_HSP_RX_BAD_CRC_LANE)
207
208#define S_BCM1480_HSP_RX_EXPECTED_CRC_LANE     32
209#define M_BCM1480_HSP_RX_EXPECTED_CRC_LANE     _SB_MAKEMASK(32,S_BCM1480_HSP_RX_EXPECTED_CRC_LANE)
210#define V_BCM1480_HSP_RX_EXPECTED_CRC_LANE(x)  _SB_MAKEVALUE(x,S_BCM1480_HSP_RX_EXPECTED_CRC_LANE)
211#define G_BCM1480_HSP_RX_EXPECTED_CRC_LANE(x)  _SB_GETVALUE(x,S_BCM1480_HSP_RX_EXPECTED_CRC_LANE,M_BCM1480_HSP_RX_EXPECTED_CRC_LANE)
212
213/*
214 * RX Diagnostic HT Command (Table 343)
215 */
216
217/* No fields */
218
219/*
220 * RX Diagnsostic Packet Protocol (Table 344)
221 */
222
223#define S_BCM1480_HSP_RX_DIAG_VC     0
224#define M_BCM1480_HSP_RX_DIAG_VC     _SB_MAKEMASK(8,S_BCM1480_HSP_RX_DIAG_VC)
225#define V_BCM1480_HSP_RX_DIAG_VC(x)  _SB_MAKEVALUE(x,S_BCM1480_HSP_RX_DIAG_VC)
226#define G_BCM1480_HSP_RX_DIAG_VC(x)  _SB_GETVALUE(x,S_BCM1480_HSP_RX_DIAG_VC,M_BCM1480_HSP_RX_DIAG_VC)
227
228#define M_BCM1480_HSP_RX_DIAG_EOP	_SB_MAKEMASK1(8)
229#define M_BCM1480_HSP_RX_DIAG_SOP	_SB_MAKEMASK1(9)
230
231#define S_BCM1480_HSP_RX_DIAG_CONTROL     10
232#define M_BCM1480_HSP_RX_DIAG_CONTROL     _SB_MAKEMASK(4,S_BCM1480_HSP_RX_DIAG_CONTROL)
233#define V_BCM1480_HSP_RX_DIAG_CONTROL(x)  _SB_MAKEVALUE(x,S_BCM1480_HSP_RX_DIAG_CONTROL)
234#define G_BCM1480_HSP_RX_DIAG_CONTROL(x)  _SB_GETVALUE(x,S_BCM1480_HSP_RX_DIAG_CONTROL,M_BCM1480_HSP_RX_DIAG_CONTROL)
235
236#define M_BCM1480_HSP_RX_STRADDLING_CMD	_SB_MAKEMASK1(14)
237
238#define S_BCM1480_HSP_RX_DIAG_ERR_CODE_1     16
239#define M_BCM1480_HSP_RX_DIAG_ERR_CODE_1     _SB_MAKEMASK(4,S_BCM1480_HSP_RX_DIAG_ERR_CODE_1)
240#define V_BCM1480_HSP_RX_DIAG_ERR_CODE_1(x)  _SB_MAKEVALUE(x,S_BCM1480_HSP_RX_DIAG_ERR_CODE_1)
241#define G_BCM1480_HSP_RX_DIAG_ERR_CODE_1(x)  _SB_GETVALUE(x,S_BCM1480_HSP_RX_DIAG_ERR_CODE_1,M_BCM1480_HSP_RX_DIAG_ERR_CODE_1)
242
243#define S_BCM1480_HSP_RX_DIAG_ERR_CODE_2     20
244#define M_BCM1480_HSP_RX_DIAG_ERR_CODE_2     _SB_MAKEMASK(4,S_BCM1480_HSP_RX_DIAG_ERR_CODE_2)
245#define V_BCM1480_HSP_RX_DIAG_ERR_CODE_2(x)  _SB_MAKEVALUE(x,S_BCM1480_HSP_RX_DIAG_ERR_CODE_2)
246#define G_BCM1480_HSP_RX_DIAG_ERR_CODE_2(x)  _SB_GETVALUE(x,S_BCM1480_HSP_RX_DIAG_ERR_CODE_2,M_BCM1480_HSP_RX_DIAG_ERR_CODE_2)
247
248
249/*
250 * RX Diagnostic Detail (Table 345)
251 */
252
253#define M_BCM1480_HSP_RX_DIAGDET_PERVCERR	_SB_MAKEMASK1(0)
254#define M_BCM1480_HSP_RX_DIAGDET_ALPHATRAINERR	_SB_MAKEMASK1(2)
255#define M_BCM1480_HSP_RX_DIAGDET_SPI4PROTOERR	_SB_MAKEMASK1(4)
256#define M_BCM1480_HSP_RX_DIAGDET_DIP4ERROR	_SB_MAKEMASK1(6)
257#define M_BCM1480_HSP_RX_DIAGDET_ESTOREOVERFLOW	_SB_MAKEMASK1(7)
258
259
260#define M_BCM1480_HSP_RX_DIAGDET_SPI4_DATANOSOP		_SB_MAKEMASK1(32)
261#define M_BCM1480_HSP_RX_DIAGDET_SPI4_SOPAFTERSOP	_SB_MAKEMASK1(33)
262#define M_BCM1480_HSP_RX_DIAGDET_SPI4_EOPNOSOP		_SB_MAKEMASK1(34)
263#define M_BCM1480_HSP_RX_DIAGDET_SPI4_EOPABORT		_SB_MAKEMASK1(35)
264#define M_BCM1480_HSP_RX_DIAGDET_SPI4_BADDATA		_SB_MAKEMASK1(36)
265#define M_BCM1480_HSP_RX_DIAGDET_SPI4_RESCMD		_SB_MAKEMASK1(37)
266#define M_BCM1480_HSP_RX_DIAGDET_SPI4_BADSOP		_SB_MAKEMASK1(38)
267#define M_BCM1480_HSP_RX_DIAGDET_SPI4_BADEOP		_SB_MAKEMASK1(39)
268#define M_BCM1480_HSP_RX_DIAGDET_SPI4_BADCTL		_SB_MAKEMASK1(40)
269#define M_BCM1480_HSP_RX_DIAGDET_SPI4_BADIDLE		_SB_MAKEMASK1(41)
270#define M_BCM1480_HSP_RX_DIAGDET_SPI4_BADTRAINING	_SB_MAKEMASK1(42)
271#define M_BCM1480_HSP_RX_DIAGDET_SPI4_ALPHATRAINING	_SB_MAKEMASK1(43)
272#define M_BCM1480_HSP_RX_DIAGDET_SPI4_DIP4IDLE		_SB_MAKEMASK1(44)
273#define M_BCM1480_HSP_RX_DIAGDET_SPI4_DIP4EOP		_SB_MAKEMASK1(45)
274#define M_BCM1480_HSP_RX_DIAGDET_SPI4_DIP4DEAD		_SB_MAKEMASK1(46)
275#define M_BCM1480_HSP_RX_DIAGDET_SPI4_HRNOMATCH		_SB_MAKEMASK1(47)
276#define M_BCM1480_HSP_RX_DIAGDET_SPI4_HRMULTMATCH	_SB_MAKEMASK1(48)
277#define M_BCM1480_HSP_RX_DIAGDET_SPI4_ESTOREOVR		_SB_MAKEMASK1(49)
278#define M_BCM1480_HSP_RX_DIAGDET_SPI4_INTOVR		_SB_MAKEMASK1(51)
279
280
281#define S_BCM1480_HSP_RX_DIAGDET_STATUS     32
282#define M_BCM1480_HSP_RX_DIAGDET_STATUS     _SB_MAKEMASK(20,S_BCM1480_HSP_RX_DIAGDET_STATUS)
283#define V_BCM1480_HSP_RX_DIAGDET_STATUS(x)  _SB_MAKEVALUE(x,S_BCM1480_HSP_RX_DIAGDET_STATUS)
284#define G_BCM1480_HSP_RX_DIAGDET_STATUS(x)  _SB_GETVALUE(x,S_BCM1480_HSP_RX_DIAGDET_STATUS,M_BCM1480_HSP_RX_DIAGDET_STATUS)
285
286#define S_BCM1480_HSP_RX_DIAGDET_PUSHPOP_DISTANCE     56
287#define M_BCM1480_HSP_RX_DIAGDET_PUSHPOP_DISTANCE     _SB_MAKEMASK(4,S_BCM1480_HSP_RX_DIAGDET_PUSHPOP_DISTANCE)
288#define V_BCM1480_HSP_RX_DIAGDET_PUSHPOP_DISTANCE(x)  _SB_MAKEVALUE(x,S_BCM1480_HSP_RX_DIAGDET_PUSHPOP_DISTANCE)
289#define G_BCM1480_HSP_RX_DIAGDET_PUSHPOP_DISTANCE(x)  _SB_GETVALUE(x,S_BCM1480_HSP_RX_DIAGDET_PUSHPOP_DISTANCE,M_BCM1480_HSP_RX_DIAGDET_PUSHPOP_DISTANCE)
290
291#define S_BCM1480_HSP_RX_DIAGDET_ESTORE_DISTANCE     60
292#define M_BCM1480_HSP_RX_DIAGDET_ESTORE_DISTANCE     _SB_MAKEMASK(4,S_BCM1480_HSP_RX_DIAGDET_ESTORE_DISTANCE)
293#define V_BCM1480_HSP_RX_DIAGDET_ESTORE_DISTANCE(x)  _SB_MAKEVALUE(x,S_BCM1480_HSP_RX_DIAGDET_ESTORE_DISTANCE)
294#define G_BCM1480_HSP_RX_DIAGDET_ESTORE_DISTANCE(x)  _SB_GETVALUE(x,S_BCM1480_HSP_RX_DIAGDET_ESTORE_DISTANCE,M_BCM1480_HSP_RX_DIAGDET_ESTORE_DISTANCE)
295
296/*
297 * TX SPI4 Interrupt Enable and Interrupt Status (Table 346, 347)
298 */
299
300#define M_BCM1480_HSP_TX_INT_TSTATTIMEOUT	_SB_MAKEMASK1(0)
301#define M_BCM1480_HSP_TX_INT_DIP2RXERR		_SB_MAKEMASK1(1)
302#define M_BCM1480_HSP_TX_INT_SPI4RESET		_SB_MAKEMASK1(2)
303
304/*
305 * RX Packet Buffer Allocation Registers (Table 349)
306 */
307
308/*
309 * XXX Depending on the revision of the manual, the fields may look
310 *     incorrect here.  Check the errata for the correct layout
311 *     of this register.
312 */
313
314#define S_BCM1480_HSP_RX_RAMCEILING_0       0
315#define M_BCM1480_HSP_RX_RAMCEILING_0       _SB_MAKEMASK(10,S_BCM1480_HSP_RX_RAMCEILING_0)
316#define V_BCM1480_HSP_RX_RAMCEILING_0(x)    _SB_MAKEVALUE(x,S_BCM1480_HSP_RX_RAMCEILING_0)
317#define G_BCM1480_HSP_RX_RAMCEILING_0(x)    _SB_GETVALUE(x,S_BCM1480_HSP_RX_RAMCEILING_0,M_BCM1480_HSP_RX_RAMCEILING_0)
318
319#define S_BCM1480_HSP_RX_RAMFLOOR_0         16
320#define M_BCM1480_HSP_RX_RAMFLOOR_0         _SB_MAKEMASK(10,S_BCM1480_HSP_RX_RAMFLOOR_0)
321#define V_BCM1480_HSP_RX_RAMFLOOR_0(x)      _SB_MAKEVALUE(x,S_BCM1480_HSP_RX_RAMFLOOR_0)
322#define G_BCM1480_HSP_RX_RAMFLOOR_0(x)      _SB_GETVALUE(x,S_BCM1480_HSP_RX_RAMFLOOR_0,M_BCM1480_HSP_RX_RAMFLOOR_0)
323
324#define S_BCM1480_HSP_RX_RAMCEILING_1       32
325#define M_BCM1480_HSP_RX_RAMCEILING_1       _SB_MAKEMASK(10,S_BCM1480_HSP_RX_RAMCEILING_1)
326#define V_BCM1480_HSP_RX_RAMCEILING_1(x)    _SB_MAKEVALUE(x,S_BCM1480_HSP_RX_RAMCEILING_1)
327#define G_BCM1480_HSP_RX_RAMCEILING_1(x)    _SB_GETVALUE(x,S_BCM1480_HSP_RX_RAMCEILING_1,M_BCM1480_HSP_RX_RAMCEILING_1)
328
329#define S_BCM1480_HSP_RX_RAMFLOOR_1         48
330#define M_BCM1480_HSP_RX_RAMFLOOR_1         _SB_MAKEMASK(10,S_BCM1480_HSP_RX_RAMFLOOR_1)
331#define V_BCM1480_HSP_RX_RAMFLOOR_1(x)      _SB_MAKEVALUE(x,S_BCM1480_HSP_RX_RAMFLOOR_1)
332#define G_BCM1480_HSP_RX_RAMFLOOR_1(x)      _SB_GETVALUE(x,S_BCM1480_HSP_RX_RAMFLOOR_1,M_BCM1480_HSP_RX_RAMFLOOR_1)
333
334/*
335 * RX HT RAM Allocation Register 0 (Table 350 + Errata)
336 */
337
338#define S_BCM1480_HSP_RX_NPC_CMD_CEILING    0
339#define M_BCM1480_HSP_RX_NPC_CMD_CEILING    _SB_MAKEMASK(10,S_BCM1480_HSP_RX_NPC_CMD_CEILING)
340#define V_BCM1480_HSP_RX_NPC_CMD_CEILING(x) _SB_MAKEVALUE(x,S_BCM1480_HSP_RX_NPC_CMD_CEILING)
341#define G_BCM1480_HSP_RX_NPC_CMD_CEILING(x) _SB_GETVALUE(x,S_BCM1480_HSP_RX_NPC_CMD_CEILING,M_BCM1480_HSP_RX_NPC_CMD_CEILING)
342
343#define S_BCM1480_HSP_RX_NPC_CMD_FLOOR      16
344#define M_BCM1480_HSP_RX_NPC_CMD_FLOOR      _SB_MAKEMASK(10,S_BCM1480_HSP_RX_NPC_CMD_FLOOR)
345#define V_BCM1480_HSP_RX_NPC_CMD_FLOOR(x)   _SB_MAKEVALUE(x,S_BCM1480_HSP_RX_NPC_CMD_FLOOR)
346#define G_BCM1480_HSP_RX_NPC_CMD_FLOOR(x)   _SB_GETVALUE(x,S_BCM1480_HSP_RX_NPC_CMD_FLOOR,M_BCM1480_HSP_RX_NPC_CMD_FLOOR)
347
348/*
349 * RX HT RAM Allocation Register 1 (Table 351 + Errata)
350 */
351
352#define S_BCM1480_HSP_RX_PC_CMD_CEILING     0
353#define M_BCM1480_HSP_RX_PC_CMD_CEILING     _SB_MAKEMASK(10,S_BCM1480_HSP_RX_PC_CMD_CEILING)
354#define V_BCM1480_HSP_RX_PC_CMD_CEILING(x)  _SB_MAKEVALUE(x,S_BCM1480_HSP_RX_PC_CMD_CEILING)
355#define G_BCM1480_HSP_RX_PC_CMD_CEILING(x)  _SB_GETVALUE(x,S_BCM1480_HSP_RX_PC_CMD_CEILING,M_BCM1480_HSP_RX_PC_CMD_CEILING)
356
357#define S_BCM1480_HSP_RX_PC_CMD_FLOOR       16
358#define M_BCM1480_HSP_RX_PC_CMD_FLOOR       _SB_MAKEMASK(10,S_BCM1480_HSP_RX_PC_CMD_FLOOR)
359#define V_BCM1480_HSP_RX_PC_CMD_FLOOR(x)    _SB_MAKEVALUE(x,S_BCM1480_HSP_RX_PC_CMD_FLOOR)
360#define G_BCM1480_HSP_RX_PC_CMD_FLOOR(x)    _SB_GETVALUE(x,S_BCM1480_HSP_RX_PC_CMD_FLOOR,M_BCM1480_HSP_RX_PC_CMD_FLOOR)
361
362#define S_BCM1480_HSP_RX_PRB_CEILING        32
363#define M_BCM1480_HSP_RX_PRB_CEILING        _SB_MAKEMASK(10,S_BCM1480_HSP_RX_PRB_CEILING)
364#define V_BCM1480_HSP_RX_PRB_CEILING(x)     _SB_MAKEVALUE(x,S_BCM1480_HSP_RX_PRB_CEILING)
365#define G_BCM1480_HSP_RX_PRB_CEILING(x)     _SB_GETVALUE(x,S_BCM1480_HSP_RX_PRB_CEILING,M_BCM1480_HSP_RX_PRB_CEILING)
366
367#define S_BCM1480_HSP_RX_PRB_FLOOR          48
368#define M_BCM1480_HSP_RX_PRB_FLOOR          _SB_MAKEMASK(10,S_BCM1480_HSP_RX_PRB_FLOOR)
369#define V_BCM1480_HSP_RX_PRB_FLOOR(x)       _SB_MAKEVALUE(x,S_BCM1480_HSP_RX_PRB_FLOOR)
370#define G_BCM1480_HSP_RX_PRB_FLOOR(x)       _SB_GETVALUE(x,S_BCM1480_HSP_RX_PRB_FLOOR,M_BCM1480_HSP_RX_PRB_FLOOR)
371
372/*
373 * RX HT RAM Allocation Register 2 (Table 352 + Errata)
374 */
375
376#define S_BCM1480_HSP_RX_ACK_CEILING        0
377#define M_BCM1480_HSP_RX_ACK_CEILING        _SB_MAKEMASK(10,S_BCM1480_HSP_RX_ACK_CEILING)
378#define V_BCM1480_HSP_RX_ACK_CEILING(x)     _SB_MAKEVALUE(x,S_BCM1480_HSP_RX_ACK_CEILING)
379#define G_BCM1480_HSP_RX_ACK_CEILING(x)     _SB_GETVALUE(x,S_BCM1480_HSP_RX_ACK_CEILING,M_BCM1480_HSP_RX_ACK_CEILING)
380
381#define S_BCM1480_HSP_RX_ACK_FLOOR          16
382#define M_BCM1480_HSP_RX_ACK_FLOOR          _SB_MAKEMASK(10,S_BCM1480_HSP_RX_ACK_FLOOR)
383#define V_BCM1480_HSP_RX_ACK_FLOOR(x)       _SB_MAKEVALUE(x,S_BCM1480_HSP_RX_ACK_FLOOR)
384#define G_BCM1480_HSP_RX_ACK_FLOOR(x)       _SB_GETVALUE(x,S_BCM1480_HSP_RX_ACK_FLOOR,M_BCM1480_HSP_RX_ACK_FLOOR)
385
386#define S_BCM1480_HSP_RX_WB_CEILING         32
387#define M_BCM1480_HSP_RX_WB_CEILING         _SB_MAKEMASK(10,S_BCM1480_HSP_RX_WB_CEILING)
388#define V_BCM1480_HSP_RX_WB_CEILING(x)      _SB_MAKEVALUE(x,S_BCM1480_HSP_RX_WB_CEILING)
389#define G_BCM1480_HSP_RX_WB_CEILING(x)      _SB_GETVALUE(x,S_BCM1480_HSP_RX_WB_CEILING,M_BCM1480_HSP_RX_WB_CEILING)
390
391#define S_BCM1480_HSP_RX_WB_FLOOR           48
392#define M_BCM1480_HSP_RX_WB_FLOOR           _SB_MAKEMASK(10,S_BCM1480_HSP_RX_WB_FLOOR)
393#define V_BCM1480_HSP_RX_WB_FLOOR(x)        _SB_MAKEVALUE(x,S_BCM1480_HSP_RX_WB_FLOOR)
394#define G_BCM1480_HSP_RX_WB_FLOOR(x)        _SB_GETVALUE(x,S_BCM1480_HSP_RX_WB_FLOOR,M_BCM1480_HSP_RX_WB_FLOOR)
395
396/*
397 * RX HT RAM Allocation Register 3 (Table 353 + Errata)
398 */
399
400#define S_BCM1480_HSP_RX_CFILL_CEILING      0
401#define M_BCM1480_HSP_RX_CFILL_CEILING      _SB_MAKEMASK(10,S_BCM1480_HSP_RX_CFILL_CEILING)
402#define V_BCM1480_HSP_RX_CFILL_CEILING(x)   _SB_MAKEVALUE(x,S_BCM1480_HSP_RX_CFILL_CEILING)
403#define G_BCM1480_HSP_RX_CFILL_CEILING(x)   _SB_GETVALUE(x,S_BCM1480_HSP_RX_CFILL_CEILING,M_BCM1480_HSP_RX_CFILL_CEILING)
404
405#define S_BCM1480_HSP_RX_CFILL_FLOOR        16
406#define M_BCM1480_HSP_RX_CFILL_FLOOR        _SB_MAKEMASK(10,S_BCM1480_HSP_RX_CFILL_FLOOR)
407#define V_BCM1480_HSP_RX_CFILL_FLOOR(x)     _SB_MAKEVALUE(x,S_BCM1480_HSP_RX_CFILL_FLOOR)
408#define G_BCM1480_HSP_RX_CFILL_FLOOR(x)     _SB_GETVALUE(x,S_BCM1480_HSP_RX_CFILL_FLOOR,M_BCM1480_HSP_RX_CFILL_FLOOR)
409
410#define S_BCM1480_HSP_RX_CRD_CEILING        32
411#define M_BCM1480_HSP_RX_CRD_CEILING        _SB_MAKEMASK(10,S_BCM1480_HSP_RX_CRD_CEILING)
412#define V_BCM1480_HSP_RX_CRD_CEILING(x)     _SB_MAKEVALUE(x,S_BCM1480_HSP_RX_CRD_CEILING)
413#define G_BCM1480_HSP_RX_CRD_CEILING(x)     _SB_GETVALUE(x,S_BCM1480_HSP_RX_CRD_CEILING,M_BCM1480_HSP_RX_CRD_CEILING)
414
415#define S_BCM1480_HSP_RX_CRD_FLOOR          48
416#define M_BCM1480_HSP_RX_CRD_FLOOR          _SB_MAKEMASK(10,S_BCM1480_HSP_RX_CRD_FLOOR)
417#define V_BCM1480_HSP_RX_CRD_FLOOR(x)       _SB_MAKEVALUE(x,S_BCM1480_HSP_RX_CRD_FLOOR)
418#define G_BCM1480_HSP_RX_CRD_FLOOR(x)       _SB_GETVALUE(x,S_BCM1480_HSP_RX_CRD_FLOOR,M_BCM1480_HSP_RX_CRD_FLOOR)
419
420/*
421 * RX HT RAM Allocation Register 4 (Table 354 + Errata)
422 */
423
424#define S_BCM1480_HSP_RX_NPC_DAT_CEILING    0
425#define M_BCM1480_HSP_RX_NPC_DAT_CEILING    _SB_MAKEMASK(10,S_BCM1480_HSP_RX_NPC_DAT_CEILING)
426#define V_BCM1480_HSP_RX_NPC_DAT_CEILING(x) _SB_MAKEVALUE(x,S_BCM1480_HSP_RX_NPC_DAT_CEILING)
427#define G_BCM1480_HSP_RX_NPC_DAT_CEILING(x) _SB_GETVALUE(x,S_BCM1480_HSP_RX_NPC_DAT_CEILING,M_BCM1480_HSP_RX_NPC_DAT_CEILING)
428
429#define S_BCM1480_HSP_RX_NPC_DAT_FLOOR      16
430#define M_BCM1480_HSP_RX_NPC_DAT_FLOOR      _SB_MAKEMASK(10,S_BCM1480_HSP_RX_NPC_DAT_FLOOR)
431#define V_BCM1480_HSP_RX_NPC_DAT_FLOOR(x)   _SB_MAKEVALUE(x,S_BCM1480_HSP_RX_NPC_DAT_FLOOR)
432#define G_BCM1480_HSP_RX_NPC_DAT_FLOOR(x)   _SB_GETVALUE(x,S_BCM1480_HSP_RX_NPC_DAT_FLOOR,M_BCM1480_HSP_RX_NPC_DAT_FLOOR)
433
434#define S_BCM1480_HSP_RX_RSP_DAT_CEILING    32
435#define M_BCM1480_HSP_RX_RSP_DAT_CEILING    _SB_MAKEMASK(10,S_BCM1480_HSP_RX_RSP_DAT_CEILING)
436#define V_BCM1480_HSP_RX_RSP_DAT_CEILING(x) _SB_MAKEVALUE(x,S_BCM1480_HSP_RX_RSP_DAT_CEILING)
437#define G_BCM1480_HSP_RX_RSP_DAT_CEILING(x) _SB_GETVALUE(x,S_BCM1480_HSP_RX_RSP_DAT_CEILING,M_BCM1480_HSP_RX_RSP_DAT_CEILING)
438
439#define S_BCM1480_HSP_RX_RSP_DAT_FLOOR      48
440#define M_BCM1480_HSP_RX_RSP_DAT_FLOOR      _SB_MAKEMASK(10,S_BCM1480_HSP_RX_RSP_DAT_FLOOR)
441#define V_BCM1480_HSP_RX_RSP_DAT_FLOOR(x)   _SB_MAKEVALUE(x,S_BCM1480_HSP_RX_RSP_DAT_FLOOR)
442#define G_BCM1480_HSP_RX_RSP_DAT_FLOOR(x)   _SB_GETVALUE(x,S_BCM1480_HSP_RX_RSP_DAT_FLOOR,M_BCM1480_HSP_RX_RSP_DAT_FLOOR)
443
444/*
445 * RX HT RAM Allocation Register 5 (Table 355 + Errata)
446 */
447
448#define S_BCM1480_HSP_RX_PC_DAT_CEILING     0
449#define M_BCM1480_HSP_RX_PC_DAT_CEILING     _SB_MAKEMASK(10,S_BCM1480_HSP_RX_PC_DAT_CEILING)
450#define V_BCM1480_HSP_RX_PC_DAT_CEILING(x)  _SB_MAKEVALUE(x,S_BCM1480_HSP_RX_PC_DAT_CEILING)
451#define G_BCM1480_HSP_RX_PC_DAT_CEILING(x)  _SB_GETVALUE(x,S_BCM1480_HSP_RX_PC_DAT_CEILING,M_BCM1480_HSP_RX_PC_DAT_CEILING)
452
453#define S_BCM1480_HSP_RX_PC_DAT_FLOOR       16
454#define M_BCM1480_HSP_RX_PC_DAT_FLOOR       _SB_MAKEMASK(10,S_BCM1480_HSP_RX_PC_DAT_FLOOR)
455#define V_BCM1480_HSP_RX_PC_DAT_FLOOR(x)    _SB_MAKEVALUE(x,S_BCM1480_HSP_RX_PC_DAT_FLOOR)
456#define G_BCM1480_HSP_RX_PC_DAT_FLOOR(x)    _SB_GETVALUE(x,S_BCM1480_HSP_RX_PC_DAT_FLOOR,M_BCM1480_HSP_RX_PC_DAT_FLOOR)
457
458/* ... */
459
460/*
461 * TX Packet Buffer Allocation Registers (Table 356)
462 */
463
464#define S_BCM1480_HSP_TX_RAMCEILING_0       0
465#define M_BCM1480_HSP_TX_RAMCEILING_0       _SB_MAKEMASK(8,S_BCM1480_HSP_TX_RAMCEILING_0)
466#define V_BCM1480_HSP_TX_RAMCEILING_0(x)    _SB_MAKEVALUE(x,S_BCM1480_HSP_TX_RAMCEILING_0)
467#define G_BCM1480_HSP_TX_RAMCEILING_0(x)    _SB_GETVALUE(x,S_BCM1480_HSP_TX_RAMCEILING_0,M_BCM1480_HSP_TX_RAMCEILING_0)
468
469#define S_BCM1480_HSP_TX_RAMFLOOR_0         16
470#define M_BCM1480_HSP_TX_RAMFLOOR_0         _SB_MAKEMASK(8,S_BCM1480_HSP_TX_RAMFLOOR_0)
471#define V_BCM1480_HSP_TX_RAMFLOOR_0(x)      _SB_MAKEVALUE(x,S_BCM1480_HSP_TX_RAMFLOOR_0)
472#define G_BCM1480_HSP_TX_RAMFLOOR_0(x)      _SB_GETVALUE(x,S_BCM1480_HSP_TX_RAMFLOOR_0,M_BCM1480_HSP_TX_RAMFLOOR_0)
473
474#define S_BCM1480_HSP_TX_RAMCEILING_1       32
475#define M_BCM1480_HSP_TX_RAMCEILING_1       _SB_MAKEMASK(8,S_BCM1480_HSP_TX_RAMCEILING_1)
476#define V_BCM1480_HSP_TX_RAMCEILING_1(x)    _SB_MAKEVALUE(x,S_BCM1480_HSP_TX_RAMCEILING_1)
477#define G_BCM1480_HSP_TX_RAMCEILING_1(x)    _SB_GETVALUE(x,S_BCM1480_HSP_TX_RAMCEILING_1,M_BCM1480_HSP_TX_RAMCEILING_1)
478
479#define S_BCM1480_HSP_TX_RAMFLOOR_1         48
480#define M_BCM1480_HSP_TX_RAMFLOOR_1         _SB_MAKEMASK(8,S_BCM1480_HSP_TX_RAMFLOOR_1)
481#define V_BCM1480_HSP_TX_RAMFLOOR_1(x)      _SB_MAKEVALUE(x,S_BCM1480_HSP_TX_RAMFLOOR_1)
482#define G_BCM1480_HSP_TX_RAMFLOOR_1(x)      _SB_GETVALUE(x,S_BCM1480_HSP_TX_RAMFLOOR_1,M_BCM1480_HSP_TX_RAMFLOOR_1)
483
484/*
485 * TX Non-Posted Command (NPC) Allocation Register (Table 357)
486 */
487
488#define S_BCM1480_HSP_TX_NPC_CEILING        0
489#define M_BCM1480_HSP_TX_NPC_CEILING        _SB_MAKEMASK(8,S_BCM1480_HSP_TX_NPC_CEILING)
490#define V_BCM1480_HSP_TX_NPC_CEILING(x)     _SB_MAKEVALUE(x,S_BCM1480_HSP_TX_NPC_CEILING)
491#define G_BCM1480_HSP_TX_NPC_CEILING(x)     _SB_GETVALUE(x,S_BCM1480_HSP_TX_NPC_CEILING,M_BCM1480_HSP_TX_NPC_CEILING)
492
493#define S_BCM1480_HSP_TX_NPC_FLOOR          16
494#define M_BCM1480_HSP_TX_NPC_FLOOR          _SB_MAKEMASK(8,S_BCM1480_HSP_TX_NPC_FLOOR)
495#define V_BCM1480_HSP_TX_NPC_FLOOR(x)       _SB_MAKEVALUE(x,S_BCM1480_HSP_TX_NPC_FLOOR)
496#define G_BCM1480_HSP_TX_NPC_FLOOR(x)       _SB_GETVALUE(x,S_BCM1480_HSP_TX_NPC_FLOOR,M_BCM1480_HSP_TX_NPC_FLOOR)
497
498/*
499 * TX Response (RSP) Allocation Register (Table 358)
500 */
501
502#define S_BCM1480_HSP_TX_RSP_CEILING        0
503#define M_BCM1480_HSP_TX_RSP_CEILING        _SB_MAKEMASK(8,S_BCM1480_HSP_TX_RSP_CEILING)
504#define V_BCM1480_HSP_TX_RSP_CEILING(x)     _SB_MAKEVALUE(x,S_BCM1480_HSP_TX_RSP_CEILING)
505#define G_BCM1480_HSP_TX_RSP_CEILING(x)     _SB_GETVALUE(x,S_BCM1480_HSP_TX_RSP_CEILING,M_BCM1480_HSP_TX_RSP_CEILING)
506
507#define S_BCM1480_HSP_TX_RSP_FLOOR          16
508#define M_BCM1480_HSP_TX_RSP_FLOOR          _SB_MAKEMASK(8,S_BCM1480_HSP_TX_RSP_FLOOR)
509#define V_BCM1480_HSP_TX_RSP_FLOOR(x)       _SB_MAKEVALUE(x,S_BCM1480_HSP_TX_RSP_FLOOR)
510#define G_BCM1480_HSP_TX_RSP_FLOOR(x)       _SB_GETVALUE(x,S_BCM1480_HSP_TX_RSP_FLOOR,M_BCM1480_HSP_TX_RSP_FLOOR)
511
512/*
513 * TX Posted Command (PC) Allocation Register (Table 359)
514 */
515
516#define S_BCM1480_HSP_TX_PC_CEILING         0
517#define M_BCM1480_HSP_TX_PC_CEILING         _SB_MAKEMASK(8,S_BCM1480_HSP_TX_PC_CEILING)
518#define V_BCM1480_HSP_TX_PC_CEILING(x)      _SB_MAKEVALUE(x,S_BCM1480_HSP_TX_PC_CEILING)
519#define G_BCM1480_HSP_TX_PC_CEILING(x)      _SB_GETVALUE(x,S_BCM1480_HSP_TX_PC_CEILING,M_BCM1480_HSP_TX_PC_CEILING)
520
521#define S_BCM1480_HSP_TX_PC_FLOOR           16
522#define M_BCM1480_HSP_TX_PC_FLOOR           _SB_MAKEMASK(8,S_BCM1480_HSP_TX_PC_FLOOR)
523#define V_BCM1480_HSP_TX_PC_FLOOR(x)        _SB_MAKEVALUE(x,S_BCM1480_HSP_TX_PC_FLOOR)
524#define G_BCM1480_HSP_TX_PC_FLOOR(x)        _SB_GETVALUE(x,S_BCM1480_HSP_TX_PC_FLOOR,M_BCM1480_HSP_TX_PC_FLOOR)
525
526/*
527 * TX Probe (PC) and Acknowledgement (ACK) Allocation Register (Table 360)
528 */
529
530#define S_BCM1480_HSP_TX_PRB_CEILING        0
531#define M_BCM1480_HSP_TX_PRB_CEILING        _SB_MAKEMASK(8,S_BCM1480_HSP_TX_PRB_CEILING)
532#define V_BCM1480_HSP_TX_PRB_CEILING(x)     _SB_MAKEVALUE(x,S_BCM1480_HSP_TX_PRB_CEILING)
533#define G_BCM1480_HSP_TX_PRB_CEILING(x)     _SB_GETVALUE(x,S_BCM1480_HSP_TX_PRB_CEILING,M_BCM1480_HSP_TX_PRB_CEILING)
534
535#define S_BCM1480_HSP_TX_PRB_FLOOR          16
536#define M_BCM1480_HSP_TX_PRB_FLOOR          _SB_MAKEMASK(8,S_BCM1480_HSP_TX_PRB_FLOOR)
537#define V_BCM1480_HSP_TX_PRB_FLOOR(x)       _SB_MAKEVALUE(x,S_BCM1480_HSP_TX_PRB_FLOOR)
538#define G_BCM1480_HSP_TX_PRB_FLOOR(x)       _SB_GETVALUE(x,S_BCM1480_HSP_TX_PRB_FLOOR,M_BCM1480_HSP_TX_PRB_FLOOR)
539
540#define S_BCM1480_HSP_TX_ACK_CEILING        32
541#define M_BCM1480_HSP_TX_ACK_CEILING        _SB_MAKEMASK(8,S_BCM1480_HSP_TX_ACK_CEILING)
542#define V_BCM1480_HSP_TX_ACK_CEILING(x)     _SB_MAKEVALUE(x,S_BCM1480_HSP_TX_ACK_CEILING)
543#define G_BCM1480_HSP_TX_ACK_CEILING(x)     _SB_GETVALUE(x,S_BCM1480_HSP_TX_ACK_CEILING,M_BCM1480_HSP_TX_ACK_CEILING)
544
545#define S_BCM1480_HSP_TX_ACK_FLOOR          48
546#define M_BCM1480_HSP_TX_ACK_FLOOR          _SB_MAKEMASK(8,S_BCM1480_HSP_TX_ACK_FLOOR)
547#define V_BCM1480_HSP_TX_ACK_FLOOR(x)       _SB_MAKEVALUE(x,S_BCM1480_HSP_TX_ACK_FLOOR)
548#define G_BCM1480_HSP_TX_ACK_FLOOR(x)       _SB_GETVALUE(x,S_BCM1480_HSP_TX_ACK_FLOOR,M_BCM1480_HSP_TX_ACK_FLOOR)
549
550/*
551 * TX Writeback (WB) and Coherent Fill (CFILL) Allocation Register (Table 361)
552 */
553
554#define S_BCM1480_HSP_TX_WB_CEILING         0
555#define M_BCM1480_HSP_TX_WB_CEILING         _SB_MAKEMASK(8,S_BCM1480_HSP_TX_WB_CEILING)
556#define V_BCM1480_HSP_TX_WB_CEILING(x)      _SB_MAKEVALUE(x,S_BCM1480_HSP_TX_WB_CEILING)
557#define G_BCM1480_HSP_TX_WB_CEILING(x)      _SB_GETVALUE(x,S_BCM1480_HSP_TX_WB_CEILING,M_BCM1480_HSP_TX_WB_CEILING)
558
559#define S_BCM1480_HSP_TX_WB_FLOOR           16
560#define M_BCM1480_HSP_TX_WB_FLOOR           _SB_MAKEMASK(8,S_BCM1480_HSP_TX_WB_FLOOR)
561#define V_BCM1480_HSP_TX_WB_FLOOR(x)        _SB_MAKEVALUE(x,S_BCM1480_HSP_TX_WB_FLOOR)
562#define G_BCM1480_HSP_TX_WB_FLOOR(x)        _SB_GETVALUE(x,S_BCM1480_HSP_TX_WB_FLOOR,M_BCM1480_HSP_TX_WB_FLOOR)
563
564#define S_BCM1480_HSP_TX_CFILL_CEILING      32
565#define M_BCM1480_HSP_TX_CFILL_CEILING      _SB_MAKEMASK(8,S_BCM1480_HSP_TX_CFILL_CEILING)
566#define V_BCM1480_HSP_TX_CFILL_CEILING(x)   _SB_MAKEVALUE(x,S_BCM1480_HSP_TX_CFILL_CEILING)
567#define G_BCM1480_HSP_TX_CFILL_CEILING(x)   _SB_GETVALUE(x,S_BCM1480_HSP_TX_CFILL_CEILING,M_BCM1480_HSP_TX_CFILL_CEILING)
568
569#define S_BCM1480_HSP_TX_CFILL_FLOOR        48
570#define M_BCM1480_HSP_TX_CFILL_FLOOR        _SB_MAKEMASK(8,S_BCM1480_HSP_TX_CFILL_FLOOR)
571#define V_BCM1480_HSP_TX_CFILL_FLOOR(x)     _SB_MAKEVALUE(x,S_BCM1480_HSP_TX_CFILL_FLOOR)
572#define G_BCM1480_HSP_TX_CFILL_FLOOR(x)     _SB_GETVALUE(x,S_BCM1480_HSP_TX_CFILL_FLOOR,M_BCM1480_HSP_TX_CFILL_FLOOR)
573
574/*
575 * TX Coherent Read (CRD) Allocation Register (Table 362)
576 */
577
578#define S_BCM1480_HSP_TX_CRD_CEILING        0
579#define M_BCM1480_HSP_TX_CRD_CEILING        _SB_MAKEMASK(8,S_BCM1480_HSP_TX_CRD_CEILING)
580#define V_BCM1480_HSP_TX_CRD_CEILING(x)     _SB_MAKEVALUE(x,S_BCM1480_HSP_TX_CRD_CEILING)
581#define G_BCM1480_HSP_TX_CRD_CEILING(x)     _SB_GETVALUE(x,S_BCM1480_HSP_TX_CRD_CEILING,M_BCM1480_HSP_TX_CRD_CEILING)
582
583#define S_BCM1480_HSP_TX_CRD_FLOOR          16
584#define M_BCM1480_HSP_TX_CRD_FLOOR          _SB_MAKEMASK(8,S_BCM1480_HSP_TX_CRD_FLOOR)
585#define V_BCM1480_HSP_TX_CRD_FLOOR(x)       _SB_MAKEVALUE(x,S_BCM1480_HSP_TX_CRD_FLOOR)
586#define G_BCM1480_HSP_TX_CRD_FLOOR(x)       _SB_GETVALUE(x,S_BCM1480_HSP_TX_CRD_FLOOR,M_BCM1480_HSP_TX_CRD_FLOOR)
587
588/*
589 * RX SPI4 Config Register 1 (Table 363)
590 */
591
592#define S_BCM1480_HSP_RX_CALENDAR_LEN           0
593#define M_BCM1480_HSP_RX_CALENDAR_LEN           _SB_MAKEMASK(8,S_BCM1480_HSP_RX_CALENDAR_LEN)
594#define V_BCM1480_HSP_RX_CALENDAR_LEN(x)        _SB_MAKEVALUE(x,S_BCM1480_HSP_RX_CALENDAR_LEN)
595#define G_BCM1480_HSP_RX_CALENDAR_LEN(x)        _SB_GETVALUE(x,S_BCM1480_HSP_RX_CALENDAR_LEN,M_BCM1480_HSP_RX_CALENDAR_LEN)
596
597#define S_BCM1480_HSP_RX_CALENDAR_M           16
598#define M_BCM1480_HSP_RX_CALENDAR_M           _SB_MAKEMASK(8,S_BCM1480_HSP_RX_CALENDAR_M)
599#define V_BCM1480_HSP_RX_CALENDAR_M(x)        _SB_MAKEVALUE(x,S_BCM1480_HSP_RX_CALENDAR_M)
600#define G_BCM1480_HSP_RX_CALENDAR_M(x)        _SB_GETVALUE(x,S_BCM1480_HSP_RX_CALENDAR_M,M_BCM1480_HSP_RX_CALENDAR_M)
601
602#define S_BCM1480_HSP_RX_ALPHA           40
603#define M_BCM1480_HSP_RX_ALPHA           _SB_MAKEMASK(12,S_BCM1480_HSP_RX_ALPHA)
604#define V_BCM1480_HSP_RX_ALPHA(x)        _SB_MAKEVALUE(x,S_BCM1480_HSP_RX_ALPHA)
605#define G_BCM1480_HSP_RX_ALPHA(x)        _SB_GETVALUE(x,S_BCM1480_HSP_RX_ALPHA,M_BCM1480_HSP_RX_ALPHA)
606
607/*
608 * RX SPI4 Calendar registers (Table 364)
609 * Use these macros for both the _0 and _1 registers.  The arg 'c' is the calendar location
610 */
611
612#define S_BCM1480_HSP_RX_CALENDAR_X(c)	(((c)&7)*8)
613#define M_BCM1480_HSP_RX_CALENDAR_X(c)      _SB_MAKEMASK(12,S_BCM1480_HSP_RX_CALENDAR_X(c))
614#define V_BCM1480_HSP_RX_CALENDAR_X(c,x)    _SB_MAKEVALUE(x,S_BCM1480_HSP_RX_CALENDAR_X(c))
615#define G_BCM1480_HSP_RX_CALENDAR_X(c,x)    _SB_GETVALUE(x,S_BCM1480_HSP_RX_CALENDAR_X(c),M_BCM1480_HSP_RX_CALENDAR_X(c))
616
617/*
618 * RX SPI4 Watermark registers (Table 365)
619 */
620
621#define S_BCM1480_HSP_RX_ALMOSTEMPTY_EVEN          0
622#define M_BCM1480_HSP_RX_ALMOSTEMPTY_EVEN          _SB_MAKEMASK(10,S_BCM1480_HSP_RX_ALMOSTEMPTY_EVEN)
623#define V_BCM1480_HSP_RX_ALMOSTEMPTY_EVEN(x)       _SB_MAKEVALUE(x,S_BCM1480_HSP_RX_ALMOSTEMPTY_EVEN)
624#define G_BCM1480_HSP_RX_ALMOSTEMPTY_EVEN(x)       _SB_GETVALUE(x,S_BCM1480_HSP_RX_ALMOSTEMPTY_EVEN,M_BCM1480_HSP_RX_ALMOSTEMPTY_EVEN)
625
626#define S_BCM1480_HSP_RX_ALMOSTFULL_EVEN          16
627#define M_BCM1480_HSP_RX_ALMOSTFULL_EVEN          _SB_MAKEMASK(10,S_BCM1480_HSP_RX_ALMOSTFULL_EVEN)
628#define V_BCM1480_HSP_RX_ALMOSTFULL_EVEN(x)       _SB_MAKEVALUE(x,S_BCM1480_HSP_RX_ALMOSTFULL_EVEN)
629#define G_BCM1480_HSP_RX_ALMOSTFULL_EVEN(x)       _SB_GETVALUE(x,S_BCM1480_HSP_RX_ALMOSTFULL_EVEN,M_BCM1480_HSP_RX_ALMOSTFULL_EVEN)
630
631#define S_BCM1480_HSP_RX_ALMOSTEMPTY_ODD          32
632#define M_BCM1480_HSP_RX_ALMOSTEMPTY_ODD          _SB_MAKEMASK(10,S_BCM1480_HSP_RX_ALMOSTEMPTY_ODD)
633#define V_BCM1480_HSP_RX_ALMOSTEMPTY_ODD(x)       _SB_MAKEVALUE(x,S_BCM1480_HSP_RX_ALMOSTEMPTY_ODD)
634#define G_BCM1480_HSP_RX_ALMOSTEMPTY_ODD(x)       _SB_GETVALUE(x,S_BCM1480_HSP_RX_ALMOSTEMPTY_ODD,M_BCM1480_HSP_RX_ALMOSTEMPTY_ODD)
635
636#define S_BCM1480_HSP_RX_ALMOSTFULL_ODD          48
637#define M_BCM1480_HSP_RX_ALMOSTFULL_ODD          _SB_MAKEMASK(10,S_BCM1480_HSP_RX_ALMOSTFULL_ODD)
638#define V_BCM1480_HSP_RX_ALMOSTFULL_ODD(x)       _SB_MAKEVALUE(x,S_BCM1480_HSP_RX_ALMOSTFULL_ODD)
639#define G_BCM1480_HSP_RX_ALMOSTFULL_ODD(x)       _SB_GETVALUE(x,S_BCM1480_HSP_RX_ALMOSTFULL_ODD,M_BCM1480_HSP_RX_ALMOSTFULL_ODD)
640
641/*
642 * TX SPI4 Configuration Register 1 (Table 366)
643 */
644
645
646#define S_BCM1480_HSP_TX_CALENDAR_LEN           0
647#define M_BCM1480_HSP_TX_CALENDAR_LEN           _SB_MAKEMASK(8,S_BCM1480_HSP_TX_CALENDAR_LEN)
648#define V_BCM1480_HSP_TX_CALENDAR_LEN(x)        _SB_MAKEVALUE(x,S_BCM1480_HSP_TX_CALENDAR_LEN)
649#define G_BCM1480_HSP_TX_CALENDAR_LEN(x)        _SB_GETVALUE(x,S_BCM1480_HSP_TX_CALENDAR_LEN,M_BCM1480_HSP_TX_CALENDAR_LEN)
650
651#define S_BCM1480_HSP_TX_CALENDAR_M           16
652#define M_BCM1480_HSP_TX_CALENDAR_M           _SB_MAKEMASK(8,S_BCM1480_HSP_TX_CALENDAR_M)
653#define V_BCM1480_HSP_TX_CALENDAR_M(x)        _SB_MAKEVALUE(x,S_BCM1480_HSP_TX_CALENDAR_M)
654#define G_BCM1480_HSP_TX_CALENDAR_M(x)        _SB_GETVALUE(x,S_BCM1480_HSP_TX_CALENDAR_M,M_BCM1480_HSP_TX_CALENDAR_M)
655
656#define S_BCM1480_HSP_TX_MAXBURST1           24
657#define M_BCM1480_HSP_TX_MAXBURST1           _SB_MAKEMASK(8,S_BCM1480_HSP_TX_MAXBURST1)
658#define V_BCM1480_HSP_TX_MAXBURST1(x)        _SB_MAKEVALUE(x,S_BCM1480_HSP_TX_MAXBURST1)
659#define G_BCM1480_HSP_TX_MAXBURST1(x)        _SB_GETVALUE(x,S_BCM1480_HSP_TX_MAXBURST1,M_BCM1480_HSP_TX_MAXBURST1)
660
661#define S_BCM1480_HSP_TX_MAXBURST2           32
662#define M_BCM1480_HSP_TX_MAXBURST2           _SB_MAKEMASK(8,S_BCM1480_HSP_TX_MAXBURST2)
663#define V_BCM1480_HSP_TX_MAXBURST2(x)        _SB_MAKEVALUE(x,S_BCM1480_HSP_TX_MAXBURST2)
664#define G_BCM1480_HSP_TX_MAXBURST2(x)        _SB_GETVALUE(x,S_BCM1480_HSP_TX_MAXBURST2,M_BCM1480_HSP_TX_MAXBURST2)
665
666
667#define S_BCM1480_HSP_TX_ALPHA           40
668#define M_BCM1480_HSP_TX_ALPHA           _SB_MAKEMASK(12,S_BCM1480_HSP_TX_ALPHA)
669#define V_BCM1480_HSP_TX_ALPHA(x)        _SB_MAKEVALUE(x,S_BCM1480_HSP_TX_ALPHA)
670#define G_BCM1480_HSP_TX_ALPHA(x)        _SB_GETVALUE(x,S_BCM1480_HSP_TX_ALPHA,M_BCM1480_HSP_TX_ALPHA)
671
672#define S_BCM1480_HSP_TX_ACTIVE_CHANNELS           56
673#define M_BCM1480_HSP_TX_ACTIVE_CHANNELS           _SB_MAKEMASK(8,S_BCM1480_HSP_TX_ACTIVE_CHANNELS)
674#define V_BCM1480_HSP_TX_ACTIVE_CHANNELS(x)        _SB_MAKEVALUE(x,S_BCM1480_HSP_TX_ACTIVE_CHANNELS)
675#define G_BCM1480_HSP_TX_ACTIVE_CHANNELS(x)        _SB_GETVALUE(x,S_BCM1480_HSP_TX_ACTIVE_CHANNELS,M_BCM1480_HSP_TX_ACTIVE_CHANNELS)
676
677
678/*
679 * TX SPI4 Calendar registers (Table 367)
680 * Use these macros for both the _0 and _1 registers.  The arg 'c' is the calendar location
681 */
682
683#define S_BCM1480_HSP_TX_CALENDAR_X(c)	(((c)&7)*8)
684#define M_BCM1480_HSP_TX_CALENDAR_X(c)      _SB_MAKEMASK(12,S_BCM1480_HSP_TX_CALENDAR_X(c))
685#define V_BCM1480_HSP_TX_CALENDAR_X(c,x)    _SB_MAKEVALUE(x,S_BCM1480_HSP_TX_CALENDAR_X(c))
686#define G_BCM1480_HSP_TX_CALENDAR_X(c,x)    _SB_GETVALUE(x,S_BCM1480_HSP_TX_CALENDAR_X(c),M_BCM1480_HSP_TX_CALENDAR_X(c))
687
688/*
689 * TX Packet Buffer Allocation Physical Unit Count Registers (Table 368)
690 */
691
692#define S_BCM1480_HSP_RX_PHITCNT_0          0
693#define M_BCM1480_HSP_RX_PHITCNT_0          _SB_MAKEMASK(10,S_BCM1480_HSP_RX_PHITCNT_0)
694#define V_BCM1480_HSP_RX_PHITCNT_0(x)       _SB_MAKEVALUE(x,S_BCM1480_HSP_RX_PHITCNT_0)
695#define G_BCM1480_HSP_RX_PHITCNT_0(x)       _SB_GETVALUE(x,S_BCM1480_HSP_RX_PHITCNT_0,M_BCM1480_HSP_RX_PHITCNT_0)
696
697#define S_BCM1480_HSP_RX_PHITCNT_1          16
698#define M_BCM1480_HSP_RX_PHITCNT_1          _SB_MAKEMASK(10,S_BCM1480_HSP_RX_PHITCNT_1)
699#define V_BCM1480_HSP_RX_PHITCNT_1(x)       _SB_MAKEVALUE(x,S_BCM1480_HSP_RX_PHITCNT_1)
700#define G_BCM1480_HSP_RX_PHITCNT_1(x)       _SB_GETVALUE(x,S_BCM1480_HSP_RX_PHITCNT_1,M_BCM1480_HSP_RX_PHITCNT_1)
701
702#define S_BCM1480_HSP_RX_PHITCNT_2          32
703#define M_BCM1480_HSP_RX_PHITCNT_2          _SB_MAKEMASK(10,S_BCM1480_HSP_RX_PHITCNT_2)
704#define V_BCM1480_HSP_RX_PHITCNT_2(x)       _SB_MAKEVALUE(x,S_BCM1480_HSP_RX_PHITCNT_2)
705#define G_BCM1480_HSP_RX_PHITCNT_2(x)       _SB_GETVALUE(x,S_BCM1480_HSP_RX_PHITCNT_2,M_BCM1480_HSP_RX_PHITCNT_2)
706
707#define S_BCM1480_HSP_RX_PHITCNT_3          48
708#define M_BCM1480_HSP_RX_PHITCNT_3          _SB_MAKEMASK(10,S_BCM1480_HSP_RX_PHITCNT_3)
709#define V_BCM1480_HSP_RX_PHITCNT_3(x)       _SB_MAKEVALUE(x,S_BCM1480_HSP_RX_PHITCNT_3)
710#define G_BCM1480_HSP_RX_PHITCNT_3(x)       _SB_GETVALUE(x,S_BCM1480_HSP_RX_PHITCNT_3,M_BCM1480_HSP_RX_PHITCNT_3)
711
712/*
713 * TX HT I/O Physical Unit Count Register (Table 369)
714 */
715
716#define S_BCM1480_HSP_RX_NPC_CMD_PHITCNT    0
717#define M_BCM1480_HSP_RX_NPC_CMD_PHITCNT    _SB_MAKEMASK(8,S_BCM1480_HSP_RX_NPC_CMD_PHITCNT)
718#define V_BCM1480_HSP_RX_NPC_CMD_PHITCNT(x) _SB_MAKEVALUE(x,S_BCM1480_HSP_RX_NPC_CMD_PHITCNT)
719#define G_BCM1480_HSP_RX_NPC_CMD_PHITCNT(x) _SB_GETVALUE(x,S_BCM1480_HSP_RX_NPC_CMD_PHITCNT,M_BCM1480_HSP_RX_NPC_CMD_PHITCNT)
720
721#define S_BCM1480_HSP_RX_NPC_DAT_PHITCNT    8
722#define M_BCM1480_HSP_RX_NPC_DAT_PHITCNT    _SB_MAKEMASK(8,S_BCM1480_HSP_RX_NPC_DAT_PHITCNT)
723#define V_BCM1480_HSP_RX_NPC_DAT_PHITCNT(x) _SB_MAKEVALUE(x,S_BCM1480_HSP_RX_NPC_DAT_PHITCNT)
724#define G_BCM1480_HSP_RX_NPC_DAT_PHITCNT(x) _SB_GETVALUE(x,S_BCM1480_HSP_RX_NPC_DAT_PHITCNT,M_BCM1480_HSP_RX_NPC_DAT_PHITCNT)
725
726#define S_BCM1480_HSP_RX_RSP_DAT_PHITCNT    24
727#define M_BCM1480_HSP_RX_RSP_DAT_PHITCNT    _SB_MAKEMASK(8,S_BCM1480_HSP_RX_RSP_DAT_PHITCNT)
728#define V_BCM1480_HSP_RX_RSP_DAT_PHITCNT(x) _SB_MAKEVALUE(x,S_BCM1480_HSP_RX_RSP_DAT_PHITCNT)
729#define G_BCM1480_HSP_RX_RSP_DAT_PHITCNT(x) _SB_GETVALUE(x,S_BCM1480_HSP_RX_RSP_DAT_PHITCNT,M_BCM1480_HSP_RX_RSP_DAT_PHITCNT)
730
731#define S_BCM1480_HSP_RX_PC_CMD_PHITCNT     32
732#define M_BCM1480_HSP_RX_PC_CMD_PHITCNT     _SB_MAKEMASK(8,S_BCM1480_HSP_RX_PC_CMD_PHITCNT)
733#define V_BCM1480_HSP_RX_PC_CMD_PHITCNT(x)  _SB_MAKEVALUE(x,S_BCM1480_HSP_RX_PC_CMD_PHITCNT)
734#define G_BCM1480_HSP_RX_PC_CMD_PHITCNT(x)  _SB_GETVALUE(x,S_BCM1480_HSP_RX_PC_CMD_PHITCNT,M_BCM1480_HSP_RX_PC_CMD_PHITCNT)
735
736#define S_BCM1480_HSP_RX_PC_DAT_PHITCNT     48
737#define M_BCM1480_HSP_RX_PC_DAT_PHITCNT     _SB_MAKEMASK(8,S_BCM1480_HSP_RX_PC_DAT_PHITCNT)
738#define V_BCM1480_HSP_RX_PC_DAT_PHITCNT(x)  _SB_MAKEVALUE(x,S_BCM1480_HSP_RX_PC_DAT_PHITCNT)
739#define G_BCM1480_HSP_RX_PC_DAT_PHITCNT(x)  _SB_GETVALUE(x,S_BCM1480_HSP_RX_PC_DAT_PHITCNT,M_BCM1480_HSP_RX_PC_DAT_PHITCNT)
740
741/*
742 * TX HTCC Buffer Allocation Registers (Table 370)
743 */
744
745#define S_BCM1480_HSP_TX_HTCC_PRB_PHITCNT          0
746#define M_BCM1480_HSP_TX_HTCC_PRB_PHITCNT          _SB_MAKEMASK(8,S_BCM1480_HSP_TX_HTCC_PRB_PHITCNT)
747#define V_BCM1480_HSP_TX_HTCC_PRB_PHITCNT(x)       _SB_MAKEVALUE(x,S_BCM1480_HSP_TX_HTCC_PRB_PHITCNT)
748#define G_BCM1480_HSP_TX_HTCC_PRB_PHITCNT(x)       _SB_GETVALUE(x,S_BCM1480_HSP_TX_HTCC_PRB_PHITCNT,M_BCM1480_HSP_TX_HTCC_PRB_PHITCNT)
749
750#define S_BCM1480_HSP_TX_HTCC_ACK_PHITCNT          8
751#define M_BCM1480_HSP_TX_HTCC_ACK_PHITCNT          _SB_MAKEMASK(8,S_BCM1480_HSP_TX_HTCC_ACK_PHITCNT)
752#define V_BCM1480_HSP_TX_HTCC_ACK_PHITCNT(x)       _SB_MAKEVALUE(x,S_BCM1480_HSP_TX_HTCC_ACK_PHITCNT)
753#define G_BCM1480_HSP_TX_HTCC_ACK_PHITCNT(x)       _SB_GETVALUE(x,S_BCM1480_HSP_TX_HTCC_ACK_PHITCNT,M_BCM1480_HSP_TX_HTCC_ACK_PHITCNT)
754
755#define S_BCM1480_HSP_TX_HTCC_WB_PHITCNT          24
756#define M_BCM1480_HSP_TX_HTCC_WB_PHITCNT          _SB_MAKEMASK(8,S_BCM1480_HSP_TX_HTCC_WB_PHITCNT)
757#define V_BCM1480_HSP_TX_HTCC_WB_PHITCNT(x)       _SB_MAKEVALUE(x,S_BCM1480_HSP_TX_HTCC_WB_PHITCNT)
758#define G_BCM1480_HSP_TX_HTCC_WB_PHITCNT(x)       _SB_GETVALUE(x,S_BCM1480_HSP_TX_HTCC_WB_PHITCNT,M_BCM1480_HSP_TX_HTCC_WB_PHITCNT)
759
760#define S_BCM1480_HSP_TX_HTCC_CFILL_PHITCNT          32
761#define M_BCM1480_HSP_TX_HTCC_CFILL_PHITCNT          _SB_MAKEMASK(8,S_BCM1480_HSP_TX_HTCC_CFILL_PHITCNT)
762#define V_BCM1480_HSP_TX_HTCC_CFILL_PHITCNT(x)       _SB_MAKEVALUE(x,S_BCM1480_HSP_TX_HTCC_CFILL_PHITCNT)
763#define G_BCM1480_HSP_TX_HTCC_CFILL_PHITCNT(x)       _SB_GETVALUE(x,S_BCM1480_HSP_TX_HTCC_CFILL_PHITCNT,M_BCM1480_HSP_TX_HTCC_CFILL_PHITCNT)
764
765#define S_BCM1480_HSP_TX_HTCC_CRD_PHITCNT          40
766#define M_BCM1480_HSP_TX_HTCC_CRD_PHITCNT          _SB_MAKEMASK(8,S_BCM1480_HSP_TX_HTCC_CRD_PHITCNT)
767#define V_BCM1480_HSP_TX_HTCC_CRD_PHITCNT(x)       _SB_MAKEVALUE(x,S_BCM1480_HSP_TX_HTCC_CRD_PHITCNT)
768#define G_BCM1480_HSP_TX_HTCC_CRD_PHITCNT(x)       _SB_GETVALUE(x,S_BCM1480_HSP_TX_HTCC_CRD_PHITCNT,M_BCM1480_HSP_TX_HTCC_CRD_PHITCNT)
769
770/*
771 * TX Packet Buffer Allocation Registers (Table 371)
772 */
773
774#define S_BCM1480_HSP_TX_PHITCNT_0          0
775#define M_BCM1480_HSP_TX_PHITCNT_0          _SB_MAKEMASK(8,S_BCM1480_HSP_TX_PHITCNT_0)
776#define V_BCM1480_HSP_TX_PHITCNT_0(x)       _SB_MAKEVALUE(x,S_BCM1480_HSP_TX_PHITCNT_0)
777#define G_BCM1480_HSP_TX_PHITCNT_0(x)       _SB_GETVALUE(x,S_BCM1480_HSP_TX_PHITCNT_0,M_BCM1480_HSP_TX_PHITCNT_0)
778
779#define S_BCM1480_HSP_TX_PHITCNT_1          16
780#define M_BCM1480_HSP_TX_PHITCNT_1          _SB_MAKEMASK(8,S_BCM1480_HSP_TX_PHITCNT_1)
781#define V_BCM1480_HSP_TX_PHITCNT_1(x)       _SB_MAKEVALUE(x,S_BCM1480_HSP_TX_PHITCNT_1)
782#define G_BCM1480_HSP_TX_PHITCNT_1(x)       _SB_GETVALUE(x,S_BCM1480_HSP_TX_PHITCNT_1,M_BCM1480_HSP_TX_RAMPHITCNT_1)
783
784#define S_BCM1480_HSP_TX_PHITCNT_2          32
785#define M_BCM1480_HSP_TX_PHITCNT_2          _SB_MAKEMASK(8,S_BCM1480_HSP_TX_PHITCNT_2)
786#define V_BCM1480_HSP_TX_PHITCNT_2(x)       _SB_MAKEVALUE(x,S_BCM1480_HSP_TX_PHITCNT_2)
787#define G_BCM1480_HSP_TX_PHITCNT_2(x)       _SB_GETVALUE(x,S_BCM1480_HSP_TX_PHITCNT_2,M_BCM1480_HSP_TX_PHITCNT_2)
788
789#define S_BCM1480_HSP_TX_PHITCNT_3          48
790#define M_BCM1480_HSP_TX_PHITCNT_3          _SB_MAKEMASK(8,S_BCM1480_HSP_TX_PHITCNT_3)
791#define V_BCM1480_HSP_TX_PHITCNT_3(x)       _SB_MAKEVALUE(x,S_BCM1480_HSP_TX_PHITCNT_3)
792#define G_BCM1480_HSP_TX_PHITCNT_3(x)       _SB_GETVALUE(x,S_BCM1480_HSP_TX_PHITCNT_3,M_BCM1480_HSP_TX_RAMPHITCNT_3)
793
794/*
795 * TX Non-Posted Command (NPC) Allocation Register (Table 372)
796 */
797
798#define S_BCM1480_HSP_TX_NPC_PHITCNT          0
799#define M_BCM1480_HSP_TX_NPC_PHITCNT          _SB_MAKEMASK(8,S_BCM1480_HSP_TX_NPC_PHITCNT)
800#define V_BCM1480_HSP_TX_NPC_PHITCNT(x)       _SB_MAKEVALUE(x,S_BCM1480_HSP_TX_NPC_PHITCNT)
801#define G_BCM1480_HSP_TX_NPC_PHITCNT(x)       _SB_GETVALUE(x,S_BCM1480_HSP_TX_NPC_PHITCNT,M_BCM1480_HSP_TX_NPC_PHITCNT)
802
803#define S_BCM1480_HSP_TX_RSP_PHITCNT          24
804#define M_BCM1480_HSP_TX_RSP_PHITCNT          _SB_MAKEMASK(8,S_BCM1480_HSP_TX_RSP_PHITCNT)
805#define V_BCM1480_HSP_TX_RSP_PHITCNT(x)       _SB_MAKEVALUE(x,S_BCM1480_HSP_TX_RSP_PHITCNT)
806#define G_BCM1480_HSP_TX_RSP_PHITCNT(x)       _SB_GETVALUE(x,S_BCM1480_HSP_TX_RSP_PHITCNT,M_BCM1480_HSP_TX_RSP_PHITCNT)
807
808#define S_BCM1480_HSP_TX_PC_PHITCNT           48
809#define M_BCM1480_HSP_TX_PC_PHITCNT           _SB_MAKEMASK(8,S_BCM1480_HSP_TX_PC_PHITCNT)
810#define V_BCM1480_HSP_TX_PC_PHITCNT(x)        _SB_MAKEVALUE(x,S_BCM1480_HSP_TX_PC_PHITCNT)
811#define G_BCM1480_HSP_TX_PC_PHITCNT(x)        _SB_GETVALUE(x,S_BCM1480_HSP_TX_PC_PHITCNT,M_BCM1480_HSP_TX_PC_PHITCNT)
812
813#define S_BCM1480_HSP_TX_NEXT_ADDR_EVEN       0
814#define M_BCM1480_HSP_TX_NEXT_ADDR_EVEN       _SB_MAKEMASK(32,S_BCM1480_HSP_TX_NEXT_ADDR_EVEN)
815#define V_BCM1480_HSP_TX_NEXT_ADDR_EVEN(x)    _SB_MAKEVALUE(x,S_BCM1480_HSP_TX_NEXT_ADDR_EVEN)
816#define G_BCM1480_HSP_TX_NEXT_ADDR_EVEN(x)    _SB_GETVALUE(x,S_BCM1480_HSP_TX_NEXT_ADDR_EVEN,M_BCM1480_HSP_TX_NEXT_ADDR_EVEN)
817
818#define S_BCM1480_HSP_TX_NEXT_ADDR_ODD       32
819#define M_BCM1480_HSP_TX_NEXT_ADDR_ODD       _SB_MAKEMASK(32,S_BCM1480_HSP_TX_NEXT_ADDR_ODD)
820#define V_BCM1480_HSP_TX_NEXT_ADDR_ODD(x)    _SB_MAKEVALUE(x,S_BCM1480_HSP_TX_NEXT_ADDR_ODD)
821#define G_BCM1480_HSP_TX_NEXT_ADDR_ODD(x)    _SB_GETVALUE(x,S_BCM1480_HSP_TX_NEXT_ADDR_ODD,M_BCM1480_HSP_TX_NEXT_ADDR_ODD)
822
823/*
824 * TX HTCC Physical Unot Count (Table 373)
825 */
826
827/* See definitions for table 370. */
828
829/*  *********************************************************************
830    *  Managability/Testability registers
831    *  BROADCOM USE ONLY
832    ********************************************************************* */
833
834/*
835 * RX PLL Config (Table 374)
836 * BROADCOM USE ONLY
837 */
838
839#define S_BCM1480_HSP_RXPLL_FREQF_SEL                0
840#define M_BCM1480_HSP_RXPLL_FREQF_SEL                _SB_MAKEMASK(4,S_BCM1480_HSP_RXPLL_FREQF_SEL)
841#define V_BCM1480_HSP_RXPLL_FREQF_SEL(x)             _SB_MAKEVALUE(x,S_BCM1480_HSP_RXPLL_FREQF_SEL)
842#define G_BCM1480_HSP_RXPLL_FREQF_SEL(x)             _SB_GETVALUE(x,S_BCM1480_HSP_RXPLL_FREQF_SEL,M_BCM1480_HSP_RXPLL_FREQF_SEL)
843
844#define S_BCM1480_HSP_RXPLL_FDBK_SEL                4
845#define M_BCM1480_HSP_RXPLL_FDBK_SEL                _SB_MAKEMASK(4,S_BCM1480_HSP_RXPLL_FDBK_SEL)
846#define V_BCM1480_HSP_RXPLL_FDBK_SEL(x)             _SB_MAKEVALUE(x,S_BCM1480_HSP_RXPLL_FDBK_SEL)
847#define G_BCM1480_HSP_RXPLL_FDBK_SEL(x)             _SB_GETVALUE(x,S_BCM1480_HSP_RXPLL_FDBK_SEL,M_BCM1480_HSP_RXPLL_FDBK_SEL)
848
849#define S_BCM1480_HSP_RXPLL_VCO_RANGE                8
850#define M_BCM1480_HSP_RXPLL_VCO_RANGE                _SB_MAKEMASK(2,S_BCM1480_HSP_RXPLL_VCO_RANGE)
851#define V_BCM1480_HSP_RXPLL_VCO_RANGE(x)             _SB_MAKEVALUE(x,S_BCM1480_HSP_RXPLL_VCO_RANGE)
852#define G_BCM1480_HSP_RXPLL_VCO_RANGE(x)             _SB_GETVALUE(x,S_BCM1480_HSP_RXPLL_VCO_RANGE,M_BCM1480_HSP_RXPLL_VCO_RANGE)
853
854#define M_BCM1480_HSP_RXPLL_DIV4 		_SB_MAKEMASK1(10)
855#define M_BCM1480_HSP_RXPLL_PLLOVERRIDE		_SB_MAKEMASK1(12)
856#define M_BCM1480_HSP_RXPLL_VCOOVERRIDE		_SB_MAKEMASK1(13)
857
858#define S_BCM1480_HSP_RXPLL_RX_PLLTEST                14
859#define M_BCM1480_HSP_RXPLL_RX_PLLTEST                _SB_MAKEMASK(2,S_BCM1480_HSP_RXPLL_RX_PLLTEST)
860#define V_BCM1480_HSP_RXPLL_RX_PLLTEST(x)             _SB_MAKEVALUE(x,S_BCM1480_HSP_RXPLL_RX_PLLTEST)
861#define G_BCM1480_HSP_RXPLL_RX_PLLTEST(x)             _SB_GETVALUE(x,S_BCM1480_HSP_RXPLL_RX_PLLTEST,M_BCM1480_HSP_RXPLL_RX_PLLTEST)
862
863#define S_BCM1480_HSP_RXPLL_RX_PLLCTRL                16
864#define M_BCM1480_HSP_RXPLL_RX_PLLCTRL                _SB_MAKEMASK(6,S_BCM1480_HSP_RXPLL_RX_PLLCTRL)
865#define V_BCM1480_HSP_RXPLL_RX_PLLCTRL(x)             _SB_MAKEVALUE(x,S_BCM1480_HSP_RXPLL_RX_PLLCTRL)
866#define G_BCM1480_HSP_RXPLL_RX_PLLCTRL(x)             _SB_GETVALUE(x,S_BCM1480_HSP_RXPLL_RX_PLLCTRL,M_BCM1480_HSP_RXPLL_RX_PLLCTRL)
867
868
869/*
870 * TX PLL Config (Table 375)
871 * BROADCOM USE ONLY
872 */
873
874#define S_BCM1480_HSP_TXPLL_FREQF_SEL                0
875#define M_BCM1480_HSP_TXPLL_FREQF_SEL                _SB_MAKEMASK(4,S_BCM1480_HSP_TXPLL_FREQF_SEL)
876#define V_BCM1480_HSP_TXPLL_FREQF_SEL(x)             _SB_MAKEVALUE(x,S_BCM1480_HSP_TXPLL_FREQF_SEL)
877#define G_BCM1480_HSP_TXPLL_FREQF_SEL(x)             _SB_GETVALUE(x,S_BCM1480_HSP_TXPLL_FREQF_SEL,M_BCM1480_HSP_TXPLL_FREQF_SEL)
878
879#define S_BCM1480_HSP_TXPLL_FDBK_SEL                4
880#define M_BCM1480_HSP_TXPLL_FDBK_SEL                _SB_MAKEMASK(4,S_BCM1480_HSP_TXPLL_FDBK_SEL)
881#define V_BCM1480_HSP_TXPLL_FDBK_SEL(x)             _SB_MAKEVALUE(x,S_BCM1480_HSP_TXPLL_FDBK_SEL)
882#define G_BCM1480_HSP_TXPLL_FDBK_SEL(x)             _SB_GETVALUE(x,S_BCM1480_HSP_TXPLL_FDBK_SEL,M_BCM1480_HSP_TXPLL_FDBK_SEL)
883
884#define S_BCM1480_HSP_TXPLL_VCO_RANGE                8
885#define M_BCM1480_HSP_TXPLL_VCO_RANGE                _SB_MAKEMASK(2,S_BCM1480_HSP_TXPLL_VCO_RANGE)
886#define V_BCM1480_HSP_TXPLL_VCO_RANGE(x)             _SB_MAKEVALUE(x,S_BCM1480_HSP_TXPLL_VCO_RANGE)
887#define G_BCM1480_HSP_TXPLL_VCO_RANGE(x)             _SB_GETVALUE(x,S_BCM1480_HSP_TXPLL_VCO_RANGE,M_BCM1480_HSP_TXPLL_VCO_RANGE)
888
889#define M_BCM1480_HSP_TXPLL_DIV4 		_SB_MAKEMASK1(10)
890#define M_BCM1480_HSP_TXPLL_ESTOREDEPTH8	_SB_MAKEMASK1(11)
891#define M_BCM1480_HSP_TXPLL_PLLOVERRIDE		_SB_MAKEMASK1(12)
892#define M_BCM1480_HSP_TXPLL_VCOOVERRIDE		_SB_MAKEMASK1(13)
893
894#define S_BCM1480_HSP_TXPLL_TX_PLLTEST                14
895#define M_BCM1480_HSP_TXPLL_TX_PLLTEST                _SB_MAKEMASK(2,S_BCM1480_HSP_TXPLL_TX_PLLTEST)
896#define V_BCM1480_HSP_TXPLL_TX_PLLTEST(x)             _SB_MAKEVALUE(x,S_BCM1480_HSP_TXPLL_TX_PLLTEST)
897#define G_BCM1480_HSP_TXPLL_TX_PLLTEST(x)             _SB_GETVALUE(x,S_BCM1480_HSP_TXPLL_TX_PLLTEST,M_BCM1480_HSP_TXPLL_TX_PLLTEST)
898
899#define S_BCM1480_HSP_TXPLL_TX_PLLCTRL                16
900#define M_BCM1480_HSP_TXPLL_TX_PLLCTRL                _SB_MAKEMASK(6,S_BCM1480_HSP_TXPLL_TX_PLLCTRL)
901#define V_BCM1480_HSP_TXPLL_TX_PLLCTRL(x)             _SB_MAKEVALUE(x,S_BCM1480_HSP_TXPLL_TX_PLLCTRL)
902#define G_BCM1480_HSP_TXPLL_TX_PLLCTRL(x)             _SB_GETVALUE(x,S_BCM1480_HSP_TXPLL_TX_PLLCTRL,M_BCM1480_HSP_TXPLL_TX_PLLCTRL)
903
904/*
905 * RX and TX calibration registers (Table 376)
906 * BROADCOM USE ONLY
907 */
908
909#define M_BCM1480_HSP_CAL_STARTCAL2	_SB_MAKEMASK1(0)
910#define M_BCM1480_HSP_CAL_PDTEST	_SB_MAKEMASK1(1)
911#define M_BCM1480_HSP_CAL_CALFIN	_SB_MAKEMASK1(2)
912#define M_BCM1480_HSP_CAL_S100M66M	_SB_MAKEMASK1(3)
913#define M_BCM1480_HSP_CAL_NO_CALIB	_SB_MAKEMASK1(4)
914
915#define S_BCM1480_HSP_CAL_BMODE                5
916#define M_BCM1480_HSP_CAL_BMODE                _SB_MAKEMASK(2,S_BCM1480_HSP_CAL_BMODE)
917#define V_BCM1480_HSP_CAL_BMODE(x)             _SB_MAKEVALUE(x,S_BCM1480_HSP_CAL_BMODE)
918#define G_BCM1480_HSP_CAL_BMODE(x)             _SB_GETVALUE(x,S_BCM1480_HSP_CAL_BMODE,M_BCM1480_HSP_CAL_BMODE)
919
920#define S_BCM1480_HSP_CAL_CALSETP                8
921#define M_BCM1480_HSP_CAL_CALSETP                _SB_MAKEMASK(4,S_BCM1480_HSP_CAL_CALSETP)
922#define V_BCM1480_HSP_CAL_CALSETP(x)             _SB_MAKEVALUE(x,S_BCM1480_HSP_CAL_CALSETP)
923#define G_BCM1480_HSP_CAL_CALSETP(x)             _SB_GETVALUE(x,S_BCM1480_HSP_CAL_CALSETP,M_BCM1480_HSP_CAL_CALSETP)
924
925#define S_BCM1480_HSP_CAL_CALSETN                12
926#define M_BCM1480_HSP_CAL_CALSETN                _SB_MAKEMASK(4,S_BCM1480_HSP_CAL_CALSETN)
927#define V_BCM1480_HSP_CAL_CALSETN(x)             _SB_MAKEVALUE(x,S_BCM1480_HSP_CAL_CALSETN)
928#define G_BCM1480_HSP_CAL_CALSETN(x)             _SB_GETVALUE(x,S_BCM1480_HSP_CAL_CALSETN,M_BCM1480_HSP_CAL_CALSETN)
929
930#define S_BCM1480_HSP_CAL_CALPSTAT                16
931#define M_BCM1480_HSP_CAL_CALPSTAT                _SB_MAKEMASK(4,S_BCM1480_HSP_CAL_CALPSTAT)
932#define V_BCM1480_HSP_CAL_CALPSTAT(x)             _SB_MAKEVALUE(x,S_BCM1480_HSP_CAL_CALPSTAT)
933#define G_BCM1480_HSP_CAL_CALPSTAT(x)             _SB_GETVALUE(x,S_BCM1480_HSP_CAL_CALPSTAT,M_BCM1480_HSP_CAL_CALPSTAT)
934
935#define S_BCM1480_HSP_CAL_CALNSTAT                20
936#define M_BCM1480_HSP_CAL_CALNSTAT                _SB_MAKEMASK(4,S_BCM1480_HSP_CAL_CALNSTAT)
937#define V_BCM1480_HSP_CAL_CALNSTAT(x)             _SB_MAKEVALUE(x,S_BCM1480_HSP_CAL_CALNSTAT)
938#define G_BCM1480_HSP_CAL_CALNSTAT(x)             _SB_GETVALUE(x,S_BCM1480_HSP_CAL_CALNSTAT,M_BCM1480_HSP_CAL_CALNSTAT)
939
940
941/*
942 * RX Testability (Table 377)
943 * BROADCOM USE ONLY
944 */
945
946
947#define S_BCM1480_HSP_RXTST_EWRAP                1
948#define M_BCM1480_HSP_RXTST_EWRAP                _SB_MAKEMASK(2,S_BCM1480_HSP_RXTST_EWRAP)
949#define V_BCM1480_HSP_RXTST_EWRAP(x)             _SB_MAKEVALUE(x,S_BCM1480_HSP_RXTST_EWRAP)
950#define G_BCM1480_HSP_RXTST_EWRAP(x)             _SB_GETVALUE(x,S_BCM1480_HSP_RXTST_EWRAP,M_BCM1480_HSP_RXTST_EWRAP)
951
952#define M_BCM1480_HSP_RXTST_RXDLL_FREEZE         _SB_MAKEMASK1(4)
953#define M_BCM1480_HSP_RXTST_TX_PLL_BYPASS        _SB_MAKEMASK1(5)
954#define M_BCM1480_HSP_RXTST_RX_PLL_BYPASS        _SB_MAKEMASK1(6)
955#define M_BCM1480_HSP_RXTST_DLL_CHRESET_ENABLE   _SB_MAKEMASK1(7)
956
957#define S_BCM1480_HSP_RXTST_RX_ICNTRL             8
958#define M_BCM1480_HSP_RXTST_RX_ICNTRL             _SB_MAKEMASK(12,S_BCM1480_HSP_RXTST_RX_ICNTRL)
959#define V_BCM1480_HSP_RXTST_RX_ICNTRL(x)          _SB_MAKEVALUE(x,S_BCM1480_HSP_RXTST_RX_ICNTRL)
960#define G_BCM1480_HSP_RXTST_RX_ICNTRL(x)          _SB_GETVALUE(x,S_BCM1480_HSP_RXTST_RX_ICNTRL,M_BCM1480_HSP_RXTST_RX_ICNTRL)
961
962#define S_BCM1480_HSP_RXTST_RX_RCNTRL            20
963#define M_BCM1480_HSP_RXTST_RX_RCNTRL            _SB_MAKEMASK(3,S_BCM1480_HSP_RXTST_RX_RCNTRL)
964#define V_BCM1480_HSP_RXTST_RX_RCNTRL(x)         _SB_MAKEVALUE(x,S_BCM1480_HSP_RXTST_RX_RCNTRL)
965#define G_BCM1480_HSP_RXTST_RX_RCNTRL(x)         _SB_GETVALUE(x,S_BCM1480_HSP_RXTST_RX_RCNTRL,M_BCM1480_HSP_RXTST_RX_RCNTRL)
966
967#define S_BCM1480_HSP_RXTST_RX_GCNTRL            24
968#define M_BCM1480_HSP_RXTST_RX_GCNTRL            _SB_MAKEMASK(3,S_BCM1480_HSP_RXTST_RX_GCNTRL)
969#define V_BCM1480_HSP_RXTST_RX_GCNTRL(x)         _SB_MAKEVALUE(x,S_BCM1480_HSP_RXTST_RX_GCNTRL)
970#define G_BCM1480_HSP_RXTST_RX_GCNTRL(x)         _SB_GETVALUE(x,S_BCM1480_HSP_RXTST_RX_GCNTRL,M_BCM1480_HSP_RXTST_RX_GCNTRL)
971
972#define S_BCM1480_HSP_RXTST_RX_OORCNTRL          28
973#define M_BCM1480_HSP_RXTST_RX_OORCNTRL          _SB_MAKEMASK(2,S_BCM1480_HSP_RXTST_RX_OORCNTRL)
974#define V_BCM1480_HSP_RXTST_RX_OORCNTRL(x)       _SB_MAKEVALUE(x,S_BCM1480_HSP_RXTST_RX_OORCNTRL)
975#define G_BCM1480_HSP_RXTST_RX_OORCNTRL(x)       _SB_GETVALUE(x,S_BCM1480_HSP_RXTST_RX_OORCNTRL,M_BCM1480_HSP_RXTST_RX_OORCNTRL)
976
977#define S_BCM1480_HSP_RXTST_RX_CNTRL             32
978#define M_BCM1480_HSP_RXTST_RX_CNTRL             _SB_MAKEMASK(3,S_BCM1480_HSP_RXTST_RX_CNTRL)
979#define V_BCM1480_HSP_RXTST_RX_CNTRL(x)          _SB_MAKEVALUE(x,S_BCM1480_HSP_RXTST_RX_CNTRL)
980#define G_BCM1480_HSP_RXTST_RX_CNTRL(x)          _SB_GETVALUE(x,S_BCM1480_HSP_RXTST_RX_CNTRL,M_BCM1480_HSP_RXTST_RX_CNTRL)
981
982#define S_BCM1480_HSP_RXTST_RX_LPBK_PHASE_SEL_RXA            35
983#define M_BCM1480_HSP_RXTST_RX_LPBK_PHASE_SEL_RXA            _SB_MAKEMASK(3,S_BCM1480_HSP_RXTST_RX_LPBK_PHASE_SEL_RXA)
984#define V_BCM1480_HSP_RXTST_RX_LPBK_PHASE_SEL_RXA(x)         _SB_MAKEVALUE(x,S_BCM1480_HSP_RXTST_RX_LPBK_PHASE_SEL_RXA)
985#define G_BCM1480_HSP_RXTST_RX_LPBK_PHASE_SEL_RXA(x)         _SB_GETVALUE(x,S_BCM1480_HSP_RXTST_RX_LPBK_PHASE_SEL_RXA,M_BCM1480_HSP_RXTST_RX_LPBK_PHASE_SEL_RXA)
986
987#define M_BCM1480_HSP_RXTST_DIP4_CHECK_DISABLE   _SB_MAKEMASK1(38)
988#define M_BCM1480_HSP_RXTST_EBUF_WREN            _SB_MAKEMASK1(40)
989#define M_BCM1480_HSP_RXTST_DIGITAL_LOOPBACK     _SB_MAKEMASK1(41)
990#define M_BCM1480_HSP_RXTST_EBUF_BURST_MODE      _SB_MAKEMASK1(42)
991#define M_BCM1480_HSP_RXTST_RESET_STOP_STREAM    _SB_MAKEMASK1(43)
992
993#define S_BCM1480_HSP_RXTST_RX_BIAS            44
994#define M_BCM1480_HSP_RXTST_RX_BIAS            _SB_MAKEMASK(2,S_BCM1480_HSP_RXTST_RX_BIAS)
995#define V_BCM1480_HSP_RXTST_RX_BIAS(x)         _SB_MAKEVALUE(x,S_BCM1480_HSP_RXTST_RX_BIAS)
996#define G_BCM1480_HSP_RXTST_RX_BIAS(x)         _SB_GETVALUE(x,S_BCM1480_HSP_RXTST_RX_BIAS,M_BCM1480_HSP_RXTST_RX_BIAS)
997
998/*
999 * TX Testability (Table 378)
1000 * BROADCOM USE ONLY
1001 */
1002
1003#define S_BCM1480_HSP_TXTST_CTL            0
1004#define M_BCM1480_HSP_TXTST_CTL            _SB_MAKEMASK(3,S_BCM1480_HSP_TXTST_CTL)
1005#define V_BCM1480_HSP_TXTST_CTL(x)         _SB_MAKEVALUE(x,S_BCM1480_HSP_TXTST_CTL)
1006#define G_BCM1480_HSP_TXTST_CTL(x)         _SB_GETVALUE(x,S_BCM1480_HSP_TXTST_CTL,M_BCM1480_HSP_TXTST_CTL)
1007
1008#define S_BCM1480_HSP_TXTST_BIAS            4
1009#define M_BCM1480_HSP_TXTST_BIAS            _SB_MAKEMASK(4,S_BCM1480_HSP_TXTST_BIAS)
1010#define V_BCM1480_HSP_TXTST_BIAS(x)         _SB_MAKEVALUE(x,S_BCM1480_HSP_TXTST_BIAS)
1011#define G_BCM1480_HSP_TXTST_BIAS(x)         _SB_GETVALUE(x,S_BCM1480_HSP_TXTST_BIAS,M_BCM1480_HSP_TXTST_BIAS)
1012
1013#define S_BCM1480_HSP_TXTST_VCOM_CTL            8
1014#define M_BCM1480_HSP_TXTST_VCOM_CTL            _SB_MAKEMASK(4,S_BCM1480_HSP_TXTST_VCOM_CTL)
1015#define V_BCM1480_HSP_TXTST_VCOM_CTL(x)         _SB_MAKEVALUE(x,S_BCM1480_HSP_TXTST_VCOM_CTL)
1016#define G_BCM1480_HSP_TXTST_VCOM_CTL(x)         _SB_GETVALUE(x,S_BCM1480_HSP_TXTST_VCOM_CTL,M_BCM1480_HSP_TXTST_VCOM_CTL)
1017
1018#define S_BCM1480_HSP_TXTST_MUX_CTL            12
1019#define M_BCM1480_HSP_TXTST_MUX_CTL            _SB_MAKEMASK(4,S_BCM1480_HSP_TXTST_MUX_CTL)
1020#define V_BCM1480_HSP_TXTST_MUX_CTL(x)         _SB_MAKEVALUE(x,S_BCM1480_HSP_TXTST_MUX_CTL)
1021#define G_BCM1480_HSP_TXTST_MUX_CTL(x)         _SB_GETVALUE(x,S_BCM1480_HSP_TXTST_MUX_CTL,M_BCM1480_HSP_TXTST_MUX_CTL)
1022
1023#define S_BCM1480_HSP_TXTST_SLEWP_CTL            16
1024#define M_BCM1480_HSP_TXTST_SLEWP_CTL            _SB_MAKEMASK(2,S_BCM1480_HSP_TXTST_SLEWP_CTL)
1025#define V_BCM1480_HSP_TXTST_SLEWP_CTL(x)         _SB_MAKEVALUE(x,S_BCM1480_HSP_TXTST_SLEWP_CTL)
1026#define G_BCM1480_HSP_TXTST_SLEWP_CTL(x)         _SB_GETVALUE(x,S_BCM1480_HSP_TXTST_SLEWP_CTL,M_BCM1480_HSP_TXTST_SLEWP_CTL)
1027
1028#define S_BCM1480_HSP_TXTST_SLEWN_CTL            18
1029#define M_BCM1480_HSP_TXTST_SLEWN_CTL            _SB_MAKEMASK(2,S_BCM1480_HSP_TXTST_SLEWN_CTL)
1030#define V_BCM1480_HSP_TXTST_SLEWN_CTL(x)         _SB_MAKEVALUE(x,S_BCM1480_HSP_TXTST_SLEWN_CTL)
1031#define G_BCM1480_HSP_TXTST_SLEWN_CTL(x)         _SB_GETVALUE(x,S_BCM1480_HSP_TXTST_SLEWN_CTL,M_BCM1480_HSP_TXTST_SLEWN_CTL)
1032
1033#define S_BCM1480_HSP_TXTST_CURR_CTL            20
1034#define M_BCM1480_HSP_TXTST_CURR_CTL            _SB_MAKEMASK(2,S_BCM1480_HSP_TXTST_CURR_CTL)
1035#define V_BCM1480_HSP_TXTST_CURR_CTL(x)         _SB_MAKEVALUE(x,S_BCM1480_HSP_TXTST_CURR_CTL)
1036#define G_BCM1480_HSP_TXTST_CURR_CTL(x)         _SB_GETVALUE(x,S_BCM1480_HSP_TXTST_CURR_CTL,M_BCM1480_HSP_TXTST_CURR_CTL)
1037
1038/*
1039 * XXX TBD: TABLES 379, 380, 381
1040 * BROADCOM USE ONLY
1041 */
1042
1043/*
1044 * RX RAM Visibility (Table 382, 383)
1045 * BROADCOM USE ONLY
1046 */
1047
1048#define S_BCM1480_HSP_RXVIS_RAM            0
1049#define M_BCM1480_HSP_RXVIS_RAM            _SB_MAKEMASK(3,S_BCM1480_HSP_RXVIS_RAM)
1050#define V_BCM1480_HSP_RXVIS_RAM(x)         _SB_MAKEVALUE(x,S_BCM1480_HSP_RXVIS_RAM)
1051#define G_BCM1480_HSP_RXVIS_RAM(x)         _SB_GETVALUE(x,S_BCM1480_HSP_RXVIS_RAM,M_BCM1480_HSP_RXVIS_RAM)
1052
1053#define K_BCM1480_HSP_RXVIS_RAM_ERAM	0
1054#define K_BCM1480_HSP_RXVIS_RAM_HRAM	1
1055#define K_BCM1480_HSP_RXVIS_RAM_DRAM_0_63	3
1056#define K_BCM1480_HSP_RXVIS_RAM_DRAM_64_127	4
1057#define K_BCM1480_HSP_RXVIS_RAM_DRAM_128_151	5
1058
1059#define S_BCM1480_HSP_RXVIS_RAM_ADDR            16
1060#define M_BCM1480_HSP_RXVIS_RAM_ADDR            _SB_MAKEMASK(16,S_BCM1480_HSP_RXVIS_RAM_ADDR)
1061#define V_BCM1480_HSP_RXVIS_RAM_ADDR(x)         _SB_MAKEVALUE(x,S_BCM1480_HSP_RXVIS_RAM_ADDR)
1062#define G_BCM1480_HSP_RXVIS_RAM_ADDR(x)         _SB_GETVALUE(x,S_BCM1480_HSP_RXVIS_RAM_ADDR,M_BCM1480_HSP_RXVIS_RAM_ADDR)
1063
1064
1065/*
1066 * RX RF RAM Visibility (Table 384, 385)
1067 * BROADCOM USE ONLY
1068 */
1069
1070#define S_BCM1480_HSP_RXRFVIS_RAM            0
1071#define M_BCM1480_HSP_RXRFVIS_RAM            _SB_MAKEMASK(4,S_BCM1480_HSP_RXRFVIS_RAM)
1072#define V_BCM1480_HSP_RXRFVIS_RAM(x)         _SB_MAKEVALUE(x,S_BCM1480_HSP_RXRFVIS_RAM)
1073#define G_BCM1480_HSP_RXRFVIS_RAM(x)         _SB_GETVALUE(x,S_BCM1480_HSP_RXRFVIS_RAM,M_BCM1480_HSP_RXRFVIS_RAM)
1074
1075#define K_BCM1480_HSP_RXRFVIS_RAM_REASS_0_63	0
1076#define K_BCM1480_HSP_RXRFVIS_RAM_REASS_64_127	1
1077#define K_BCM1480_HSP_RXRFVIS_RAM_REASS_META	2
1078#define K_BCM1480_HSP_RXRFVIS_RAM_PL12_RF	3
1079#define K_BCM1480_HSP_RXRFVIS_RAM_PL12_FLOPS	4
1080#define K_BCM1480_HSP_RXRFVIS_RAM_HEADPTRARRAY	5
1081#define K_BCM1480_HSP_RXRFVIS_RAM_TAILPTRARRAY	6
1082#define K_BCM1480_HSP_RXRFVIS_RAM_PRECABVAL	7
1083#define K_BCM1480_HSP_RXRFVIS_RAM_PHITCNTARRAY	8
1084
1085#define S_BCM1480_HSP_RXRFVIS_RAM_ADDR            8
1086#define M_BCM1480_HSP_RXRFVIS_RAM_ADDR            _SB_MAKEMASK(8,S_BCM1480_HSP_RXRFVIS_RAM_ADDR)
1087#define V_BCM1480_HSP_RXRFVIS_RAM_ADDR(x)         _SB_MAKEVALUE(x,S_BCM1480_HSP_RXRFVIS_RAM_ADDR)
1088#define G_BCM1480_HSP_RXRFVIS_RAM_ADDR(x)         _SB_GETVALUE(x,S_BCM1480_HSP_RXRFVIS_RAM_ADDR,M_BCM1480_HSP_RXRFVIS_RAM_ADDR)
1089
1090
1091/*
1092 * XXX TBD: Tables  386, 387, 388, 389
1093 * BROADCOM USE ONLY
1094 */
1095
1096/*
1097 * TX RAM Visibility (Table 390, 391)
1098 * BROADCOM USE ONLY
1099 */
1100
1101#define S_BCM1480_HSP_TXVIS_RAM            0
1102#define M_BCM1480_HSP_TXVIS_RAM            _SB_MAKEMASK(3,S_BCM1480_HSP_TXVIS_RAM)
1103#define V_BCM1480_HSP_TXVIS_RAM(x)         _SB_MAKEVALUE(x,S_BCM1480_HSP_TXVIS_RAM)
1104#define G_BCM1480_HSP_TXVIS_RAM(x)         _SB_GETVALUE(x,S_BCM1480_HSP_TXVIS_RAM,M_BCM1480_HSP_TXVIS_RAM)
1105
1106#define K_BCM1480_HSP_TXVIS_RAM_DRAM_0_63	0
1107#define K_BCM1480_HSP_TXVIS_RAM_DRAM_64_127	1
1108#define K_BCM1480_HSP_TXVIS_RAM_DRAM_128_151	2
1109
1110#define S_BCM1480_HSP_TXVIS_RAM_ADDR            16
1111#define M_BCM1480_HSP_TXVIS_RAM_ADDR            _SB_MAKEMASK(16,S_BCM1480_HSP_TXVIS_RAM_ADDR)
1112#define V_BCM1480_HSP_TXVIS_RAM_ADDR(x)         _SB_MAKEVALUE(x,S_BCM1480_HSP_TXVIS_RAM_ADDR)
1113#define G_BCM1480_HSP_TXVIS_RAM_ADDR(x)         _SB_GETVALUE(x,S_BCM1480_HSP_TXVIS_RAM_ADDR,M_BCM1480_HSP_TXVIS_RAM_ADDR)
1114
1115
1116/*
1117 * TX RF RAM Visibility (Table 392,393)
1118 * BROADCOM USE ONLY
1119 */
1120
1121#define S_BCM1480_HSP_TXRFVIS_RAM            0
1122#define M_BCM1480_HSP_TXRFVIS_RAM            _SB_MAKEMASK(4,S_BCM1480_HSP_TXRFVIS_RAM)
1123#define V_BCM1480_HSP_TXRFVIS_RAM(x)         _SB_MAKEVALUE(x,S_BCM1480_HSP_TXRFVIS_RAM)
1124#define G_BCM1480_HSP_TXRFVIS_RAM(x)         _SB_GETVALUE(x,S_BCM1480_HSP_TXRFVIS_RAM,M_BCM1480_HSP_TXRFVIS_RAM)
1125
1126#define K_BCM1480_HSP_TXRFVIS_RAM_HEADPTRARRAY	   	0
1127#define K_BCM1480_HSP_TXRFVIS_RAM_TAILPTRARRAY     	1
1128#define K_BCM1480_HSP_TXRFVIS_RAM_RFEVENDATA_0_63 	2
1129#define K_BCM1480_HSP_TXRFVIS_RAM_RFEVENDATA_64_71	3
1130#define K_BCM1480_HSP_TXRFVIS_RAM_RFEVENMETADATA	4
1131#define K_BCM1480_HSP_TXRFVIS_RAM_RFODDDATA_0_63	5
1132#define K_BCM1480_HSP_TXRFVIS_RAM_RFODDDATA_64_71	6
1133#define K_BCM1480_HSP_TXRFVIS_RAM_RFODDMETADATA		7
1134#define K_BCM1480_HSP_TXRFVIS_RAM_PHITCNTARRAY		8
1135#define K_BCM1480_HSP_TXRFVIS_RAM_PUSHPOP		9
1136#define K_BCM1480_HSP_TXRFVIS_RAM_IVCOK			10
1137
1138#define S_BCM1480_HSP_TXRFVIS_RAM_ADDR            8
1139#define M_BCM1480_HSP_TXRFVIS_RAM_ADDR            _SB_MAKEMASK(8,S_BCM1480_HSP_TXRFVIS_RAM_ADDR)
1140#define V_BCM1480_HSP_TXRFVIS_RAM_ADDR(x)         _SB_MAKEVALUE(x,S_BCM1480_HSP_TXRFVIS_RAM_ADDR)
1141#define G_BCM1480_HSP_TXRFVIS_RAM_ADDR(x)         _SB_GETVALUE(x,S_BCM1480_HSP_TXRFVIS_RAM_ADDR,M_BCM1480_HSP_TXRFVIS_RAM_ADDR)
1142
1143
1144#endif /* _BCM1480_HSP_H */
1145