162306a36Sopenharmony_ciWhat: /sys/class/firmware/.../data 262306a36Sopenharmony_ciDate: July 2022 362306a36Sopenharmony_ciKernelVersion: 5.19 462306a36Sopenharmony_ciContact: Russ Weight <russ.weight@linux.dev> 562306a36Sopenharmony_ciDescription: The data sysfs file is used for firmware-fallback and for 662306a36Sopenharmony_ci firmware uploads. Cat a firmware image to this sysfs file 762306a36Sopenharmony_ci after you echo 1 to the loading sysfs file. When the firmware 862306a36Sopenharmony_ci image write is complete, echo 0 to the loading sysfs file. This 962306a36Sopenharmony_ci sequence will signal the completion of the firmware write and 1062306a36Sopenharmony_ci signal the lower-level driver that the firmware data is 1162306a36Sopenharmony_ci available. 1262306a36Sopenharmony_ci 1362306a36Sopenharmony_ciWhat: /sys/class/firmware/.../cancel 1462306a36Sopenharmony_ciDate: July 2022 1562306a36Sopenharmony_ciKernelVersion: 5.19 1662306a36Sopenharmony_ciContact: Russ Weight <russ.weight@linux.dev> 1762306a36Sopenharmony_ciDescription: Write-only. For firmware uploads, write a "1" to this file to 1862306a36Sopenharmony_ci request that the transfer of firmware data to the lower-level 1962306a36Sopenharmony_ci device be canceled. This request will be rejected (EBUSY) if 2062306a36Sopenharmony_ci the update cannot be canceled (e.g. a FLASH write is in 2162306a36Sopenharmony_ci progress) or (ENODEV) if there is no firmware update in progress. 2262306a36Sopenharmony_ci 2362306a36Sopenharmony_ciWhat: /sys/class/firmware/.../error 2462306a36Sopenharmony_ciDate: July 2022 2562306a36Sopenharmony_ciKernelVersion: 5.19 2662306a36Sopenharmony_ciContact: Russ Weight <russ.weight@linux.dev> 2762306a36Sopenharmony_ciDescription: Read-only. Returns a string describing a failed firmware 2862306a36Sopenharmony_ci upload. This string will be in the form of <STATUS>:<ERROR>, 2962306a36Sopenharmony_ci where <STATUS> will be one of the status strings described 3062306a36Sopenharmony_ci for the status sysfs file and <ERROR> will be one of the 3162306a36Sopenharmony_ci following: "hw-error", "timeout", "user-abort", "device-busy", 3262306a36Sopenharmony_ci "invalid-file-size", "read-write-error", "flash-wearout". The 3362306a36Sopenharmony_ci error sysfs file is only meaningful when the current firmware 3462306a36Sopenharmony_ci upload status is "idle". If this file is read while a firmware 3562306a36Sopenharmony_ci transfer is in progress, then the read will fail with EBUSY. 3662306a36Sopenharmony_ci 3762306a36Sopenharmony_ciWhat: /sys/class/firmware/.../loading 3862306a36Sopenharmony_ciDate: July 2022 3962306a36Sopenharmony_ciKernelVersion: 5.19 4062306a36Sopenharmony_ciContact: Russ Weight <russ.weight@linux.dev> 4162306a36Sopenharmony_ciDescription: The loading sysfs file is used for both firmware-fallback and 4262306a36Sopenharmony_ci for firmware uploads. Echo 1 onto the loading file to indicate 4362306a36Sopenharmony_ci you are writing a firmware file to the data sysfs node. Echo 4462306a36Sopenharmony_ci -1 onto this file to abort the data write or echo 0 onto this 4562306a36Sopenharmony_ci file to indicate that the write is complete. For firmware 4662306a36Sopenharmony_ci uploads, the zero value also triggers the transfer of the 4762306a36Sopenharmony_ci firmware data to the lower-level device driver. 4862306a36Sopenharmony_ci 4962306a36Sopenharmony_ciWhat: /sys/class/firmware/.../remaining_size 5062306a36Sopenharmony_ciDate: July 2022 5162306a36Sopenharmony_ciKernelVersion: 5.19 5262306a36Sopenharmony_ciContact: Russ Weight <russ.weight@linux.dev> 5362306a36Sopenharmony_ciDescription: Read-only. For firmware upload, this file contains the size 5462306a36Sopenharmony_ci of the firmware data that remains to be transferred to the 5562306a36Sopenharmony_ci lower-level device driver. The size value is initialized to 5662306a36Sopenharmony_ci the full size of the firmware image that was previously 5762306a36Sopenharmony_ci written to the data sysfs file. This value is periodically 5862306a36Sopenharmony_ci updated during the "transferring" phase of the firmware 5962306a36Sopenharmony_ci upload. 6062306a36Sopenharmony_ci Format: "%u". 6162306a36Sopenharmony_ci 6262306a36Sopenharmony_ciWhat: /sys/class/firmware/.../status 6362306a36Sopenharmony_ciDate: July 2022 6462306a36Sopenharmony_ciKernelVersion: 5.19 6562306a36Sopenharmony_ciContact: Russ Weight <russ.weight@linux.dev> 6662306a36Sopenharmony_ciDescription: Read-only. Returns a string describing the current status of 6762306a36Sopenharmony_ci a firmware upload. The string will be one of the following: 6862306a36Sopenharmony_ci idle, "receiving", "preparing", "transferring", "programming". 6962306a36Sopenharmony_ci 7062306a36Sopenharmony_ciWhat: /sys/class/firmware/.../timeout 7162306a36Sopenharmony_ciDate: July 2022 7262306a36Sopenharmony_ciKernelVersion: 5.19 7362306a36Sopenharmony_ciContact: Russ Weight <russ.weight@linux.dev> 7462306a36Sopenharmony_ciDescription: This file supports the timeout mechanism for firmware 7562306a36Sopenharmony_ci fallback. This file has no affect on firmware uploads. For 7662306a36Sopenharmony_ci more information on timeouts please see the documentation 7762306a36Sopenharmony_ci for firmware fallback. 78