Home | History | Annotate | Line # | Download | only in include
bcm1480_pci.h revision 1.1.102.1
      1        1.1    simonb /*  *********************************************************************
      2        1.1    simonb     *  BCM1280/BCM1480 Board Support Package
      3        1.1    simonb     *
      4        1.1    simonb     *  PCI constants				File: bcm1480_pci.h
      5        1.1    simonb     *
      6        1.1    simonb     *  This module contains constants and macros to describe
      7        1.1    simonb     *  the PCI-X interface on the BCM1255/BCM1280/BCM1455/BCM1480.
      8        1.1    simonb     *
      9        1.1    simonb     *  BCM1480 specification level:  1X55_1X80_UM100-R (12/18/03)
     10        1.1    simonb     *
     11        1.1    simonb     *********************************************************************
     12        1.1    simonb     *
     13        1.1    simonb     *  Copyright 2000,2001,2002,2003,2004
     14        1.1    simonb     *  Broadcom Corporation. All rights reserved.
     15        1.1    simonb     *
     16        1.1    simonb     *  This software is furnished under license and may be used and
     17        1.1    simonb     *  copied only in accordance with the following terms and
     18        1.1    simonb     *  conditions.  Subject to these conditions, you may download,
     19        1.1    simonb     *  copy, install, use, modify and distribute modified or unmodified
     20        1.1    simonb     *  copies of this software in source and/or binary form.  No title
     21        1.1    simonb     *  or ownership is transferred hereby.
     22        1.1    simonb     *
     23        1.1    simonb     *  1) Any source code used, modified or distributed must reproduce
     24        1.1    simonb     *     and retain this copyright notice and list of conditions
     25        1.1    simonb     *     as they appear in the source file.
     26        1.1    simonb     *
     27        1.1    simonb     *  2) No right is granted to use any trade name, trademark, or
     28        1.1    simonb     *     logo of Broadcom Corporation.  The "Broadcom Corporation"
     29        1.1    simonb     *     name may not be used to endorse or promote products derived
     30        1.1    simonb     *     from this software without the prior written permission of
     31        1.1    simonb     *     Broadcom Corporation.
     32        1.1    simonb     *
     33        1.1    simonb     *  3) THIS SOFTWARE IS PROVIDED "AS-IS" AND ANY EXPRESS OR
     34        1.1    simonb     *     IMPLIED WARRANTIES, INCLUDING BUT NOT LIMITED TO, ANY IMPLIED
     35        1.1    simonb     *     WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
     36        1.1    simonb     *     PURPOSE, OR NON-INFRINGEMENT ARE DISCLAIMED. IN NO EVENT
     37        1.1    simonb     *     SHALL BROADCOM BE LIABLE FOR ANY DAMAGES WHATSOEVER, AND IN
     38        1.1    simonb     *     PARTICULAR, BROADCOM SHALL NOT BE LIABLE FOR DIRECT, INDIRECT,
     39        1.1    simonb     *     INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
     40        1.1    simonb     *     (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
     41        1.1    simonb     *     GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
     42        1.1    simonb     *     BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
     43        1.1    simonb     *     OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
     44        1.1    simonb     *     TORT (INCLUDING NEGLIGENCE OR OTHERWISE), EVEN IF ADVISED OF
     45        1.1    simonb     *     THE POSSIBILITY OF SUCH DAMAGE.
     46        1.1    simonb     ********************************************************************* */
     47        1.1    simonb 
     48        1.1    simonb 
     49        1.1    simonb #ifndef _BCM1480_PCI_H
     50        1.1    simonb #define _BCM1480_PCI_H
     51        1.1    simonb 
     52        1.1    simonb #include "sb1250_defs.h"
     53        1.1    simonb 
     54        1.1    simonb 
     55        1.1    simonb /*
     56        1.1    simonb  * PCI Reset Register (Table 108)
     57        1.1    simonb  */
     58        1.1    simonb 
     59        1.1    simonb #define M_BCM1480_PCI_RESET_PIN             _SB_MAKEMASK1(0)
     60        1.1    simonb #define M_BCM1480_PCI_INTERNAL_RESET        _SB_MAKEMASK1(1)
     61        1.1    simonb #define M_BCM1480_PCI_TIMEOUT_RESET         _SB_MAKEMASK1(2)
     62        1.1    simonb #define M_BCM1480_PCI_RESET_INTR            _SB_MAKEMASK1(4)
     63        1.1    simonb #define M_BCM1480_PCI_M66EN_STATUS          _SB_MAKEMASK1(8)
     64        1.1    simonb #define M_BCM1480_PCI_M66EN_DRIVE_LOW       _SB_MAKEMASK1(11)
     65        1.1    simonb #define M_BCM1480_PCI_PCIXCAP_STATUS        _SB_MAKEMASK1(12)
     66        1.1    simonb #define M_BCM1480_PCI_PCIXCAP_PULLUP        _SB_MAKEMASK1(15)
     67        1.1    simonb #define M_BCM1480_PCI_PERR_RST_ASSERT       _SB_MAKEMASK1(16)
     68        1.1    simonb #define M_BCM1480_PCI_DEVSEL_RST_ASSERT     _SB_MAKEMASK1(17)
     69        1.1    simonb #define M_BCM1480_PCI_STOP_RST_ASSERT       _SB_MAKEMASK1(18)
     70        1.1    simonb #define M_BCM1480_PCI_TRDY_RST_ASSERT       _SB_MAKEMASK1(19)
     71        1.1    simonb #define M_BCM1480_PCI_PERR_RST_STATUS       _SB_MAKEMASK1(20)
     72        1.1    simonb #define M_BCM1480_PCI_DEVSEL_RST_STATUS     _SB_MAKEMASK1(21)
     73        1.1    simonb #define M_BCM1480_PCI_STOP_RST_STATUS       _SB_MAKEMASK1(22)
     74        1.1    simonb #define M_BCM1480_PCI_TRDY_RST_STATUS       _SB_MAKEMASK1(23)
     75        1.1    simonb 
     76        1.1    simonb /*
     77        1.1    simonb  * PCI DLL Register (Table 110)
     78        1.1    simonb  */
     79        1.1    simonb 
     80        1.1    simonb #define S_BCM1480_PCI_DLL_BYPASS_MODE        0
     81        1.1    simonb #define M_BCM1480_PCI_DLL_BYPASS_MODE        _SB_MAKEMASK(2,S_BCM1480_PCI_DLL_BYPASS_MODE)
     82        1.1    simonb #define V_BCM1480_PCI_DLL_BYPASS_MODE(x)     _SB_MAKEVALUE(x,S_BCM1480_PCI_DLL_BYPASS_MODE)
     83        1.1    simonb #define G_BCM1480_PCI_DLL_BYPASS_MODE(x)     _SB_GETVALUE(x,S_BCM1480_PCI_DLL_BYPASS_MODE,M_BCM1480_PCI_DLL_BYPASS_MODE)
     84        1.1    simonb #define K_BCM1480_PCI_DLL_AUTO               0x0
     85        1.1    simonb #define K_BCM1480_PCI_DLL_FORCE_BYPASS       0x1
     86        1.1    simonb #define K_BCM1480_PCI_DLL_FORCE_USE          0x2
     87        1.1    simonb 
     88        1.1    simonb #define M_BCM1480_PCI_DLL_FIXED_VALUE_EN     _SB_MAKEMASK1(3)
     89        1.1    simonb 
     90        1.1    simonb #define S_BCM1480_PCI_DLL_FIXED_VALUE        4
     91        1.1    simonb #define M_BCM1480_PCI_DLL_FIXED_VALUE        _SB_MAKEMASK(6,S_BCM1480_PCI_DLL_FIXED_VALUE)
     92        1.1    simonb #define V_BCM1480_PCI_DLL_FIXED_VALUE(x)     _SB_MAKEVALUE(x,S_BCM1480_PCI_DLL_FIXED_VALUE)
     93        1.1    simonb #define G_BCM1480_PCI_DLL_FIXED_VALUE(x)     _SB_GETVALUE(x,S_BCM1480_PCI_DLL_FIXED_VALUE,M_BCM1480_PCI_DLL_FIXED_VALUE)
     94        1.1    simonb 
     95        1.1    simonb #define S_BCM1480_PCI_DLL_DELAY              12
     96        1.1    simonb #define M_BCM1480_PCI_DLL_DELAY              _SB_MAKEMASK(4,S_BCM1480_PCI_DLL_DELAY)
     97        1.1    simonb #define V_BCM1480_PCI_DLL_DELAY(x)           _SB_MAKEVALUE(x,S_BCM1480_PCI_DLL_DELAY)
     98        1.1    simonb #define G_BCM1480_PCI_DLL_DELAY(x)           _SB_GETVALUE(x,S_BCM1480_PCI_DLL_DELAY,M_BCM1480_PCI_DLL_DELAY)
     99        1.1    simonb 
    100        1.1    simonb #define S_BCM1480_PCI_DLL_STEP_SIZE          16
    101        1.1    simonb #define M_BCM1480_PCI_DLL_STEP_SIZE          _SB_MAKEMASK(4,S_BCM1480_PCI_DLL_STEP_SIZE)
    102        1.1    simonb #define V_BCM1480_PCI_DLL_STEP_SIZE(x)       _SB_MAKEVALUE(x,S_BCM1480_PCI_DLL_STEP_SIZE)
    103        1.1    simonb #define G_BCM1480_PCI_DLL_STEP_SIZE(x)       _SB_GETVALUE(x,S_BCM1480_PCI_DLL_STEP_SIZE,M_BCM1480_PCI_DLL_STEP_SIZE)
    104        1.1    simonb 
    105        1.1    simonb 
    106        1.1    simonb /*
    107        1.1    simonb  * The following definitions refer to PCI Configuration Space of the
    108        1.1    simonb  * PCI-X Host Bridge (PHB).  All registers are 32 bits.
    109        1.1    simonb  */
    110        1.1    simonb 
    111        1.1    simonb #define K_BCM1480_PHB_VENDOR_SIBYTE     0x166D
    112        1.1    simonb #define K_BCM1480_PHB_DEVICE_BCM1480    0x0012
    113        1.1    simonb 
    114        1.1    simonb /*
    115        1.1    simonb  * PHB Interface Configuration Header (Table 111).
    116        1.1    simonb  * The first 64 bytes are a standard Type 0 header.  The bridge also
    117        1.1    simonb  * implements the standard PCIX and MSI capabilities.  Only
    118        1.1    simonb  * device-specific extensions are defined here.
    119        1.1    simonb  */
    120        1.1    simonb 
    121        1.1    simonb #define R_BCM1480_PHB_FCTRL             0x0040
    122        1.1    simonb #define R_BCM1480_PHB_MAPBASE           0x0044	/* 0x44 through 0x80 - map table */
    123        1.1    simonb #define BCM1480_PHB_MAPENTRIES          16	/* 64 bytes, 16 entries */
    124        1.1    simonb #define R_BCM1480_PHB_MAP(n)            (R_BCM1480_PHB_MAPBASE + (n)*4)
    125        1.1    simonb #define R_BCM1480_PHB_ERRORADDR         0x0084  /* lower, upper */
    126        1.1    simonb #define R_BCM1480_PHB_ADDSTATCMD        0x008C
    127        1.1    simonb #define R_BCM1480_PHB_SUBSYSSET         0x0090
    128        1.1    simonb #define R_BCM1480_PHB_SIGNALINTA        0x0094
    129        1.1    simonb #define R_BCM1480_PHB_EXTCONFIGDIS      0x0098
    130        1.1    simonb #define R_BCM1480_PHB_VENDORIDSET       0x009C
    131        1.1    simonb #define R_BCM1480_PHB_CLASSREVSET       0x00A0
    132        1.1    simonb #define R_BCM1480_PHB_TIMEOUT           0x00A4
    133        1.1    simonb #define R_BCM1480_PHB_XACTCTRL          0x00A8
    134        1.1    simonb #define R_BCM1480_PHB_TESTDEBUG         0x00AC
    135        1.1    simonb #define R_BCM1480_PHB_OMAPBASE          0x00B0	/* 0xB0 through 0xCC - omap table */
    136        1.1    simonb #define BCM1480_PHB_OMAPENTRIES         4	/* 32 bytes, 4 entries */
    137        1.1    simonb #define R_BCM1480_PHB_OMAP(n)           (R_BCM1480_PHB_OMAPBASE + (n)*8)
    138        1.1    simonb #define R_BCM1480_PHB_MSICAP            0x00D0
    139        1.1    simonb #define R_BCM1480_PHB_PCIXCAP           0x00E0
    140        1.1    simonb #define R_BCM1480_PHB_TGTDONE           0x00E8
    141        1.1    simonb 
    142        1.1    simonb 
    143        1.1    simonb /*
    144        1.1    simonb  * PHB Feature Control Register (Table 116)
    145        1.1    simonb  */
    146        1.1    simonb 
    147        1.1    simonb #define M_BCM1480_PHB_FCTRL_FULL_BAR_EN      _SB_MAKEMASK1_32(0)
    148        1.1    simonb #define M_BCM1480_PHB_FCTRL_FULL_BAR_SPLIT   _SB_MAKEMASK1_32(1)
    149        1.1    simonb #define M_BCM1480_PHB_FCTRL_LOW_MEM_EN       _SB_MAKEMASK1_32(2)
    150        1.1    simonb #define M_BCM1480_PHB_FCTRL_UPPER_MEM_EN     _SB_MAKEMASK1_32(3)
    151        1.1    simonb #define M_BCM1480_PHB_FCTRL_EXP_MEM_EN       _SB_MAKEMASK1_32(4)
    152        1.1    simonb #define M_BCM1480_PHB_FCTRL_EXP_MEM_SPLIT    _SB_MAKEMASK1_32(5)
    153        1.1    simonb #define M_BCM1480_PHB_FCTRL_TOP_ACC_EN       _SB_MAKEMASK1_32(6)
    154        1.1    simonb #define M_BCM1480_PHB_FCTRL_TOP_ACC_SPLIT    _SB_MAKEMASK1_32(7)
    155        1.1    simonb #define M_BCM1480_PHB_FCTRL_USE_NODE_ID      _SB_MAKEMASK1_32(8)
    156        1.1    simonb #define M_BCM1480_PHB_FCTRL_UPPER_MEM_TR     _SB_MAKEMASK1_32(12)
    157        1.1    simonb #define V_BCM1480_PHB_FCTRL_DEFAULT          0
    158        1.1    simonb 
    159        1.1    simonb /*
    160        1.1    simonb  * PHB BAR0/1 Map Table Entry (Offsets 0x44-0x80) (Table 117)
    161        1.1    simonb  */
    162        1.1    simonb 
    163        1.1    simonb #define M_BCM1480_PHB_MAP_ENABLE             _SB_MAKEMASK1_32(0)
    164        1.1    simonb #define M_BCM1480_PHB_MAP_L2CA               _SB_MAKEMASK1_32(2)
    165        1.1    simonb #define M_BCM1480_PHB_MAP_ENDIAN             _SB_MAKEMASK1_32(3)
    166        1.1    simonb 
    167        1.1    simonb #define S_BCM1480_PHB_MAP_ADDR               12
    168        1.1    simonb #define M_BCM1480_PHB_MAP_ADDR               _SB_MAKEMASK_32(20,S_BCM1480_PHB_MAP_ADDR)
    169        1.1    simonb #define V_BCM1480_PHB_MAP_ADDR(x)            _SB_MAKEVALUE_32(x,S_BCM1480_PHB_MAP_ADDR)
    170        1.1    simonb #define G_BCM1480_PHB_MAP_ADDR(x)            _SB_GETVALUE_32(x,S_BCM1480_PHB_MAP_ADDR,M_BCM1480_PHB_MAP_ADDR)
    171        1.1    simonb 
    172        1.1    simonb /*
    173        1.1    simonb  * PHB Additional Status and Command Register (Table 118)
    174        1.1    simonb  */
    175        1.1    simonb 
    176        1.1    simonb #define M_BCM1480_PHB_ASTCMD_HOTPLUG_EN      _SB_MAKEMASK1_32(0)
    177        1.1    simonb #define M_BCM1480_PHB_ASTCMD_SERR_DET        _SB_MAKEMASK1_32(1)
    178        1.1    simonb #define M_BCM1480_PHB_ASTCMD_TRDY_ERR        _SB_MAKEMASK1_32(2)
    179        1.1    simonb #define M_BCM1480_PHB_ASTCMD_RETRY_ERR       _SB_MAKEMASK1_32(3)
    180        1.1    simonb #define M_BCM1480_PHB_ASTCMD_TRDY_INT_EN     _SB_MAKEMASK1_32(4)
    181        1.1    simonb #define M_BCM1480_PHB_ASTCMD_RETRY_INT_EN    _SB_MAKEMASK1_32(5)
    182        1.1    simonb #define M_BCM1480_PHB_ASTCMD_COMPL_TO_ERR    _SB_MAKEMASK1_32(6)
    183        1.1    simonb #define M_BCM1480_PHB_ASTCMD_COMPL_TO_INT_EN _SB_MAKEMASK1_32(7)
    184        1.1    simonb #define M_BCM1480_PHB_ASTCMD_64B_DEVICE_SET  _SB_MAKEMASK1_32(16)
    185        1.1    simonb #define M_BCM1480_PHB_ASTCMD_133MHZ_CAP_SET  _SB_MAKEMASK1_32(17)
    186        1.1    simonb #define V_BCM1480_PHB_ASTCMD_DEFAULT         (M_BCM1480_PHB_ASTCMD_64B_DEVICE_SET | \
    187        1.1    simonb                                        M_BCM1480_PHB_ASTCMD_133MHZ_CAP_SET)
    188        1.1    simonb 
    189        1.1    simonb /*
    190        1.1    simonb  * PHB INTA Control Register (Table 119)
    191        1.1    simonb  */
    192        1.1    simonb 
    193        1.1    simonb #define M_BCM1480_PHB_SIGNAL_INTA            _SB_MAKEMASK1_32(0)
    194        1.1    simonb 
    195        1.1    simonb /*
    196  1.1.102.1  perseant  * PHB External Configuration Disable Register (Table 120)
    197        1.1    simonb  */
    198        1.1    simonb 
    199        1.1    simonb #define M_BCM1480_PHB_EXT_CONFIG_DIS         _SB_MAKEMASK1_32(0)
    200        1.1    simonb 
    201        1.1    simonb /*
    202        1.1    simonb  * PHB Timeout Register (Table 121)
    203        1.1    simonb  */
    204        1.1    simonb 
    205        1.1    simonb #define S_BCM1480_PHB_TIMEOUT_TRDY           0
    206        1.1    simonb #define M_BCM1480_PHB_TIMEOUT_TRDY           _SB_MAKEMASK_32(8,S_BCM1480_PHB_TIMEOUT_TRDY)
    207        1.1    simonb #define V_BCM1480_PHB_TIMEOUT_TRDY(x)        _SB_MAKEVALUE_32(x,S_BCM1480_PHB_TIMEOUT_TRDY)
    208        1.1    simonb #define G_BCM1480_PHB_TIMEOUT_TRDY(x)        _SB_GETVALUE_32(x,S_BCM1480_PHB_TIMEOUT_TRDY,M_BCM1480_PHB_TIMEOUT_TRDY)
    209        1.1    simonb 
    210        1.1    simonb #define S_BCM1480_PHB_TIMEOUT_RETRY          8
    211        1.1    simonb #define M_BCM1480_PHB_TIMEOUT_RETRY          _SB_MAKEMASK_32(8,S_BCM1480_PHB_TIMEOUT_RETRY)
    212        1.1    simonb #define V_BCM1480_PHB_TIMEOUT_RETRY(x)       _SB_MAKEVALUE_32(x,S_BCM1480_PHB_TIMEOUT_RETRY)
    213        1.1    simonb #define G_BCM1480_PHB_TIMEOUT_RETRY(x)       _SB_GETVALUE_32(x,S_BCM1480_PHB_TIMEOUT_RETRY,M_BCM1480_PHB_TIMEOUT_RETRY)
    214        1.1    simonb 
    215        1.1    simonb #define S_BCM1480_PHB_TIMEOUT_COMPL          16
    216        1.1    simonb #define M_BCM1480_PHB_TIMEOUT_COMPL          _SB_MAKEMASK_32(4,S_BCM1480_PHB_TIMEOUT_COMPL)
    217        1.1    simonb #define V_BCM1480_PHB_TIMEOUT_COMPL(x)       _SB_MAKEVALUE_32(x,S_BCM1480_PHB_TIMEOUT_COMPL)
    218        1.1    simonb #define G_BCM1480_PHB_TIMEOUT_COMPL(x)       _SB_GETVALUE_32(x,S_BCM1480_PHB_TIMEOUT_COMPL,M_BCM1480_PHB_TIMEOUT_COMPL)
    219        1.1    simonb 
    220        1.1    simonb #define S_BCM1480_PHB_TIMEOUT_INB_RD_PREF    20
    221        1.1    simonb #define M_BCM1480_PHB_TIMEOUT_INB_RD_PREF    _SB_MAKEMASK_32(4,S_BCM1480_PHB_TIMEOUT_INB_RD_PREF)
    222        1.1    simonb #define V_BCM1480_PHB_TIMEOUT_INB_RD_PREF(x) _SB_MAKEVALUE_32(x,S_BCM1480_PHB_TIMEOUT_INB_RD_PREF)
    223        1.1    simonb #define G_BCM1480_PHB_TIMEOUT_INB_RD_PREF(x) _SB_GETVALUE_32(x,S_BCM1480_PHB_TIMEOUT_INB_RD_PREF,M_BCM1480_PHB_TIMEOUT_INB_RD_PREF)
    224        1.1    simonb 
    225        1.1    simonb #define M_BCM1480_PHB_TIMEOUT_INB_RD_OUTB_WR _SB_MAKEMASK1_32(24)
    226        1.1    simonb #define M_BCM1480_PHB_TIMEOUT_INB_RD_OUTB_RD _SB_MAKEMASK1_32(25)
    227        1.1    simonb #define M_BCM1480_PHB_TIMEOUT_INB_RD_INB_WR  _SB_MAKEMASK1_32(25)
    228        1.1    simonb 
    229        1.1    simonb #define S_BCM1480_PHB_TIMEOUT_OUTB_FWD_PROG    28
    230        1.1    simonb #define M_BCM1480_PHB_TIMEOUT_OUTB_FWD_PROG    _SB_MAKEMASK_32(4,S_BCM1480_PHB_TIMEOUT_OUTB_FWD_PROG)
    231        1.1    simonb #define V_BCM1480_PHB_TIMEOUT_OUTB_FWD_PROG(x) _SB_MAKEVALUE_32(x,S_BCM1480_PHB_TIMEOUT_OUTB_FWD_PROG)
    232        1.1    simonb #define G_BCM1480_PHB_TIMEOUT_OUTB_FWD_PROG(x) _SB_GETVALUE_32(x,S_BCM1480_PHB_TIMEOUT_OUTB_FWD_PROG,M_BCM1480_PHB_TIMEOUT_OUTB_FWD_PROG)
    233        1.1    simonb 
    234        1.1    simonb #define V_BCM1480_PHB_TIMEOUT_DEFAULT        (V_BCM1480_PHB_TIMEOUT_TRDY(0x80) |  \
    235        1.1    simonb                                       V_BCM1480_PHB_TIMEOUT_RETRY(0x80) | \
    236        1.1    simonb                                       V_BCM1480_PHB_TIMEOUT_COMPL(0xA))
    237        1.1    simonb 
    238        1.1    simonb /*
    239        1.1    simonb  * PHB Transaction Control Register (Table 122)
    240        1.1    simonb  */
    241        1.1    simonb 
    242        1.1    simonb #define S_BCM1480_PHB_XACT_WR_COMBINE_TMR          0
    243        1.1    simonb #define M_BCM1480_PHB_XACT_WR_COMBINE_TMR          _SB_MAKEMASK_32(8,S_BCM1480_PHB_XACT_WR_COMBINE_TMR)
    244        1.1    simonb #define V_BCM1480_PHB_XACT_WR_COMBINE_TMR(x)       _SB_MAKEVALUE_32(x,S_BCM1480_PHB_XACT_WR_COMBINE_TMR)
    245        1.1    simonb #define G_BCM1480_PHB_XACT_WR_COMBINE_TMR(x)       _SB_GETVALUE_32(x,S_BCM1480_PHB_XACT_WR_COMBINE_TMR,M_BCM1480_PHB_XACT_WR_COMBINE_TMR)
    246        1.1    simonb 
    247        1.1    simonb #define S_BCM1480_PHB_XACT_OUTB_NP_ORDER           8
    248        1.1    simonb #define M_BCM1480_PHB_XACT_OUTB_NP_ORDER           _SB_MAKEMASK_32(2,S_BCM1480_PHB_XACT_OUTB_NP_ORDER)
    249        1.1    simonb #define V_BCM1480_PHB_XACT_OUTB_NP_ORDER(x)        _SB_MAKEVALUE_32(x,S_BCM1480_PHB_XACT_OUTB_NP_ORDER)
    250        1.1    simonb #define G_BCM1480_PHB_XACT_OUTB_NP_ORDER(x)        _SB_GETVALUE_32(x,S_BCM1480_PHB_XACT_OUTB_NP_ORDER,M_BCM1480_PHB_XACT_OUTB_NP_ORDER)
    251        1.1    simonb 
    252        1.1    simonb #define M_BCM1480_PHB_XACT_SET_WR_RLX_ORDER        _SB_MAKEMASK1_32(10)
    253        1.1    simonb #define M_BCM1480_PHB_XACT_SET_RSP_RLX_ORDER       _SB_MAKEMASK1_32(11)
    254        1.1    simonb #define M_BCM1480_PHB_XACT_SET_WR_NO_SNOOP         _SB_MAKEMASK1_32(12)
    255        1.1    simonb #define M_BCM1480_PHB_XACT_SET_RD_NO_SNOOP         _SB_MAKEMASK1_32(13)
    256        1.1    simonb #define M_BCM1480_PHB_XACT_SET_OUTB_RD_PREF_DIS    _SB_MAKEMASK1_32(14)
    257        1.1    simonb #define M_BCM1480_PHB_XACT_SET_OUTB_RSP_WR_ORD_DIS _SB_MAKEMASK1_32(15)
    258        1.1    simonb 
    259        1.1    simonb #define S_BCM1480_PHB_XACT_INB_RD_MAX_PREF         20
    260        1.1    simonb #define M_BCM1480_PHB_XACT_INB_RD_MAX_PREF         _SB_MAKEMASK_32(3,S_BCM1480_PHB_XACT_INB_RD_MAX_PREF)
    261        1.1    simonb #define V_BCM1480_PHB_XACT_INB_RD_MAX_PREF(x)      _SB_MAKEVALUE_32(x,S_BCM1480_PHB_XACT_INB_RD_MAX_PREF)
    262        1.1    simonb #define G_BCM1480_PHB_XACT_INB_RD_MAX_PREF(x)      _SB_GETVALUE_32(x,S_BCM1480_PHB_XACT_INB_RD_MAX_PREF,M_BCM1480_PHB_XACT_INB_RD_MAX_PREF)
    263        1.1    simonb 
    264        1.1    simonb #define S_BCM1480_PHB_XACT_INB_RD_LN_MAX_PREF      24
    265        1.1    simonb #define M_BCM1480_PHB_XACT_INB_RD_LN_MAX_PREF      _SB_MAKEMASK_32(3,S_BCM1480_PHB_XACT_INB_RD_LN_MAX_PREF)
    266        1.1    simonb #define V_BCM1480_PHB_XACT_INB_RD_LN_MAX_PREF(x)   _SB_MAKEVALUE_32(x,S_BCM1480_PHB_XACT_INB_RD_LN_MAX_PREF)
    267        1.1    simonb #define G_BCM1480_PHB_XACT_INB_RD_LN_MAX_PREF(x)   _SB_GETVALUE_32(x,S_BCM1480_PHB_XACT_INB_RD_LN_MAX_PREF,M_BCM1480_PHB_XACT_INB_RD_LN_MAX_PREF)
    268        1.1    simonb 
    269        1.1    simonb #define S_BCM1480_PHB_XACT_INB_RD_MUL_MAX_PREF     28
    270        1.1    simonb #define M_BCM1480_PHB_XACT_INB_RD_MUL_MAX_PREF     _SB_MAKEMASK_32(3,S_BCM1480_PHB_XACT_INB_RD_MUL_MAX_PREF)
    271        1.1    simonb #define V_BCM1480_PHB_XACT_INB_RD_MUL_MAX_PREF(x)  _SB_MAKEVALUE_32(x,S_BCM1480_PHB_XACT_INB_RD_MUL_MAX_PREF)
    272        1.1    simonb #define G_BCM1480_PHB_XACT_INB_RD_MUL_MAX_PREF(x)  _SB_GETVALUE_32(x,S_BCM1480_PHB_XACT_INB_RD_MUL_MAX_PREF,M_BCM1480_PHB_XACT_INB_RD_MUL_MAX_PREF)
    273        1.1    simonb 
    274        1.1    simonb #define K_BCM1480_PHB_PREF_256B              0x0
    275        1.1    simonb #define K_BCM1480_PHB_PREF_32B               0x1
    276        1.1    simonb #define K_BCM1480_PHB_PREF_64B               0x2
    277        1.1    simonb #define K_BCM1480_PHB_PREF_96B               0x3
    278        1.1    simonb #define K_BCM1480_PHB_PREF_128B              0x4   /* also 0x5 */
    279        1.1    simonb #define K_BCM1480_PHB_PREF_192B              0x6   /* also 0x7 */
    280        1.1    simonb 
    281        1.1    simonb #define V_BCM1480_PHB_XACT_DEFAULT           (V_BCM1480_PHB_XACT_WR_COMBINE_TMR(0x20)     | \
    282        1.1    simonb                                       V_BCM1480_PHB_XACT_OUTB_NP_ORDER(0x1)       | \
    283        1.1    simonb                                       V_BCM1480_PHB_XACT_INB_RD_MAX_PREF(0x1)     | \
    284        1.1    simonb                                       V_BCM1480_PHB_XACT_INB_RD_LN_MAX_PREF(0x1)  | \
    285        1.1    simonb                                       V_BCM1480_PHB_XACT_INB_RD_MUL_MAX_PREF(0x4))
    286        1.1    simonb 
    287        1.1    simonb /*
    288        1.1    simonb  * PHB Test and Debug Register (Table 123)
    289        1.1    simonb  */
    290        1.1    simonb 
    291        1.1    simonb #define M_BCM1480_PHB_TEST_LOOPBACK          _SB_MAKEMASK1_32(0)
    292        1.1    simonb #define M_BCM1480_PHB_TEST_32BIT_MODE        _SB_MAKEMASK1_32(1)
    293        1.1    simonb #define M_BCM1480_PHB_TEST_QUICK_TEST        _SB_MAKEMASK1_32(2)
    294        1.1    simonb 
    295        1.1    simonb /*
    296        1.1    simonb  * PHB Outbound Map Table Entries (Lower, Upper) (Tables 124 and 125)
    297        1.1    simonb  */
    298        1.1    simonb 
    299        1.1    simonb #define M_BCM1480_PHB_OMAP_L_ENABLE          _SB_MAKEMASK1_32(0)
    300        1.1    simonb 
    301        1.1    simonb #define S_BCM1480_PHB_OMAP_L_ADDR            20
    302        1.1    simonb #define M_BCM1480_PHB_OMAP_L_ADDR            _SB_MAKEMASK_32(12,S_BCM1480_PHB_OMAP_L_ADDR)
    303        1.1    simonb #define V_BCM1480_PHB_OMAP_L_ADDR(x)         _SB_MAKEVALUE_32(x,S_BCM1480_PHB_OMAP_L_ADDR)
    304        1.1    simonb #define G_BCM1480_PHB_OMAP_L_ADDR(x)         _SB_GETVALUE_32(x,S_BCM1480_PHB_OMAP_L_ADDR,M_BCM1480_PHB_OMAP_L_ADDR)
    305        1.1    simonb 
    306        1.1    simonb #define S_BCM1480_PHB_OMAP_U_ADDR            0
    307        1.1    simonb #define M_BCM1480_PHB_OMAP_U_ADDR            _SB_MAKEMASK_32(32,S_BCM1480_PHB_OMAP_U_ADDR)
    308        1.1    simonb #define V_BCM1480_PHB_OMAP_U_ADDR(x)         _SB_MAKEVALUE_32(x,S_BCM1480_PHB_OMAP_U_ADDR)
    309        1.1    simonb #define G_BCM1480_PHB_OMAP_U_ADDR(x)         _SB_GETVALUE_32(x,S_BCM1480_PHB_OMAP_U_ADDR,M_BCM1480_PHB_OMAP_U_ADDR)
    310        1.1    simonb 
    311        1.1    simonb /*
    312        1.1    simonb  * PHB Target Done Register (Table 129)
    313        1.1    simonb  */
    314        1.1    simonb 
    315        1.1    simonb #define S_BCM1480_PHB_TGT_DONE_COUNTER       0
    316        1.1    simonb #define M_BCM1480_PHB_TGT_DONE_COUNTER       _SB_MAKEMASK_32(8,S_BCM1480_PHB_TGT_DONE_COUNTER)
    317        1.1    simonb #define V_BCM1480_PHB_TGT_DONE_COUNTER(x)    _SB_MAKEVALUE_32(x,S_BCM1480_PHB_TGT_DONE_COUNTER)
    318        1.1    simonb #define G_BCM1480_PHB_TGT_DONE_COUNTER(x)    _SB_GETVALUE_32(x,S_BCM1480_PHB_TGT_DONE_COUNTER,M_BCM1480_PHB_TGT_DONE_COUNTER)
    319        1.1    simonb 
    320        1.1    simonb 
    321        1.1    simonb struct bcm1480_inbw_conf  {
    322        1.1    simonb 
    323        1.1    simonb    unsigned long long   pa;       /* Base address(Physical) of the memory region to be mapped at BAR0 */
    324        1.1    simonb 
    325        1.1    simonb    unsigned int  offset;   /* Offset from the Base address - Start of the region */
    326        1.1    simonb 
    327        1.1    simonb    unsigned int  len;      /* Length of the region */
    328        1.1    simonb 
    329        1.1    simonb    int           l2ca;     /* L2CA flag */
    330        1.1    simonb 
    331        1.1    simonb    int           endian;   /* Endian flag */
    332        1.1    simonb };
    333        1.1    simonb 
    334        1.1    simonb #endif /* _BCM1480_PCI_H */
    335        1.1    simonb 
    336