⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 bcm1480_hsp.h

📁 一个很好的嵌入式linux平台下的bootloader
💻 H
📖 第 1 页 / 共 4 页
字号:
/*  *********************************************************************    *  BCM1280/BCM1480 Board Support Package    *      *  High-Speed Port Block constants           File: bcm1480_hsp.h           *      *  This module contains constants and macros useful for    *  programming the the high-speed (HT/SPI-4) ports.    *      *  BCM1400 specification level:  1X55_1X80-UM100-R (12/18/03)    *      *********************************************************************      *    *  Copyright 2000,2001,2002,2003,2004    *  Broadcom Corporation. All rights reserved.    *      *  This software is furnished under license and may be used and     *  copied only in accordance with the following terms and     *  conditions.  Subject to these conditions, you may download,     *  copy, install, use, modify and distribute modified or unmodified     *  copies of this software in source and/or binary form.  No title     *  or ownership is transferred hereby.    *      *  1) Any source code used, modified or distributed must reproduce     *     and retain this copyright notice and list of conditions     *     as they appear in the source file.    *      *  2) No right is granted to use any trade name, trademark, or     *     logo of Broadcom Corporation.  The "Broadcom Corporation"     *     name may not be used to endorse or promote products derived     *     from this software without the prior written permission of     *     Broadcom Corporation.    *      *  3) THIS SOFTWARE IS PROVIDED "AS-IS" AND ANY EXPRESS OR    *     IMPLIED WARRANTIES, INCLUDING BUT NOT LIMITED TO, ANY IMPLIED    *     WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR     *     PURPOSE, OR NON-INFRINGEMENT ARE DISCLAIMED. IN NO EVENT     *     SHALL BROADCOM BE LIABLE FOR ANY DAMAGES WHATSOEVER, AND IN     *     PARTICULAR, BROADCOM SHALL NOT BE LIABLE FOR DIRECT, INDIRECT,    *     INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES     *     (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE    *     GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR    *     BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY     *     OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR     *     TORT (INCLUDING NEGLIGENCE OR OTHERWISE), EVEN IF ADVISED OF     *     THE POSSIBILITY OF SUCH DAMAGE.    ********************************************************************* */#ifndef _BCM1480_HSP_H#define _BCM1480_HSP_H#include "sb1250_defs.h"/* * RX SPI-4 Configuration 0 Register (Table 334) */#define M_BCM1480_HSP_RX_PORT_RESET         _SB_MAKEMASK1(0)#define M_BCM1480_HSP_RX_PLL_DIV_4          _SB_MAKEMASK1(2)#define S_BCM1480_HSP_RX_PLL_MULTIPLIER     3#define M_BCM1480_HSP_RX_PLL_MULTIPLIER     _SB_MAKEMASK(5,S_BCM1480_HSP_RX_PLL_MULTIPLIER)#define V_BCM1480_HSP_RX_PLL_MULTIPLIER(x)  _SB_MAKEVALUE(x,S_BCM1480_HSP_RX_PLL_MULTIPLIER)#define G_BCM1480_HSP_RX_PLL_MULTIPLIER(x)  _SB_GETVALUE(x,S_BCM1480_HSP_RX_PLL_MULTIPLIER,M_BCM1480_HSP_RX_PLL_MULTIPLIER)#define S_BCM1480_HSP_TRAIN_CYCLE_COUNT     8#define M_BCM1480_HSP_TRAIN_CYCLE_COUNT     _SB_MAKEMASK(8,S_BCM1480_HSP_TRAIN_CYCLE_COUNT)#define V_BCM1480_HSP_TRAIN_CYCLE_COUNT(x)  _SB_MAKEVALUE(x,S_BCM1480_HSP_TRAIN_CYCLE_COUNT)#define G_BCM1480_HSP_TRAIN_CYCLE_COUNT(x)  _SB_GETVALUE(x,S_BCM1480_HSP_TRAIN_CYCLE_COUNT,M_BCM1480_HSP_TRAIN_CYCLE_COUNT)#define S_BCM1480_HSP_DIP4_ERR_CLEAR        16#define M_BCM1480_HSP_DIP4_ERR_CLEAR        _SB_MAKEMASK(4,S_BCM1480_HSP_DIP4_ERR_CLEAR)#define V_BCM1480_HSP_DIP4_ERR_CLEAR(x)     _SB_MAKEVALUE(x,S_BCM1480_HSP_DIP4_ERR_CLEAR)#define G_BCM1480_HSP_DIP4_ERR_CLEAR(x)     _SB_GETVALUE(x,S_BCM1480_HSP_DIP4_ERR_CLEAR,M_BCM1480_HSP_DIP4_ERR_CLEAR)#define S_BCM1480_DIP4_ERR_LIMIT            20#define M_BCM1480_DIP4_ERR_LIMIT            _SB_MAKEMASK(4,S_BCM1480_DIP4_ERR_LIMIT)#define V_BCM1480_DIP4_ERR_LIMIT(x)         _SB_MAKEVALUE(x,S_BCM1480_DIP4_ERR_LIMIT)#define G_BCM1480_DIP4_ERR_LIMIT(x)         _SB_GETVALUE(x,S_BCM1480_DIP4_ERR_LIMIT,M_BCM1480_DIP4_ERR_LIMIT)#define M_BCM1480_HSP_RSTAT_POLARITY        _SB_MAKEMASK1(24)#define S_BCM1480_HSP_LINK_MODE             62#define M_BCM1480_HSP_LINK_MODE             _SB_MAKEMASK(2,S_BCM1480_HSP_LINK_MODE)#define V_BCM1480_HSP_LINK_MODE(x)          _SB_MAKEVALUE(x,S_BCM1480_HSP_LINK_MODE)#define G_BCM1480_HSP_LINK_MODE(x)          _SB_GETVALUE(x,S_BCM1480_HSP_LINK_MODE,M_BCM1480_HSP_LINK_MODE)#define K_BCM1480_HSP_LINK_MODE_HT	0#define K_BCM1480_HSP_LINK_MODE_NOTCONN	1#define K_BCM1480_HSP_LINK_MODE_SPI4	3/* * RX SPI-4 De-Skew Override Configuration Register (Table 335) *//*  * Note: these macros don't follow the usual convention, since the entire * thing is basically an array of 4-bit fields, we add the "bit" parameter to each. */#define M_BCM1480_HSP_RX_DESKEW_BIT(b)          _SB_MAKEMASK(2,S_BCM1480_HSP_RX_DESKEW_BIT(b))#define V_BCM1480_HSP_RX_DESKEW_BIT(b,x)        _SB_MAKEVALUE(x,S_BCM1480_HSP_RX_DESKEW_BIT(b))#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))/* * RX SPI-4 Data Path and Deskew Configuration Register (Table 336) */#define S_BCM1480_HSP_RX_DESKEW_PER_BIT     0#define M_BCM1480_HSP_RX_DESKEW_PER_BIT     _SB_MAKEMASK(4,S_BCM1480_HSP_RX_DESKEW_PER_BIT)#define V_BCM1480_HSP_RX_DESKEW_PER_BIT(x)  _SB_MAKEVALUE(x,S_BCM1480_HSP_RX_DESKEW_PER_BIT)#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)#define M_BCM1480_HSP_RX_STATIC_DESKEW_EN _SB_MAKEMASK1(4)#define M_BCM1480_HSP_RX_DESKEW_DISA      _SB_MAKEMASK1(5)#define M_BCM1480_HSP_RX_RETRAIN_EN       _SB_MAKEMASK1(8)/* * TX SPI-4 Configuration 0 Register (Table 337) */#define M_BCM1480_HSP_TX_PORT_RESET         _SB_MAKEMASK1(0)#define S_BCM1480_HSP_TX_PLL_MULTIPLIER     1#define M_BCM1480_HSP_TX_PLL_MULTIPLIER     _SB_MAKEMASK(5,S_BCM1480_HSP_TX_PLL_MULTIPLIER)#define V_BCM1480_HSP_TX_PLL_MULTIPLIER(x)  _SB_MAKEVALUE(x,S_BCM1480_HSP_TX_PLL_MULTIPLIER)#define G_BCM1480_HSP_TX_PLL_MULTIPLIER(x)  _SB_GETVALUE(x,S_BCM1480_HSP_TX_PLL_MULTIPLIER,M_BCM1480_HSP_TX_PLL_MULTIPLIER)#define S_BCM1480_HSP_TX_RST_TRAINCNT       8#define M_BCM1480_HSP_TX_RST_TRAINCNT       _SB_MAKEMASK(16,S_BCM1480_HSP_TX_RST_TRAINCNT)#define V_BCM1480_HSP_TX_RST_TRAINCNT(x)    _SB_MAKEVALUE(x,S_BCM1480_HSP_TX_RST_TRAINCNT)#define G_BCM1480_HSP_TX_RST_TRAINCNT(x)    _SB_GETVALUE(x,S_BCM1480_HSP_TX_RST_TRAINCNT,M_BCM1480_HSP_TX_RST_TRAINCNT)#define S_BCM1480_HSP_TX_RST_STATCNT        24#define M_BCM1480_HSP_TX_RST_STATCNT        _SB_MAKEMASK(4,S_BCM1480_HSP_TX_RST_STATCNT)#define V_BCM1480_HSP_TX_RST_STATCNT(x)     _SB_MAKEVALUE(x,S_BCM1480_HSP_TX_RST_STATCNT)#define G_BCM1480_HSP_TX_RST_STATCNT(x)     _SB_GETVALUE(x,S_BCM1480_HSP_TX_RST_STATCNT,M_BCM1480_HSP_TX_RST_STATCNT)#define M_BCM1480_HSP_TX_FORCE_ERR          _SB_MAKEMASK1(32)#define M_BCM1480_HSP_TX_TSTAT_SLOW_MODE    _SB_MAKEMASK1(33)#define M_BCM1480_HSP_TX_TX_PLL_DIV_4       _SB_MAKEMASK1(34)#define S_BCM1480_HSP_TX_DIP2_ERRLIMIT      36#define M_BCM1480_HSP_TX_DIP2_ERRLIMIT      _SB_MAKEMASK(4,S_BCM1480_HSP_TX_DIP2_ERRLIMIT)#define V_BCM1480_HSP_TX_DIP2_ERRLIMIT(x)   _SB_MAKEVALUE(x,S_BCM1480_HSP_TX_DIP2_ERRLIMIT)#define G_BCM1480_HSP_TX_DIP2_ERRLIMIT(x)   _SB_GETVALUE(x,S_BCM1480_HSP_TX_DIP2_ERRLIMIT,M_BCM1480_HSP_TX_DIP2_ERRLIMIT)#define M_BCM1480_HSP_TX_TSTAT_POLARITY     _SB_MAKEMASK1(40)#define M_BCM1480_HSP_TX_TX_OFF             _SB_MAKEMASK1(41)/* * TX SPI-4 Training and Packet Configuration Register (Table 338) */#define S_BCM1480_HSP_TX_DATA_MAX_T     0#define M_BCM1480_HSP_TX_DATA_MAX_T     _SB_MAKEMASK(16,S_BCM1480_HSP_TX_DATA_MAX_T)#define V_BCM1480_HSP_TX_DATA_MAX_T(x)  _SB_MAKEVALUE(x,S_BCM1480_HSP_TX_DATA_MAX_T)#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)#define S_BCM1480_HSP_TX_TXPREFBURSTSZ     32#define M_BCM1480_HSP_TX_TXPREFBURSTSZ     _SB_MAKEMASK(8,S_BCM1480_HSP_TX_TXPREFBURSTSZ)#define V_BCM1480_HSP_TX_TXPREFBURSTSZ(x)  _SB_MAKEVALUE(x,S_BCM1480_HSP_TX_TXPREFBURSTSZ)#define G_BCM1480_HSP_TX_TXPREFBURSTSZ(x)  _SB_GETVALUE(x,S_BCM1480_HSP_TX_TXPREFBURSTSZ,M_BCM1480_HSP_TX_TXPREFBURSTSZ)#define S_BCM1480_HSP_TX_TXMAXBURSTSZ     40#define M_BCM1480_HSP_TX_TXMAXBURSTSZ     _SB_MAKEMASK(8,S_BCM1480_HSP_TX_TXMAXBURSTSZ)#define V_BCM1480_HSP_TX_TXMAXBURSTSZ(x)  _SB_MAKEVALUE(x,S_BCM1480_HSP_TX_TXMAXBURSTSZ)#define G_BCM1480_HSP_TX_TXMAXBURSTSZ(x)  _SB_GETVALUE(x,S_BCM1480_HSP_TX_TXMAXBURSTSZ,M_BCM1480_HSP_TX_TXMAXBURSTSZ)#define M_BCM1480_HSP_TX_NO_INTERLEAVE_MODE _SB_MAKEMASK1(48)/*  *********************************************************************    *  Interrupts and Diagnostics    ********************************************************************* *//* * RX SPI4 Interrupt enable and Interrupt Status (tables 339, 340) */#define M_BCM1480_HSP_RX_INT_PERVCERR		_SB_MAKEMASK1(0)#define M_BCM1480_HSP_RX_INT_EOPABORT		_SB_MAKEMASK1(1)#define M_BCM1480_HSP_RX_INT_SPI4PROTOERR	_SB_MAKEMASK1(2)#define M_BCM1480_HSP_RX_INT_ESTOREOVERFLOW	_SB_MAKEMASK1(3)#define M_BCM1480_HSP_RX_INT_ALPHATRAINERR	_SB_MAKEMASK1(4)#define M_BCM1480_HSP_RX_INT_DIP4ERROR		_SB_MAKEMASK1(5)#define M_BCM1480_HSP_RX_INT_HRERROR		_SB_MAKEMASK1(6)#define M_BCM1480_HSP_RX_INT_INTOVERFLOW	_SB_MAKEMASK1(7)/* * RX HT Diagnostic CRC Error (tables 341, 342) */#define S_BCM1480_HSP_RX_BAD_CRC_LANE     0#define M_BCM1480_HSP_RX_BAD_CRC_LANE     _SB_MAKEMASK(32,S_BCM1480_HSP_RX_BAD_CRC_LANE)#define V_BCM1480_HSP_RX_BAD_CRC_LANE(x)  _SB_MAKEVALUE(x,S_BCM1480_HSP_RX_BAD_CRC_LANE)#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)#define S_BCM1480_HSP_RX_EXPECTED_CRC_LANE     32#define M_BCM1480_HSP_RX_EXPECTED_CRC_LANE     _SB_MAKEMASK(32,S_BCM1480_HSP_RX_EXPECTED_CRC_LANE)#define V_BCM1480_HSP_RX_EXPECTED_CRC_LANE(x)  _SB_MAKEVALUE(x,S_BCM1480_HSP_RX_EXPECTED_CRC_LANE)#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)/* * RX Diagnostic HT Command (Table 343) *//* No fields *//* * RX Diagnsostic Packet Protocol (Table 344) */#define S_BCM1480_HSP_RX_DIAG_VC     0#define M_BCM1480_HSP_RX_DIAG_VC     _SB_MAKEMASK(8,S_BCM1480_HSP_RX_DIAG_VC)#define V_BCM1480_HSP_RX_DIAG_VC(x)  _SB_MAKEVALUE(x,S_BCM1480_HSP_RX_DIAG_VC)#define G_BCM1480_HSP_RX_DIAG_VC(x)  _SB_GETVALUE(x,S_BCM1480_HSP_RX_DIAG_VC,M_BCM1480_HSP_RX_DIAG_VC)#define M_BCM1480_HSP_RX_DIAG_EOP	_SB_MAKEMASK1(8)#define M_BCM1480_HSP_RX_DIAG_SOP	_SB_MAKEMASK1(9)#define S_BCM1480_HSP_RX_DIAG_CONTROL     10#define M_BCM1480_HSP_RX_DIAG_CONTROL     _SB_MAKEMASK(4,S_BCM1480_HSP_RX_DIAG_CONTROL)#define V_BCM1480_HSP_RX_DIAG_CONTROL(x)  _SB_MAKEVALUE(x,S_BCM1480_HSP_RX_DIAG_CONTROL)#define G_BCM1480_HSP_RX_DIAG_CONTROL(x)  _SB_GETVALUE(x,S_BCM1480_HSP_RX_DIAG_CONTROL,M_BCM1480_HSP_RX_DIAG_CONTROL)#define M_BCM1480_HSP_RX_STRADDLING_CMD	_SB_MAKEMASK1(14)#define S_BCM1480_HSP_RX_DIAG_ERR_CODE_1     16#define M_BCM1480_HSP_RX_DIAG_ERR_CODE_1     _SB_MAKEMASK(4,S_BCM1480_HSP_RX_DIAG_ERR_CODE_1)#define V_BCM1480_HSP_RX_DIAG_ERR_CODE_1(x)  _SB_MAKEVALUE(x,S_BCM1480_HSP_RX_DIAG_ERR_CODE_1)#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)#define S_BCM1480_HSP_RX_DIAG_ERR_CODE_2     20#define M_BCM1480_HSP_RX_DIAG_ERR_CODE_2     _SB_MAKEMASK(4,S_BCM1480_HSP_RX_DIAG_ERR_CODE_2)#define V_BCM1480_HSP_RX_DIAG_ERR_CODE_2(x)  _SB_MAKEVALUE(x,S_BCM1480_HSP_RX_DIAG_ERR_CODE_2)#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)/*  * RX Diagnostic Detail (Table 345) */#define M_BCM1480_HSP_RX_DIAGDET_PERVCERR	_SB_MAKEMASK1(0)#define M_BCM1480_HSP_RX_DIAGDET_ALPHATRAINERR	_SB_MAKEMASK1(2)#define M_BCM1480_HSP_RX_DIAGDET_SPI4PROTOERR	_SB_MAKEMASK1(4)#define M_BCM1480_HSP_RX_DIAGDET_DIP4ERROR	_SB_MAKEMASK1(6)#define M_BCM1480_HSP_RX_DIAGDET_ESTOREOVERFLOW	_SB_MAKEMASK1(7)#define M_BCM1480_HSP_RX_DIAGDET_SPI4_DATANOSOP		_SB_MAKEMASK1(32)#define M_BCM1480_HSP_RX_DIAGDET_SPI4_SOPAFTERSOP	_SB_MAKEMASK1(33)#define M_BCM1480_HSP_RX_DIAGDET_SPI4_EOPNOSOP		_SB_MAKEMASK1(34)#define M_BCM1480_HSP_RX_DIAGDET_SPI4_EOPABORT		_SB_MAKEMASK1(35)#define M_BCM1480_HSP_RX_DIAGDET_SPI4_BADDATA		_SB_MAKEMASK1(36)#define M_BCM1480_HSP_RX_DIAGDET_SPI4_RESCMD		_SB_MAKEMASK1(37)#define M_BCM1480_HSP_RX_DIAGDET_SPI4_BADSOP		_SB_MAKEMASK1(38)#define M_BCM1480_HSP_RX_DIAGDET_SPI4_BADEOP		_SB_MAKEMASK1(39)#define M_BCM1480_HSP_RX_DIAGDET_SPI4_BADCTL		_SB_MAKEMASK1(40)#define M_BCM1480_HSP_RX_DIAGDET_SPI4_BADIDLE		_SB_MAKEMASK1(41)#define M_BCM1480_HSP_RX_DIAGDET_SPI4_BADTRAINING	_SB_MAKEMASK1(42)#define M_BCM1480_HSP_RX_DIAGDET_SPI4_ALPHATRAINING	_SB_MAKEMASK1(43)#define M_BCM1480_HSP_RX_DIAGDET_SPI4_DIP4IDLE		_SB_MAKEMASK1(44)#define M_BCM1480_HSP_RX_DIAGDET_SPI4_DIP4EOP		_SB_MAKEMASK1(45)#define M_BCM1480_HSP_RX_DIAGDET_SPI4_DIP4DEAD		_SB_MAKEMASK1(46)#define M_BCM1480_HSP_RX_DIAGDET_SPI4_HRNOMATCH		_SB_MAKEMASK1(47)

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -