1252661Snp# Firmware configuration file. 2252661Snp# 3252661Snp# Global limits (some are hardware limits, others are due to the firmware). 4252661Snp# nvi = 128 virtual interfaces 5252661Snp# niqflint = 1023 ingress queues with freelists and/or interrupts 6252661Snp# nethctrl = 64K Ethernet or ctrl egress queues 7252661Snp# neq = 64K egress queues of all kinds, including freelists 8273615Snp# nexactf = 512 MPS TCAM entries, can oversubscribe. 9252661Snp# 10252661Snp 11252661Snp[global] 12252661Snp rss_glb_config_mode = basicvirtual 13296950Snp rss_glb_config_options = tnlmapen,hashtoeplitz,tnlalllkp 14252661Snp 15253407Snp # PL_TIMEOUT register 16296950Snp pl_timeout_value = 10000 # the timeout value in units of us 17253407Snp 18296950Snp # SGE_THROTTLE_CONTROL 19296950Snp bar2throttlecount = 500 # bar2throttlecount in us 20252661Snp 21296950Snp sge_timer_value = 1, 5, 10, 50, 100, 200 # SGE_TIMER_VALUE* in usecs 22296950Snp 23296950Snp reg[0x1124] = 0x00000400/0x00000400 # SGE_CONTROL2, enable VFIFO; if 24296950Snp # SGE_VFIFO_SIZE is not set, then 25296950Snp # firmware will set it up in function 26296950Snp # of number of egress queues used 27296950Snp 28296950Snp reg[0x1130] = 0x00d5ffeb # SGE_DBP_FETCH_THRESHOLD, fetch 29296950Snp # threshold set to queue depth 30296950Snp # minus 128-entries for FL and HP 31296950Snp # queues, and 0xfff for LP which 32296950Snp # prompts the firmware to set it up 33296950Snp # in function of egress queues 34296950Snp # used 35296950Snp 36296950Snp reg[0x113c] = 0x0002ffc0 # SGE_VFIFO_SIZE, set to 0x2ffc0 which 37296950Snp # prompts the firmware to set it up in 38296950Snp # function of number of egress queues 39296950Snp # used 40296950Snp 41256459Snp # enable TP_OUT_CONFIG.IPIDSPLITMODE 42256459Snp reg[0x7d04] = 0x00010000/0x00010000 43256459Snp 44296249Snp # disable TP_PARA_REG3.RxFragEn 45296249Snp reg[0x7d6c] = 0x00000000/0x00007000 46296249Snp 47296249Snp # enable TP_PARA_REG6.EnableCSnd 48296249Snp reg[0x7d78] = 0x00000400/0x00000000 49296249Snp 50296950Snp reg[0x7dc0] = 0x0e2f8849 # TP_SHIFT_CNT 51252661Snp 52252661Snp filterMode = fragmentation, mpshittype, protocol, vlan, port, fcoe 53252661Snp filterMask = protocol, fcoe 54252661Snp 55296951Snp tp_pmrx = 36, 512 56296950Snp tp_pmrx_pagesize = 64K 57296950Snp 58296950Snp # TP number of RX channels (0 = auto) 59252661Snp tp_nrxch = 0 60252661Snp 61296951Snp tp_pmtx = 46, 512 62252661Snp tp_pmtx_pagesize = 64K 63252661Snp 64296950Snp # TP number of TX channels (0 = auto) 65296950Snp tp_ntxch = 0 66290633Snp 67256459Snp # TP OFLD MTUs 68256459Snp tp_mtus = 88, 256, 512, 576, 808, 1024, 1280, 1488, 1500, 2002, 2048, 4096, 4352, 8192, 9000, 9600 69256459Snp 70296950Snp # TP_GLOBAL_CONFIG 71296950Snp reg[0x7d08] = 0x00000800/0x00000800 # set IssFromCplEnable 72296950Snp 73296950Snp # TP_PC_CONFIG 74296950Snp reg[0x7d48] = 0x00000000/0x00000400 # clear EnableFLMError 75296950Snp 76296950Snp # TP_PARA_REG0 77296950Snp reg[0x7d60] = 0x06000000/0x07000000 # set InitCWND to 6 78296950Snp 79296950Snp # cluster, lan, or wan. 80296950Snp tp_tcptuning = lan 81296950Snp 82256459Snp # MC configuration 83256459Snp mc_mode_brc[0] = 1 # mc0 - 1: enable BRC, 0: enable RBC 84256459Snp mc_mode_brc[1] = 1 # mc1 - 1: enable BRC, 0: enable RBC 85256459Snp 86296249Snp # ULP_TX_CONFIG 87296249Snp reg[0x8dc0] = 0x00000004/0x00000004 # Enable more error msg for ... 88296249Snp # TPT error. 89296249Snp 90252661Snp# PFs 0-3. These get 8 MSI/8 MSI-X vectors each. VFs are supported by 91296952Snp# these 4 PFs only. 92252661Snp[function "0"] 93296952Snp nvf = 4 94296952Snp wx_caps = all 95296952Snp r_caps = all 96296952Snp nvi = 2 97296952Snp rssnvi = 2 98296952Snp niqflint = 4 99296952Snp nethctrl = 4 100296952Snp neq = 8 101296952Snp nexactf = 4 102296952Snp cmask = all 103296952Snp pmask = 0x1 104252661Snp 105252661Snp[function "1"] 106296952Snp nvf = 4 107296952Snp wx_caps = all 108296952Snp r_caps = all 109296952Snp nvi = 2 110296952Snp rssnvi = 2 111296952Snp niqflint = 4 112296952Snp nethctrl = 4 113296952Snp neq = 8 114296952Snp nexactf = 4 115296952Snp cmask = all 116296952Snp pmask = 0x2 117252661Snp 118252661Snp[function "2"] 119296952Snp nvf = 4 120296952Snp wx_caps = all 121296952Snp r_caps = all 122296952Snp nvi = 2 123296952Snp rssnvi = 2 124296952Snp niqflint = 4 125296952Snp nethctrl = 4 126296952Snp neq = 8 127296952Snp nexactf = 4 128296952Snp cmask = all 129296952Snp pmask = 0x4 130252661Snp 131252661Snp[function "3"] 132296952Snp nvf = 4 133296952Snp wx_caps = all 134296952Snp r_caps = all 135296952Snp nvi = 2 136296952Snp rssnvi = 2 137296952Snp niqflint = 4 138296952Snp nethctrl = 4 139296952Snp neq = 8 140296952Snp nexactf = 4 141296952Snp cmask = all 142296952Snp pmask = 0x8 143252661Snp 144252661Snp# PF4 is the resource-rich PF that the bus/nexus driver attaches to. 145252661Snp# It gets 32 MSI/128 MSI-X vectors. 146252661Snp[function "4"] 147252661Snp wx_caps = all 148252661Snp r_caps = all 149252661Snp nvi = 32 150273615Snp rssnvi = 8 151273615Snp niqflint = 512 152273615Snp nethctrl = 1024 153273615Snp neq = 2048 154297797Snp nqpcq = 8192 155296952Snp nexactf = 456 156252661Snp cmask = all 157252661Snp pmask = all 158252661Snp 159252661Snp # driver will mask off features it won't use 160296951Snp protocol = ofld, rddp, rdmac, iscsi_initiator_pdu, iscsi_target_pdu, iscsi_t10dif 161252661Snp 162252661Snp tp_l2t = 4096 163252661Snp tp_ddp = 2 164296951Snp tp_ddp_iscsi = 2 165296951Snp tp_stag = 2 166296951Snp tp_pbl = 5 167296951Snp tp_rq = 7 168252661Snp 169252661Snp # TCAM has 8K cells; each region must start at a multiple of 128 cell. 170252661Snp # Each entry in these categories takes 4 cells each. nhash will use the 171252661Snp # TCAM iff there is room left (that is, the rest don't add up to 2048). 172252661Snp nroute = 32 173252661Snp nclip = 32 174252661Snp nfilter = 1008 175252661Snp nserver = 512 176252661Snp nhash = 16384 177252661Snp 178252661Snp# PF5 is the SCSI Controller PF. It gets 32 MSI/40 MSI-X vectors. 179252661Snp# Not used right now. 180252661Snp[function "5"] 181252661Snp nvi = 1 182273615Snp rssnvi = 0 183252661Snp 184252661Snp# PF6 is the FCoE Controller PF. It gets 32 MSI/40 MSI-X vectors. 185252661Snp# Not used right now. 186252661Snp[function "6"] 187252661Snp nvi = 1 188273615Snp rssnvi = 0 189252661Snp 190252661Snp# The following function, 1023, is not an actual PCIE function but is used to 191252661Snp# configure and reserve firmware internal resources that come from the global 192252661Snp# resource pool. 193252661Snp[function "1023"] 194252661Snp wx_caps = all 195252661Snp r_caps = all 196252661Snp nvi = 4 197273615Snp rssnvi = 0 198252661Snp cmask = all 199252661Snp pmask = all 200252661Snp nexactf = 8 201252661Snp nfilter = 16 202252661Snp 203296952Snp# For Virtual functions, we only allow NIC functionality and we only allow 204296952Snp# access to one port (1 << PF). Note that because of limitations in the 205296952Snp# Scatter Gather Engine (SGE) hardware which checks writes to VF KDOORBELL 206296952Snp# and GTS registers, the number of Ingress and Egress Queues must be a power 207296952Snp# of 2. 208296952Snp# 209296952Snp[function "0/*"] 210296952Snp wx_caps = 0x82 211296952Snp r_caps = 0x86 212296952Snp nvi = 1 213296952Snp rssnvi = 1 214296952Snp niqflint = 2 215296952Snp nethctrl = 2 216296952Snp neq = 4 217296952Snp nexactf = 2 218296952Snp cmask = all 219296952Snp pmask = 0x1 220296952Snp 221296952Snp[function "1/*"] 222296952Snp wx_caps = 0x82 223296952Snp r_caps = 0x86 224296952Snp nvi = 1 225296952Snp rssnvi = 1 226296952Snp niqflint = 2 227296952Snp nethctrl = 2 228296952Snp neq = 4 229296952Snp nexactf = 2 230296952Snp cmask = all 231296952Snp pmask = 0x2 232296952Snp 233296952Snp[function "2/*"] 234296952Snp wx_caps = 0x82 235296952Snp r_caps = 0x86 236296952Snp nvi = 1 237296952Snp rssnvi = 1 238296952Snp niqflint = 2 239296952Snp nethctrl = 2 240296952Snp neq = 4 241296952Snp nexactf = 2 242296952Snp cmask = all 243296952Snp pmask = 0x4 244296952Snp 245296952Snp[function "3/*"] 246296952Snp wx_caps = 0x82 247296952Snp r_caps = 0x86 248296952Snp nvi = 1 249296952Snp rssnvi = 1 250296952Snp niqflint = 2 251296952Snp nethctrl = 2 252296952Snp neq = 4 253296952Snp nexactf = 2 254296952Snp cmask = all 255296952Snp pmask = 0x8 256296952Snp 257252661Snp# MPS has 192K buffer space for ingress packets from the wire as well as 258252661Snp# loopback path of the L2 switch. 259252661Snp[port "0"] 260252661Snp dcb = none 261252661Snp bg_mem = 25 262252661Snp lpbk_mem = 25 263252661Snp hwm = 30 264252661Snp lwm = 15 265252661Snp dwm = 30 266252661Snp 267252661Snp[port "1"] 268252661Snp dcb = none 269252661Snp bg_mem = 25 270252661Snp lpbk_mem = 25 271252661Snp hwm = 30 272252661Snp lwm = 15 273252661Snp dwm = 30 274252661Snp 275252661Snp[port "2"] 276252661Snp dcb = none 277252661Snp bg_mem = 25 278252661Snp lpbk_mem = 25 279252661Snp hwm = 30 280252661Snp lwm = 15 281252661Snp dwm = 30 282252661Snp 283252661Snp[port "3"] 284252661Snp dcb = none 285252661Snp bg_mem = 25 286252661Snp lpbk_mem = 25 287252661Snp hwm = 30 288252661Snp lwm = 15 289252661Snp dwm = 30 290252661Snp 291252661Snp[fini] 292252661Snp version = 0x1 293297797Snp checksum = 0x89c83d98 294252661Snp# 295252661Snp# $FreeBSD: releng/11.0/sys/dev/cxgbe/firmware/t5fw_cfg.txt 297797 2016-04-11 02:18:59Z np $ 296252661Snp# 297