Home | History | Annotate | Line # | Download | only in include
sb1250_dma.h revision 1.4.2.1
      1      1.1  simonb /*  *********************************************************************
      2      1.1  simonb     *  SB1250 Board Support Package
      3      1.2  simonb     *
      4      1.1  simonb     *  DMA definitions				File: sb1250_dma.h
      5      1.2  simonb     *
      6      1.1  simonb     *  This module contains constants and macros useful for
      7      1.1  simonb     *  programming the SB1250's DMA controllers, both the data mover
      8      1.1  simonb     *  and the Ethernet DMA.
      9      1.2  simonb     *
     10  1.4.2.1   skrll     *  SB1250 specification level:  User's manual 10/21/02
     11  1.4.2.1   skrll     *  BCM1280 specification level: User's manual 11/24/03
     12      1.2  simonb     *
     13  1.4.2.1   skrll     *  Author:  Mitch Lichtenberg
     14      1.2  simonb     *
     15      1.2  simonb     *********************************************************************
     16      1.1  simonb     *
     17      1.4     cgd     *  Copyright 2000,2001,2002,2003
     18      1.1  simonb     *  Broadcom Corporation. All rights reserved.
     19      1.2  simonb     *
     20      1.2  simonb     *  This software is furnished under license and may be used and
     21      1.2  simonb     *  copied only in accordance with the following terms and
     22      1.2  simonb     *  conditions.  Subject to these conditions, you may download,
     23      1.2  simonb     *  copy, install, use, modify and distribute modified or unmodified
     24      1.2  simonb     *  copies of this software in source and/or binary form.  No title
     25      1.1  simonb     *  or ownership is transferred hereby.
     26      1.2  simonb     *
     27      1.2  simonb     *  1) Any source code used, modified or distributed must reproduce
     28      1.4     cgd     *     and retain this copyright notice and list of conditions
     29      1.4     cgd     *     as they appear in the source file.
     30      1.2  simonb     *
     31      1.2  simonb     *  2) No right is granted to use any trade name, trademark, or
     32      1.4     cgd     *     logo of Broadcom Corporation.  The "Broadcom Corporation"
     33      1.4     cgd     *     name may not be used to endorse or promote products derived
     34      1.4     cgd     *     from this software without the prior written permission of
     35      1.4     cgd     *     Broadcom Corporation.
     36      1.2  simonb     *
     37      1.1  simonb     *  3) THIS SOFTWARE IS PROVIDED "AS-IS" AND ANY EXPRESS OR
     38      1.4     cgd     *     IMPLIED WARRANTIES, INCLUDING BUT NOT LIMITED TO, ANY IMPLIED
     39      1.2  simonb     *     WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
     40      1.2  simonb     *     PURPOSE, OR NON-INFRINGEMENT ARE DISCLAIMED. IN NO EVENT
     41      1.2  simonb     *     SHALL BROADCOM BE LIABLE FOR ANY DAMAGES WHATSOEVER, AND IN
     42      1.4     cgd     *     PARTICULAR, BROADCOM SHALL NOT BE LIABLE FOR DIRECT, INDIRECT,
     43      1.2  simonb     *     INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
     44      1.4     cgd     *     (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
     45      1.1  simonb     *     GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
     46      1.2  simonb     *     BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
     47      1.2  simonb     *     OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
     48      1.2  simonb     *     TORT (INCLUDING NEGLIGENCE OR OTHERWISE), EVEN IF ADVISED OF
     49      1.1  simonb     *     THE POSSIBILITY OF SUCH DAMAGE.
     50      1.1  simonb     ********************************************************************* */
     51      1.1  simonb 
     52      1.1  simonb 
     53      1.1  simonb #ifndef _SB1250_DMA_H
     54      1.2  simonb #define _SB1250_DMA_H
     55      1.1  simonb 
     56      1.1  simonb 
     57      1.1  simonb #include "sb1250_defs.h"
     58      1.1  simonb 
     59      1.1  simonb /*  *********************************************************************
     60      1.1  simonb     *  DMA Registers
     61      1.1  simonb     ********************************************************************* */
     62      1.1  simonb 
     63      1.2  simonb /*
     64      1.1  simonb  * Ethernet and Serial DMA Configuration Register 0  (Table 7-4)
     65      1.2  simonb  * Registers: DMA_CONFIG0_MAC_x_RX_CH_0
     66      1.1  simonb  * Registers: DMA_CONFIG0_MAC_x_TX_CH_0
     67      1.1  simonb  * Registers: DMA_CONFIG0_SER_x_RX
     68      1.1  simonb  * Registers: DMA_CONFIG0_SER_x_TX
     69      1.1  simonb  */
     70      1.1  simonb 
     71      1.1  simonb 
     72      1.2  simonb #define M_DMA_DROP                  _SB_MAKEMASK1(0)
     73      1.3     cgd 
     74      1.2  simonb #define M_DMA_CHAIN_SEL             _SB_MAKEMASK1(1)
     75      1.2  simonb #define M_DMA_RESERVED1             _SB_MAKEMASK1(2)
     76      1.3     cgd 
     77      1.3     cgd #define S_DMA_DESC_TYPE		    _SB_MAKE64(1)
     78      1.3     cgd #define M_DMA_DESC_TYPE		    _SB_MAKE64(2,S_DMA_DESC_TYPE)
     79      1.3     cgd #define V_DMA_DESC_TYPE(x)          _SB_MAKEVALUE(x,S_DMA_DESC_TYPE)
     80      1.3     cgd #define G_DMA_DESC_TYPE(x)          _SB_GETVALUE(x,S_DMA_DESC_TYPE,M_DMA_DESC_TYPE)
     81      1.3     cgd 
     82      1.3     cgd #define K_DMA_DESC_TYPE_RING_AL		0
     83      1.3     cgd #define K_DMA_DESC_TYPE_CHAIN_AL	1
     84      1.3     cgd 
     85  1.4.2.1   skrll #if SIBYTE_HDR_FEATURE(1250, PASS3) || SIBYTE_HDR_FEATURE(112x, PASS1) || SIBYTE_HDR_FEATURE_CHIP(1280)
     86      1.3     cgd #define K_DMA_DESC_TYPE_RING_UAL_WI	2
     87      1.3     cgd #define K_DMA_DESC_TYPE_RING_UAL_RMW	3
     88  1.4.2.1   skrll #endif /* 1250 PASS3 || 112x PASS1 || 1280 */
     89      1.3     cgd 
     90      1.2  simonb #define M_DMA_EOP_INT_EN            _SB_MAKEMASK1(3)
     91      1.2  simonb #define M_DMA_HWM_INT_EN            _SB_MAKEMASK1(4)
     92      1.2  simonb #define M_DMA_LWM_INT_EN            _SB_MAKEMASK1(5)
     93      1.2  simonb #define M_DMA_TBX_EN                _SB_MAKEMASK1(6)
     94      1.2  simonb #define M_DMA_TDX_EN                _SB_MAKEMASK1(7)
     95      1.2  simonb 
     96      1.2  simonb #define S_DMA_INT_PKTCNT            _SB_MAKE64(8)
     97      1.2  simonb #define M_DMA_INT_PKTCNT            _SB_MAKEMASK(8,S_DMA_INT_PKTCNT)
     98      1.2  simonb #define V_DMA_INT_PKTCNT(x)         _SB_MAKEVALUE(x,S_DMA_INT_PKTCNT)
     99      1.2  simonb #define G_DMA_INT_PKTCNT(x)         _SB_GETVALUE(x,S_DMA_INT_PKTCNT,M_DMA_INT_PKTCNT)
    100      1.2  simonb 
    101      1.2  simonb #define S_DMA_RINGSZ                _SB_MAKE64(16)
    102      1.2  simonb #define M_DMA_RINGSZ                _SB_MAKEMASK(16,S_DMA_RINGSZ)
    103      1.2  simonb #define V_DMA_RINGSZ(x)             _SB_MAKEVALUE(x,S_DMA_RINGSZ)
    104      1.2  simonb #define G_DMA_RINGSZ(x)             _SB_GETVALUE(x,S_DMA_RINGSZ,M_DMA_RINGSZ)
    105      1.2  simonb 
    106      1.2  simonb #define S_DMA_HIGH_WATERMARK        _SB_MAKE64(32)
    107      1.2  simonb #define M_DMA_HIGH_WATERMARK        _SB_MAKEMASK(16,S_DMA_HIGH_WATERMARK)
    108      1.2  simonb #define V_DMA_HIGH_WATERMARK(x)     _SB_MAKEVALUE(x,S_DMA_HIGH_WATERMARK)
    109      1.2  simonb #define G_DMA_HIGH_WATERMARK(x)     _SB_GETVALUE(x,S_DMA_HIGH_WATERMARK,M_DMA_HIGH_WATERMARK)
    110      1.2  simonb 
    111      1.2  simonb #define S_DMA_LOW_WATERMARK         _SB_MAKE64(48)
    112      1.2  simonb #define M_DMA_LOW_WATERMARK         _SB_MAKEMASK(16,S_DMA_LOW_WATERMARK)
    113      1.2  simonb #define V_DMA_LOW_WATERMARK(x)      _SB_MAKEVALUE(x,S_DMA_LOW_WATERMARK)
    114      1.2  simonb #define G_DMA_LOW_WATERMARK(x)      _SB_GETVALUE(x,S_DMA_LOW_WATERMARK,M_DMA_LOW_WATERMARK)
    115      1.1  simonb 
    116      1.1  simonb /*
    117      1.3     cgd  * Ethernet and Serial DMA Configuration Register 1 (Table 7-5)
    118      1.2  simonb  * Registers: DMA_CONFIG1_MAC_x_RX_CH_0
    119      1.1  simonb  * Registers: DMA_CONFIG1_DMA_x_TX_CH_0
    120      1.1  simonb  * Registers: DMA_CONFIG1_SER_x_RX
    121      1.1  simonb  * Registers: DMA_CONFIG1_SER_x_TX
    122      1.1  simonb  */
    123      1.1  simonb 
    124      1.2  simonb #define M_DMA_HDR_CF_EN             _SB_MAKEMASK1(0)
    125      1.2  simonb #define M_DMA_ASIC_XFR_EN           _SB_MAKEMASK1(1)
    126      1.2  simonb #define M_DMA_PRE_ADDR_EN           _SB_MAKEMASK1(2)
    127      1.2  simonb #define M_DMA_FLOW_CTL_EN           _SB_MAKEMASK1(3)
    128      1.2  simonb #define M_DMA_NO_DSCR_UPDT          _SB_MAKEMASK1(4)
    129      1.2  simonb #define M_DMA_L2CA		    _SB_MAKEMASK1(5)
    130      1.2  simonb 
    131  1.4.2.1   skrll #if SIBYTE_HDR_FEATURE(1250, PASS3) || SIBYTE_HDR_FEATURE(112x, PASS1) || SIBYTE_HDR_FEATURE_CHIP(1280)
    132      1.3     cgd #define M_DMA_RX_XTRA_STATUS	    _SB_MAKEMASK1(6)
    133      1.3     cgd #define M_DMA_TX_CPU_PAUSE	    _SB_MAKEMASK1(6)
    134      1.3     cgd #define M_DMA_TX_FC_PAUSE_EN	    _SB_MAKEMASK1(7)
    135  1.4.2.1   skrll #endif /* 1250 PASS3 || 112x PASS1 || 1280 */
    136      1.3     cgd 
    137      1.2  simonb #define M_DMA_MBZ1                  _SB_MAKEMASK(6,15)
    138      1.2  simonb 
    139      1.2  simonb #define S_DMA_HDR_SIZE              _SB_MAKE64(21)
    140      1.2  simonb #define M_DMA_HDR_SIZE              _SB_MAKEMASK(9,S_DMA_HDR_SIZE)
    141      1.2  simonb #define V_DMA_HDR_SIZE(x)           _SB_MAKEVALUE(x,S_DMA_HDR_SIZE)
    142      1.2  simonb #define G_DMA_HDR_SIZE(x)           _SB_GETVALUE(x,S_DMA_HDR_SIZE,M_DMA_HDR_SIZE)
    143      1.2  simonb 
    144      1.2  simonb #define M_DMA_MBZ2                  _SB_MAKEMASK(5,32)
    145      1.2  simonb 
    146      1.2  simonb #define S_DMA_ASICXFR_SIZE          _SB_MAKE64(37)
    147      1.2  simonb #define M_DMA_ASICXFR_SIZE          _SB_MAKEMASK(9,S_DMA_ASICXFR_SIZE)
    148      1.2  simonb #define V_DMA_ASICXFR_SIZE(x)       _SB_MAKEVALUE(x,S_DMA_ASICXFR_SIZE)
    149      1.2  simonb #define G_DMA_ASICXFR_SIZE(x)       _SB_GETVALUE(x,S_DMA_ASICXFR_SIZE,M_DMA_ASICXFR_SIZE)
    150      1.2  simonb 
    151      1.2  simonb #define S_DMA_INT_TIMEOUT           _SB_MAKE64(48)
    152      1.2  simonb #define M_DMA_INT_TIMEOUT           _SB_MAKEMASK(16,S_DMA_INT_TIMEOUT)
    153      1.2  simonb #define V_DMA_INT_TIMEOUT(x)        _SB_MAKEVALUE(x,S_DMA_INT_TIMEOUT)
    154      1.2  simonb #define G_DMA_INT_TIMEOUT(x)        _SB_GETVALUE(x,S_DMA_INT_TIMEOUT,M_DMA_INT_TIMEOUT)
    155      1.1  simonb 
    156      1.1  simonb /*
    157      1.1  simonb  * Ethernet and Serial DMA Descriptor base address (Table 7-6)
    158      1.1  simonb  */
    159      1.1  simonb 
    160      1.2  simonb #define M_DMA_DSCRBASE_MBZ          _SB_MAKEMASK(4,0)
    161      1.1  simonb 
    162      1.1  simonb 
    163      1.1  simonb /*
    164      1.1  simonb  * ASIC Mode Base Address (Table 7-7)
    165      1.1  simonb  */
    166      1.1  simonb 
    167      1.2  simonb #define M_DMA_ASIC_BASE_MBZ         _SB_MAKEMASK(20,0)
    168      1.1  simonb 
    169      1.1  simonb /*
    170      1.1  simonb  * DMA Descriptor Count Registers (Table 7-8)
    171      1.1  simonb  */
    172      1.2  simonb 
    173      1.1  simonb /* No bitfields */
    174      1.1  simonb 
    175      1.1  simonb 
    176      1.2  simonb /*
    177      1.1  simonb  * Current Descriptor Address Register (Table 7-11)
    178      1.1  simonb  */
    179      1.1  simonb 
    180      1.2  simonb #define S_DMA_CURDSCR_ADDR          _SB_MAKE64(0)
    181      1.2  simonb #define M_DMA_CURDSCR_ADDR          _SB_MAKEMASK(40,S_DMA_CURDSCR_ADDR)
    182      1.3     cgd #define S_DMA_CURDSCR_COUNT         _SB_MAKE64(40)
    183      1.2  simonb #define M_DMA_CURDSCR_COUNT         _SB_MAKEMASK(16,S_DMA_CURDSCR_COUNT)
    184      1.1  simonb 
    185  1.4.2.1   skrll #if SIBYTE_HDR_FEATURE(1250, PASS3) || SIBYTE_HDR_FEATURE(112x, PASS1) || SIBYTE_HDR_FEATURE_CHIP(1280)
    186      1.3     cgd #define M_DMA_TX_CH_PAUSE_ON	    _SB_MAKEMASK1(56)
    187  1.4.2.1   skrll #endif /* 1250 PASS3 || 112x PASS1 || 1280 */
    188      1.3     cgd 
    189      1.3     cgd /*
    190      1.3     cgd  * Receive Packet Drop Registers
    191      1.3     cgd  */
    192  1.4.2.1   skrll #if SIBYTE_HDR_FEATURE(1250, PASS3) || SIBYTE_HDR_FEATURE(112x, PASS1) || SIBYTE_HDR_FEATURE_CHIP(1280)
    193      1.3     cgd #define S_DMA_OODLOST_RX           _SB_MAKE64(0)
    194      1.3     cgd #define M_DMA_OODLOST_RX           _SB_MAKEMASK(16,S_DMA_OODLOST_RX)
    195      1.3     cgd #define G_DMA_OODLOST_RX(x)        _SB_GETVALUE(x,S_DMA_OODLOST_RX,M_DMA_OODLOST_RX)
    196      1.3     cgd 
    197      1.3     cgd #define S_DMA_EOP_COUNT_RX         _SB_MAKE64(16)
    198      1.3     cgd #define M_DMA_EOP_COUNT_RX         _SB_MAKEMASK(8,S_DMA_EOP_COUNT_RX)
    199      1.3     cgd #define G_DMA_EOP_COUNT_RX(x)      _SB_GETVALUE(x,S_DMA_EOP_COUNT_RX,M_DMA_EOP_COUNT_RX)
    200  1.4.2.1   skrll #endif /* 1250 PASS3 || 112x PASS1 || 1280 */
    201      1.3     cgd 
    202      1.1  simonb /*  *********************************************************************
    203      1.1  simonb     *  DMA Descriptors
    204      1.1  simonb     ********************************************************************* */
    205      1.1  simonb 
    206      1.1  simonb /*
    207      1.1  simonb  * Descriptor doubleword "A"  (Table 7-12)
    208      1.1  simonb  */
    209      1.1  simonb 
    210      1.2  simonb #define S_DMA_DSCRA_OFFSET          _SB_MAKE64(0)
    211      1.2  simonb #define M_DMA_DSCRA_OFFSET          _SB_MAKEMASK(5,S_DMA_DSCRA_OFFSET)
    212      1.3     cgd #define V_DMA_DSCRA_OFFSET(x)       _SB_MAKEVALUE(x,S_DMA_DSCRA_OFFSET)
    213      1.3     cgd #define G_DMA_DSCRA_OFFSET(x)       _SB_GETVALUE(x,S_DMA_DSCRA_OFFSET,M_DMA_DSCRA_OFFSET)
    214      1.1  simonb 
    215      1.1  simonb /* Note: Don't shift the address over, just mask it with the mask below */
    216      1.2  simonb #define S_DMA_DSCRA_A_ADDR          _SB_MAKE64(5)
    217      1.2  simonb #define M_DMA_DSCRA_A_ADDR          _SB_MAKEMASK(35,S_DMA_DSCRA_A_ADDR)
    218      1.1  simonb 
    219      1.2  simonb #define M_DMA_DSCRA_A_ADDR_OFFSET   (M_DMA_DSCRA_OFFSET | M_DMA_DSCRA_A_ADDR)
    220      1.1  simonb 
    221  1.4.2.1   skrll #if SIBYTE_HDR_FEATURE(1250, PASS3) || SIBYTE_HDR_FEATURE(112x, PASS1) || SIBYTE_HDR_FEATURE_CHIP(1280)
    222      1.3     cgd #define S_DMA_DSCRA_A_ADDR_UA        _SB_MAKE64(0)
    223      1.3     cgd #define M_DMA_DSCRA_A_ADDR_UA        _SB_MAKEMASK(40,S_DMA_DSCRA_A_ADDR_UA)
    224  1.4.2.1   skrll #endif /* 1250 PASS3 || 112x PASS1 || 1280 */
    225      1.3     cgd 
    226      1.2  simonb #define S_DMA_DSCRA_A_SIZE          _SB_MAKE64(40)
    227      1.2  simonb #define M_DMA_DSCRA_A_SIZE          _SB_MAKEMASK(9,S_DMA_DSCRA_A_SIZE)
    228      1.2  simonb #define V_DMA_DSCRA_A_SIZE(x)       _SB_MAKEVALUE(x,S_DMA_DSCRA_A_SIZE)
    229      1.2  simonb #define G_DMA_DSCRA_A_SIZE(x)       _SB_GETVALUE(x,S_DMA_DSCRA_A_SIZE,M_DMA_DSCRA_A_SIZE)
    230      1.2  simonb 
    231  1.4.2.1   skrll #if SIBYTE_HDR_FEATURE(1250, PASS3) || SIBYTE_HDR_FEATURE(112x, PASS1) || SIBYTE_HDR_FEATURE_CHIP(1280)
    232      1.3     cgd #define S_DMA_DSCRA_DSCR_CNT	    _SB_MAKE64(40)
    233      1.3     cgd #define M_DMA_DSCRA_DSCR_CNT	    _SB_MAKEMASK(8,S_DMA_DSCRA_DSCR_CNT)
    234      1.3     cgd #define G_DMA_DSCRA_DSCR_CNT(x)	    _SB_GETVALUE(x,S_DMA_DSCRA_DSCR_CNT,M_DMA_DSCRA_DSCR_CNT)
    235  1.4.2.1   skrll #endif /* 1250 PASS3 || 112x PASS1 || 1280 */
    236      1.3     cgd 
    237      1.2  simonb #define M_DMA_DSCRA_INTERRUPT       _SB_MAKEMASK1(49)
    238      1.2  simonb #define M_DMA_DSCRA_OFFSETB	    _SB_MAKEMASK1(50)
    239      1.2  simonb 
    240      1.2  simonb #define S_DMA_DSCRA_STATUS          _SB_MAKE64(51)
    241      1.2  simonb #define M_DMA_DSCRA_STATUS          _SB_MAKEMASK(13,S_DMA_DSCRA_STATUS)
    242      1.2  simonb #define V_DMA_DSCRA_STATUS(x)       _SB_MAKEVALUE(x,S_DMA_DSCRA_STATUS)
    243      1.2  simonb #define G_DMA_DSCRA_STATUS(x)       _SB_GETVALUE(x,S_DMA_DSCRA_STATUS,M_DMA_DSCRA_STATUS)
    244      1.1  simonb 
    245      1.1  simonb /*
    246      1.1  simonb  * Descriptor doubleword "B"  (Table 7-13)
    247      1.1  simonb  */
    248      1.1  simonb 
    249      1.1  simonb 
    250      1.2  simonb #define S_DMA_DSCRB_OPTIONS         _SB_MAKE64(0)
    251      1.2  simonb #define M_DMA_DSCRB_OPTIONS         _SB_MAKEMASK(4,S_DMA_DSCRB_OPTIONS)
    252      1.2  simonb #define V_DMA_DSCRB_OPTIONS(x)      _SB_MAKEVALUE(x,S_DMA_DSCRB_OPTIONS)
    253      1.2  simonb #define G_DMA_DSCRB_OPTIONS(x)      _SB_GETVALUE(x,S_DMA_DSCRB_OPTIONS,M_DMA_DSCRB_OPTIONS)
    254      1.1  simonb 
    255  1.4.2.1   skrll #if SIBYTE_HDR_FEATURE(1250, PASS3) || SIBYTE_HDR_FEATURE(112x, PASS1) || SIBYTE_HDR_FEATURE_CHIP(1280)
    256      1.3     cgd #define S_DMA_DSCRB_A_SIZE        _SB_MAKE64(8)
    257      1.3     cgd #define M_DMA_DSCRB_A_SIZE        _SB_MAKEMASK(14,S_DMA_DSCRB_A_SIZE)
    258      1.3     cgd #define V_DMA_DSCRB_A_SIZE(x)     _SB_MAKEVALUE(x,S_DMA_DSCRB_A_SIZE)
    259      1.3     cgd #define G_DMA_DSCRB_A_SIZE(x)     _SB_GETVALUE(x,S_DMA_DSCRB_A_SIZE,M_DMA_DSCRB_A_SIZE)
    260  1.4.2.1   skrll #endif /* 1250 PASS3 || 112x PASS1 || 1280 */
    261      1.3     cgd 
    262      1.2  simonb #define R_DMA_DSCRB_ADDR            _SB_MAKE64(0x10)
    263      1.1  simonb 
    264      1.1  simonb /* Note: Don't shift the address over, just mask it with the mask below */
    265      1.2  simonb #define S_DMA_DSCRB_B_ADDR          _SB_MAKE64(5)
    266      1.2  simonb #define M_DMA_DSCRB_B_ADDR          _SB_MAKEMASK(35,S_DMA_DSCRB_B_ADDR)
    267      1.1  simonb 
    268      1.2  simonb #define S_DMA_DSCRB_B_SIZE          _SB_MAKE64(40)
    269      1.2  simonb #define M_DMA_DSCRB_B_SIZE          _SB_MAKEMASK(9,S_DMA_DSCRB_B_SIZE)
    270      1.2  simonb #define V_DMA_DSCRB_B_SIZE(x)       _SB_MAKEVALUE(x,S_DMA_DSCRB_B_SIZE)
    271      1.2  simonb #define G_DMA_DSCRB_B_SIZE(x)       _SB_GETVALUE(x,S_DMA_DSCRB_B_SIZE,M_DMA_DSCRB_B_SIZE)
    272      1.2  simonb 
    273      1.2  simonb #define M_DMA_DSCRB_B_VALID         _SB_MAKEMASK1(49)
    274      1.2  simonb 
    275  1.4.2.1   skrll #if SIBYTE_HDR_FEATURE(1250, PASS3) || SIBYTE_HDR_FEATURE(112x, PASS1) || SIBYTE_HDR_FEATURE_CHIP(1280)
    276      1.3     cgd #define S_DMA_DSCRB_PKT_SIZE_MSB    _SB_MAKE64(48)
    277      1.3     cgd #define M_DMA_DSCRB_PKT_SIZE_MSB    _SB_MAKEMASK(2,S_DMA_DSCRB_PKT_SIZE_MSB)
    278      1.3     cgd #define V_DMA_DSCRB_PKT_SIZE_MSB(x) _SB_MAKEVALUE(x,S_DMA_DSCRB_PKT_SIZE_MSB)
    279      1.3     cgd #define G_DMA_DSCRB_PKT_SIZE_MSB(x) _SB_GETVALUE(x,S_DMA_DSCRB_PKT_SIZE_MSB,M_DMA_DSCRB_PKT_SIZE_MSB)
    280  1.4.2.1   skrll #endif /* 1250 PASS3 || 112x PASS1 || 1280 */
    281      1.3     cgd 
    282      1.2  simonb #define S_DMA_DSCRB_PKT_SIZE        _SB_MAKE64(50)
    283      1.2  simonb #define M_DMA_DSCRB_PKT_SIZE        _SB_MAKEMASK(14,S_DMA_DSCRB_PKT_SIZE)
    284      1.2  simonb #define V_DMA_DSCRB_PKT_SIZE(x)     _SB_MAKEVALUE(x,S_DMA_DSCRB_PKT_SIZE)
    285      1.2  simonb #define G_DMA_DSCRB_PKT_SIZE(x)     _SB_GETVALUE(x,S_DMA_DSCRB_PKT_SIZE,M_DMA_DSCRB_PKT_SIZE)
    286      1.1  simonb 
    287      1.3     cgd /*
    288      1.3     cgd  * from pass2 some bits in dscr_b are also used for rx status
    289      1.3     cgd  */
    290      1.3     cgd #define S_DMA_DSCRB_STATUS          _SB_MAKE64(0)
    291      1.3     cgd #define M_DMA_DSCRB_STATUS          _SB_MAKEMASK(1,S_DMA_DSCRB_STATUS)
    292      1.3     cgd #define V_DMA_DSCRB_STATUS(x)       _SB_MAKEVALUE(x,S_DMA_DSCRB_STATUS)
    293      1.3     cgd #define G_DMA_DSCRB_STATUS(x)       _SB_GETVALUE(x,S_DMA_DSCRB_STATUS,M_DMA_DSCRB_STATUS)
    294      1.3     cgd 
    295      1.2  simonb /*
    296      1.1  simonb  * Ethernet Descriptor Status Bits (Table 7-15)
    297      1.1  simonb  */
    298      1.1  simonb 
    299      1.2  simonb #define M_DMA_ETHRX_BADIP4CS        _SB_MAKEMASK1(51)
    300      1.2  simonb #define M_DMA_ETHRX_DSCRERR	    _SB_MAKEMASK1(52)
    301      1.1  simonb 
    302      1.3     cgd #if SIBYTE_HDR_FEATURE(1250, PASS2) || SIBYTE_HDR_FEATURE(112x, PASS1)
    303      1.3     cgd /* Note: BADTCPCS is actually in DSCR_B options field */
    304      1.3     cgd #define M_DMA_ETHRX_BADTCPCS	_SB_MAKEMASK1(0)
    305      1.3     cgd #endif /* 1250 PASS2 || 112x PASS1 */
    306      1.3     cgd 
    307  1.4.2.1   skrll #if SIBYTE_HDR_FEATURE(1250, PASS3) || SIBYTE_HDR_FEATURE(112x, PASS1) || SIBYTE_HDR_FEATURE_CHIP(1280)
    308      1.3     cgd #define M_DMA_ETH_VLAN_FLAG	_SB_MAKEMASK1(1)
    309      1.3     cgd #define M_DMA_ETH_CRC_FLAG	_SB_MAKEMASK1(2)
    310  1.4.2.1   skrll #endif /* 1250 PASS3 || 112x PASS1 || 1280 */
    311      1.2  simonb 
    312      1.2  simonb #define S_DMA_ETHRX_RXCH            53
    313      1.2  simonb #define M_DMA_ETHRX_RXCH            _SB_MAKEMASK(2,S_DMA_ETHRX_RXCH)
    314      1.2  simonb #define V_DMA_ETHRX_RXCH(x)         _SB_MAKEVALUE(x,S_DMA_ETHRX_RXCH)
    315      1.2  simonb #define G_DMA_ETHRX_RXCH(x)         _SB_GETVALUE(x,S_DMA_ETHRX_RXCH,M_DMA_ETHRX_RXCH)
    316      1.2  simonb 
    317      1.2  simonb #define S_DMA_ETHRX_PKTTYPE         55
    318      1.2  simonb #define M_DMA_ETHRX_PKTTYPE         _SB_MAKEMASK(3,S_DMA_ETHRX_PKTTYPE)
    319      1.2  simonb #define V_DMA_ETHRX_PKTTYPE(x)      _SB_MAKEVALUE(x,S_DMA_ETHRX_PKTTYPE)
    320      1.2  simonb #define G_DMA_ETHRX_PKTTYPE(x)      _SB_GETVALUE(x,S_DMA_ETHRX_PKTTYPE,M_DMA_ETHRX_PKTTYPE)
    321      1.2  simonb 
    322      1.2  simonb #define K_DMA_ETHRX_PKTTYPE_IPV4    0
    323      1.2  simonb #define K_DMA_ETHRX_PKTTYPE_ARPV4   1
    324      1.2  simonb #define K_DMA_ETHRX_PKTTYPE_802     2
    325      1.2  simonb #define K_DMA_ETHRX_PKTTYPE_OTHER   3
    326      1.2  simonb #define K_DMA_ETHRX_PKTTYPE_USER0   4
    327      1.2  simonb #define K_DMA_ETHRX_PKTTYPE_USER1   5
    328      1.2  simonb #define K_DMA_ETHRX_PKTTYPE_USER2   6
    329      1.2  simonb #define K_DMA_ETHRX_PKTTYPE_USER3   7
    330      1.2  simonb 
    331      1.3     cgd #define M_DMA_ETHRX_MATCH_HASH      _SB_MAKEMASK1(58)
    332      1.3     cgd #define M_DMA_ETHRX_MATCH_EXACT     _SB_MAKEMASK1(59)
    333      1.2  simonb #define M_DMA_ETHRX_BCAST           _SB_MAKEMASK1(60)
    334      1.2  simonb #define M_DMA_ETHRX_MCAST           _SB_MAKEMASK1(61)
    335      1.2  simonb #define M_DMA_ETHRX_BAD	            _SB_MAKEMASK1(62)
    336      1.2  simonb #define M_DMA_ETHRX_SOP             _SB_MAKEMASK1(63)
    337      1.1  simonb 
    338      1.1  simonb /*
    339      1.1  simonb  * Ethernet Transmit Status Bits (Table 7-16)
    340      1.1  simonb  */
    341      1.1  simonb 
    342      1.2  simonb #define M_DMA_ETHTX_SOP	    	    _SB_MAKEMASK1(63)
    343      1.1  simonb 
    344      1.2  simonb /*
    345      1.1  simonb  * Ethernet Transmit Options (Table 7-17)
    346      1.1  simonb  */
    347      1.1  simonb 
    348      1.2  simonb #define K_DMA_ETHTX_NOTSOP          _SB_MAKE64(0x00)
    349      1.2  simonb #define K_DMA_ETHTX_APPENDCRC       _SB_MAKE64(0x01)
    350      1.2  simonb #define K_DMA_ETHTX_REPLACECRC      _SB_MAKE64(0x02)
    351      1.2  simonb #define K_DMA_ETHTX_APPENDCRC_APPENDPAD _SB_MAKE64(0x03)
    352      1.2  simonb #define K_DMA_ETHTX_APPENDVLAN_REPLACECRC _SB_MAKE64(0x04)
    353      1.2  simonb #define K_DMA_ETHTX_REMOVEVLAN_REPLACECRC _SB_MAKE64(0x05)
    354      1.2  simonb #define K_DMA_ETHTX_REPLACEVLAN_REPLACECRC _SB_MAKE64(0x6)
    355      1.2  simonb #define K_DMA_ETHTX_NOMODS          _SB_MAKE64(0x07)
    356      1.2  simonb #define K_DMA_ETHTX_RESERVED1       _SB_MAKE64(0x08)
    357      1.2  simonb #define K_DMA_ETHTX_REPLACESADDR_APPENDCRC _SB_MAKE64(0x09)
    358      1.2  simonb #define K_DMA_ETHTX_REPLACESADDR_REPLACECRC _SB_MAKE64(0x0A)
    359      1.2  simonb #define K_DMA_ETHTX_REPLACESADDR_APPENDCRC_APPENDPAD _SB_MAKE64(0x0B)
    360      1.2  simonb #define K_DMA_ETHTX_REPLACESADDR_APPENDVLAN_REPLACECRC _SB_MAKE64(0x0C)
    361      1.2  simonb #define K_DMA_ETHTX_REPLACESADDR_REMOVEVLAN_REPLACECRC _SB_MAKE64(0x0D)
    362      1.2  simonb #define K_DMA_ETHTX_REPLACESADDR_REPLACEVLAN_REPLACECRC _SB_MAKE64(0x0E)
    363      1.2  simonb #define K_DMA_ETHTX_RESERVED2       _SB_MAKE64(0x0F)
    364      1.1  simonb 
    365      1.1  simonb /*
    366      1.1  simonb  * Serial Receive Options (Table 7-18)
    367      1.1  simonb  */
    368      1.2  simonb #define M_DMA_SERRX_CRC_ERROR       _SB_MAKEMASK1(56)
    369      1.2  simonb #define M_DMA_SERRX_ABORT           _SB_MAKEMASK1(57)
    370      1.2  simonb #define M_DMA_SERRX_OCTET_ERROR     _SB_MAKEMASK1(58)
    371      1.2  simonb #define M_DMA_SERRX_LONGFRAME_ERROR _SB_MAKEMASK1(59)
    372      1.2  simonb #define M_DMA_SERRX_SHORTFRAME_ERROR _SB_MAKEMASK1(60)
    373      1.2  simonb #define M_DMA_SERRX_OVERRUN_ERROR   _SB_MAKEMASK1(61)
    374      1.2  simonb #define M_DMA_SERRX_GOOD            _SB_MAKEMASK1(62)
    375      1.2  simonb #define M_DMA_SERRX_SOP             _SB_MAKEMASK1(63)
    376      1.1  simonb 
    377      1.1  simonb /*
    378      1.1  simonb  * Serial Transmit Status Bits (Table 7-20)
    379      1.1  simonb  */
    380      1.1  simonb 
    381      1.2  simonb #define M_DMA_SERTX_FLAG	    _SB_MAKEMASK1(63)
    382      1.1  simonb 
    383      1.1  simonb /*
    384      1.1  simonb  * Serial Transmit Options (Table 7-21)
    385      1.1  simonb  */
    386      1.1  simonb 
    387      1.2  simonb #define K_DMA_SERTX_RESERVED        _SB_MAKEMASK1(0)
    388      1.2  simonb #define K_DMA_SERTX_APPENDCRC       _SB_MAKEMASK1(1)
    389      1.2  simonb #define K_DMA_SERTX_APPENDPAD       _SB_MAKEMASK1(2)
    390      1.2  simonb #define K_DMA_SERTX_ABORT           _SB_MAKEMASK1(3)
    391      1.1  simonb 
    392      1.1  simonb 
    393      1.1  simonb /*  *********************************************************************
    394      1.1  simonb     *  Data Mover Registers
    395      1.1  simonb     ********************************************************************* */
    396      1.1  simonb 
    397      1.2  simonb /*
    398      1.1  simonb  * Data Mover Descriptor Base Address Register (Table 7-22)
    399      1.1  simonb  * Register: DM_DSCR_BASE_0
    400      1.1  simonb  * Register: DM_DSCR_BASE_1
    401      1.1  simonb  * Register: DM_DSCR_BASE_2
    402      1.1  simonb  * Register: DM_DSCR_BASE_3
    403      1.1  simonb  */
    404      1.1  simonb 
    405      1.2  simonb #define M_DM_DSCR_BASE_MBZ          _SB_MAKEMASK(4,0)
    406      1.1  simonb 
    407      1.1  simonb /*  Note: Just mask the base address and then OR it in. */
    408      1.2  simonb #define S_DM_DSCR_BASE_ADDR         _SB_MAKE64(4)
    409      1.2  simonb #define M_DM_DSCR_BASE_ADDR         _SB_MAKEMASK(36,S_DM_DSCR_BASE_ADDR)
    410      1.1  simonb 
    411      1.2  simonb #define S_DM_DSCR_BASE_RINGSZ       _SB_MAKE64(40)
    412      1.2  simonb #define M_DM_DSCR_BASE_RINGSZ       _SB_MAKEMASK(16,S_DM_DSCR_BASE_RINGSZ)
    413      1.2  simonb #define V_DM_DSCR_BASE_RINGSZ(x)    _SB_MAKEVALUE(x,S_DM_DSCR_BASE_RINGSZ)
    414      1.2  simonb #define G_DM_DSCR_BASE_RINGSZ(x)    _SB_GETVALUE(x,S_DM_DSCR_BASE_RINGSZ,M_DM_DSCR_BASE_RINGSZ)
    415      1.2  simonb 
    416      1.2  simonb #define S_DM_DSCR_BASE_PRIORITY     _SB_MAKE64(56)
    417      1.2  simonb #define M_DM_DSCR_BASE_PRIORITY     _SB_MAKEMASK(3,S_DM_DSCR_BASE_PRIORITY)
    418      1.2  simonb #define V_DM_DSCR_BASE_PRIORITY(x)  _SB_MAKEVALUE(x,S_DM_DSCR_BASE_PRIORITY)
    419      1.2  simonb #define G_DM_DSCR_BASE_PRIORITY(x)  _SB_GETVALUE(x,S_DM_DSCR_BASE_PRIORITY,M_DM_DSCR_BASE_PRIORITY)
    420      1.2  simonb 
    421      1.2  simonb #define K_DM_DSCR_BASE_PRIORITY_1   0
    422      1.2  simonb #define K_DM_DSCR_BASE_PRIORITY_2   1
    423      1.2  simonb #define K_DM_DSCR_BASE_PRIORITY_4   2
    424      1.2  simonb #define K_DM_DSCR_BASE_PRIORITY_8   3
    425      1.2  simonb #define K_DM_DSCR_BASE_PRIORITY_16  4
    426      1.2  simonb 
    427      1.2  simonb #define M_DM_DSCR_BASE_ACTIVE       _SB_MAKEMASK1(59)
    428      1.2  simonb #define M_DM_DSCR_BASE_INTERRUPT    _SB_MAKEMASK1(60)
    429      1.2  simonb #define M_DM_DSCR_BASE_RESET        _SB_MAKEMASK1(61)	/* write register */
    430      1.2  simonb #define M_DM_DSCR_BASE_ERROR        _SB_MAKEMASK1(61)	/* read register */
    431      1.2  simonb #define M_DM_DSCR_BASE_ABORT        _SB_MAKEMASK1(62)
    432      1.2  simonb #define M_DM_DSCR_BASE_ENABL        _SB_MAKEMASK1(63)
    433      1.1  simonb 
    434      1.2  simonb /*
    435      1.1  simonb  * Data Mover Descriptor Count Register (Table 7-25)
    436      1.1  simonb  */
    437      1.1  simonb 
    438      1.1  simonb /* no bitfields */
    439      1.1  simonb 
    440      1.1  simonb /*
    441      1.1  simonb  * Data Mover Current Descriptor Address (Table 7-24)
    442      1.1  simonb  * Register: DM_CUR_DSCR_ADDR_0
    443      1.1  simonb  * Register: DM_CUR_DSCR_ADDR_1
    444      1.1  simonb  * Register: DM_CUR_DSCR_ADDR_2
    445      1.1  simonb  * Register: DM_CUR_DSCR_ADDR_3
    446      1.1  simonb  */
    447      1.1  simonb 
    448      1.2  simonb #define S_DM_CUR_DSCR_DSCR_ADDR     _SB_MAKE64(0)
    449      1.2  simonb #define M_DM_CUR_DSCR_DSCR_ADDR     _SB_MAKEMASK(40,S_DM_CUR_DSCR_DSCR_ADDR)
    450      1.1  simonb 
    451      1.2  simonb #define S_DM_CUR_DSCR_DSCR_COUNT    _SB_MAKE64(48)
    452      1.2  simonb #define M_DM_CUR_DSCR_DSCR_COUNT    _SB_MAKEMASK(16,S_DM_CUR_DSCR_DSCR_COUNT)
    453      1.2  simonb #define V_DM_CUR_DSCR_DSCR_COUNT(r) _SB_MAKEVALUE(r,S_DM_CUR_DSCR_DSCR_COUNT)
    454      1.2  simonb #define G_DM_CUR_DSCR_DSCR_COUNT(r) _SB_GETVALUE(r,S_DM_CUR_DSCR_DSCR_COUNT,\
    455      1.2  simonb                                      M_DM_CUR_DSCR_DSCR_COUNT)
    456      1.1  simonb 
    457      1.3     cgd 
    458  1.4.2.1   skrll #if SIBYTE_HDR_FEATURE(1250, PASS3) || SIBYTE_HDR_FEATURE(112x, PASS1) || SIBYTE_HDR_FEATURE_CHIP(1280)
    459      1.3     cgd /*
    460      1.3     cgd  * Data Mover Channel Partial Result Registers
    461      1.3     cgd  * Register: DM_PARTIAL_0
    462      1.3     cgd  * Register: DM_PARTIAL_1
    463      1.3     cgd  * Register: DM_PARTIAL_2
    464      1.3     cgd  * Register: DM_PARTIAL_3
    465      1.3     cgd  */
    466      1.3     cgd #define S_DM_PARTIAL_CRC_PARTIAL      _SB_MAKE64(0)
    467      1.3     cgd #define M_DM_PARTIAL_CRC_PARTIAL      _SB_MAKEMASK(32,S_DM_PARTIAL_CRC_PARTIAL)
    468      1.3     cgd #define V_DM_PARTIAL_CRC_PARTIAL(r)   _SB_MAKEVALUE(r,S_DM_PARTIAL_CRC_PARTIAL)
    469      1.3     cgd #define G_DM_PARTIAL_CRC_PARTIAL(r)   _SB_GETVALUE(r,S_DM_PARTIAL_CRC_PARTIAL,\
    470      1.3     cgd                                        M_DM_PARTIAL_CRC_PARTIAL)
    471      1.3     cgd 
    472      1.3     cgd #define S_DM_PARTIAL_TCPCS_PARTIAL    _SB_MAKE64(32)
    473      1.3     cgd #define M_DM_PARTIAL_TCPCS_PARTIAL    _SB_MAKEMASK(16,S_DM_PARTIAL_TCPCS_PARTIAL)
    474      1.3     cgd #define V_DM_PARTIAL_TCPCS_PARTIAL(r) _SB_MAKEVALUE(r,S_DM_PARTIAL_TCPCS_PARTIAL)
    475      1.3     cgd #define G_DM_PARTIAL_TCPCS_PARTIAL(r) _SB_GETVALUE(r,S_DM_PARTIAL_TCPCS_PARTIAL,\
    476      1.3     cgd                                        M_DM_PARTIAL_TCPCS_PARTIAL)
    477      1.3     cgd 
    478      1.3     cgd #define M_DM_PARTIAL_ODD_BYTE         _SB_MAKEMASK1(48)
    479  1.4.2.1   skrll #endif /* 1250 PASS3 || 112x PASS1 || 1280 */
    480      1.3     cgd 
    481      1.3     cgd 
    482  1.4.2.1   skrll #if SIBYTE_HDR_FEATURE(1250, PASS3) || SIBYTE_HDR_FEATURE(112x, PASS1) || SIBYTE_HDR_FEATURE_CHIP(1280)
    483      1.3     cgd /*
    484      1.3     cgd  * Data Mover CRC Definition Registers
    485      1.3     cgd  * Register: CRC_DEF_0
    486      1.3     cgd  * Register: CRC_DEF_1
    487      1.3     cgd  */
    488      1.3     cgd #define S_CRC_DEF_CRC_INIT            _SB_MAKE64(0)
    489      1.3     cgd #define M_CRC_DEF_CRC_INIT            _SB_MAKEMASK(32,S_CRC_DEF_CRC_INIT)
    490      1.3     cgd #define V_CRC_DEF_CRC_INIT(r)         _SB_MAKEVALUE(r,S_CRC_DEF_CRC_INIT)
    491      1.3     cgd #define G_CRC_DEF_CRC_INIT(r)         _SB_GETVALUE(r,S_CRC_DEF_CRC_INIT,\
    492      1.3     cgd                                        M_CRC_DEF_CRC_INIT)
    493      1.3     cgd 
    494      1.3     cgd #define S_CRC_DEF_CRC_POLY            _SB_MAKE64(32)
    495      1.3     cgd #define M_CRC_DEF_CRC_POLY            _SB_MAKEMASK(32,S_CRC_DEF_CRC_POLY)
    496      1.3     cgd #define V_CRC_DEF_CRC_POLY(r)         _SB_MAKEVALUE(r,S_CRC_DEF_CRC_POLY)
    497      1.3     cgd #define G_CRC_DEF_CRC_POLY(r)         _SB_GETVALUE(r,S_CRC_DEF_CRC_POLY,\
    498      1.3     cgd                                        M_CRC_DEF_CRC_POLY)
    499  1.4.2.1   skrll #endif /* 1250 PASS3 || 112x PASS1 || 1280 */
    500      1.3     cgd 
    501      1.3     cgd 
    502  1.4.2.1   skrll #if SIBYTE_HDR_FEATURE(1250, PASS3) || SIBYTE_HDR_FEATURE(112x, PASS1) || SIBYTE_HDR_FEATURE_CHIP(1280)
    503      1.3     cgd /*
    504      1.3     cgd  * Data Mover CRC/Checksum Definition Registers
    505      1.3     cgd  * Register: CTCP_DEF_0
    506      1.3     cgd  * Register: CTCP_DEF_1
    507      1.3     cgd  */
    508      1.3     cgd #define S_CTCP_DEF_CRC_TXOR           _SB_MAKE64(0)
    509      1.3     cgd #define M_CTCP_DEF_CRC_TXOR           _SB_MAKEMASK(32,S_CTCP_DEF_CRC_TXOR)
    510      1.3     cgd #define V_CTCP_DEF_CRC_TXOR(r)        _SB_MAKEVALUE(r,S_CTCP_DEF_CRC_TXOR)
    511      1.3     cgd #define G_CTCP_DEF_CRC_TXOR(r)        _SB_GETVALUE(r,S_CTCP_DEF_CRC_TXOR,\
    512      1.3     cgd                                        M_CTCP_DEF_CRC_TXOR)
    513      1.3     cgd 
    514      1.3     cgd #define S_CTCP_DEF_TCPCS_INIT         _SB_MAKE64(32)
    515      1.3     cgd #define M_CTCP_DEF_TCPCS_INIT         _SB_MAKEMASK(16,S_CTCP_DEF_TCPCS_INIT)
    516      1.3     cgd #define V_CTCP_DEF_TCPCS_INIT(r)      _SB_MAKEVALUE(r,S_CTCP_DEF_TCPCS_INIT)
    517      1.3     cgd #define G_CTCP_DEF_TCPCS_INIT(r)      _SB_GETVALUE(r,S_CTCP_DEF_TCPCS_INIT,\
    518      1.3     cgd                                        M_CTCP_DEF_TCPCS_INIT)
    519      1.3     cgd 
    520      1.3     cgd #define S_CTCP_DEF_CRC_WIDTH          _SB_MAKE64(48)
    521      1.3     cgd #define M_CTCP_DEF_CRC_WIDTH          _SB_MAKEMASK(2,S_CTCP_DEF_CRC_WIDTH)
    522      1.3     cgd #define V_CTCP_DEF_CRC_WIDTH(r)       _SB_MAKEVALUE(r,S_CTCP_DEF_CRC_WIDTH)
    523      1.3     cgd #define G_CTCP_DEF_CRC_WIDTH(r)       _SB_GETVALUE(r,S_CTCP_DEF_CRC_WIDTH,\
    524      1.3     cgd                                        M_CTCP_DEF_CRC_WIDTH)
    525      1.3     cgd 
    526      1.3     cgd #define K_CTCP_DEF_CRC_WIDTH_4        0
    527      1.3     cgd #define K_CTCP_DEF_CRC_WIDTH_2        1
    528      1.3     cgd #define K_CTCP_DEF_CRC_WIDTH_1        2
    529      1.3     cgd 
    530      1.3     cgd #define M_CTCP_DEF_CRC_BIT_ORDER      _SB_MAKEMASK1(50)
    531  1.4.2.1   skrll #endif /* 1250 PASS3 || 112x PASS1 || 1280 */
    532      1.3     cgd 
    533      1.3     cgd 
    534      1.1  simonb /*
    535      1.1  simonb  * Data Mover Descriptor Doubleword "A"  (Table 7-26)
    536      1.1  simonb  */
    537      1.1  simonb 
    538      1.2  simonb #define S_DM_DSCRA_DST_ADDR         _SB_MAKE64(0)
    539      1.2  simonb #define M_DM_DSCRA_DST_ADDR         _SB_MAKEMASK(40,S_DM_DSCRA_DST_ADDR)
    540      1.1  simonb 
    541      1.2  simonb #define M_DM_DSCRA_UN_DEST          _SB_MAKEMASK1(40)
    542      1.2  simonb #define M_DM_DSCRA_UN_SRC           _SB_MAKEMASK1(41)
    543      1.2  simonb #define M_DM_DSCRA_INTERRUPT        _SB_MAKEMASK1(42)
    544      1.3     cgd #if SIBYTE_HDR_FEATURE_UP_TO(1250, PASS1)
    545      1.3     cgd #define M_DM_DSCRA_THROTTLE         _SB_MAKEMASK1(43)
    546      1.3     cgd #endif /* up to 1250 PASS1 */
    547      1.2  simonb 
    548      1.2  simonb #define S_DM_DSCRA_DIR_DEST         _SB_MAKE64(44)
    549      1.2  simonb #define M_DM_DSCRA_DIR_DEST         _SB_MAKEMASK(2,S_DM_DSCRA_DIR_DEST)
    550      1.2  simonb #define V_DM_DSCRA_DIR_DEST(x)      _SB_MAKEVALUE(x,S_DM_DSCRA_DIR_DEST)
    551      1.2  simonb #define G_DM_DSCRA_DIR_DEST(x)      _SB_GETVALUE(x,S_DM_DSCRA_DIR_DEST,M_DM_DSCRA_DIR_DEST)
    552      1.2  simonb 
    553      1.2  simonb #define K_DM_DSCRA_DIR_DEST_INCR    0
    554      1.2  simonb #define K_DM_DSCRA_DIR_DEST_DECR    1
    555      1.2  simonb #define K_DM_DSCRA_DIR_DEST_CONST   2
    556      1.2  simonb 
    557      1.2  simonb #define V_DM_DSCRA_DIR_DEST_INCR    _SB_MAKEVALUE(K_DM_DSCRA_DIR_DEST_INCR,S_DM_DSCRA_DIR_DEST)
    558      1.2  simonb #define V_DM_DSCRA_DIR_DEST_DECR    _SB_MAKEVALUE(K_DM_DSCRA_DIR_DEST_DECR,S_DM_DSCRA_DIR_DEST)
    559      1.2  simonb #define V_DM_DSCRA_DIR_DEST_CONST   _SB_MAKEVALUE(K_DM_DSCRA_DIR_DEST_CONST,S_DM_DSCRA_DIR_DEST)
    560      1.2  simonb 
    561      1.2  simonb #define S_DM_DSCRA_DIR_SRC          _SB_MAKE64(46)
    562      1.2  simonb #define M_DM_DSCRA_DIR_SRC          _SB_MAKEMASK(2,S_DM_DSCRA_DIR_SRC)
    563      1.2  simonb #define V_DM_DSCRA_DIR_SRC(x)       _SB_MAKEVALUE(x,S_DM_DSCRA_DIR_SRC)
    564      1.2  simonb #define G_DM_DSCRA_DIR_SRC(x)       _SB_GETVALUE(x,S_DM_DSCRA_DIR_SRC,M_DM_DSCRA_DIR_SRC)
    565      1.2  simonb 
    566      1.2  simonb #define K_DM_DSCRA_DIR_SRC_INCR     0
    567      1.2  simonb #define K_DM_DSCRA_DIR_SRC_DECR     1
    568      1.2  simonb #define K_DM_DSCRA_DIR_SRC_CONST    2
    569      1.2  simonb 
    570      1.2  simonb #define V_DM_DSCRA_DIR_SRC_INCR     _SB_MAKEVALUE(K_DM_DSCRA_DIR_SRC_INCR,S_DM_DSCRA_DIR_SRC)
    571      1.2  simonb #define V_DM_DSCRA_DIR_SRC_DECR     _SB_MAKEVALUE(K_DM_DSCRA_DIR_SRC_DECR,S_DM_DSCRA_DIR_SRC)
    572      1.2  simonb #define V_DM_DSCRA_DIR_SRC_CONST    _SB_MAKEVALUE(K_DM_DSCRA_DIR_SRC_CONST,S_DM_DSCRA_DIR_SRC)
    573      1.2  simonb 
    574      1.2  simonb 
    575      1.2  simonb #define M_DM_DSCRA_ZERO_MEM         _SB_MAKEMASK1(48)
    576      1.2  simonb #define M_DM_DSCRA_PREFETCH         _SB_MAKEMASK1(49)
    577      1.2  simonb #define M_DM_DSCRA_L2C_DEST         _SB_MAKEMASK1(50)
    578      1.2  simonb #define M_DM_DSCRA_L2C_SRC          _SB_MAKEMASK1(51)
    579      1.1  simonb 
    580  1.4.2.1   skrll #if SIBYTE_HDR_FEATURE(1250, PASS2) || SIBYTE_HDR_FEATURE(112x, PASS1)
    581      1.3     cgd #define M_DM_DSCRA_RD_BKOFF	    _SB_MAKEMASK1(52)
    582      1.3     cgd #define M_DM_DSCRA_WR_BKOFF	    _SB_MAKEMASK1(53)
    583      1.3     cgd #endif /* 1250 PASS2 || 112x PASS1 */
    584      1.3     cgd 
    585  1.4.2.1   skrll #if SIBYTE_HDR_FEATURE(1250, PASS3) || SIBYTE_HDR_FEATURE(112x, PASS1) || SIBYTE_HDR_FEATURE_CHIP(1280)
    586      1.3     cgd #define M_DM_DSCRA_TCPCS_EN         _SB_MAKEMASK1(54)
    587      1.3     cgd #define M_DM_DSCRA_TCPCS_RES        _SB_MAKEMASK1(55)
    588      1.3     cgd #define M_DM_DSCRA_TCPCS_AP         _SB_MAKEMASK1(56)
    589      1.3     cgd #define M_DM_DSCRA_CRC_EN           _SB_MAKEMASK1(57)
    590      1.3     cgd #define M_DM_DSCRA_CRC_RES          _SB_MAKEMASK1(58)
    591      1.3     cgd #define M_DM_DSCRA_CRC_AP           _SB_MAKEMASK1(59)
    592      1.3     cgd #define M_DM_DSCRA_CRC_DFN          _SB_MAKEMASK1(60)
    593      1.3     cgd #define M_DM_DSCRA_CRC_XBIT         _SB_MAKEMASK1(61)
    594  1.4.2.1   skrll #endif /* 1250 PASS3 || 112x PASS1 || 1280 */
    595      1.3     cgd 
    596      1.3     cgd #define M_DM_DSCRA_RESERVED2        _SB_MAKEMASK(3,61)
    597      1.1  simonb 
    598      1.1  simonb /*
    599      1.1  simonb  * Data Mover Descriptor Doubleword "B"  (Table 7-25)
    600      1.1  simonb  */
    601      1.1  simonb 
    602      1.2  simonb #define S_DM_DSCRB_SRC_ADDR         _SB_MAKE64(0)
    603      1.2  simonb #define M_DM_DSCRB_SRC_ADDR         _SB_MAKEMASK(40,S_DM_DSCRB_SRC_ADDR)
    604      1.1  simonb 
    605      1.2  simonb #define S_DM_DSCRB_SRC_LENGTH       _SB_MAKE64(40)
    606      1.2  simonb #define M_DM_DSCRB_SRC_LENGTH       _SB_MAKEMASK(20,S_DM_DSCRB_SRC_LENGTH)
    607      1.2  simonb #define V_DM_DSCRB_SRC_LENGTH(x)    _SB_MAKEVALUE(x,S_DM_DSCRB_SRC_LENGTH)
    608      1.2  simonb #define G_DM_DSCRB_SRC_LENGTH(x)    _SB_GETVALUE(x,S_DM_DSCRB_SRC_LENGTH,M_DM_DSCRB_SRC_LENGTH)
    609      1.1  simonb 
    610      1.1  simonb 
    611      1.1  simonb #endif
    612