Home
last modified time | relevance | path

Searched full:firmware (Results 1 – 25 of 4827) sorted by relevance

12345678910>>...194

/linux-6.12.1/Documentation/ABI/stable/
Dsysfs-driver-firmware-zynqmp1 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-6.12.1/drivers/base/firmware_loader/
DKconfig2 menu "Firmware loader"
5 tristate "Firmware loading facility" if EXPERT
10 This enables the firmware loading facility in the kernel. The kernel
11 will first look for built-in firmware, if it has any. Next, it will
12 look for the requested firmware in a series of filesystem paths:
15 o /lib/firmware/updates/UTS_RELEASE
16 o /lib/firmware/updates
17 o /lib/firmware/UTS_RELEASE
18 o /lib/firmware
22 need firmware.
[all …]
Dmain.c3 * main.c - Multi purpose firmware loading support
7 * Please see Documentation/driver-api/firmware/ for more information.
26 #include <linux/firmware.h>
44 #include "firmware.h"
48 MODULE_DESCRIPTION("Multi purpose firmware loading support");
59 * Names of firmware images which have been cached successfully
61 * helper can trace which firmware images have been cached
167 /* Returns 1 for batching firmware requests with the same name */
308 * ZSTD-compressed firmware support
372 * XZ-compressed firmware support
[all …]
Dfallback.c12 #include "firmware.h"
15 * firmware fallback mechanism
19 * use small loading timeout for caching devices' firmware because all these
20 * firmware images have been loaded successfully at lease once, also system is
21 * ready for completing firmware loading now. The maximum size of firmware in
68 * fw_load_sysfs_fallback() - load a firmware via the sysfs fallback mechanism
69 * @fw_sysfs: firmware sysfs information for the firmware to load
72 * In charge of constructing a sysfs fallback interface for firmware loading.
104 dev_dbg(f_dev, "firmware: requesting %s\n", fw_priv->fw_name); in fw_load_sysfs_fallback()
130 static int fw_load_from_user_helper(struct firmware *firmware, in fw_load_from_user_helper() argument
[all …]
/linux-6.12.1/drivers/gpu/drm/tegra/
Dfalcon.c8 #include <linux/firmware.h>
52 * Use second DMA context (i.e. the one for firmware). Strictly in falcon_copy_chunk()
53 * speaking, at this point both DMA contexts point to the firmware in falcon_copy_chunk()
54 * stream ID, but this register's value will be reused by the firmware in falcon_copy_chunk()
67 const struct firmware *firmware) in falcon_copy_firmware_image() argument
69 u32 *virt = falcon->firmware.virt; in falcon_copy_firmware_image()
73 for (i = 0; i < firmware->size / sizeof(u32); i++) in falcon_copy_firmware_image()
74 virt[i] = le32_to_cpu(((__le32 *)firmware->data)[i]); in falcon_copy_firmware_image()
79 struct falcon_fw_bin_header_v1 *bin = (void *)falcon->firmware.virt; in falcon_parse_firmware_image()
84 dev_err(falcon->dev, "incorrect firmware magic\n"); in falcon_parse_firmware_image()
[all …]
/linux-6.12.1/Documentation/driver-api/firmware/
Dfallback-mechanisms.rst6 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 …]
Dfirmware_cache.rst2 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 …]
Dfirmware-usage-guidelines.rst2 Firmware Guidelines
6 firmware files to keep their hardware working. At the same time updated
7 firmware files must not cause any regressions for users of older kernel
10 Drivers that use firmware from linux-firmware should follow the rules in
11 this guide. (Where there is limited control of the firmware,
15 * Firmware files shall be designed in a way that it allows checking for
16 firmware ABI version changes. It is recommended that firmware files be
18 the firmware files in linux-firmware be named with some device
19 specific name, and just the major version. The firmware version should
20 be stored in the firmware header, or as an exception, as part of the
[all …]
Dbuilt-in-fw.rst2 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 …]
Dfw_upload.rst4 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 …]
/linux-6.12.1/Documentation/driver-api/nvdimm/
Dfirmware-activate.rst4 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-6.12.1/rust/kernel/
Dfirmware.rs3 //! Firmware abstraction
5 //! C header: [`include/linux/firmware.h`](srctree/include/linux/firmware.h)
15 unsafe extern "C" fn(*mut *const bindings::firmware, *const i8, *mut bindings::device) -> i32,
28 /// Abstraction around a C `struct firmware`.
30 /// This is a simple abstraction around the C firmware API. Just like with the C API, firmware can
31 /// be requested. Once requested the abstraction provides direct access to the firmware buffer as
32 /// `&[u8]`. The firmware is released once [`Firmware`] is dropped.
36 /// The pointer is valid, and has ownership over the instance of `struct firmware`.
38 /// The `Firmware`'s backing buffer is not modified.
43 /// # use kernel::{c_str, device::Device, firmware::Firmware};
[all …]
/linux-6.12.1/Documentation/ABI/testing/
Dsysfs-class-firmware1 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 …]
Dsysfs-firmware-efi-esrt1 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 …]
/linux-6.12.1/drivers/net/wireless/marvell/libertas/
Dfirmware.c3 * 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-6.12.1/Documentation/devicetree/bindings/soc/fsl/cpm_qe/
Dfsl,qe-firmware.yaml4 $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-6.12.1/include/linux/
Dfirmware.h13 struct firmware { struct
17 /* firmware loader private fields */ argument
22 * enum fw_upload_err - firmware upload error codes argument
25 * @FW_UPLOAD_ERR_TIMEOUT: SW timed out on handshake with HW/firmware
28 * @FW_UPLOAD_ERR_INVALID_SIZE: invalid firmware image size
31 * @FW_UPLOAD_ERR_FW_INVALID: invalid firmware file
49 void *priv; /* firmware loader private fields */
53 * struct fw_upload_ops - device specific operations to support firmware upload
85 * Built-in firmware functionality is only available if FW_LOADER=y, but not
89 bool firmware_request_builtin(struct firmware *fw, const char *name);
[all …]
/linux-6.12.1/drivers/base/firmware_loader/builtin/
Dmain.c2 /* Builtin firmware support */
4 #include <linux/firmware.h>
5 #include "../firmware.h"
19 static bool fw_copy_to_prealloc_buf(struct firmware *fw, in fw_copy_to_prealloc_buf()
31 * firmware_request_builtin() - load builtin firmware
32 * @fw: pointer to firmware struct
33 * @name: name of firmware file
38 * if the firmware was built-in and if so use it right away. This can be used
41 * This looks for the firmware in the built-in kernel. Only if the kernel was
42 * built-in with the firmware you are looking for will this return successfully.
[all …]
/linux-6.12.1/scripts/
Dextract_xc3028.pl19 # 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-6.12.1/Documentation/networking/device_drivers/ethernet/netronome/
Dnfp.rst15 - `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-6.12.1/drivers/media/usb/as102/
Das102_fw.c11 #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-6.12.1/drivers/firmware/
DKconfig7 menu "Firmware Drivers"
9 source "drivers/firmware/arm_scmi/Kconfig"
37 standard for registering callbacks from the platform firmware
62 bool "Add firmware-provided memory map to sysfs" if EXPERT
65 Add the firmware-provided (unmodified) memory map to /sys/firmware/memmap.
69 See also Documentation/ABI/testing/sysfs-firmware-memmap.
88 under /sys/firmware/dmi when this option is enabled and
95 bool "iSCSI Boot Firmware Table Attributes"
100 in which the ISCSI Boot Firmware Table (iBFT) resides. This
101 is necessary for iSCSI Boot Firmware Table Attributes module to work
[all …]
/linux-6.12.1/drivers/hid/intel-ish-hid/
Dishtp-fw-loader.c3 * 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-6.12.1/drivers/gpu/drm/i915/gvt/
Dfirmware.c31 #include <linux/firmware.h>
62 void *firmware; in expose_firmware_sysfs() local
68 firmware = vzalloc(size); in expose_firmware_sysfs()
69 if (!firmware) in expose_firmware_sysfs()
72 h = firmware; in expose_firmware_sysfs()
81 p = firmware + h->cfg_space_offset; in expose_firmware_sysfs()
83 memcpy(gvt->firmware.cfg_space, i915->vgpu.initial_cfg_space, in expose_firmware_sysfs()
85 memcpy(p, gvt->firmware.cfg_space, info->cfg_space_size); in expose_firmware_sysfs()
87 p = firmware + h->mmio_offset; in expose_firmware_sysfs()
89 memcpy(gvt->firmware.mmio, i915->vgpu.initial_mmio, in expose_firmware_sysfs()
[all …]
/linux-6.12.1/drivers/usb/misc/
Disight_firmware.c3 * 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 …]

12345678910>>...194