| /linux/Documentation/ABI/stable/ |
| H A D | sysfs-driver-firmware-zynqmp | 1 What: /sys/devices/platform/firmware\:zynqmp-firmware/ggs* 17 # cat /sys/devices/platform/firmware\:zynqmp-firmware/ggs0 18 # echo <value> > /sys/devices/platform/firmware\:zynqmp-firmware/ggs0 22 # cat /sys/devices/platform/firmware\:zynqmp-firmware/ggs0 23 # echo 0x1234ABCD > /sys/devices/platform/firmware\:zynqmp-firmware/ggs0 27 What: /sys/devices/platform/firmware\:zynqmp-firmware/pggs* 46 # cat /sys/devices/platform/firmware\:zynqmp-firmware/pggs0 47 # echo <value> > /sys/devices/platform/firmware\:zynqmp-firmware/pggs0 51 # cat /sys/devices/platform/firmware\:zynqmp-firmware/pggs0 52 # echo 0x1234ABCD > /sys/devices/platform/firmware\:zynqmp-firmware/pggs0 [all …]
|
| /linux/drivers/base/firmware_loader/ |
| H A D | Kconfig | 2 menu "Firmware loader" 5 tristate "Firmware loading facility" if EXPERT 9 This enables the firmware loading facility in the kernel. The kernel 10 will first look for built-in firmware, if it has any. Next, it will 11 look for the requested firmware in a series of filesystem paths: 14 o /lib/firmware/updates/UTS_RELEASE 15 o /lib/firmware/updates 16 o /lib/firmware/UTS_RELEASE 17 o /lib/firmware 21 need firmware. [all …]
|
| /linux/Documentation/driver-api/nvdimm/ |
| H A D | firmware-activate.rst | 4 NVDIMM Runtime Firmware Activation 7 Some persistent memory devices run a firmware locally on the device / 9 and health monitoring. The process of updating that firmware typically 13 DSM specification [1], has added support for activating firmware at 17 to advertise and control their local runtime firmware activation 20 The libnvdimm bus object, ndbusX, implements an ndbusX/firmware/activate 21 attribute that shows the state of the firmware activation as one of 'idle', 25 No devices are set / armed to activate firmware 37 activation. In that scenario the potential for firmware activation to 40 The 'ndbusX/firmware/activate' property can be written with a value of [all …]
|
| /linux/Documentation/driver-api/firmware/ |
| H A D | fallback-mechanisms.rst | 6 filesystem lookup on the root filesystem or when the firmware simply cannot be 8 configuration options related to supporting the firmware fallback mechanism are: 10 * CONFIG_FW_LOADER_USER_HELPER: enables building the firmware fallback 15 enable the kobject uevent fallback mechanism on all firmware API calls 21 manually load the firmware. Read below for more details. 31 Justifying the firmware fallback mechanism 40 * Races upon resume from suspend. This is resolved by the firmware cache, but 41 the firmware cache is only supported if you use uevents, and its not 44 * Firmware is not accessible through typical means: 47 * The firmware provides very unique device specific data tailored for [all …]
|
| H A D | firmware_cache.rst | 2 Firmware cache 5 When Linux resumes from suspend some device drivers require firmware lookups to 7 firmware lookups are not possible, during this short period of time firmware 9 the root filesystem for firmware delays user experience with device 10 functionality. In order to support these requirements the firmware 11 infrastructure implements a firmware cache for device drivers for most API 14 The firmware cache makes using certain firmware API calls safe during a device 16 the firmware by themselves for dealing with firmware loss during system resume. 18 The firmware cache works by requesting for firmware prior to suspend and 19 caching it in memory. Upon resume device drivers using the firmware API will [all …]
|
| H A D | built-in-fw.rst | 2 Built-in firmware 5 Firmware can be built-in to the kernel, this means building the firmware 6 into vmlinux directly, to enable avoiding having to look for firmware from 7 the filesystem. Instead, firmware can be looked for inside the kernel 8 directly. You can enable built-in firmware using the kernel configuration 14 There are a few reasons why you might want to consider building your firmware 18 * Firmware is needed for accessing the boot device, and the user doesn't 19 want to stuff the firmware into the boot initramfs. 22 able to make use of built-in firmware: 24 * Legalese - firmware is non-GPL compatible [all …]
|
| H A D | fw_upload.rst | 4 Firmware Upload API 7 A device driver that registers with the firmware loader will expose 8 persistent sysfs nodes to enable users to initiate firmware updates for 10 device itself to perform any validation on the data received. Firmware 12 documentation for firmware fallback. It also adds additional sysfs files 13 to provide status on the transfer of the firmware image to the device. 15 Register for firmware upload 18 A device driver registers for firmware upload by calling 20 identify the device under /sys/class/firmware. A user may initiate a 21 firmware upload by echoing a 1 to the *loading* sysfs file for the target [all …]
|
| H A D | request_firmware.rst | 5 You would typically load firmware and then load it into your device somehow. 6 The typical firmware work flow is reflected below:: 8 if(request_firmware(&fw_entry, $FIRMWARE, device) == 0) 12 Synchronous firmware requests 15 Synchronous firmware requests will wait until the firmware is found or until 43 Asynchronous firmware requests 46 Asynchronous firmware requests allow driver code to not have to wait 47 until the firmware or an error is returned. Function callbacks are 48 provided so that when the firmware or an error is found the driver is 60 Some devices have an optimization in place to enable the firmware to be [all …]
|
| /linux/Documentation/ABI/testing/ |
| H A D | sysfs-class-firmware | 1 What: /sys/class/firmware/.../data 5 Description: The data sysfs file is used for firmware-fallback and for 6 firmware uploads. Cat a firmware image to this sysfs file 7 after you echo 1 to the loading sysfs file. When the firmware 9 sequence will signal the completion of the firmware write and 10 signal the lower-level driver that the firmware data is 13 What: /sys/class/firmware/.../cancel 17 Description: Write-only. For firmware uploads, write a "1" to this file to 18 request that the transfer of firmware data to the lower-level 21 progress) or (ENODEV) if there is no firmware update in progress. [all …]
|
| H A D | sysfs-firmware-efi-esrt | 1 What: /sys/firmware/efi/esrt/ 5 (ESRT), a catalog of firmware for which can be updated with 10 What: /sys/firmware/efi/esrt/fw_resource_count 15 What: /sys/firmware/efi/esrt/fw_resource_count_max 20 really only useful to the system firmware itself. 22 What: /sys/firmware/efi/esrt/fw_resource_version 25 Description: The version of the ESRT structure provided by the firmware. 27 What: /sys/firmware/efi/esrt/entries/entry<N>/ 32 example: /sys/firmware/efi/esrt/entries/entry0/ 34 What: /sys/firmware/efi/esrt/entries/entry<N>/fw_type [all …]
|
| H A D | sysfs-firmware-memmap | 1 What: /sys/firmware/memmap/ 5 On all platforms, the firmware provides a memory map which the 10 However, on most architectures that firmware-provided memory 16 kexec needs the raw firmware-provided memory map to setup the 19 that reason, /sys/firmware/memmap is an interface that provides 22 The structure is as follows: Under /sys/firmware/memmap there 25 /sys/firmware/memmap/0 26 /sys/firmware/memmap/1 27 /sys/firmware/memmap/2 28 /sys/firmware/memmap/3 [all …]
|
| /linux/drivers/net/wireless/marvell/libertas/ |
| H A D | firmware.c | 3 * Firmware loading and handling functions. 7 #include <linux/firmware.h> 16 const struct firmware *helper, const struct firmware *mainfw) in lbs_fw_loaded() 20 lbs_deb_fw("firmware load complete, code %d\n", ret); in lbs_fw_loaded() 32 void (*cb)(const struct firmware *fw, void *context)) in do_load_firmware() 45 static void main_firmware_cb(const struct firmware *firmware, void *context) in main_firmware_cb() argument 49 if (!firmware) { in main_firmware_cb() 50 /* Failed to find firmware: try next table entry */ in main_firmware_cb() 55 /* Firmware found! */ in main_firmware_cb() 56 lbs_fw_loaded(priv, 0, priv->helper_fw, firmware); in main_firmware_cb() [all …]
|
| /linux/Documentation/devicetree/bindings/soc/fsl/cpm_qe/ |
| H A D | fsl,qe-firmware.yaml | 4 $id: http://devicetree.org/schemas/soc/fsl/cpm_qe/fsl,qe-firmware.yaml# 7 title: Freescale QUICC Engine module Firmware Node 13 This node defines a firmware binary that is embedded in the device tree, for 14 the purpose of passing the firmware from bootloader to the kernel, or from 17 The firmware node itself contains the firmware binary contents, a compatible 18 property, and any firmware-specific properties. The node should be placed 20 fsl,firmware-phandle property. Other QE nodes that need the same firmware 21 should define an fsl,firmware-phandle property that points to the firmware node 24 The fsl,firmware property can be specified in the DTS (possibly using incbin) 30 - fsl,qe-firmware [all …]
|
| /linux/rust/kernel/ |
| H A D | firmware.rs | 3 //! Firmware abstraction 5 //! C header: [`include/linux/firmware.h`](srctree/include/linux/firmware.h) 23 *mut *const bindings::firmware, 39 /// Abstraction around a C `struct firmware`. 41 /// This is a simple abstraction around the C firmware API. Just like with the C API, firmware can 42 /// be requested. Once requested the abstraction provides direct access to the firmware buffer as 43 /// `&[u8]`. The firmware is released once [`Firmware`] i 66 pub struct Firmware(NonNull<bindings::firmware>); global() struct 68 impl Firmware { global() implementation 97 as_raw(&self) -> *mut bindings::firmware as_raw() argument 116 impl Drop for Firmware { global() implementation 125 unsafe impl Send for Firmware {} global() implementation 129 unsafe impl Sync for Firmware {} global() implementation [all...] |
| /linux/scripts/ |
| H A D | extract_xc3028.pl | 19 # cp xc3028-v24.fw /lib/firmware 20 # cp xc3028-v27.fw /lib/firmware 33 die "This firmware requires the md5sum command - see http://www.gnu.org/software/coreutils/\n"; 163 # Firmware 0, type: BASE FW F8MHZ (0x00000003), id: (0000000000000000), size: 6635 172 # Firmware 1, type: BASE FW F8MHZ MTS (0x00000007), id: (0000000000000000), size: 6635 181 # Firmware 2, type: BASE FW FM (0x00000401), id: (0000000000000000), size: 6525 190 # Firmware 3, type: BASE FW FM INPUT1 (0x00000c01), id: (0000000000000000), size: 6539 199 # Firmware 4, type: BASE FW (0x00000001), id: (0000000000000000), size: 6633 208 # Firmware 5, type: BASE FW MTS (0x00000005), id: (0000000000000000), size: 6617 217 # Firmware 6, type: STD FW (0x00000000), id: PAL/BG A2/A (0000000100000007), size: 161 [all …]
|
| /linux/Documentation/networking/device_drivers/ethernet/netronome/ |
| H A D | nfp.rst | 15 - `Acquiring Firmware`_ 28 Acquiring Firmware 31 The NFP3800, NFP4000 and NFP6000 devices require application specific firmware 32 to function. Application firmware can be located either on the host file system 33 or in the device flash (if supported by management firmware). 35 Firmware files on the host filesystem contain card type (`AMDA-*` string), media 36 config etc. They should be placed in `/lib/firmware/netronome` directory to 37 load firmware from the host file system. 39 Firmware for basic NIC operation is available in the upstream 40 `linux-firmware.git` repository. [all …]
|
| /linux/drivers/media/usb/as102/ |
| H A D | as102_fw.c | 11 #include <linux/firmware.h> 38 * Parse INTEL HEX firmware file to extract address and data. 48 pr_err("invalid firmware file\n"); in parse_hex_line() 93 const struct firmware *firmware) { in as102_firmware_upload() argument 104 for (total_read_bytes = 0; total_read_bytes < firmware->size; ) { in as102_firmware_upload() 109 (u8 *) (firmware->data + total_read_bytes), in as102_firmware_upload() 120 if (total_read_bytes == firmware->size) { in as102_firmware_upload() 158 const struct firmware *firmware = NULL; in as102_fw_upload() local 172 /* allocate buffer to store firmware upload command and data */ in as102_fw_upload() 179 /* request kernel to locate firmware file: part1 */ in as102_fw_upload() [all …]
|
| /linux/Documentation/sound/codecs/ |
| H A D | cs35l56.rst | 17 working, DO NOT ATTEMPT TO USE FIRMWARE AND SETTINGS FROM ANOTHER LAPTOP, 45 Firmware chapter 48 The amplifier is controlled and managed by firmware running on the internal 49 DSP. Firmware files are essential to enable the full capabilities of the 52 Firmware is distributed in the linux-firmware repository: 53 https://gitlab.com/kernel-firmware/linux-firmware.git 66 the firmware is *mandatory* to enable receiving the audio from the CS42L43. 68 On HDA systems the firmware is *mandatory* to enable HDA bridge mode. There 69 will not be any audio from the amplifiers without firmware. 71 Cirrus Logic firmware files [all …]
|
| /linux/drivers/hid/intel-ish-hid/ |
| H A D | ishtp-fw-loader.c | 3 * ISH-TP client driver for ISH firmware loading 8 #include <linux/firmware.h> 15 /* Number of times we attempt to load the firmware before giving up */ 23 * ISH Shim firmware loader reserves 4 Kb buffer in SRAM. The buffer is 25 * firmware loader. Reason for the odd size of 3968 bytes? Each IPC 34 * @LOADER_CMD_XFER_QUERY: Query the Shim firmware loader for 36 * @LOADER_CMD_XFER_FRAGMENT: Transfer one firmware image fragment at a 38 * multiple times until the entire firmware 40 * @LOADER_CMD_START: Start executing the main firmware. 53 * ISH firmware max delay for one transmit failure is 1 Hz, [all …]
|
| /linux/drivers/usb/misc/ |
| H A D | isight_firmware.c | 3 * Driver for loading USB isight firmware 9 * need firmware to be loaded beforehand. After firmware loading, the device 13 * The firmware is non-free and must be extracted by the user. Tools to do this 16 * The isight firmware loading was reverse engineered by Johannes Berg 22 #include <linux/firmware.h> 39 const struct firmware *firmware; in isight_firmware_load() local 47 if (request_firmware(&firmware, "isight.fw", &dev->dev) != 0) { in isight_firmware_load() 48 printk(KERN_ERR "Unable to load isight firmware\n"); in isight_firmware_load() 53 ptr = firmware->data; in isight_firmware_load() 60 "Failed to initialise isight firmware loader\n"); in isight_firmware_load() [all …]
|
| /linux/Documentation/networking/devlink/ |
| H A D | devlink-flash.rst | 9 The ``devlink-flash`` API allows updating device firmware. It replaces the 15 Note that the file name is a path relative to the firmware loading path 16 (usually ``/lib/firmware/``). Drivers may send status updates to inform 41 are provided, it is expected that the device only update firmware binaries 47 Firmware Loading 50 Devices which require firmware to operate usually store it in non-volatile 51 memory on the board, e.g. flash. Some devices store only basic firmware on 53 ``devlink-info`` allows users to query firmware information (loaded 61 On-disk firmware files are usually stored in ``/lib/firmware/``. 63 Firmware Version Management [all …]
|
| /linux/drivers/bluetooth/ |
| H A D | bcm203x.c | 4 * Broadcom Blutonium firmware driver 19 #include <linux/firmware.h> 130 BT_ERR("Firmware loading failed"); in bcm203x_complete() 154 const struct firmware *firmware; in bcm203x_probe() local 175 if (request_firmware(&firmware, "BCM2033-MD.hex", &udev->dev) < 0) { in bcm203x_probe() 181 BT_DBG("minidrv data %p size %zu", firmware->data, firmware->size); in bcm203x_probe() 183 size = max_t(uint, firmware->size, 4096); in bcm203x_probe() 188 release_firmware(firmware); in bcm203x_probe() 193 memcpy(data->buffer, firmware->data, firmware->size); in bcm203x_probe() 196 data->buffer, firmware->size, bcm203x_complete, data); in bcm203x_probe() [all …]
|
| /linux/Documentation/firmware-guide/acpi/ |
| H A D | chromeos-acpi-device.rst | 25 - Chrome OS firmware version 28 - Chrome OS read-only firmware version 64 - Recovery button was pressed when x86 firmware booted. 67 - Recovery button was pressed when EC firmware booted. (required if EC EEPROM is 71 - Developer switch was enabled when x86 firmware booted. 74 - Firmware write protection was disabled when x86 firmware booted. (required if 75 firmware write protection is controlled through x86 BIOS; otherwise optional) 94 FWID (Chrome OS firmware version) 96 This control method returns the firmware version for the rewritable portion of the main 97 processor firmware. [all …]
|
| /linux/tools/testing/selftests/firmware/ |
| H A D | fw_namespace.c | 2 /* Test triggering of loading of firmware from different mount 3 * namespaces. Expect firmware to be always loaded from the mount 31 umount("/lib/firmware"); in die() 68 if (mount("test", "/lib/firmware", "tmpfs", MS_RDONLY, NULL) == -1) in test_fw_in_ns() 69 die("blocking firmware in parent ns failed\n"); in test_fw_in_ns() 93 umount("/lib/firmware"); in test_fw_in_ns() 105 if (mount("test", "/lib/firmware", "tmpfs", MS_RDONLY, NULL) == -1) in test_fw_in_ns() 106 die("blocking firmware in child ns failed\n"); in test_fw_in_ns() 108 umount("/lib/firmware"); in test_fw_in_ns() 117 const char *fw_name = "test-firmware.bin"; in main() [all …]
|
| /linux/drivers/staging/greybus/Documentation/firmware/ |
| H A D | firmware.c | 3 * Sample code to test firmware-management protocol 37 …printf("\nUsage: ./firmware <gb-fw-mgmt-X (default: gb-fw-mgmt-0)> <interface: 0, backend: 1 (defa… in usage() 44 /* Get Interface Firmware Version */ in update_intf_firmware() 45 printf("Get Interface Firmware Version\n"); in update_intf_firmware() 49 printf("Failed to get interface firmware version: %s (%d)\n", in update_intf_firmware() 54 printf("Interface Firmware tag (%s), major (%d), minor (%d)\n", in update_intf_firmware() 58 /* Try Interface Firmware load over Unipro */ in update_intf_firmware() 59 printf("Loading Interface Firmware\n"); in update_intf_firmware() 71 printf("Failed to load interface firmware: %s (%d)\n", fwdev, in update_intf_firmware() 83 printf("Interface Firmware (%s) Load done: major: %d, minor: %d, status: %d\n", in update_intf_firmware() [all …]
|