xref: /freebsd/sys/dev/cxgbe/firmware/t4fw_cfg.txt (revision 2284664ef9fcb0baaf59f1ef7df877c0b0f2b187)
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 = 336		MPS TCAM entries, can oversubscribe.
9#
10
11[global]
12	rss_glb_config_mode = basicvirtual
13	rss_glb_config_options = tnlmapen,hashtoeplitz,tnlalllkp
14
15	sge_timer_value = 1, 5, 10, 50, 100, 200	# usecs
16
17	# enable TP_OUT_CONFIG.IPIDSPLITMODE
18	reg[0x7d04] = 0x00010000/0x00010000
19
20	# disable TP_PARA_REG3.RxFragEn
21	reg[0x7d6c] = 0x00000000/0x00007000
22
23	reg[0x7dc0] = 0x0e2f8849		# TP_SHIFT_CNT
24
25	filterMode = fragmentation, mpshittype, protocol, vlan, port, fcoe
26	filterMask = protocol, fcoe
27
28	tp_pmrx = 36, 512
29	tp_pmrx_pagesize = 64K
30
31	# TP number of RX channels (0 = auto)
32	tp_nrxch = 0
33
34	tp_pmtx = 46, 512
35	tp_pmtx_pagesize = 64K
36
37	# TP number of TX channels (0 = auto)
38	tp_ntxch = 0
39
40	# TP OFLD MTUs
41	tp_mtus = 88, 256, 512, 576, 808, 1024, 1280, 1488, 1500, 2002, 2048, 4096, 4352, 8192, 9000, 9600
42
43	# cluster, lan, or wan.
44	tp_tcptuning = lan
45
46# PFs 0-3.  These get 8 MSI/8 MSI-X vectors each.  VFs are supported by
47# these 4 PFs only.
48[function "0"]
49	nvf = 4
50	wx_caps = all
51	r_caps = all
52	nvi = 2
53	rssnvi = 2
54	niqflint = 4
55	nethctrl = 4
56	neq = 8
57	nexactf = 4
58	cmask = all
59	pmask = 0x1
60
61[function "1"]
62	nvf = 4
63	wx_caps = all
64	r_caps = all
65	nvi = 2
66	rssnvi = 2
67	niqflint = 4
68	nethctrl = 4
69	neq = 8
70	nexactf = 4
71	cmask = all
72	pmask = 0x2
73
74[function "2"]
75	nvf = 4
76	wx_caps = all
77	r_caps = all
78	nvi = 2
79	rssnvi = 2
80	niqflint = 4
81	nethctrl = 4
82	neq = 8
83	nexactf = 4
84	cmask = all
85	pmask = 0x4
86
87[function "3"]
88	nvf = 4
89	wx_caps = all
90	r_caps = all
91	nvi = 2
92	rssnvi = 2
93	niqflint = 4
94	nethctrl = 4
95	neq = 8
96	nexactf = 4
97	cmask = all
98	pmask = 0x8
99
100# PF4 is the resource-rich PF that the bus/nexus driver attaches to.
101# It gets 32 MSI/128 MSI-X vectors.
102[function "4"]
103	wx_caps = all
104	r_caps = all
105	nvi = 32
106	rssnvi = 8
107	niqflint = 512
108	nethctrl = 1024
109	neq = 2048
110	nexactf = 280
111	cmask = all
112	pmask = all
113	nethofld = 2048
114
115	# driver will mask off features it won't use
116	protocol = ofld, rddp, rdmac, iscsi_initiator_pdu, iscsi_target_pdu
117
118	tp_l2t = 4096
119	tp_ddp = 2
120	tp_ddp_iscsi = 2
121	tp_stag = 2
122	tp_pbl = 5
123	tp_rq = 7
124
125	# TCAM has 8K cells; each region must start at a multiple of 128 cell.
126	# Each entry in these categories takes 4 cells each.  nhash will use the
127	# TCAM iff there is room left (that is, the rest don't add up to 2048).
128	nroute = 32
129	nclip = 32
130	nfilter = 1456
131	nserver = 512
132	nhash = 16384
133
134# PF5 is the SCSI Controller PF. It gets 32 MSI/40 MSI-X vectors.
135# Not used right now.
136[function "5"]
137	nvi = 1
138	rssnvi = 0
139
140# PF6 is the FCoE Controller PF. It gets 32 MSI/40 MSI-X vectors.
141# Not used right now.
142[function "6"]
143	nvi = 1
144	rssnvi = 0
145
146# The following function, 1023, is not an actual PCIE function but is used to
147# configure and reserve firmware internal resources that come from the global
148# resource pool.
149[function "1023"]
150	wx_caps = all
151	r_caps = all
152	nvi = 4
153	rssnvi = 0
154	cmask = all
155	pmask = all
156	nexactf = 8
157	nfilter = 16
158
159# For Virtual functions, we only allow NIC functionality and we only allow
160# access to one port (1 << PF).  Note that because of limitations in the
161# Scatter Gather Engine (SGE) hardware which checks writes to VF KDOORBELL
162# and GTS registers, the number of Ingress and Egress Queues must be a power
163# of 2.
164#
165[function "0/*"]
166	wx_caps = 0x82
167	r_caps = 0x86
168	nvi = 1
169	rssnvi = 1
170	niqflint = 2
171	nethctrl = 2
172	neq = 4
173	nexactf = 2
174	cmask = all
175	pmask = 0x1
176
177[function "1/*"]
178	wx_caps = 0x82
179	r_caps = 0x86
180	nvi = 1
181	rssnvi = 1
182	niqflint = 2
183	nethctrl = 2
184	neq = 4
185	nexactf = 2
186	cmask = all
187	pmask = 0x2
188
189[function "2/*"]
190	wx_caps = 0x82
191	r_caps = 0x86
192	nvi = 1
193	rssnvi = 1
194	niqflint = 2
195	nethctrl = 2
196	neq = 4
197	nexactf = 2
198	cmask = all
199	pmask = 0x4
200
201[function "3/*"]
202	wx_caps = 0x82
203	r_caps = 0x86
204	nvi = 1
205	rssnvi = 1
206	niqflint = 2
207	nethctrl = 2
208	neq = 4
209	nexactf = 2
210	cmask = all
211	pmask = 0x8
212
213# MPS has 192K buffer space for ingress packets from the wire as well as
214# loopback path of the L2 switch.
215[port "0"]
216	dcb = none
217	bg_mem = 25
218	lpbk_mem = 25
219	hwm = 30
220	lwm = 15
221	dwm = 30
222
223[port "1"]
224	dcb = none
225	bg_mem = 25
226	lpbk_mem = 25
227	hwm = 30
228	lwm = 15
229	dwm = 30
230
231[port "2"]
232	dcb = none
233	bg_mem = 25
234	lpbk_mem = 25
235	hwm = 30
236	lwm = 15
237	dwm = 30
238
239[port "3"]
240	dcb = none
241	bg_mem = 25
242	lpbk_mem = 25
243	hwm = 30
244	lwm = 15
245	dwm = 30
246
247[fini]
248	version = 0x1
249	checksum = 0x159b9295
250#
251# $FreeBSD$
252#
253