78 lines · plain
1What: /sys/class/firmware/.../data2Date: July 20223KernelVersion: 5.194Contact: Russ Weight <russ.weight@linux.dev>5Description: The data sysfs file is used for firmware-fallback and for6 firmware uploads. Cat a firmware image to this sysfs file7 after you echo 1 to the loading sysfs file. When the firmware8 image write is complete, echo 0 to the loading sysfs file. This9 sequence will signal the completion of the firmware write and10 signal the lower-level driver that the firmware data is11 available.12 13What: /sys/class/firmware/.../cancel14Date: July 202215KernelVersion: 5.1916Contact: Russ Weight <russ.weight@linux.dev>17Description: Write-only. For firmware uploads, write a "1" to this file to18 request that the transfer of firmware data to the lower-level19 device be canceled. This request will be rejected (EBUSY) if20 the update cannot be canceled (e.g. a FLASH write is in21 progress) or (ENODEV) if there is no firmware update in progress.22 23What: /sys/class/firmware/.../error24Date: July 202225KernelVersion: 5.1926Contact: Russ Weight <russ.weight@linux.dev>27Description: Read-only. Returns a string describing a failed firmware28 upload. This string will be in the form of <STATUS>:<ERROR>,29 where <STATUS> will be one of the status strings described30 for the status sysfs file and <ERROR> will be one of the31 following: "hw-error", "timeout", "user-abort", "device-busy",32 "invalid-file-size", "read-write-error", "flash-wearout". The33 error sysfs file is only meaningful when the current firmware34 upload status is "idle". If this file is read while a firmware35 transfer is in progress, then the read will fail with EBUSY.36 37What: /sys/class/firmware/.../loading38Date: July 202239KernelVersion: 5.1940Contact: Russ Weight <russ.weight@linux.dev>41Description: The loading sysfs file is used for both firmware-fallback and42 for firmware uploads. Echo 1 onto the loading file to indicate43 you are writing a firmware file to the data sysfs node. Echo44 -1 onto this file to abort the data write or echo 0 onto this45 file to indicate that the write is complete. For firmware46 uploads, the zero value also triggers the transfer of the47 firmware data to the lower-level device driver.48 49What: /sys/class/firmware/.../remaining_size50Date: July 202251KernelVersion: 5.1952Contact: Russ Weight <russ.weight@linux.dev>53Description: Read-only. For firmware upload, this file contains the size54 of the firmware data that remains to be transferred to the55 lower-level device driver. The size value is initialized to56 the full size of the firmware image that was previously57 written to the data sysfs file. This value is periodically58 updated during the "transferring" phase of the firmware59 upload.60 Format: "%u".61 62What: /sys/class/firmware/.../status63Date: July 202264KernelVersion: 5.1965Contact: Russ Weight <russ.weight@linux.dev>66Description: Read-only. Returns a string describing the current status of67 a firmware upload. The string will be one of the following:68 idle, "receiving", "preparing", "transferring", "programming".69 70What: /sys/class/firmware/.../timeout71Date: July 202272KernelVersion: 5.1973Contact: Russ Weight <russ.weight@linux.dev>74Description: This file supports the timeout mechanism for firmware75 fallback. This file has no affect on firmware uploads. For76 more information on timeouts please see the documentation77 for firmware fallback.78