xref: /linux/Documentation/networking/device_drivers/ethernet/meta/fbnic.rst (revision 9410645520e9b820069761f3450ef6661418e279)
1*0246388bSLee Trager.. SPDX-License-Identifier: GPL-2.0+
2*0246388bSLee Trager
3*0246388bSLee Trager=====================================
4*0246388bSLee TragerMeta Platforms Host Network Interface
5*0246388bSLee Trager=====================================
6*0246388bSLee Trager
7*0246388bSLee TragerFirmware Versions
8*0246388bSLee Trager-----------------
9*0246388bSLee Trager
10*0246388bSLee Tragerfbnic has three components stored on the flash which are provided in one PLDM
11*0246388bSLee Tragerimage:
12*0246388bSLee Trager
13*0246388bSLee Trager1. fw - The control firmware used to view and modify firmware settings, request
14*0246388bSLee Trager   firmware actions, and retrieve firmware counters outside of the data path.
15*0246388bSLee Trager   This is the firmware which fbnic_fw.c interacts with.
16*0246388bSLee Trager2. bootloader - The firmware which validate firmware security and control basic
17*0246388bSLee Trager   operations including loading and updating the firmware. This is also known
18*0246388bSLee Trager   as the cmrt firmware.
19*0246388bSLee Trager3. undi - This is the UEFI driver which is based on the Linux driver.
20*0246388bSLee Trager
21*0246388bSLee Tragerfbnic stores two copies of these three components on flash. This allows fbnic
22*0246388bSLee Tragerto fall back to an older version of firmware automatically in case firmware
23*0246388bSLee Tragerfails to boot. Version information for both is provided as running and stored.
24*0246388bSLee TragerThe undi is only provided in stored as it is not actively running once the Linux
25*0246388bSLee Tragerdriver takes over.
26*0246388bSLee Trager
27*0246388bSLee Tragerdevlink dev info provides version information for all three components. In
28*0246388bSLee Trageraddition to the version the hg commit hash of the build is included as a
29*0246388bSLee Tragerseparate entry.
30