mirror of
https://github.com/torvalds/linux.git
synced 2026-05-04 22:43:04 -04:00
Introduce a new MEI client driver to support Late Binding firmware upload/update for Intel discrete graphics platforms. Late Binding is a runtime firmware upload/update mechanism that allows payloads, such as fan control and voltage regulator, to be securely delivered and applied without requiring SPI flash updates or system reboots. This driver enables the Xe graphics driver and other user-space tools to push such firmware blobs to the authentication firmware via the MEI interface. The driver handles authentication, versioning, and communication with the authentication firmware, which in turn coordinates with the PUnit/PCODE to apply the payload. This is a foundational component for enabling dynamic, secure, and re-entrant configuration updates on platforms like Battlemage. Cc: Badal Nilawar <badal.nilawar@intel.com> Reviewed-by: Mika Westerberg <mika.westerberg@linux.intel.com> Signed-off-by: Badal Nilawar <badal.nilawar@intel.com> Reviewed-by: Anshuman Gupta <anshuman.gupta@intel.com> Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com> Signed-off-by: Alexander Usyskin <alexander.usyskin@intel.com> Reviewed-by: Lucas De Marchi <lucas.demarchi@intel.com> Acked-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> Link: https://lore.kernel.org/r/20250905154953.3974335-3-badal.nilawar@intel.com Signed-off-by: Lucas De Marchi <lucas.demarchi@intel.com>
102 lines
3.0 KiB
Plaintext
102 lines
3.0 KiB
Plaintext
# SPDX-License-Identifier: GPL-2.0
|
|
# Copyright (c) 2003-2019, Intel Corporation. All rights reserved.
|
|
config INTEL_MEI
|
|
tristate "Intel Management Engine Interface"
|
|
depends on X86 && PCI
|
|
default X86_64 || MATOM
|
|
help
|
|
The Intel Management Engine (Intel ME) provides Manageability,
|
|
Security and Media services for system containing Intel chipsets.
|
|
if selected /dev/mei misc device will be created.
|
|
|
|
For more information see
|
|
<https://software.intel.com/en-us/manageability/>
|
|
|
|
if INTEL_MEI
|
|
|
|
config INTEL_MEI_ME
|
|
tristate "ME Enabled Intel Chipsets"
|
|
default y
|
|
help
|
|
MEI support for ME Enabled Intel chipsets.
|
|
|
|
Supported Chipsets are:
|
|
7 Series Chipset Family
|
|
6 Series Chipset Family
|
|
5 Series Chipset Family
|
|
4 Series Chipset Family
|
|
Mobile 4 Series Chipset Family
|
|
ICH9
|
|
82946GZ/GL
|
|
82G35 Express
|
|
82Q963/Q965
|
|
82P965/G965
|
|
Mobile PM965/GM965
|
|
Mobile GME965/GLE960
|
|
82Q35 Express
|
|
82G33/G31/P35/P31 Express
|
|
82Q33 Express
|
|
82X38/X48 Express
|
|
|
|
config INTEL_MEI_TXE
|
|
tristate "Intel Trusted Execution Environment with ME Interface"
|
|
help
|
|
MEI Support for Trusted Execution Environment device on Intel SoCs
|
|
|
|
Supported SoCs:
|
|
Intel Bay Trail
|
|
|
|
config INTEL_MEI_GSC
|
|
tristate "Intel MEI GSC embedded device"
|
|
depends on INTEL_MEI_ME
|
|
depends on DRM_I915
|
|
help
|
|
Intel auxiliary driver for GSC devices embedded in Intel graphics devices.
|
|
|
|
An MEI device here called GSC can be embedded in an
|
|
Intel graphics devices, to support a range of chassis
|
|
tasks such as graphics card firmware update and security
|
|
tasks.
|
|
|
|
config INTEL_MEI_VSC_HW
|
|
tristate "Intel visual sensing controller device transport driver"
|
|
depends on ACPI && SPI
|
|
depends on GPIOLIB || COMPILE_TEST
|
|
help
|
|
Intel SPI transport driver between host and Intel visual sensing
|
|
controller (IVSC) device.
|
|
|
|
This driver can also be built as a module. If so, the module
|
|
will be called mei-vsc-hw.
|
|
|
|
config INTEL_MEI_VSC
|
|
tristate "Intel visual sensing controller device with ME interface"
|
|
depends on INTEL_MEI_VSC_HW
|
|
help
|
|
Intel MEI over SPI driver for Intel visual sensing controller
|
|
(IVSC) device embedded in IA platform. It supports camera sharing
|
|
between IVSC for context sensing and IPU for typical media usage.
|
|
Select this config should enable transport layer for IVSC device.
|
|
|
|
This driver can also be built as a module. If so, the module
|
|
will be called mei-vsc.
|
|
|
|
config INTEL_MEI_LB
|
|
tristate "Intel Late Binding (LB) support on ME Interface"
|
|
depends on INTEL_MEI_ME
|
|
depends on DRM_XE
|
|
help
|
|
Enable support for Intel Late Binding (LB) via the MEI interface.
|
|
|
|
Late Binding is a method for applying firmware updates at runtime,
|
|
allowing the Intel Xe driver to load firmware payloads such as
|
|
fan controller or voltage regulator. These firmware updates are
|
|
authenticated and versioned, and do not require firmware flashing
|
|
or system reboot.
|
|
|
|
source "drivers/misc/mei/hdcp/Kconfig"
|
|
source "drivers/misc/mei/pxp/Kconfig"
|
|
source "drivers/misc/mei/gsc_proxy/Kconfig"
|
|
|
|
endif
|