Home
last modified time | relevance | path

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

12345678910>>...152

/kernel/linux/linux-5.10/drivers/base/firmware_loader/
DKconfig2 menu "Firmware loader"
5 tristate "Firmware loading facility" if EXPERT
8 This enables the firmware loading facility in the kernel. The kernel
9 will first look for built-in firmware, if it has any. Next, it will
10 look for the requested firmware in a series of filesystem paths:
13 o /lib/firmware/updates/UTS_RELEASE
14 o /lib/firmware/updates
15 o /lib/firmware/UTS_RELEASE
16 o /lib/firmware
20 need firmware.
[all …]
Dmain.c3 * main.c - Multi purpose firmware loading support
7 * Please see Documentation/driver-api/firmware/ for more information.
25 #include <linux/firmware.h>
42 #include "firmware.h"
46 MODULE_DESCRIPTION("Multi purpose firmware loading support");
57 * Names of firmware images which have been cached successfully
59 * helper can trace which firmware images have been cached
95 /* Builtin firmware support */
102 static bool fw_copy_to_prealloc_buf(struct firmware *fw, in fw_copy_to_prealloc_buf()
113 static bool fw_get_builtin_firmware(struct firmware *fw, const char *name, in fw_get_builtin_firmware()
[all …]
/kernel/linux/linux-5.10/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 …]
/kernel/linux/linux-5.10/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 …]
/kernel/linux/linux-5.10/drivers/gpu/drm/tegra/
Dfalcon.c8 #include <linux/firmware.h>
59 const struct firmware *firmware) in falcon_copy_firmware_image() argument
61 u32 *virt = falcon->firmware.virt; in falcon_copy_firmware_image()
65 for (i = 0; i < firmware->size / sizeof(u32); i++) in falcon_copy_firmware_image()
66 virt[i] = le32_to_cpu(((u32 *)firmware->data)[i]); in falcon_copy_firmware_image()
71 struct falcon_fw_bin_header_v1 *bin = (void *)falcon->firmware.virt; in falcon_parse_firmware_image()
76 dev_err(falcon->dev, "incorrect firmware magic\n"); in falcon_parse_firmware_image()
82 dev_err(falcon->dev, "unsupported firmware version\n"); in falcon_parse_firmware_image()
86 /* check that the firmware size is consistent */ in falcon_parse_firmware_image()
87 if (bin->size > falcon->firmware.size) { in falcon_parse_firmware_image()
[all …]
/kernel/linux/linux-5.10/Documentation/driver-api/firmware/
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 …]
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 …]
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 …]
Drequest_firmware.rst5 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 …]
Dlookup-order.rst2 Firmware lookup order
5 Different functionality is available to enable firmware to be found.
6 Below is chronological order of how firmware will be looked for once
7 a driver issues a firmware API call.
9 * The ''Built-in firmware'' is checked first, if the firmware is present we
11 * The ''Firmware cache'' is looked at next. If the firmware is found we
15 * The ''Platform firmware fallback'' is performed next, but only when
17 * If no firmware has been found and the fallback mechanism was enabled
19 is issued or the custom firmware loading is relied upon for firmware
/kernel/linux/linux-5.10/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 …]
/kernel/linux/linux-5.10/Documentation/networking/device_drivers/ethernet/netronome/
Dnfp.rst13 - `Acquiring Firmware`_
24 Acquiring Firmware
27 The NFP4000 and NFP6000 devices require application specific firmware
28 to function. Application firmware can be located either on the host file system
29 or in the device flash (if supported by management firmware).
31 Firmware files on the host filesystem contain card type (`AMDA-*` string), media
32 config etc. They should be placed in `/lib/firmware/netronome` directory to
33 load firmware from the host file system.
35 Firmware for basic NIC operation is available in the upstream
36 `linux-firmware.git` repository.
[all …]
/kernel/linux/linux-5.10/Documentation/ABI/testing/
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 …]
Dsysfs-firmware-memmap1 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 …]
/kernel/linux/linux-5.10/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 …]
/kernel/linux/linux-5.10/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 …]
/kernel/linux/linux-5.10/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 …]
/kernel/linux/linux-5.10/Documentation/devicetree/bindings/soc/fsl/cpm_qe/
Dqe.txt26 - fsl,firmware-phandle:
27 Usage: required only if there is no fsl,qe-firmware child node
29 Definition: Points to a firmware node (see "QE Firmware Node" below)
30 that contains the firmware that should be uploaded for this QE.
31 The compatible property for the firmware node should say,
32 "fsl,qe-firmware".
135 * QE Firmware Node
137 This node defines a firmware binary that is embedded in the device tree, for
138 the purpose of passing the firmware from bootloader to the kernel, or from
141 The firmware node itself contains the firmware binary contents, a compatible
[all …]
/kernel/linux/linux-5.10/Documentation/networking/devlink/
Ddevlink-flash.rst9 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 …]
/kernel/linux/linux-5.10/Documentation/devicetree/bindings/firmware/xilinx/
Dxlnx,zynqmp-firmware.txt2 Device Tree Bindings for the Xilinx Zynq MPSoC Firmware Interface
5 The zynqmp-firmware node describes the interface to platform firmware.
6 ZynqMP has an interface to communicate with secure firmware. Firmware
7 driver provides an interface to firmware APIs. Interface APIs can be
15 "xlnx,zynqmp-firmware" for Zynq Ultrascale+ MPSoC
16 "xlnx,versal-firmware" for Versal
17 - method: The method of calling the PM-API firmware layer.
28 firmware {
29 zynqmp_firmware: zynqmp-firmware {
30 compatible = "xlnx,zynqmp-firmware";
[all …]
/kernel/linux/linux-5.10/drivers/soc/qcom/
Dmdt_loader.c12 #include <linux/firmware.h>
36 * @fw: firmware object for the mdt file
38 * Returns size of the loaded firmware blob, or -EINVAL on failure.
40 ssize_t qcom_mdt_get_size(const struct firmware *fw) in qcom_mdt_get_size()
71 * @fw: firmware of mdt header or mbn
74 * The mechanism that performs the authentication of the loading firmware
79 * In the case of split firmware the hash is found directly following the ELF
86 void *qcom_mdt_read_metadata(const struct firmware *fw, size_t *data_len) in qcom_mdt_read_metadata()
129 static int __qcom_mdt_load(struct device *dev, const struct firmware *fw, in __qcom_mdt_load()
130 const char *firmware, int pas_id, void *mem_region, in __qcom_mdt_load() argument
[all …]
/kernel/linux/linux-5.10/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 …]
/kernel/linux/linux-5.10/include/linux/
Dfirmware.h12 struct firmware { struct
16 /* firmware loader private fields */ argument
42 int request_firmware(const struct firmware **fw, const char *name,
44 int firmware_request_nowarn(const struct firmware **fw, const char *name,
46 int firmware_request_platform(const struct firmware **fw, const char *name,
51 void (*cont)(const struct firmware *fw, void *context));
52 int request_firmware_direct(const struct firmware **fw, const char *name,
54 int request_firmware_into_buf(const struct firmware **firmware_p,
56 int request_partial_firmware_into_buf(const struct firmware **firmware_p,
60 void release_firmware(const struct firmware *fw);
[all …]
/kernel/linux/linux-5.10/drivers/scsi/fnic/
Dfcpio.h25 * communication by the host driver to the fcp firmware.
81 * Header status codes from the firmware
87 * If a request to the firmware is rejected, the original request
97 * Once a request is processed, the firmware will usually return
118 * to mark commands with a unique tag. When the firmware responds to
121 * The only firmware requests that will use the rx_id/ox_id fields instead
163 * The header for an fcpio request, whether from the firmware or from the
199 * fcpio_icmnd_16: host -> firmware request
247 * fcpio_icmnd_32: host -> firmware request
275 * fcpio_itmf: host -> firmware request
[all …]
/kernel/linux/linux-5.10/drivers/firmware/
DKconfig7 menu "Firmware Drivers"
37 enabled or disabled via the SCP firmware
70 enabled or disabled via the SCP firmware
77 standard for registering callbacks from the platform firmware
102 bool "Add firmware-provided memory map to sysfs" if EXPERT
105 Add the firmware-provided (unmodified) memory map to /sys/firmware/memmap.
109 See also Documentation/ABI/testing/sysfs-firmware-memmap.
116 If your firmware supplies the PCDP table, and you want to
120 If your firmware supplies the HCDP table, and you want to
152 under /sys/firmware/dmi when this option is enabled and
[all …]

12345678910>>...152