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