1733b9277SNavdeep Parhar# Firmware configuration file. 2733b9277SNavdeep Parhar# 3733b9277SNavdeep Parhar# Global limits (some are hardware limits, others are due to the firmware). 4733b9277SNavdeep Parhar# nvi = 128 virtual interfaces 5733b9277SNavdeep Parhar# niqflint = 1023 ingress queues with freelists and/or interrupts 6733b9277SNavdeep Parhar# nethctrl = 64K Ethernet or ctrl egress queues 7733b9277SNavdeep Parhar# neq = 64K egress queues of all kinds, including freelists 8733b9277SNavdeep Parhar# nexactf = 336 MPS TCAM entries, can oversubscribe. 9733b9277SNavdeep Parhar# 10733b9277SNavdeep Parhar 11733b9277SNavdeep Parhar[global] 12733b9277SNavdeep Parhar rss_glb_config_mode = basicvirtual 13733b9277SNavdeep Parhar rss_glb_config_options = tnlmapen,hashtoeplitz,tnlalllkp 14733b9277SNavdeep Parhar 15733b9277SNavdeep Parhar sge_timer_value = 1, 5, 10, 50, 100, 200 # usecs 16733b9277SNavdeep Parhar 1748d05478SNavdeep Parhar # enable TP_OUT_CONFIG.IPIDSPLITMODE 1848d05478SNavdeep Parhar reg[0x7d04] = 0x00010000/0x00010000 1948d05478SNavdeep Parhar 20dd991bd5SNavdeep Parhar # disable TP_PARA_REG3.RxFragEn 21dd991bd5SNavdeep Parhar reg[0x7d6c] = 0x00000000/0x00007000 22dd991bd5SNavdeep Parhar 23c47c408aSNavdeep Parhar reg[0x7dc0] = 0x0e2f8849 # TP_SHIFT_CNT 24733b9277SNavdeep Parhar 25733b9277SNavdeep Parhar filterMode = fragmentation, mpshittype, protocol, vlan, port, fcoe 2648d05478SNavdeep Parhar filterMask = protocol, fcoe 27733b9277SNavdeep Parhar 28fc2aa1fcSNavdeep Parhar tp_pmrx = 36, 512 29733b9277SNavdeep Parhar tp_pmrx_pagesize = 64K 30c47c408aSNavdeep Parhar 31c47c408aSNavdeep Parhar # TP number of RX channels (0 = auto) 32c47c408aSNavdeep Parhar tp_nrxch = 0 33c47c408aSNavdeep Parhar 34fc2aa1fcSNavdeep Parhar tp_pmtx = 46, 512 35733b9277SNavdeep Parhar tp_pmtx_pagesize = 64K 36733b9277SNavdeep Parhar 37c47c408aSNavdeep Parhar # TP number of TX channels (0 = auto) 38c47c408aSNavdeep Parhar tp_ntxch = 0 3900cc2faaSNavdeep Parhar 4048d05478SNavdeep Parhar # TP OFLD MTUs 4148d05478SNavdeep Parhar tp_mtus = 88, 256, 512, 576, 808, 1024, 1280, 1488, 1500, 2002, 2048, 4096, 4352, 8192, 9000, 9600 4248d05478SNavdeep Parhar 43c47c408aSNavdeep Parhar # cluster, lan, or wan. 44c47c408aSNavdeep Parhar tp_tcptuning = lan 45c47c408aSNavdeep Parhar 46733b9277SNavdeep Parhar# PFs 0-3. These get 8 MSI/8 MSI-X vectors each. VFs are supported by 47460f25e5SNavdeep Parhar# these 4 PFs only. 48733b9277SNavdeep Parhar[function "0"] 49460f25e5SNavdeep Parhar wx_caps = all 50460f25e5SNavdeep Parhar r_caps = all 51*305e7e92SNavdeep Parhar nvi = 1 52*305e7e92SNavdeep Parhar rssnvi = 0 53*305e7e92SNavdeep Parhar niqflint = 2 54*305e7e92SNavdeep Parhar nethctrl = 2 55*305e7e92SNavdeep Parhar neq = 4 56*305e7e92SNavdeep Parhar nexactf = 2 57460f25e5SNavdeep Parhar cmask = all 58460f25e5SNavdeep Parhar pmask = 0x1 59733b9277SNavdeep Parhar 60733b9277SNavdeep Parhar[function "1"] 61460f25e5SNavdeep Parhar wx_caps = all 62460f25e5SNavdeep Parhar r_caps = all 63*305e7e92SNavdeep Parhar nvi = 1 64*305e7e92SNavdeep Parhar rssnvi = 0 65*305e7e92SNavdeep Parhar niqflint = 2 66*305e7e92SNavdeep Parhar nethctrl = 2 67*305e7e92SNavdeep Parhar neq = 4 68*305e7e92SNavdeep Parhar nexactf = 2 69460f25e5SNavdeep Parhar cmask = all 70460f25e5SNavdeep Parhar pmask = 0x2 71733b9277SNavdeep Parhar 72733b9277SNavdeep Parhar[function "2"] 73460f25e5SNavdeep Parhar wx_caps = all 74460f25e5SNavdeep Parhar r_caps = all 75*305e7e92SNavdeep Parhar nvi = 1 76*305e7e92SNavdeep Parhar rssnvi = 0 77*305e7e92SNavdeep Parhar niqflint = 2 78*305e7e92SNavdeep Parhar nethctrl = 2 79*305e7e92SNavdeep Parhar neq = 4 80*305e7e92SNavdeep Parhar nexactf = 2 81460f25e5SNavdeep Parhar cmask = all 82460f25e5SNavdeep Parhar pmask = 0x4 83733b9277SNavdeep Parhar 84733b9277SNavdeep Parhar[function "3"] 85460f25e5SNavdeep Parhar wx_caps = all 86460f25e5SNavdeep Parhar r_caps = all 87*305e7e92SNavdeep Parhar nvi = 1 88*305e7e92SNavdeep Parhar rssnvi = 0 89*305e7e92SNavdeep Parhar niqflint = 2 90*305e7e92SNavdeep Parhar nethctrl = 2 91*305e7e92SNavdeep Parhar neq = 4 92*305e7e92SNavdeep Parhar nexactf = 2 93460f25e5SNavdeep Parhar cmask = all 94460f25e5SNavdeep Parhar pmask = 0x8 95733b9277SNavdeep Parhar 96733b9277SNavdeep Parhar# PF4 is the resource-rich PF that the bus/nexus driver attaches to. 97733b9277SNavdeep Parhar# It gets 32 MSI/128 MSI-X vectors. 98733b9277SNavdeep Parhar[function "4"] 99733b9277SNavdeep Parhar wx_caps = all 100733b9277SNavdeep Parhar r_caps = all 101c9bfe3d1SNavdeep Parhar nvi = 32 102*305e7e92SNavdeep Parhar rssnvi = 16 10312845013SNavdeep Parhar niqflint = 512 10412845013SNavdeep Parhar nethctrl = 1024 10512845013SNavdeep Parhar neq = 2048 106460f25e5SNavdeep Parhar nexactf = 280 107733b9277SNavdeep Parhar cmask = all 108733b9277SNavdeep Parhar pmask = all 109ac4031d8SNavdeep Parhar nethofld = 2048 110733b9277SNavdeep Parhar 111733b9277SNavdeep Parhar # driver will mask off features it won't use 112fc2aa1fcSNavdeep Parhar protocol = ofld, rddp, rdmac, iscsi_initiator_pdu, iscsi_target_pdu 113733b9277SNavdeep Parhar 114efc9fddcSNavdeep Parhar tp_l2t = 4096 115efc9fddcSNavdeep Parhar tp_ddp = 2 116fc2aa1fcSNavdeep Parhar tp_ddp_iscsi = 2 117fc2aa1fcSNavdeep Parhar tp_stag = 2 118fc2aa1fcSNavdeep Parhar tp_pbl = 5 119fc2aa1fcSNavdeep Parhar tp_rq = 7 120733b9277SNavdeep Parhar 121733b9277SNavdeep Parhar # TCAM has 8K cells; each region must start at a multiple of 128 cell. 122733b9277SNavdeep Parhar # Each entry in these categories takes 4 cells each. nhash will use the 123733b9277SNavdeep Parhar # TCAM iff there is room left (that is, the rest don't add up to 2048). 124733b9277SNavdeep Parhar nroute = 32 125c9bfe3d1SNavdeep Parhar nclip = 32 126c9bfe3d1SNavdeep Parhar nfilter = 1456 127733b9277SNavdeep Parhar nserver = 512 128733b9277SNavdeep Parhar nhash = 16384 129733b9277SNavdeep Parhar 130733b9277SNavdeep Parhar# PF5 is the SCSI Controller PF. It gets 32 MSI/40 MSI-X vectors. 131733b9277SNavdeep Parhar# Not used right now. 132733b9277SNavdeep Parhar[function "5"] 133733b9277SNavdeep Parhar nvi = 1 13412845013SNavdeep Parhar rssnvi = 0 135733b9277SNavdeep Parhar 136733b9277SNavdeep Parhar# PF6 is the FCoE Controller PF. It gets 32 MSI/40 MSI-X vectors. 137733b9277SNavdeep Parhar# Not used right now. 138733b9277SNavdeep Parhar[function "6"] 139733b9277SNavdeep Parhar nvi = 1 14012845013SNavdeep Parhar rssnvi = 0 141733b9277SNavdeep Parhar 1422a5f6b0eSNavdeep Parhar# The following function, 1023, is not an actual PCIE function but is used to 1432a5f6b0eSNavdeep Parhar# configure and reserve firmware internal resources that come from the global 1442a5f6b0eSNavdeep Parhar# resource pool. 1452a5f6b0eSNavdeep Parhar[function "1023"] 1462a5f6b0eSNavdeep Parhar wx_caps = all 1472a5f6b0eSNavdeep Parhar r_caps = all 1482a5f6b0eSNavdeep Parhar nvi = 4 14912845013SNavdeep Parhar rssnvi = 0 1502a5f6b0eSNavdeep Parhar cmask = all 1512a5f6b0eSNavdeep Parhar pmask = all 1522a5f6b0eSNavdeep Parhar nexactf = 8 1532a5f6b0eSNavdeep Parhar nfilter = 16 1542a5f6b0eSNavdeep Parhar 155460f25e5SNavdeep Parhar# For Virtual functions, we only allow NIC functionality and we only allow 156460f25e5SNavdeep Parhar# access to one port (1 << PF). Note that because of limitations in the 157460f25e5SNavdeep Parhar# Scatter Gather Engine (SGE) hardware which checks writes to VF KDOORBELL 158460f25e5SNavdeep Parhar# and GTS registers, the number of Ingress and Egress Queues must be a power 159460f25e5SNavdeep Parhar# of 2. 160460f25e5SNavdeep Parhar# 161460f25e5SNavdeep Parhar[function "0/*"] 162460f25e5SNavdeep Parhar wx_caps = 0x82 163460f25e5SNavdeep Parhar r_caps = 0x86 164460f25e5SNavdeep Parhar nvi = 1 165*305e7e92SNavdeep Parhar rssnvi = 0 166460f25e5SNavdeep Parhar niqflint = 2 167460f25e5SNavdeep Parhar nethctrl = 2 168460f25e5SNavdeep Parhar neq = 4 169460f25e5SNavdeep Parhar nexactf = 2 170460f25e5SNavdeep Parhar cmask = all 171460f25e5SNavdeep Parhar pmask = 0x1 172460f25e5SNavdeep Parhar 173460f25e5SNavdeep Parhar[function "1/*"] 174460f25e5SNavdeep Parhar wx_caps = 0x82 175460f25e5SNavdeep Parhar r_caps = 0x86 176460f25e5SNavdeep Parhar nvi = 1 177*305e7e92SNavdeep Parhar rssnvi = 0 178460f25e5SNavdeep Parhar niqflint = 2 179460f25e5SNavdeep Parhar nethctrl = 2 180460f25e5SNavdeep Parhar neq = 4 181460f25e5SNavdeep Parhar nexactf = 2 182460f25e5SNavdeep Parhar cmask = all 183460f25e5SNavdeep Parhar pmask = 0x2 184460f25e5SNavdeep Parhar 185460f25e5SNavdeep Parhar[function "2/*"] 186460f25e5SNavdeep Parhar wx_caps = 0x82 187460f25e5SNavdeep Parhar r_caps = 0x86 188460f25e5SNavdeep Parhar nvi = 1 189*305e7e92SNavdeep Parhar rssnvi = 0 190460f25e5SNavdeep Parhar niqflint = 2 191460f25e5SNavdeep Parhar nethctrl = 2 192460f25e5SNavdeep Parhar neq = 4 193460f25e5SNavdeep Parhar nexactf = 2 194460f25e5SNavdeep Parhar cmask = all 195460f25e5SNavdeep Parhar pmask = 0x4 196460f25e5SNavdeep Parhar 197460f25e5SNavdeep Parhar[function "3/*"] 198460f25e5SNavdeep Parhar wx_caps = 0x82 199460f25e5SNavdeep Parhar r_caps = 0x86 200460f25e5SNavdeep Parhar nvi = 1 201*305e7e92SNavdeep Parhar rssnvi = 0 202460f25e5SNavdeep Parhar niqflint = 2 203460f25e5SNavdeep Parhar nethctrl = 2 204460f25e5SNavdeep Parhar neq = 4 205460f25e5SNavdeep Parhar nexactf = 2 206460f25e5SNavdeep Parhar cmask = all 207460f25e5SNavdeep Parhar pmask = 0x8 208460f25e5SNavdeep Parhar 209733b9277SNavdeep Parhar# MPS has 192K buffer space for ingress packets from the wire as well as 210733b9277SNavdeep Parhar# loopback path of the L2 switch. 211733b9277SNavdeep Parhar[port "0"] 212733b9277SNavdeep Parhar dcb = none 213733b9277SNavdeep Parhar bg_mem = 25 214733b9277SNavdeep Parhar lpbk_mem = 25 215733b9277SNavdeep Parhar hwm = 30 216733b9277SNavdeep Parhar lwm = 15 217733b9277SNavdeep Parhar dwm = 30 218733b9277SNavdeep Parhar 219733b9277SNavdeep Parhar[port "1"] 220733b9277SNavdeep Parhar dcb = none 221733b9277SNavdeep Parhar bg_mem = 25 222733b9277SNavdeep Parhar lpbk_mem = 25 223733b9277SNavdeep Parhar hwm = 30 224733b9277SNavdeep Parhar lwm = 15 225733b9277SNavdeep Parhar dwm = 30 226733b9277SNavdeep Parhar 227733b9277SNavdeep Parhar[port "2"] 228733b9277SNavdeep Parhar dcb = none 229733b9277SNavdeep Parhar bg_mem = 25 230733b9277SNavdeep Parhar lpbk_mem = 25 231733b9277SNavdeep Parhar hwm = 30 232733b9277SNavdeep Parhar lwm = 15 233733b9277SNavdeep Parhar dwm = 30 234733b9277SNavdeep Parhar 235733b9277SNavdeep Parhar[port "3"] 236733b9277SNavdeep Parhar dcb = none 237733b9277SNavdeep Parhar bg_mem = 25 238733b9277SNavdeep Parhar lpbk_mem = 25 239733b9277SNavdeep Parhar hwm = 30 240733b9277SNavdeep Parhar lwm = 15 241733b9277SNavdeep Parhar dwm = 30 242733b9277SNavdeep Parhar 243733b9277SNavdeep Parhar[fini] 244733b9277SNavdeep Parhar version = 0x1 245*305e7e92SNavdeep Parhar checksum = 0x3ecbe8a0 246733b9277SNavdeep Parhar# 247733b9277SNavdeep Parhar# 248