What: /sys/class/firmware/.../data Date: July 2022 KernelVersion: 5.19 Contact: Russ Weight <russ.weight@linux.dev> Description: The data sysfs file is used for firmware-fallback and for firmware uploads. Cat a firmware image to this sysfs file after you echo 1 to the loading sysfs file. When the firmware image write is complete, echo 0 to the loading sysfs file. This sequence will signal the completion of the firmware write and signal the lower-level driver that the firmware data is available. What: /sys/class/firmware/.../cancel Date: July 2022 KernelVersion: 5.19 Contact: Russ Weight <russ.weight@linux.dev> Description: Write-only. For firmware uploads, write a "1" to this file to request that the transfer of firmware data to the lower-level device be canceled. This request will be rejected (EBUSY) if the update cannot be canceled (e.g. a FLASH write is in progress) or (ENODEV) if there is no firmware update in progress. What: /sys/class/firmware/.../error Date: July 2022 KernelVersion: 5.19 Contact: Russ Weight <russ.weight@linux.dev> Description: Read-only. Returns a string describing a failed firmware upload. This string will be in the form of <STATUS>:<ERROR>, where <STATUS> will be one of the status strings described for the status sysfs file and <ERROR> will be one of the following: "hw-error", "timeout", "user-abort", "device-busy", "invalid-file-size", "read-write-error", "flash-wearout". The error sysfs file is only meaningful when the current firmware upload status is "idle". If this file is read while a firmware transfer is in progress, then the read will fail with EBUSY. What: /sys/class/firmware/.../loading Date: July 2022 KernelVersion: 5.19 Contact: Russ Weight <russ.weight@linux.dev> Description: The loading sysfs file is used for both firmware-fallback and for firmware uploads. Echo 1 onto the loading file to indicate you are writing a firmware file to the data sysfs node. Echo -1 onto this file to abort the data write or echo 0 onto this file to indicate that the write is complete. For firmware uploads, the zero value also triggers the transfer of the firmware data to the lower-level device driver. What: /sys/class/firmware/.../remaining_size Date: July 2022 KernelVersion: 5.19 Contact: Russ Weight <russ.weight@linux.dev> Description: Read-only. For firmware upload, this file contains the size of the firmware data that remains to be transferred to the lower-level device driver. The size value is initialized to the full size of the firmware image that was previously written to the data sysfs file. This value is periodically updated during the "transferring" phase of the firmware upload. Format: "%u". What: /sys/class/firmware/.../status Date: July 2022 KernelVersion: 5.19 Contact: Russ Weight <russ.weight@linux.dev> Description: Read-only. Returns a string describing the current status of a firmware upload. The string will be one of the following: idle, "receiving", "preparing", "transferring", "programming". What: /sys/class/firmware/.../timeout Date: July 2022 KernelVersion: 5.19 Contact: Russ Weight <russ.weight@linux.dev> Description: This file supports the timeout mechanism for firmware fallback. This file has no affect on firmware uploads. For more information on timeouts please see the documentation for firmware fallback.