0001 What: /sys/class/firmware/.../data
0002 Date: July 2022
0003 KernelVersion: 5.19
0004 Contact: Russ Weight <russell.h.weight@intel.com>
0005 Description: The data sysfs file is used for firmware-fallback and for
0006 firmware uploads. Cat a firmware image to this sysfs file
0007 after you echo 1 to the loading sysfs file. When the firmware
0008 image write is complete, echo 0 to the loading sysfs file. This
0009 sequence will signal the completion of the firmware write and
0010 signal the lower-level driver that the firmware data is
0011 available.
0012
0013 What: /sys/class/firmware/.../cancel
0014 Date: July 2022
0015 KernelVersion: 5.19
0016 Contact: Russ Weight <russell.h.weight@intel.com>
0017 Description: Write-only. For firmware uploads, write a "1" to this file to
0018 request that the transfer of firmware data to the lower-level
0019 device be canceled. This request will be rejected (EBUSY) if
0020 the update cannot be canceled (e.g. a FLASH write is in
0021 progress) or (ENODEV) if there is no firmware update in progress.
0022
0023 What: /sys/class/firmware/.../error
0024 Date: July 2022
0025 KernelVersion: 5.19
0026 Contact: Russ Weight <russell.h.weight@intel.com>
0027 Description: Read-only. Returns a string describing a failed firmware
0028 upload. This string will be in the form of <STATUS>:<ERROR>,
0029 where <STATUS> will be one of the status strings described
0030 for the status sysfs file and <ERROR> will be one of the
0031 following: "hw-error", "timeout", "user-abort", "device-busy",
0032 "invalid-file-size", "read-write-error", "flash-wearout". The
0033 error sysfs file is only meaningful when the current firmware
0034 upload status is "idle". If this file is read while a firmware
0035 transfer is in progress, then the read will fail with EBUSY.
0036
0037 What: /sys/class/firmware/.../loading
0038 Date: July 2022
0039 KernelVersion: 5.19
0040 Contact: Russ Weight <russell.h.weight@intel.com>
0041 Description: The loading sysfs file is used for both firmware-fallback and
0042 for firmware uploads. Echo 1 onto the loading file to indicate
0043 you are writing a firmware file to the data sysfs node. Echo
0044 -1 onto this file to abort the data write or echo 0 onto this
0045 file to indicate that the write is complete. For firmware
0046 uploads, the zero value also triggers the transfer of the
0047 firmware data to the lower-level device driver.
0048
0049 What: /sys/class/firmware/.../remaining_size
0050 Date: July 2022
0051 KernelVersion: 5.19
0052 Contact: Russ Weight <russell.h.weight@intel.com>
0053 Description: Read-only. For firmware upload, this file contains the size
0054 of the firmware data that remains to be transferred to the
0055 lower-level device driver. The size value is initialized to
0056 the full size of the firmware image that was previously
0057 written to the data sysfs file. This value is periodically
0058 updated during the "transferring" phase of the firmware
0059 upload.
0060 Format: "%u".
0061
0062 What: /sys/class/firmware/.../status
0063 Date: July 2022
0064 KernelVersion: 5.19
0065 Contact: Russ Weight <russell.h.weight@intel.com>
0066 Description: Read-only. Returns a string describing the current status of
0067 a firmware upload. The string will be one of the following:
0068 idle, "receiving", "preparing", "transferring", "programming".
0069
0070 What: /sys/class/firmware/.../timeout
0071 Date: July 2022
0072 KernelVersion: 5.19
0073 Contact: Russ Weight <russell.h.weight@intel.com>
0074 Description: This file supports the timeout mechanism for firmware
0075 fallback. This file has no affect on firmware uploads. For
0076 more information on timeouts please see the documentation
0077 for firmware fallback.