1# Firmware configuration file.
2#
3# Global limits (some are hardware limits, others are due to the firmware).
4# nvi = 128		virtual interfaces
5# niqflint = 1023	ingress queues with freelists and/or interrupts
6# nethctrl = 64K	Ethernet or ctrl egress queues
7# neq = 64K		egress queues of all kinds, including freelists
8# nexactf = 512		MPS TCAM entries, can oversubscribe.
9
10[global]
11	rss_glb_config_mode = basicvirtual
12	rss_glb_config_options = tnlmapen,hashtoeplitz,tnlalllkp
13
14	# PL_TIMEOUT register
15	pl_timeout_value = 200		# the timeout value in units of us
16
17	sge_timer_value = 1, 5, 10, 50, 100, 200	# SGE_TIMER_VALUE* in usecs
18
19	reg[0x10c4] = 0x20000000/0x20000000 # GK_CONTROL, enable 5th thread
20
21	reg[0x7dc0] = 0x0e2f8849	# TP_SHIFT_CNT
22
23	#Tick granularities in kbps
24	tsch_ticks = 100000, 10000, 1000, 10
25
26	filterMode = fragmentation, mpshittype, protocol, vlan, port, fcoe
27	filterMask = port, protocol
28
29	tp_pmrx = 20, 512
30	tp_pmrx_pagesize = 16K
31
32	# TP number of RX channels (0 = auto)
33	tp_nrxch = 0
34
35	tp_pmtx = 40, 512
36	tp_pmtx_pagesize = 64K
37
38	# TP number of TX channels (0 = auto)
39	tp_ntxch = 0
40
41	# TP OFLD MTUs
42	tp_mtus = 88, 256, 512, 576, 808, 1024, 1280, 1488, 1500, 2002, 2048, 4096, 4352, 8192, 9000, 9600
43
44	# enable TP_OUT_CONFIG.IPIDSPLITMODE and CRXPKTENC
45	reg[0x7d04] = 0x00010008/0x00010008
46
47	# TP_GLOBAL_CONFIG
48	reg[0x7d08] = 0x00000800/0x00000800 # set IssFromCplEnable
49
50	# TP_PC_CONFIG
51	reg[0x7d48] = 0x00000000/0x00000400 # clear EnableFLMError
52
53	# TP_PC_CONFIG2
54	reg[0x7d4c] = 0x00010000/0x00010000 # set DisableNewPshFlag
55
56	# TP_PARA_REG0
57	reg[0x7d60] = 0x06000000/0x07000000 # set InitCWND to 6
58
59	# TP_PARA_REG3
60	reg[0x7d6c] = 0x28000000/0x28000000 # set EnableTnlCngHdr
61					    # set RxMacCheck (Note:
62					    # Only for hash filter,
63					    # no tcp offload)
64
65	# LE_DB_CONFIG
66	reg[0x19c04] = 0x00000000/0x02040000 # LE IPv4 compression disabled
67					     # EXTN_HASH_IPV4 Disable
68
69	# LE_DB_RSP_CODE_0
70	reg[0x19c74] = 0x00000004/0x0000000f # TCAM_ACTV_HIT = 4
71
72	# LE_DB_RSP_CODE_1
73	reg[0x19c78] = 0x08000000/0x0e000000 # HASH_ACTV_HIT = 4
74
75	# LE_DB_HASH_CONFIG
76	reg[0x19c28] = 0x00800000/0x01f00000 # LE Hash bucket size 8,
77
78	# MC configuration
79	mc_mode_brc[0] = 0		# mc0 - 1: enable BRC, 0: enable RBC
80
81# PFs 0-3.  These get 8 MSI/8 MSI-X vectors each.  VFs are supported by
82# these 4 PFs only.
83[function "0"]
84	nvf = 4
85	wx_caps = all
86	r_caps = all
87	nvi = 2
88	rssnvi = 2
89	niqflint = 4
90	nethctrl = 4
91	neq = 8
92	nexactf = 4
93	cmask = all
94	pmask = 0x1
95
96[function "1"]
97	nvf = 4
98	wx_caps = all
99	r_caps = all
100	nvi = 2
101	rssnvi = 2
102	niqflint = 4
103	nethctrl = 4
104	neq = 8
105	nexactf = 4
106	cmask = all
107	pmask = 0x2
108
109[function "2"]
110	nvf = 4
111	wx_caps = all
112	r_caps = all
113	nvi = 2
114	rssnvi = 2
115	niqflint = 4
116	nethctrl = 4
117	neq = 8
118	nexactf = 4
119	cmask = all
120	pmask = 0x4
121
122[function "3"]
123	nvf = 4
124	wx_caps = all
125	r_caps = all
126	nvi = 2
127	rssnvi = 2
128	niqflint = 4
129	nethctrl = 4
130	neq = 8
131	nexactf = 4
132	cmask = all
133	pmask = 0x8
134
135# PF4 is the resource-rich PF that the bus/nexus driver attaches to.
136# It gets 32 MSI/128 MSI-X vectors.
137[function "4"]
138	wx_caps = all
139	r_caps = all
140	nvi = 32
141	rssnvi = 8
142	niqflint = 512
143	nethctrl = 1024
144	neq = 2048
145	nqpcq = 8192
146	nexactf = 456
147	cmask = all
148	pmask = all
149	nclip = 320
150
151	# TCAM has 6K cells; each region must start at a multiple of 128 cell.
152	# Each entry in these categories takes 2 cells each.  nhash will use the
153	# TCAM iff there is room left (that is, the rest don't add up to 3072).
154	nfilter = 2032
155	nserver = 512
156	nhpfilter = 0
157	nhash = 524288
158	protocol = nic_hashfilter
159	tp_l2t = 4096
160
161# PF5 is the SCSI Controller PF. It gets 32 MSI/40 MSI-X vectors.
162# Not used right now.
163[function "5"]
164	nvi = 1
165	rssnvi = 0
166
167# PF6 is the FCoE Controller PF. It gets 32 MSI/40 MSI-X vectors.
168# Not used right now.
169[function "6"]
170	nvi = 1
171	rssnvi = 0
172
173# The following function, 1023, is not an actual PCIE function but is used to
174# configure and reserve firmware internal resources that come from the global
175# resource pool.
176#
177[function "1023"]
178	wx_caps = all
179	r_caps = all
180	nvi = 4
181	rssnvi = 0
182	cmask = all
183	pmask = all
184	nexactf = 8
185	nfilter = 16
186
187
188# For Virtual functions, we only allow NIC functionality and we only allow
189# access to one port (1 << PF).  Note that because of limitations in the
190# Scatter Gather Engine (SGE) hardware which checks writes to VF KDOORBELL
191# and GTS registers, the number of Ingress and Egress Queues must be a power
192# of 2.
193#
194[function "0/*"]
195	wx_caps = 0x82
196	r_caps = 0x86
197	nvi = 1
198	rssnvi = 1
199	niqflint = 2
200	nethctrl = 2
201	neq = 4
202	nexactf = 2
203	cmask = all
204	pmask = 0x1
205
206[function "1/*"]
207	wx_caps = 0x82
208	r_caps = 0x86
209	nvi = 1
210	rssnvi = 1
211	niqflint = 2
212	nethctrl = 2
213	neq = 4
214	nexactf = 2
215	cmask = all
216	pmask = 0x2
217
218[function "2/*"]
219	wx_caps = 0x82
220	r_caps = 0x86
221	nvi = 1
222	rssnvi = 1
223	niqflint = 2
224	nethctrl = 2
225	neq = 4
226	nexactf = 2
227	cmask = all
228	pmask = 0x1
229
230[function "3/*"]
231	wx_caps = 0x82
232	r_caps = 0x86
233	nvi = 1
234	rssnvi = 1
235	niqflint = 2
236	nethctrl = 2
237	neq = 4
238	nexactf = 2
239	cmask = all
240	pmask = 0x2
241
242# MPS has 192K buffer space for ingress packets from the wire as well as
243# loopback path of the L2 switch.
244[port "0"]
245	dcb = none
246	#bg_mem = 25
247	#lpbk_mem = 25
248	hwm = 60
249	lwm = 15
250	dwm = 30
251
252[port "1"]
253	dcb = none
254	#bg_mem = 25
255	#lpbk_mem = 25
256	hwm = 60
257	lwm = 15
258	dwm = 30
259
260[fini]
261	version = 0x1
262	checksum = 0xb577311e
263#
264# $FreeBSD$
265#
266