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

📄 bcm1480_hr.h

📁 一个很好的嵌入式linux平台下的bootloader
💻 H
字号:
/*  *********************************************************************    *  BCM1280/BCM1480 Board Support Package    *      *  Hash and Route Block constants             File: bcm1480_hr.h           *      *  This module contains constants and macros useful for    *  programming the hash and route block of each rx port.    *      *  BCM1400 specification level:  1X55_1X80-UM100-D4 (11/24/03)    *      *********************************************************************      *    *  Copyright 2000,2001,2002,2003    *  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_HR_H#define _BCM1480_HR_H#include "sb1250_defs.h"/* * H&R Configuration Register (Table 283) */#define S_BCM1480_HR_HEADER_PTR             0#define M_BCM1480_HR_HEADER_PTR             _SB_MAKEMASK(8,S_BCM1480_HR_HEADER_PTR)#define V_BCM1480_HR_HEADER_PTR(x)          _SB_MAKEVALUE(x,S_BCM1480_HR_HEADER_PTR)#define G_BCM1480_HR_HEADER_PTR(x)          _SB_GETVALUE(x,S_BCM1480_HR_HEADER_PTR,M_BCM1480_HR_HEADER_PTR)#define M_BCM1480_HR_HDR_PTR_IMMD           _SB_MAKEMASK1(8)#define M_BCM1480_HR_SELECT_PTNUM_TO_TAG    _SB_MAKEMASK1(9)#define M_BCM1480_HR_PT_UNMATCH_ENABLE      _SB_MAKEMASK1(10)#define M_BCM1480_HR_PT_MULTIMATCH_ENABLE   _SB_MAKEMASK1(11)/* XXX The following have field name clashes.  Resolution deferred. *//* * Rule Operand Configuration Entry (Table 284) */#define S_BCM1480_HR_RULE_OP_OPERAND_3              0#define M_BCM1480_HR_RULE_OP_OPERAND_3              _SB_MAKEMASK(8,S_BCM1480_HR_RULE_OP_OPERAND_3)#define V_BCM1480_HR_RULE_OP_OPERAND_3(x)           _SB_MAKEVALUE(x,S_BCM1480_HR_RULE_OP_OPERAND_3)#define G_BCM1480_HR_RULE_OP_OPERAND_3(x)           _SB_GETVALUE(x,S_BCM1480_HR_RULE_OP_OPERAND_3,M_BCM1480_HR_RULE_OP_OPERAND_3)#define S_BCM1480_HR_RULE_OP_OPERAND_2              8#define M_BCM1480_HR_RULE_OP_OPERAND_2              _SB_MAKEMASK(8,S_BCM1480_HR_RULE_OP_OPERAND_2)#define V_BCM1480_HR_RULE_OP_OPERAND_2(x)           _SB_MAKEVALUE(x,S_BCM1480_HR_RULE_OP_OPERAND_2)#define G_BCM1480_HR_RULE_OP_OPERAND_2(x)           _SB_GETVALUE(x,S_BCM1480_HR_RULE_OP_OPERAND_2,M_BCM1480_HR_RULE_OP_OPERAND_2)#define S_BCM1480_HR_RULE_OP_OPERAND_1              16#define M_BCM1480_HR_RULE_OP_OPERAND_1              _SB_MAKEMASK(8,S_BCM1480_HR_RULE_OP_OPERAND_1)#define V_BCM1480_HR_RULE_OP_OPERAND_1(x)           _SB_MAKEVALUE(x,S_BCM1480_HR_RULE_OP_OPERAND_1)#define G_BCM1480_HR_RULE_OP_OPERAND_1(x)           _SB_GETVALUE(x,S_BCM1480_HR_RULE_OP_OPERAND_1,M_BCM1480_HR_RULE_OP_OPERAND_1)#define S_BCM1480_HR_RULE_OP_OPERAND_0              24#define M_BCM1480_HR_RULE_OP_OPERAND_0              _SB_MAKEMASK(8,S_BCM1480_HR_RULE_OP_OPERAND_0)#define V_BCM1480_HR_RULE_OP_OPERAND_0(x)           _SB_MAKEVALUE(x,S_BCM1480_HR_RULE_OP_OPERAND_0)#define G_BCM1480_HR_RULE_OP_OPERAND_0(x)           _SB_GETVALUE(x,S_BCM1480_HR_RULE_OP_OPERAND_0,M_BCM1480_HR_RULE_OP_OPERAND_0)#define S_BCM1480_HR_RULE_OP_ENABLE_3               32#define M_BCM1480_HR_RULE_OP_ENABLE_3               _SB_MAKEMASK(8,S_BCM1480_HR_RULE_OP_ENABLE_3)#define V_BCM1480_HR_RULE_OP_ENABLE_3(x)            _SB_MAKEVALUE(x,S_BCM1480_HR_RULE_OP_ENABLE_3)#define G_BCM1480_HR_RULE_OP_ENABLE_3(x)            _SB_GETVALUE(x,S_BCM1480_HR_RULE_OP_ENABLE_3,M_BCM1480_HR_RULE_OP_ENABLE_3)#define S_BCM1480_HR_RULE_OP_ENABLE_2               40#define M_BCM1480_HR_RULE_OP_ENABLE_2               _SB_MAKEMASK(8,S_BCM1480_HR_RULE_OP_ENABLE_2)#define V_BCM1480_HR_RULE_OP_ENABLE_2(x)            _SB_MAKEVALUE(x,S_BCM1480_HR_RULE_OP_ENABLE_2)#define G_BCM1480_HR_RULE_OP_ENABLE_2(x)            _SB_GETVALUE(x,S_BCM1480_HR_RULE_OP_ENABLE_2,M_BCM1480_HR_RULE_OP_ENABLE_2)#define S_BCM1480_HR_RULE_OP_ENABLE_1               48#define M_BCM1480_HR_RULE_OP_ENABLE_1               _SB_MAKEMASK(8,S_BCM1480_HR_RULE_OP_ENABLE_1)#define V_BCM1480_HR_RULE_OP_ENABLE_1(x)            _SB_MAKEVALUE(x,S_BCM1480_HR_RULE_OP_ENABLE_1)#define G_BCM1480_HR_RULE_OP_ENABLE_1(x)            _SB_GETVALUE(x,S_BCM1480_HR_RULE_OP_ENABLE_1,M_BCM1480_HR_RULE_OP_ENABLE_1)#define S_BCM1480_HR_RULE_OP_ENABLE_0               56#define M_BCM1480_HR_RULE_OP_ENABLE_0               _SB_MAKEMASK(8,S_BCM1480_HR_RULE_OP_ENABLE_0)#define V_BCM1480_HR_RULE_OP_ENABLE_0(x)            _SB_MAKEVALUE(x,S_BCM1480_HR_RULE_OP_ENABLE_0)#define G_BCM1480_HR_RULE_OP_ENABLE_0(x)            _SB_GETVALUE(x,S_BCM1480_HR_RULE_OP_ENABLE_0,M_BCM1480_HR_RULE_OP_ENABLE_0)/* * Rule Type Configuration Entry (Table 285) *//* XXX WORD_OFFSET - clashes */#define S_BCM1480_HR_RULE_TYPE_WORD_OFST_0       0#define M_BCM1480_HR_RULE_TYPE_WORD_OFST_0       _SB_MAKEMASK(6,S_BCM1480_HR_RULE_TYPE_WORD_OFST_0)#define V_BCM1480_HR_RULE_TYPE_WORD_OFST_0(x)    _SB_MAKEVALUE(x,S_BCM1480_HR_RULE_TYPE_WORD_OFST_0)#define G_BCM1480_HR_RULE_TYPE_WORD_OFST_0(x)    _SB_GETVALUE(x,S_BCM1480_HR_RULE_TYPE_WORD_OFST_0,M_BCM1480_HR_RULE_TYPE_WORD_OFST_0)/* XXX SELECT      - clashes */#define M_BCM1480_HR_RULE_TYPE_SEL_0       _SB_MAKEMASK1(8)/* * Path Definition Entry (Table 286) */#define S_BCM1480_HR_ENABLE                 16#define M_BCM1480_HR_ENABLE                 _SB_MAKEMASK(16,S_BCM1480_HR_ENABLE)#define V_BCM1480_HR_ENABLE(x)              _SB_MAKEVALUE(x,S_BCM1480_HR_ENABLE)#define G_BCM1480_HR_ENABLE(x)              _SB_GETVALUE(x,S_BCM1480_HR_ENABLE,M_BCM1480_HR_ENABLE)#define S_BCM1480_HR_TEST                   16#define M_BCM1480_HR_TEST                   _SB_MAKEMASK(16,S_BCM1480_HR_TEST)#define V_BCM1480_HR_TEST(x)                _SB_MAKEVALUE(x,S_BCM1480_HR_TEST)#define G_BCM1480_HR_TEST(x)                _SB_GETVALUE(x,S_BCM1480_HR_TEST,M_BCM1480_HR_TEST)#define S_BCM1480_HR_PATH_DATA              32#define M_BCM1480_HR_PATH_DATA              _SB_MAKEMASK(16,S_BCM1480_HR_PATH_DATA)#define V_BCM1480_HR_PATH_DATA(x)           _SB_MAKEVALUE(x,S_BCM1480_HR_PATH_DATA)#define G_BCM1480_HR_PATH_DATA(x)           _SB_GETVALUE(x,S_BCM1480_HR_PATH_DATA,M_BCM1480_HR_PATH_DATA)#define S_BCM1480_HR_PATH_DATA_DEST         44#define M_BCM1480_HR_PATH_DATA_DEST         _SB_MAKEMASK(2,S_BCM1480_HR_PATH_DATA_DEST)#define V_BCM1480_HR_PATH_DATA_DEST(x)      _SB_MAKEVALUE(x,S_BCM1480_HR_PATH_DATA_DEST)#define G_BCM1480_HR_PATH_DATA_DEST(x)      _SB_GETVALUE(x,S_BCM1480_HR_PATH_DATA_DEST,M_BCM1480_HR_PATH_DATA_DEST)#define S_BCM1480_HR_PATH_DATA_VC           36#define M_BCM1480_HR_PATH_DATA_VC           _SB_MAKEMASK(4,S_BCM1480_HR_PATH_DATA_VC)#define V_BCM1480_HR_PATH_DATA_VC(x)        _SB_MAKEVALUE(x,S_BCM1480_HR_PATH_DATA_VC)#define G_BCM1480_HR_PATH_DATA_VC(x)        _SB_GETVALUE(x,S_BCM1480_HR_PATH_DATA_VC,M_BCM1480_HR_PATH_DATA_VC)#define S_BCM1480_HR_PATH_DATA_NDEST        32#define M_BCM1480_HR_PATH_DATA_NDEST        _SB_MAKEMASK(4,S_BCM1480_HR_PATH_DATA_NDEST)#define V_BCM1480_HR_PATH_DATA_NDEST(x)     _SB_MAKEVALUE(x,S_BCM1480_HR_PATH_DATA_NDEST)#define G_BCM1480_HR_PATH_DATA_NDEST(x)     _SB_GETVALUE(x,S_BCM1480_HR_PATH_DATA_NDEST,M_BCM1480_HR_PATH_DATA_NDEST)#define S_BCM1480_HR_PATH_TYPE              48#define M_BCM1480_HR_PATH_TYPE              _SB_MAKEMASK(3,S_BCM1480_HR_PATH_TYPE)#define V_BCM1480_HR_PATH_TYPE(x)           _SB_MAKEVALUE(x,S_BCM1480_HR_PATH_TYPE)#define G_BCM1480_HR_PATH_TYPE(x)           _SB_GETVALUE(x,S_BCM1480_HR_PATH_TYPE,M_BCM1480_HR_PATH_TYPE)#define K_BCM1480_HR_PATH_TYPE_OVC          0x0#define K_BCM1480_HR_PATH_TYPE_RTI          0x1#define K_BCM1480_HR_PATH_TYPE_HA_LEAF0     0x2#define K_BCM1480_HR_PATH_TYPE_EX_LEAF0     0x4/* end of clashes *//* * Hash leaf0 Data Word Definition Entry (Table 287) */#define S_BCM1480_HR_ENABLE_3               0#define M_BCM1480_HR_ENABLE_3               _SB_MAKEMASK(8,S_BCM1480_HR_ENABLE_3)#define V_BCM1480_HR_ENABLE_3(x)            _SB_MAKEVALUE(x,S_BCM1480_HR_ENABLE_3)#define G_BCM1480_HR_ENABLE_3(x)            _SB_GETVALUE(x,S_BCM1480_HR_ENABLE_3,M_BCM1480_HR_ENABLE_3)#define S_BCM1480_HR_ENABLE_2               8#define M_BCM1480_HR_ENABLE_2               _SB_MAKEMASK(8,S_BCM1480_HR_ENABLE_2)#define V_BCM1480_HR_ENABLE_2(x)            _SB_MAKEVALUE(x,S_BCM1480_HR_ENABLE_2)#define G_BCM1480_HR_ENABLE_2(x)            _SB_GETVALUE(x,S_BCM1480_HR_ENABLE_2,M_BCM1480_HR_ENABLE_2)#define S_BCM1480_HR_ENABLE_1               16#define M_BCM1480_HR_ENABLE_1               _SB_MAKEMASK(8,S_BCM1480_HR_ENABLE_1)#define V_BCM1480_HR_ENABLE_1(x)            _SB_MAKEVALUE(x,S_BCM1480_HR_ENABLE_1)#define G_BCM1480_HR_ENABLE_1(x)            _SB_GETVALUE(x,S_BCM1480_HR_ENABLE_1,M_BCM1480_HR_ENABLE_1)#define S_BCM1480_HR_ENABLE_0               24#define M_BCM1480_HR_ENABLE_0               _SB_MAKEMASK(8,S_BCM1480_HR_ENABLE_0)#define V_BCM1480_HR_ENABLE_0(x)            _SB_MAKEVALUE(x,S_BCM1480_HR_ENABLE_0)#define G_BCM1480_HR_ENABLE_0(x)            _SB_GETVALUE(x,S_BCM1480_HR_ENABLE_0,M_BCM1480_HR_ENABLE_0)#define S_BCM1480_HR_WORD_OFFSET            32#define M_BCM1480_HR_WORD_OFFSET            _SB_MAKEMASK(6,S_BCM1480_HR_WORD_OFFSET)#define V_BCM1480_HR_WORD_OFFSET(x)         _SB_MAKEVALUE(x,S_BCM1480_HR_WORD_OFFSET)#define G_BCM1480_HR_WORD_OFFSET(x)         _SB_GETVALUE(x,S_BCM1480_HR_WORD_OFFSET,M_BCM1480_HR_WORD_OFFSET)#define M_BCM1480_HR_SELECT                 _SB_MAKEMASK1(40)/* * Extract leaf0 Extract Definition Register (Table 288) */#define S_BCM1480_HR_WORD_OFFSET_LOW        0#define M_BCM1480_HR_WORD_OFFSET_LOW        _SB_MAKEMASK(6,S_BCM1480_HR_WORD_OFFSET_LOW)#define V_BCM1480_HR_WORD_OFFSET_LOW(x)     _SB_MAKEVALUE(x,S_BCM1480_HR_WORD_OFFSET_LOW)#define G_BCM1480_HR_WORD_OFFSET_LOW(x)     _SB_GETVALUE(x,S_BCM1480_HR_WORD_OFFSET_LOW,M_BCM1480_HR_WORD_OFFSET_LOW)#define M_BCM1480_HR_SELECT_LOW             _SB_MAKEMASK1(8)#define S_BCM1480_HR_ENABLE_LOW             16#define M_BCM1480_HR_ENABLE_LOW             _SB_MAKEMASK(4,S_BCM1480_HR_ENABLE_LOW)#define V_BCM1480_HR_ENABLE_LOW(x)          _SB_MAKEVALUE(x,S_BCM1480_HR_ENABLE_LOW)#define G_BCM1480_HR_ENABLE_LOW(x)          _SB_GETVALUE(x,S_BCM1480_HR_ENABLE_LOW,M_BCM1480_HR_ENABLE_LOW)#define S_BCM1480_HR_NIB_OFFSET_LOW         20#define M_BCM1480_HR_NIB_OFFSET_LOW         _SB_MAKEMASK(3,S_BCM1480_HR_NIB_OFFSET_LOW)#define V_BCM1480_HR_NIB_OFFSET_LOW(x)      _SB_MAKEVALUE(x,S_BCM1480_HR_NIB_OFFSET_LOW)#define G_BCM1480_HR_NIB_OFFSET_LOW(x)      _SB_GETVALUE(x,S_BCM1480_HR_NIB_OFFSET_LOW,M_BCM1480_HR_NIB_OFFSET_LOW)#define S_BCM1480_HR_WORD_OFFSET_HIGH       32#define M_BCM1480_HR_WORD_OFFSET_HIGH       _SB_MAKEMASK(6,S_BCM1480_HR_WORD_OFFSET_HIGH)#define V_BCM1480_HR_WORD_OFFSET_HIGH(x)    _SB_MAKEVALUE(x,S_BCM1480_HR_WORD_OFFSET_HIGH)#define G_BCM1480_HR_WORD_OFFSET_HIGH(x)    _SB_GETVALUE(x,S_BCM1480_HR_WORD_OFFSET_HIGH,M_BCM1480_HR_WORD_OFFSET_HIGH)#define M_BCM1480_HR_SELECT_HIGH            _SB_MAKEMASK1(40)#define S_BCM1480_HR_ENABLE_HIGH            48#define M_BCM1480_HR_ENABLE_HIGH            _SB_MAKEMASK(4,S_BCM1480_HR_ENABLE_HIGH)#define V_BCM1480_HR_ENABLE_HIGH(x)         _SB_MAKEVALUE(x,S_BCM1480_HR_ENABLE_HIGH)#define G_BCM1480_HR_ENABLE_HIGH(x)         _SB_GETVALUE(x,S_BCM1480_HR_ENABLE_HIGH,M_BCM1480_HR_ENABLE_HIGH)#define S_BCM1480_HR_NIB_OFFSET_HIGH        52#define M_BCM1480_HR_NIB_OFFSET_HIGH        _SB_MAKEMASK(3,S_BCM1480_HR_NIB_OFFSET_HIGH)#define V_BCM1480_HR_NIB_OFFSET_HIGH(x)     _SB_MAKEVALUE(x,S_BCM1480_HR_NIB_OFFSET_HIGH)#define G_BCM1480_HR_NIB_OFFSET_HIGH(x)     _SB_GETVALUE(x,S_BCM1480_HR_NIB_OFFSET_HIGH,M_BCM1480_HR_NIB_OFFSET_HIGH)/* * RX0 Route Table Definition Entry (Table 289) */#define S_BCM1480_HR_NEXT_DEST              0#define M_BCM1480_HR_NEXT_DEST              _SB_MAKEMASK(4,S_BCM1480_HR_NEXT_DEST)#define V_BCM1480_HR_NEXT_DEST(x)           _SB_MAKEVALUE(x,S_BCM1480_HR_NEXT_DEST)#define G_BCM1480_HR_NEXT_DEST(x)           _SB_GETVALUE(x,S_BCM1480_HR_NEXT_DEST,M_BCM1480_HR_NEXT_DEST)#define S_BCM1480_HR_OVC_IQ                 4#define M_BCM1480_HR_OVC_IQ                 _SB_MAKEMASK(4,S_BCM1480_HR_OVC_IQ)#define V_BCM1480_HR_OVC_IQ(x)              _SB_MAKEVALUE(x,S_BCM1480_HR_OVC_IQ)#define G_BCM1480_HR_OVC_IQ(x)              _SB_GETVALUE(x,S_BCM1480_HR_OVC_IQ,M_BCM1480_HR_OVC_IQ)#define S_BCM1480_HR_DEST                   12#define M_BCM1480_HR_DEST                   _SB_MAKEMASK(2,S_BCM1480_HR_DEST)#define V_BCM1480_HR_DEST(x)                _SB_MAKEVALUE(x,S_BCM1480_HR_DEST)#define G_BCM1480_HR_DEST(x)                _SB_GETVALUE(x,S_BCM1480_HR_DEST,M_BCM1480_HR_DEST)#define K_BCM1480_HR_DEST_TX0               0x0#define K_BCM1480_HR_DEST_TX1               0x1#define K_BCM1480_HR_DEST_TX2               0x2#define K_BCM1480_HR_DEST_PMI               0x3/* * Default Path Register (Table 290) *//* Uses PATH_DATA and PATH_TYPE fields from Path Definition (Table 286) */#endif /* _BCM1480_HR_H */

⌨️ 快捷键说明

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