Home | History | Annotate | Line # | Download | only in include
sb1250_ldt.h revision 1.3.2.1
      1      1.1  simonb /*  *********************************************************************
      2      1.1  simonb     *  SB1250 Board Support Package
      3      1.1  simonb     *
      4      1.1  simonb     *  LDT constants				File: sb1250_ldt.h
      5      1.1  simonb     *
      6      1.1  simonb     *  This module contains constants and macros to describe
      7      1.1  simonb     *  the LDT interface on the SB1250.
      8      1.1  simonb     *
      9      1.1  simonb     *  SB1250 specification level:  User's manual 1/02/02
     10      1.1  simonb     *
     11  1.3.2.1   skrll     *  Author:  Mitch Lichtenberg
     12      1.1  simonb     *
     13      1.1  simonb     *********************************************************************
     14      1.1  simonb     *
     15      1.3     cgd     *  Copyright 2000,2001,2002,2003
     16      1.1  simonb     *  Broadcom Corporation. All rights reserved.
     17      1.1  simonb     *
     18      1.1  simonb     *  This software is furnished under license and may be used and
     19      1.1  simonb     *  copied only in accordance with the following terms and
     20      1.1  simonb     *  conditions.  Subject to these conditions, you may download,
     21      1.1  simonb     *  copy, install, use, modify and distribute modified or unmodified
     22      1.1  simonb     *  copies of this software in source and/or binary form.  No title
     23      1.1  simonb     *  or ownership is transferred hereby.
     24      1.1  simonb     *
     25      1.1  simonb     *  1) Any source code used, modified or distributed must reproduce
     26      1.3     cgd     *     and retain this copyright notice and list of conditions
     27      1.3     cgd     *     as they appear in the source file.
     28      1.1  simonb     *
     29      1.1  simonb     *  2) No right is granted to use any trade name, trademark, or
     30      1.3     cgd     *     logo of Broadcom Corporation.  The "Broadcom Corporation"
     31      1.3     cgd     *     name may not be used to endorse or promote products derived
     32      1.3     cgd     *     from this software without the prior written permission of
     33      1.3     cgd     *     Broadcom Corporation.
     34      1.1  simonb     *
     35      1.1  simonb     *  3) THIS SOFTWARE IS PROVIDED "AS-IS" AND ANY EXPRESS OR
     36      1.3     cgd     *     IMPLIED WARRANTIES, INCLUDING BUT NOT LIMITED TO, ANY IMPLIED
     37      1.1  simonb     *     WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
     38      1.1  simonb     *     PURPOSE, OR NON-INFRINGEMENT ARE DISCLAIMED. IN NO EVENT
     39      1.1  simonb     *     SHALL BROADCOM BE LIABLE FOR ANY DAMAGES WHATSOEVER, AND IN
     40      1.3     cgd     *     PARTICULAR, BROADCOM SHALL NOT BE LIABLE FOR DIRECT, INDIRECT,
     41      1.1  simonb     *     INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
     42      1.3     cgd     *     (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
     43      1.1  simonb     *     GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
     44      1.1  simonb     *     BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
     45      1.1  simonb     *     OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
     46      1.1  simonb     *     TORT (INCLUDING NEGLIGENCE OR OTHERWISE), EVEN IF ADVISED OF
     47      1.1  simonb     *     THE POSSIBILITY OF SUCH DAMAGE.
     48      1.1  simonb     ********************************************************************* */
     49      1.1  simonb 
     50      1.1  simonb 
     51      1.1  simonb #ifndef _SB1250_LDT_H
     52      1.1  simonb #define _SB1250_LDT_H
     53      1.1  simonb 
     54      1.1  simonb #include "sb1250_defs.h"
     55      1.1  simonb 
     56      1.1  simonb #define K_LDT_VENDOR_SIBYTE	0x166D
     57      1.1  simonb #define K_LDT_DEVICE_SB1250	0x0002
     58      1.1  simonb 
     59      1.1  simonb /*
     60      1.1  simonb  * LDT Interface Type 1 (bridge) configuration header
     61      1.1  simonb  */
     62      1.1  simonb 
     63      1.1  simonb #define R_LDT_TYPE1_DEVICEID	0x0000
     64      1.1  simonb #define R_LDT_TYPE1_CMDSTATUS	0x0004
     65      1.1  simonb #define R_LDT_TYPE1_CLASSREV	0x0008
     66      1.1  simonb #define R_LDT_TYPE1_DEVHDR	0x000C
     67      1.1  simonb #define R_LDT_TYPE1_BAR0	0x0010	/* not used */
     68      1.1  simonb #define R_LDT_TYPE1_BAR1	0x0014	/* not used */
     69      1.1  simonb 
     70      1.1  simonb #define R_LDT_TYPE1_BUSID	0x0018	/* bus ID register */
     71      1.1  simonb #define R_LDT_TYPE1_SECSTATUS	0x001C	/* secondary status / I/O base/limit */
     72      1.1  simonb #define R_LDT_TYPE1_MEMLIMIT	0x0020
     73      1.1  simonb #define R_LDT_TYPE1_PREFETCH	0x0024
     74      1.1  simonb #define R_LDT_TYPE1_PREF_BASE	0x0028
     75      1.1  simonb #define R_LDT_TYPE1_PREF_LIMIT	0x002C
     76      1.1  simonb #define R_LDT_TYPE1_IOLIMIT	0x0030
     77      1.1  simonb #define R_LDT_TYPE1_CAPPTR	0x0034
     78      1.1  simonb #define R_LDT_TYPE1_ROMADDR	0x0038
     79      1.1  simonb #define R_LDT_TYPE1_BRCTL	0x003C
     80      1.1  simonb #define R_LDT_TYPE1_CMD		0x0040
     81      1.1  simonb #define R_LDT_TYPE1_LINKCTRL	0x0044
     82      1.1  simonb #define R_LDT_TYPE1_LINKFREQ	0x0048
     83      1.1  simonb #define R_LDT_TYPE1_RESERVED1	0x004C
     84      1.1  simonb #define R_LDT_TYPE1_SRICMD	0x0050
     85      1.1  simonb #define R_LDT_TYPE1_SRITXNUM	0x0054
     86      1.1  simonb #define R_LDT_TYPE1_SRIRXNUM	0x0058
     87      1.1  simonb #define R_LDT_TYPE1_ERRSTATUS   0x0068
     88      1.1  simonb #define R_LDT_TYPE1_SRICTRL	0x006C
     89      1.2     cgd #if SIBYTE_HDR_FEATURE(1250, PASS2) || SIBYTE_HDR_FEATURE(112x, PASS1)
     90      1.2     cgd #define R_LDT_TYPE1_ADDSTATUS	0x0070
     91      1.2     cgd #endif /* 1250 PASS2 || 112x PASS1 */
     92      1.1  simonb #define R_LDT_TYPE1_TXBUFCNT	0x00C8
     93      1.1  simonb #define R_LDT_TYPE1_EXPCRC	0x00DC
     94      1.1  simonb #define R_LDT_TYPE1_RXCRC	0x00F0
     95      1.1  simonb 
     96      1.1  simonb 
     97      1.1  simonb /*
     98      1.1  simonb  * LDT Device ID register
     99      1.1  simonb  */
    100      1.1  simonb 
    101      1.1  simonb #define S_LDT_DEVICEID_VENDOR		0
    102      1.1  simonb #define M_LDT_DEVICEID_VENDOR		_SB_MAKEMASK_32(16,S_LDT_DEVICEID_VENDOR)
    103      1.1  simonb #define V_LDT_DEVICEID_VENDOR(x)	_SB_MAKEVALUE_32(x,S_LDT_DEVICEID_VENDOR)
    104      1.1  simonb #define G_LDT_DEVICEID_VENDOR(x)	_SB_GETVALUE_32(x,S_LDT_DEVICEID_VENDOR,M_LDT_DEVICEID_VENDOR)
    105      1.1  simonb 
    106      1.1  simonb #define S_LDT_DEVICEID_DEVICEID		16
    107      1.1  simonb #define M_LDT_DEVICEID_DEVICEID		_SB_MAKEMASK_32(16,S_LDT_DEVICEID_DEVICEID)
    108      1.1  simonb #define V_LDT_DEVICEID_DEVICEID(x)	_SB_MAKEVALUE_32(x,S_LDT_DEVICEID_DEVICEID)
    109      1.1  simonb #define G_LDT_DEVICEID_DEVICEID(x)	_SB_GETVALUE_32(x,S_LDT_DEVICEID_DEVICEID,M_LDT_DEVICEID_DEVICEID)
    110      1.1  simonb 
    111      1.1  simonb 
    112      1.1  simonb /*
    113      1.1  simonb  * LDT Command Register (Table 8-13)
    114      1.1  simonb  */
    115      1.1  simonb 
    116      1.1  simonb #define M_LDT_CMD_IOSPACE_EN		_SB_MAKEMASK1_32(0)
    117      1.1  simonb #define M_LDT_CMD_MEMSPACE_EN		_SB_MAKEMASK1_32(1)
    118      1.1  simonb #define M_LDT_CMD_MASTER_EN		_SB_MAKEMASK1_32(2)
    119      1.1  simonb #define M_LDT_CMD_SPECCYC_EN		_SB_MAKEMASK1_32(3)
    120      1.1  simonb #define M_LDT_CMD_MEMWRINV_EN		_SB_MAKEMASK1_32(4)
    121      1.1  simonb #define M_LDT_CMD_VGAPALSNP_EN		_SB_MAKEMASK1_32(5)
    122      1.1  simonb #define M_LDT_CMD_PARERRRESP		_SB_MAKEMASK1_32(6)
    123      1.1  simonb #define M_LDT_CMD_WAITCYCCTRL		_SB_MAKEMASK1_32(7)
    124      1.1  simonb #define M_LDT_CMD_SERR_EN		_SB_MAKEMASK1_32(8)
    125      1.1  simonb #define M_LDT_CMD_FASTB2B_EN		_SB_MAKEMASK1_32(9)
    126      1.1  simonb 
    127      1.1  simonb /*
    128      1.1  simonb  * LDT class and revision registers
    129      1.1  simonb  */
    130      1.1  simonb 
    131      1.1  simonb #define S_LDT_CLASSREV_REV		0
    132      1.1  simonb #define M_LDT_CLASSREV_REV		_SB_MAKEMASK_32(8,S_LDT_CLASSREV_REV)
    133      1.1  simonb #define V_LDT_CLASSREV_REV(x)		_SB_MAKEVALUE_32(x,S_LDT_CLASSREV_REV)
    134      1.1  simonb #define G_LDT_CLASSREV_REV(x)		_SB_GETVALUE_32(x,S_LDT_CLASSREV_REV,M_LDT_CLASSREV_REV)
    135      1.1  simonb 
    136      1.1  simonb #define S_LDT_CLASSREV_CLASS		8
    137      1.1  simonb #define M_LDT_CLASSREV_CLASS		_SB_MAKEMASK_32(24,S_LDT_CLASSREV_CLASS)
    138      1.1  simonb #define V_LDT_CLASSREV_CLASS(x)		_SB_MAKEVALUE_32(x,S_LDT_CLASSREV_CLASS)
    139      1.1  simonb #define G_LDT_CLASSREV_CLASS(x)		_SB_GETVALUE_32(x,S_LDT_CLASSREV_CLASS,M_LDT_CLASSREV_CLASS)
    140      1.1  simonb 
    141      1.1  simonb #define K_LDT_REV			0x01
    142      1.1  simonb #define K_LDT_CLASS			0x060000
    143      1.1  simonb 
    144      1.1  simonb /*
    145      1.1  simonb  * Device Header (offset 0x0C)
    146      1.1  simonb  */
    147      1.1  simonb 
    148      1.1  simonb #define S_LDT_DEVHDR_CLINESZ		0
    149      1.1  simonb #define M_LDT_DEVHDR_CLINESZ		_SB_MAKEMASK_32(8,S_LDT_DEVHDR_CLINESZ)
    150      1.1  simonb #define V_LDT_DEVHDR_CLINESZ(x)		_SB_MAKEVALUE_32(x,S_LDT_DEVHDR_CLINESZ)
    151      1.1  simonb #define G_LDT_DEVHDR_CLINESZ(x)		_SB_GETVALUE_32(x,S_LDT_DEVHDR_CLINESZ,M_LDT_DEVHDR_CLINESZ)
    152      1.1  simonb 
    153      1.1  simonb #define S_LDT_DEVHDR_LATTMR		8
    154      1.1  simonb #define M_LDT_DEVHDR_LATTMR		_SB_MAKEMASK_32(8,S_LDT_DEVHDR_LATTMR)
    155      1.1  simonb #define V_LDT_DEVHDR_LATTMR(x)		_SB_MAKEVALUE_32(x,S_LDT_DEVHDR_LATTMR)
    156      1.1  simonb #define G_LDT_DEVHDR_LATTMR(x)		_SB_GETVALUE_32(x,S_LDT_DEVHDR_LATTMR,M_LDT_DEVHDR_LATTMR)
    157      1.1  simonb 
    158      1.1  simonb #define S_LDT_DEVHDR_HDRTYPE		16
    159      1.1  simonb #define M_LDT_DEVHDR_HDRTYPE		_SB_MAKEMASK_32(8,S_LDT_DEVHDR_HDRTYPE)
    160      1.1  simonb #define V_LDT_DEVHDR_HDRTYPE(x)		_SB_MAKEVALUE_32(x,S_LDT_DEVHDR_HDRTYPE)
    161      1.1  simonb #define G_LDT_DEVHDR_HDRTYPE(x)		_SB_GETVALUE_32(x,S_LDT_DEVHDR_HDRTYPE,M_LDT_DEVHDR_HDRTYPE)
    162      1.1  simonb 
    163      1.1  simonb #define K_LDT_DEVHDR_HDRTYPE_TYPE1	1
    164      1.1  simonb 
    165      1.1  simonb #define S_LDT_DEVHDR_BIST		24
    166      1.1  simonb #define M_LDT_DEVHDR_BIST		_SB_MAKEMASK_32(8,S_LDT_DEVHDR_BIST)
    167      1.1  simonb #define V_LDT_DEVHDR_BIST(x)		_SB_MAKEVALUE_32(x,S_LDT_DEVHDR_BIST)
    168      1.1  simonb #define G_LDT_DEVHDR_BIST(x)		_SB_GETVALUE_32(x,S_LDT_DEVHDR_BIST,M_LDT_DEVHDR_BIST)
    169      1.1  simonb 
    170      1.1  simonb 
    171      1.1  simonb 
    172      1.1  simonb /*
    173      1.1  simonb  * LDT Status Register (Table 8-14).  Note that these constants
    174      1.1  simonb  * assume you've read the command and status register
    175      1.1  simonb  * together (32-bit read at offset 0x04)
    176      1.1  simonb  *
    177      1.1  simonb  * These bits also apply to the secondary status
    178      1.1  simonb  * register (Table 8-15), offset 0x1C
    179      1.1  simonb  */
    180      1.1  simonb 
    181      1.2     cgd #if SIBYTE_HDR_FEATURE(1250, PASS2) || SIBYTE_HDR_FEATURE(112x, PASS1)
    182      1.2     cgd #define M_LDT_STATUS_VGAEN		_SB_MAKEMASK1_32(3)
    183      1.2     cgd #endif /* 1250 PASS2 || 112x PASS1 */
    184      1.1  simonb #define M_LDT_STATUS_CAPLIST		_SB_MAKEMASK1_32(20)
    185      1.1  simonb #define M_LDT_STATUS_66MHZCAP		_SB_MAKEMASK1_32(21)
    186      1.1  simonb #define M_LDT_STATUS_RESERVED2		_SB_MAKEMASK1_32(22)
    187      1.1  simonb #define M_LDT_STATUS_FASTB2BCAP		_SB_MAKEMASK1_32(23)
    188      1.1  simonb #define M_LDT_STATUS_MSTRDPARERR	_SB_MAKEMASK1_32(24)
    189      1.1  simonb 
    190      1.1  simonb #define S_LDT_STATUS_DEVSELTIMING	25
    191      1.1  simonb #define M_LDT_STATUS_DEVSELTIMING	_SB_MAKEMASK_32(2,S_LDT_STATUS_DEVSELTIMING)
    192      1.1  simonb #define V_LDT_STATUS_DEVSELTIMING(x)	_SB_MAKEVALUE_32(x,S_LDT_STATUS_DEVSELTIMING)
    193      1.1  simonb #define G_LDT_STATUS_DEVSELTIMING(x)	_SB_GETVALUE_32(x,S_LDT_STATUS_DEVSELTIMING,M_LDT_STATUS_DEVSELTIMING)
    194      1.1  simonb 
    195      1.1  simonb #define M_LDT_STATUS_SIGDTGTABORT	_SB_MAKEMASK1_32(27)
    196      1.1  simonb #define M_LDT_STATUS_RCVDTGTABORT	_SB_MAKEMASK1_32(28)
    197      1.1  simonb #define M_LDT_STATUS_RCVDMSTRABORT	_SB_MAKEMASK1_32(29)
    198      1.1  simonb #define M_LDT_STATUS_SIGDSERR		_SB_MAKEMASK1_32(30)
    199      1.1  simonb #define M_LDT_STATUS_DETPARERR		_SB_MAKEMASK1_32(31)
    200      1.1  simonb 
    201      1.1  simonb /*
    202      1.1  simonb  * Bridge Control Register (Table 8-16).  Note that these
    203      1.1  simonb  * constants assume you've read the register as a 32-bit
    204      1.1  simonb  * read (offset 0x3C)
    205      1.1  simonb  */
    206      1.1  simonb 
    207      1.1  simonb #define M_LDT_BRCTL_PARERRRESP_EN	_SB_MAKEMASK1_32(16)
    208      1.1  simonb #define M_LDT_BRCTL_SERR_EN		_SB_MAKEMASK1_32(17)
    209      1.1  simonb #define M_LDT_BRCTL_ISA_EN		_SB_MAKEMASK1_32(18)
    210      1.1  simonb #define M_LDT_BRCTL_VGA_EN		_SB_MAKEMASK1_32(19)
    211      1.1  simonb #define M_LDT_BRCTL_MSTRABORTMODE	_SB_MAKEMASK1_32(21)
    212      1.1  simonb #define M_LDT_BRCTL_SECBUSRESET		_SB_MAKEMASK1_32(22)
    213      1.1  simonb #define M_LDT_BRCTL_FASTB2B_EN		_SB_MAKEMASK1_32(23)
    214      1.1  simonb #define M_LDT_BRCTL_PRIDISCARD		_SB_MAKEMASK1_32(24)
    215      1.1  simonb #define M_LDT_BRCTL_SECDISCARD		_SB_MAKEMASK1_32(25)
    216      1.1  simonb #define M_LDT_BRCTL_DISCARDSTAT		_SB_MAKEMASK1_32(26)
    217      1.1  simonb #define M_LDT_BRCTL_DISCARDSERR_EN	_SB_MAKEMASK1_32(27)
    218      1.1  simonb 
    219      1.1  simonb /*
    220      1.1  simonb  * LDT Command Register (Table 8-17).  Note that these constants
    221      1.1  simonb  * assume you've read the command and status register together
    222      1.1  simonb  * 32-bit read at offset 0x40
    223      1.1  simonb  */
    224      1.1  simonb 
    225      1.1  simonb #define M_LDT_CMD_WARMRESET		_SB_MAKEMASK1_32(16)
    226      1.1  simonb #define M_LDT_CMD_DOUBLEENDED		_SB_MAKEMASK1_32(17)
    227      1.1  simonb 
    228      1.1  simonb #define S_LDT_CMD_CAPTYPE		29
    229      1.1  simonb #define M_LDT_CMD_CAPTYPE		_SB_MAKEMASK_32(3,S_LDT_CMD_CAPTYPE)
    230      1.1  simonb #define V_LDT_CMD_CAPTYPE(x)		_SB_MAKEVALUE_32(x,S_LDT_CMD_CAPTYPE)
    231      1.1  simonb #define G_LDT_CMD_CAPTYPE(x)		_SB_GETVALUE_32(x,S_LDT_CMD_CAPTYPE,M_LDT_CMD_CAPTYPE)
    232      1.1  simonb 
    233      1.1  simonb /*
    234      1.1  simonb  * LDT link control register (Table 8-18), and (Table 8-19)
    235      1.1  simonb  */
    236      1.1  simonb 
    237      1.1  simonb #define M_LDT_LINKCTRL_CAPSYNCFLOOD_EN	_SB_MAKEMASK1_32(1)
    238      1.1  simonb #define M_LDT_LINKCTRL_CRCSTARTTEST	_SB_MAKEMASK1_32(2)
    239      1.1  simonb #define M_LDT_LINKCTRL_CRCFORCEERR	_SB_MAKEMASK1_32(3)
    240      1.1  simonb #define M_LDT_LINKCTRL_LINKFAIL		_SB_MAKEMASK1_32(4)
    241      1.1  simonb #define M_LDT_LINKCTRL_INITDONE		_SB_MAKEMASK1_32(5)
    242      1.1  simonb #define M_LDT_LINKCTRL_EOC		_SB_MAKEMASK1_32(6)
    243      1.1  simonb #define M_LDT_LINKCTRL_XMITOFF		_SB_MAKEMASK1_32(7)
    244      1.1  simonb 
    245      1.1  simonb #define S_LDT_LINKCTRL_CRCERR		8
    246      1.1  simonb #define M_LDT_LINKCTRL_CRCERR		_SB_MAKEMASK_32(4,S_LDT_LINKCTRL_CRCERR)
    247      1.1  simonb #define V_LDT_LINKCTRL_CRCERR(x)	_SB_MAKEVALUE_32(x,S_LDT_LINKCTRL_CRCERR)
    248      1.1  simonb #define G_LDT_LINKCTRL_CRCERR(x)	_SB_GETVALUE_32(x,S_LDT_LINKCTRL_CRCERR,M_LDT_LINKCTRL_CRCERR)
    249      1.1  simonb 
    250      1.1  simonb #define S_LDT_LINKCTRL_MAXIN		16
    251      1.1  simonb #define M_LDT_LINKCTRL_MAXIN		_SB_MAKEMASK_32(3,S_LDT_LINKCTRL_MAXIN)
    252      1.1  simonb #define V_LDT_LINKCTRL_MAXIN(x)		_SB_MAKEVALUE_32(x,S_LDT_LINKCTRL_MAXIN)
    253      1.1  simonb #define G_LDT_LINKCTRL_MAXIN(x)		_SB_GETVALUE_32(x,S_LDT_LINKCTRL_MAXIN,M_LDT_LINKCTRL_MAXIN)
    254      1.1  simonb 
    255      1.1  simonb #define M_LDT_LINKCTRL_DWFCLN		_SB_MAKEMASK1_32(19)
    256      1.1  simonb 
    257      1.1  simonb #define S_LDT_LINKCTRL_MAXOUT		20
    258      1.1  simonb #define M_LDT_LINKCTRL_MAXOUT		_SB_MAKEMASK_32(3,S_LDT_LINKCTRL_MAXOUT)
    259      1.1  simonb #define V_LDT_LINKCTRL_MAXOUT(x)	_SB_MAKEVALUE_32(x,S_LDT_LINKCTRL_MAXOUT)
    260      1.1  simonb #define G_LDT_LINKCTRL_MAXOUT(x)	_SB_GETVALUE_32(x,S_LDT_LINKCTRL_MAXOUT,M_LDT_LINKCTRL_MAXOUT)
    261      1.1  simonb 
    262      1.1  simonb #define M_LDT_LINKCTRL_DWFCOUT		_SB_MAKEMASK1_32(23)
    263      1.1  simonb 
    264      1.1  simonb #define S_LDT_LINKCTRL_WIDTHIN		24
    265      1.1  simonb #define M_LDT_LINKCTRL_WIDTHIN		_SB_MAKEMASK_32(3,S_LDT_LINKCTRL_WIDTHIN)
    266      1.1  simonb #define V_LDT_LINKCTRL_WIDTHIN(x)	_SB_MAKEVALUE_32(x,S_LDT_LINKCTRL_WIDTHIN)
    267      1.1  simonb #define G_LDT_LINKCTRL_WIDTHIN(x)	_SB_GETVALUE_32(x,S_LDT_LINKCTRL_WIDTHIN,M_LDT_LINKCTRL_WIDTHIN)
    268      1.1  simonb 
    269      1.1  simonb #define M_LDT_LINKCTRL_DWFCLIN_EN	_SB_MAKEMASK1_32(27)
    270      1.1  simonb 
    271      1.1  simonb #define S_LDT_LINKCTRL_WIDTHOUT		28
    272      1.1  simonb #define M_LDT_LINKCTRL_WIDTHOUT		_SB_MAKEMASK_32(3,S_LDT_LINKCTRL_WIDTHOUT)
    273      1.1  simonb #define V_LDT_LINKCTRL_WIDTHOUT(x)	_SB_MAKEVALUE_32(x,S_LDT_LINKCTRL_WIDTHOUT)
    274      1.1  simonb #define G_LDT_LINKCTRL_WIDTHOUT(x)	_SB_GETVALUE_32(x,S_LDT_LINKCTRL_WIDTHOUT,M_LDT_LINKCTRL_WIDTHOUT)
    275      1.1  simonb 
    276      1.1  simonb #define M_LDT_LINKCTRL_DWFCOUT_EN	_SB_MAKEMASK1_32(31)
    277      1.1  simonb 
    278      1.1  simonb /*
    279      1.1  simonb  * LDT Link frequency register  (Table 8-20) offset 0x48
    280      1.1  simonb  */
    281      1.1  simonb 
    282      1.1  simonb #define S_LDT_LINKFREQ_FREQ		8
    283      1.1  simonb #define M_LDT_LINKFREQ_FREQ		_SB_MAKEMASK_32(4,S_LDT_LINKFREQ_FREQ)
    284      1.1  simonb #define V_LDT_LINKFREQ_FREQ(x)		_SB_MAKEVALUE_32(x,S_LDT_LINKFREQ_FREQ)
    285      1.1  simonb #define G_LDT_LINKFREQ_FREQ(x)		_SB_GETVALUE_32(x,S_LDT_LINKFREQ_FREQ,M_LDT_LINKFREQ_FREQ)
    286      1.1  simonb 
    287      1.1  simonb #define K_LDT_LINKFREQ_200MHZ		0
    288      1.1  simonb #define K_LDT_LINKFREQ_300MHZ		1
    289      1.1  simonb #define K_LDT_LINKFREQ_400MHZ		2
    290      1.1  simonb #define K_LDT_LINKFREQ_500MHZ		3
    291      1.1  simonb #define K_LDT_LINKFREQ_600MHZ		4
    292      1.1  simonb #define K_LDT_LINKFREQ_800MHZ		5
    293      1.1  simonb #define K_LDT_LINKFREQ_1000MHZ		6
    294      1.1  simonb 
    295      1.1  simonb /*
    296      1.1  simonb  * LDT SRI Command Register (Table 8-21).  Note that these constants
    297      1.1  simonb  * assume you've read the command and status register together
    298      1.1  simonb  * 32-bit read at offset 0x50
    299      1.1  simonb  */
    300      1.1  simonb 
    301      1.1  simonb #define M_LDT_SRICMD_SIPREADY		_SB_MAKEMASK1_32(16)
    302      1.1  simonb #define M_LDT_SRICMD_SYNCPTRCTL		_SB_MAKEMASK1_32(17)
    303      1.1  simonb #define M_LDT_SRICMD_REDUCESYNCZERO	_SB_MAKEMASK1_32(18)
    304      1.2     cgd #if SIBYTE_HDR_FEATURE_UP_TO(1250, PASS1)
    305      1.2     cgd #define M_LDT_SRICMD_DISSTARVATIONCNT	_SB_MAKEMASK1_32(19)	/* PASS1 */
    306      1.2     cgd #endif /* up to 1250 PASS1 */
    307      1.2     cgd #if SIBYTE_HDR_FEATURE(1250, PASS2) || SIBYTE_HDR_FEATURE(112x, PASS1)
    308      1.2     cgd #define M_LDT_SRICMD_DISMULTTXVLD	_SB_MAKEMASK1_32(19)
    309      1.2     cgd #define M_LDT_SRICMD_EXPENDIAN		_SB_MAKEMASK1_32(26)
    310      1.2     cgd #endif /* 1250 PASS2 || 112x PASS1 */
    311      1.1  simonb 
    312      1.1  simonb 
    313      1.1  simonb #define S_LDT_SRICMD_RXMARGIN		20
    314      1.1  simonb #define M_LDT_SRICMD_RXMARGIN		_SB_MAKEMASK_32(5,S_LDT_SRICMD_RXMARGIN)
    315      1.1  simonb #define V_LDT_SRICMD_RXMARGIN(x)	_SB_MAKEVALUE_32(x,S_LDT_SRICMD_RXMARGIN)
    316      1.1  simonb #define G_LDT_SRICMD_RXMARGIN(x)	_SB_GETVALUE_32(x,S_LDT_SRICMD_RXMARGIN,M_LDT_SRICMD_RXMARGIN)
    317      1.1  simonb 
    318      1.1  simonb #define M_LDT_SRICMD_LDTPLLCOMPAT	_SB_MAKEMASK1_32(25)
    319      1.1  simonb 
    320      1.1  simonb #define S_LDT_SRICMD_TXINITIALOFFSET	28
    321      1.1  simonb #define M_LDT_SRICMD_TXINITIALOFFSET	_SB_MAKEMASK_32(3,S_LDT_SRICMD_TXINITIALOFFSET)
    322      1.1  simonb #define V_LDT_SRICMD_TXINITIALOFFSET(x)	_SB_MAKEVALUE_32(x,S_LDT_SRICMD_TXINITIALOFFSET)
    323      1.1  simonb #define G_LDT_SRICMD_TXINITIALOFFSET(x)	_SB_GETVALUE_32(x,S_LDT_SRICMD_TXINITIALOFFSET,M_LDT_SRICMD_TXINITIALOFFSET)
    324      1.1  simonb 
    325      1.1  simonb #define M_LDT_SRICMD_LINKFREQDIRECT	_SB_MAKEMASK1_32(31)
    326      1.1  simonb 
    327      1.1  simonb /*
    328      1.1  simonb  * LDT Error control and status register (Table 8-22) (Table 8-23)
    329      1.1  simonb  */
    330      1.1  simonb 
    331      1.1  simonb #define M_LDT_ERRCTL_PROTFATAL_EN	_SB_MAKEMASK1_32(0)
    332      1.1  simonb #define M_LDT_ERRCTL_PROTNONFATAL_EN	_SB_MAKEMASK1_32(1)
    333      1.1  simonb #define M_LDT_ERRCTL_PROTSYNCFLOOD_EN	_SB_MAKEMASK1_32(2)
    334      1.1  simonb #define M_LDT_ERRCTL_OVFFATAL_EN	_SB_MAKEMASK1_32(3)
    335      1.1  simonb #define M_LDT_ERRCTL_OVFNONFATAL_EN	_SB_MAKEMASK1_32(4)
    336      1.1  simonb #define M_LDT_ERRCTL_OVFSYNCFLOOD_EN	_SB_MAKEMASK1_32(5)
    337      1.1  simonb #define M_LDT_ERRCTL_EOCNXAFATAL_EN	_SB_MAKEMASK1_32(6)
    338      1.1  simonb #define M_LDT_ERRCTL_EOCNXANONFATAL_EN	_SB_MAKEMASK1_32(7)
    339      1.1  simonb #define M_LDT_ERRCTL_EOCNXASYNCFLOOD_EN	_SB_MAKEMASK1_32(8)
    340      1.1  simonb #define M_LDT_ERRCTL_CRCFATAL_EN	_SB_MAKEMASK1_32(9)
    341      1.1  simonb #define M_LDT_ERRCTL_CRCNONFATAL_EN	_SB_MAKEMASK1_32(10)
    342      1.1  simonb #define M_LDT_ERRCTL_SERRFATAL_EN	_SB_MAKEMASK1_32(11)
    343      1.1  simonb #define M_LDT_ERRCTL_SRCTAGFATAL_EN	_SB_MAKEMASK1_32(12)
    344      1.1  simonb #define M_LDT_ERRCTL_SRCTAGNONFATAL_EN	_SB_MAKEMASK1_32(13)
    345      1.1  simonb #define M_LDT_ERRCTL_SRCTAGSYNCFLOOD_EN	_SB_MAKEMASK1_32(14)
    346      1.1  simonb #define M_LDT_ERRCTL_MAPNXAFATAL_EN	_SB_MAKEMASK1_32(15)
    347      1.1  simonb #define M_LDT_ERRCTL_MAPNXANONFATAL_EN	_SB_MAKEMASK1_32(16)
    348      1.1  simonb #define M_LDT_ERRCTL_MAPNXASYNCFLOOD_EN	_SB_MAKEMASK1_32(17)
    349      1.1  simonb 
    350      1.1  simonb #define M_LDT_ERRCTL_PROTOERR		_SB_MAKEMASK1_32(24)
    351      1.1  simonb #define M_LDT_ERRCTL_OVFERR		_SB_MAKEMASK1_32(25)
    352      1.1  simonb #define M_LDT_ERRCTL_EOCNXAERR		_SB_MAKEMASK1_32(26)
    353      1.1  simonb #define M_LDT_ERRCTL_SRCTAGERR		_SB_MAKEMASK1_32(27)
    354      1.1  simonb #define M_LDT_ERRCTL_MAPNXAERR		_SB_MAKEMASK1_32(28)
    355      1.1  simonb 
    356      1.1  simonb /*
    357      1.1  simonb  * SRI Control register (Table 8-24, 8-25)  Offset 0x6C
    358      1.1  simonb  */
    359      1.1  simonb 
    360      1.1  simonb #define S_LDT_SRICTRL_NEEDRESP		0
    361      1.1  simonb #define M_LDT_SRICTRL_NEEDRESP		_SB_MAKEMASK_32(2,S_LDT_SRICTRL_NEEDRESP)
    362      1.1  simonb #define V_LDT_SRICTRL_NEEDRESP(x)	_SB_MAKEVALUE_32(x,S_LDT_SRICTRL_NEEDRESP)
    363      1.1  simonb #define G_LDT_SRICTRL_NEEDRESP(x)	_SB_GETVALUE_32(x,S_LDT_SRICTRL_NEEDRESP,M_LDT_SRICTRL_NEEDRESP)
    364      1.1  simonb 
    365      1.1  simonb #define S_LDT_SRICTRL_NEEDNPREQ		2
    366      1.1  simonb #define M_LDT_SRICTRL_NEEDNPREQ		_SB_MAKEMASK_32(2,S_LDT_SRICTRL_NEEDNPREQ)
    367      1.1  simonb #define V_LDT_SRICTRL_NEEDNPREQ(x)	_SB_MAKEVALUE_32(x,S_LDT_SRICTRL_NEEDNPREQ)
    368      1.1  simonb #define G_LDT_SRICTRL_NEEDNPREQ(x)	_SB_GETVALUE_32(x,S_LDT_SRICTRL_NEEDNPREQ,M_LDT_SRICTRL_NEEDNPREQ)
    369      1.1  simonb 
    370      1.1  simonb #define S_LDT_SRICTRL_NEEDPREQ		4
    371      1.1  simonb #define M_LDT_SRICTRL_NEEDPREQ		_SB_MAKEMASK_32(2,S_LDT_SRICTRL_NEEDPREQ)
    372      1.1  simonb #define V_LDT_SRICTRL_NEEDPREQ(x)	_SB_MAKEVALUE_32(x,S_LDT_SRICTRL_NEEDPREQ)
    373      1.1  simonb #define G_LDT_SRICTRL_NEEDPREQ(x)	_SB_GETVALUE_32(x,S_LDT_SRICTRL_NEEDPREQ,M_LDT_SRICTRL_NEEDPREQ)
    374      1.1  simonb 
    375      1.1  simonb #define S_LDT_SRICTRL_WANTRESP		8
    376      1.1  simonb #define M_LDT_SRICTRL_WANTRESP		_SB_MAKEMASK_32(2,S_LDT_SRICTRL_WANTRESP)
    377      1.1  simonb #define V_LDT_SRICTRL_WANTRESP(x)	_SB_MAKEVALUE_32(x,S_LDT_SRICTRL_WANTRESP)
    378      1.1  simonb #define G_LDT_SRICTRL_WANTRESP(x)	_SB_GETVALUE_32(x,S_LDT_SRICTRL_WANTRESP,M_LDT_SRICTRL_WANTRESP)
    379      1.1  simonb 
    380      1.1  simonb #define S_LDT_SRICTRL_WANTNPREQ		10
    381      1.1  simonb #define M_LDT_SRICTRL_WANTNPREQ		_SB_MAKEMASK_32(2,S_LDT_SRICTRL_WANTNPREQ)
    382      1.1  simonb #define V_LDT_SRICTRL_WANTNPREQ(x)	_SB_MAKEVALUE_32(x,S_LDT_SRICTRL_WANTNPREQ)
    383      1.1  simonb #define G_LDT_SRICTRL_WANTNPREQ(x)	_SB_GETVALUE_32(x,S_LDT_SRICTRL_WANTNPREQ,M_LDT_SRICTRL_WANTNPREQ)
    384      1.1  simonb 
    385      1.1  simonb #define S_LDT_SRICTRL_WANTPREQ		12
    386      1.1  simonb #define M_LDT_SRICTRL_WANTPREQ		_SB_MAKEMASK_32(2,S_LDT_SRICTRL_WANTPREQ)
    387      1.1  simonb #define V_LDT_SRICTRL_WANTPREQ(x)	_SB_MAKEVALUE_32(x,S_LDT_SRICTRL_WANTPREQ)
    388      1.1  simonb #define G_LDT_SRICTRL_WANTPREQ(x)	_SB_GETVALUE_32(x,S_LDT_SRICTRL_WANTPREQ,M_LDT_SRICTRL_WANTPREQ)
    389      1.1  simonb 
    390      1.1  simonb #define S_LDT_SRICTRL_BUFRELSPACE	16
    391      1.1  simonb #define M_LDT_SRICTRL_BUFRELSPACE	_SB_MAKEMASK_32(4,S_LDT_SRICTRL_BUFRELSPACE)
    392      1.1  simonb #define V_LDT_SRICTRL_BUFRELSPACE(x)	_SB_MAKEVALUE_32(x,S_LDT_SRICTRL_BUFRELSPACE)
    393      1.1  simonb #define G_LDT_SRICTRL_BUFRELSPACE(x)	_SB_GETVALUE_32(x,S_LDT_SRICTRL_BUFRELSPACE,M_LDT_SRICTRL_BUFRELSPACE)
    394      1.1  simonb 
    395      1.1  simonb /*
    396      1.1  simonb  * LDT SRI Transmit Buffer Count register (Table 8-26)
    397      1.1  simonb  */
    398      1.1  simonb 
    399      1.1  simonb #define S_LDT_TXBUFCNT_PCMD		0
    400      1.1  simonb #define M_LDT_TXBUFCNT_PCMD		_SB_MAKEMASK_32(4,S_LDT_TXBUFCNT_PCMD)
    401      1.1  simonb #define V_LDT_TXBUFCNT_PCMD(x)		_SB_MAKEVALUE_32(x,S_LDT_TXBUFCNT_PCMD)
    402      1.1  simonb #define G_LDT_TXBUFCNT_PCMD(x)		_SB_GETVALUE_32(x,S_LDT_TXBUFCNT_PCMD,M_LDT_TXBUFCNT_PCMD)
    403      1.1  simonb 
    404      1.1  simonb #define S_LDT_TXBUFCNT_PDATA		4
    405      1.1  simonb #define M_LDT_TXBUFCNT_PDATA		_SB_MAKEMASK_32(4,S_LDT_TXBUFCNT_PDATA)
    406      1.1  simonb #define V_LDT_TXBUFCNT_PDATA(x)		_SB_MAKEVALUE_32(x,S_LDT_TXBUFCNT_PDATA)
    407      1.1  simonb #define G_LDT_TXBUFCNT_PDATA(x)		_SB_GETVALUE_32(x,S_LDT_TXBUFCNT_PDATA,M_LDT_TXBUFCNT_PDATA)
    408      1.1  simonb 
    409      1.1  simonb #define S_LDT_TXBUFCNT_NPCMD		8
    410      1.1  simonb #define M_LDT_TXBUFCNT_NPCMD		_SB_MAKEMASK_32(4,S_LDT_TXBUFCNT_NPCMD)
    411      1.1  simonb #define V_LDT_TXBUFCNT_NPCMD(x)		_SB_MAKEVALUE_32(x,S_LDT_TXBUFCNT_NPCMD)
    412      1.1  simonb #define G_LDT_TXBUFCNT_NPCMD(x)		_SB_GETVALUE_32(x,S_LDT_TXBUFCNT_NPCMD,M_LDT_TXBUFCNT_NPCMD)
    413      1.1  simonb 
    414      1.1  simonb #define S_LDT_TXBUFCNT_NPDATA		12
    415      1.1  simonb #define M_LDT_TXBUFCNT_NPDATA		_SB_MAKEMASK_32(4,S_LDT_TXBUFCNT_NPDATA)
    416      1.1  simonb #define V_LDT_TXBUFCNT_NPDATA(x)	_SB_MAKEVALUE_32(x,S_LDT_TXBUFCNT_NPDATA)
    417      1.1  simonb #define G_LDT_TXBUFCNT_NPDATA(x)	_SB_GETVALUE_32(x,S_LDT_TXBUFCNT_NPDATA,M_LDT_TXBUFCNT_NPDATA)
    418      1.1  simonb 
    419      1.1  simonb #define S_LDT_TXBUFCNT_RCMD		16
    420      1.1  simonb #define M_LDT_TXBUFCNT_RCMD		_SB_MAKEMASK_32(4,S_LDT_TXBUFCNT_RCMD)
    421      1.1  simonb #define V_LDT_TXBUFCNT_RCMD(x)		_SB_MAKEVALUE_32(x,S_LDT_TXBUFCNT_RCMD)
    422      1.1  simonb #define G_LDT_TXBUFCNT_RCMD(x)		_SB_GETVALUE_32(x,S_LDT_TXBUFCNT_RCMD,M_LDT_TXBUFCNT_RCMD)
    423      1.1  simonb 
    424      1.1  simonb #define S_LDT_TXBUFCNT_RDATA		20
    425      1.1  simonb #define M_LDT_TXBUFCNT_RDATA		_SB_MAKEMASK_32(4,S_LDT_TXBUFCNT_RDATA)
    426      1.1  simonb #define V_LDT_TXBUFCNT_RDATA(x)		_SB_MAKEVALUE_32(x,S_LDT_TXBUFCNT_RDATA)
    427      1.1  simonb #define G_LDT_TXBUFCNT_RDATA(x)		_SB_GETVALUE_32(x,S_LDT_TXBUFCNT_RDATA,M_LDT_TXBUFCNT_RDATA)
    428      1.1  simonb 
    429      1.2     cgd #if SIBYTE_HDR_FEATURE(1250, PASS2) || SIBYTE_HDR_FEATURE(112x, PASS1)
    430      1.1  simonb /*
    431      1.2     cgd  * Additional Status Register
    432      1.1  simonb  */
    433      1.1  simonb 
    434      1.1  simonb #define S_LDT_ADDSTATUS_TGTDONE		0
    435      1.1  simonb #define M_LDT_ADDSTATUS_TGTDONE		_SB_MAKEMASK_32(8,S_LDT_ADDSTATUS_TGTDONE)
    436      1.1  simonb #define V_LDT_ADDSTATUS_TGTDONE(x)	_SB_MAKEVALUE_32(x,S_LDT_ADDSTATUS_TGTDONE)
    437      1.1  simonb #define G_LDT_ADDSTATUS_TGTDONE(x)	_SB_GETVALUE_32(x,S_LDT_ADDSTATUS_TGTDONE,M_LDT_ADDSTATUS_TGTDONE)
    438      1.2     cgd #endif /* 1250 PASS2 || 112x PASS1 */
    439      1.1  simonb 
    440      1.1  simonb #endif
    441      1.1  simonb 
    442