1228561Snp# Firmware configuration file.
2228561Snp#
3228561Snp# Global limits (some are hardware limits, others are due to the firmware).
4228561Snp# nvi = 128		virtual interfaces
5228561Snp# niqflint = 1023	ingress queues with freelists and/or interrupts
6228561Snp# nethctrl = 64K	Ethernet or ctrl egress queues
7228561Snp# neq = 64K		egress queues of all kinds, including freelists
8228561Snp# nexactf = 336		MPS TCAM entries, can oversubscribe.
9228561Snp#
10228561Snp
11228561Snp[global]
12228561Snp	rss_glb_config_mode = basicvirtual
13296950Snp	rss_glb_config_options = tnlmapen,hashtoeplitz,tnlalllkp
14228561Snp
15228561Snp	sge_timer_value = 1, 5, 10, 50, 100, 200	# usecs
16228561Snp
17256459Snp	# enable TP_OUT_CONFIG.IPIDSPLITMODE
18256459Snp	reg[0x7d04] = 0x00010000/0x00010000
19256459Snp
20296249Snp	# disable TP_PARA_REG3.RxFragEn
21296249Snp	reg[0x7d6c] = 0x00000000/0x00007000
22296249Snp
23296950Snp	reg[0x7dc0] = 0x0e2f8849		# TP_SHIFT_CNT
24228561Snp
25228561Snp	filterMode = fragmentation, mpshittype, protocol, vlan, port, fcoe
26256459Snp	filterMask = protocol, fcoe
27228561Snp
28296951Snp	tp_pmrx = 36, 512
29296950Snp	tp_pmrx_pagesize = 64K
30296950Snp
31296950Snp	# TP number of RX channels (0 = auto)
32252661Snp	tp_nrxch = 0
33252661Snp
34296951Snp	tp_pmtx = 46, 512
35228561Snp	tp_pmtx_pagesize = 64K
36228561Snp
37296950Snp	# TP number of TX channels (0 = auto)
38296950Snp	tp_ntxch = 0
39290633Snp
40256459Snp	# TP OFLD MTUs
41256459Snp	tp_mtus = 88, 256, 512, 576, 808, 1024, 1280, 1488, 1500, 2002, 2048, 4096, 4352, 8192, 9000, 9600
42256459Snp
43296950Snp	# cluster, lan, or wan.
44296950Snp	tp_tcptuning = lan
45296950Snp
46228561Snp# PFs 0-3.  These get 8 MSI/8 MSI-X vectors each.  VFs are supported by
47296952Snp# these 4 PFs only.
48228561Snp[function "0"]
49296952Snp	wx_caps = all
50296952Snp	r_caps = all
51346940Snp	nvi = 1
52346940Snp	rssnvi = 0
53346940Snp	niqflint = 2
54346940Snp	nethctrl = 2
55346940Snp	neq = 4
56346940Snp	nexactf = 2
57296952Snp	cmask = all
58296952Snp	pmask = 0x1
59228561Snp
60228561Snp[function "1"]
61296952Snp	wx_caps = all
62296952Snp	r_caps = all
63346940Snp	nvi = 1
64346940Snp	rssnvi = 0
65346940Snp	niqflint = 2
66346940Snp	nethctrl = 2
67346940Snp	neq = 4
68346940Snp	nexactf = 2
69296952Snp	cmask = all
70296952Snp	pmask = 0x2
71228561Snp
72228561Snp[function "2"]
73296952Snp	wx_caps = all
74296952Snp	r_caps = all
75346940Snp	nvi = 1
76346940Snp	rssnvi = 0
77346940Snp	niqflint = 2
78346940Snp	nethctrl = 2
79346940Snp	neq = 4
80346940Snp	nexactf = 2
81296952Snp	cmask = all
82296952Snp	pmask = 0x4
83228561Snp
84228561Snp[function "3"]
85296952Snp	wx_caps = all
86296952Snp	r_caps = all
87346940Snp	nvi = 1
88346940Snp	rssnvi = 0
89346940Snp	niqflint = 2
90346940Snp	nethctrl = 2
91346940Snp	neq = 4
92346940Snp	nexactf = 2
93296952Snp	cmask = all
94296952Snp	pmask = 0x8
95228561Snp
96228561Snp# PF4 is the resource-rich PF that the bus/nexus driver attaches to.
97228561Snp# It gets 32 MSI/128 MSI-X vectors.
98228561Snp[function "4"]
99228561Snp	wx_caps = all
100228561Snp	r_caps = all
101245243Snp	nvi = 32
102346940Snp	rssnvi = 16
103273615Snp	niqflint = 512
104273615Snp	nethctrl = 1024
105273615Snp	neq = 2048
106296952Snp	nexactf = 280
107228561Snp	cmask = all
108228561Snp	pmask = all
109346940Snp	nethofld = 2048
110228561Snp
111228561Snp	# driver will mask off features it won't use
112296951Snp	protocol = ofld, rddp, rdmac, iscsi_initiator_pdu, iscsi_target_pdu
113228561Snp
114239339Snp	tp_l2t = 4096
115239339Snp	tp_ddp = 2
116296951Snp	tp_ddp_iscsi = 2
117296951Snp	tp_stag = 2
118296951Snp	tp_pbl = 5
119296951Snp	tp_rq = 7
120228561Snp
121228561Snp	# TCAM has 8K cells; each region must start at a multiple of 128 cell.
122228561Snp	# Each entry in these categories takes 4 cells each.  nhash will use the
123228561Snp	# TCAM iff there is room left (that is, the rest don't add up to 2048).
124228561Snp	nroute = 32
125245243Snp	nclip = 32
126245243Snp	nfilter = 1456
127228561Snp	nserver = 512
128228561Snp	nhash = 16384
129228561Snp
130228561Snp# PF5 is the SCSI Controller PF. It gets 32 MSI/40 MSI-X vectors.
131228561Snp# Not used right now.
132228561Snp[function "5"]
133228561Snp	nvi = 1
134273615Snp	rssnvi = 0
135228561Snp
136228561Snp# PF6 is the FCoE Controller PF. It gets 32 MSI/40 MSI-X vectors.
137228561Snp# Not used right now.
138228561Snp[function "6"]
139228561Snp	nvi = 1
140273615Snp	rssnvi = 0
141228561Snp
142237436Snp# The following function, 1023, is not an actual PCIE function but is used to
143237436Snp# configure and reserve firmware internal resources that come from the global
144237436Snp# resource pool.
145237436Snp[function "1023"]
146237436Snp	wx_caps = all
147237436Snp	r_caps = all
148237436Snp	nvi = 4
149273615Snp	rssnvi = 0
150237436Snp	cmask = all
151237436Snp	pmask = all
152237436Snp	nexactf = 8
153237436Snp	nfilter = 16
154237436Snp
155296952Snp# For Virtual functions, we only allow NIC functionality and we only allow
156296952Snp# access to one port (1 << PF).  Note that because of limitations in the
157296952Snp# Scatter Gather Engine (SGE) hardware which checks writes to VF KDOORBELL
158296952Snp# and GTS registers, the number of Ingress and Egress Queues must be a power
159296952Snp# of 2.
160296952Snp#
161296952Snp[function "0/*"]
162296952Snp	wx_caps = 0x82
163296952Snp	r_caps = 0x86
164296952Snp	nvi = 1
165346940Snp	rssnvi = 0
166296952Snp	niqflint = 2
167296952Snp	nethctrl = 2
168296952Snp	neq = 4
169296952Snp	nexactf = 2
170296952Snp	cmask = all
171296952Snp	pmask = 0x1
172296952Snp
173296952Snp[function "1/*"]
174296952Snp	wx_caps = 0x82
175296952Snp	r_caps = 0x86
176296952Snp	nvi = 1
177346940Snp	rssnvi = 0
178296952Snp	niqflint = 2
179296952Snp	nethctrl = 2
180296952Snp	neq = 4
181296952Snp	nexactf = 2
182296952Snp	cmask = all
183296952Snp	pmask = 0x2
184296952Snp
185296952Snp[function "2/*"]
186296952Snp	wx_caps = 0x82
187296952Snp	r_caps = 0x86
188296952Snp	nvi = 1
189346940Snp	rssnvi = 0
190296952Snp	niqflint = 2
191296952Snp	nethctrl = 2
192296952Snp	neq = 4
193296952Snp	nexactf = 2
194296952Snp	cmask = all
195296952Snp	pmask = 0x4
196296952Snp
197296952Snp[function "3/*"]
198296952Snp	wx_caps = 0x82
199296952Snp	r_caps = 0x86
200296952Snp	nvi = 1
201346940Snp	rssnvi = 0
202296952Snp	niqflint = 2
203296952Snp	nethctrl = 2
204296952Snp	neq = 4
205296952Snp	nexactf = 2
206296952Snp	cmask = all
207296952Snp	pmask = 0x8
208296952Snp
209228561Snp# MPS has 192K buffer space for ingress packets from the wire as well as
210228561Snp# loopback path of the L2 switch.
211228561Snp[port "0"]
212228561Snp	dcb = none
213228561Snp	bg_mem = 25
214228561Snp	lpbk_mem = 25
215228561Snp	hwm = 30
216228561Snp	lwm = 15
217228561Snp	dwm = 30
218228561Snp
219228561Snp[port "1"]
220228561Snp	dcb = none
221228561Snp	bg_mem = 25
222228561Snp	lpbk_mem = 25
223228561Snp	hwm = 30
224228561Snp	lwm = 15
225228561Snp	dwm = 30
226228561Snp
227228561Snp[port "2"]
228228561Snp	dcb = none
229228561Snp	bg_mem = 25
230228561Snp	lpbk_mem = 25
231228561Snp	hwm = 30
232228561Snp	lwm = 15
233228561Snp	dwm = 30
234228561Snp
235228561Snp[port "3"]
236228561Snp	dcb = none
237228561Snp	bg_mem = 25
238228561Snp	lpbk_mem = 25
239228561Snp	hwm = 30
240228561Snp	lwm = 15
241228561Snp	dwm = 30
242228561Snp
243228561Snp[fini]
244228561Snp	version = 0x1
245346940Snp	checksum = 0x3ecbe8a0
246228561Snp#
247228561Snp# $FreeBSD: stable/11/sys/dev/cxgbe/firmware/t4fw_cfg.txt 346940 2019-04-30 01:25:02Z np $
248228561Snp#
249