HID: intel-ish-hid: ISH firmware loader client driver

This driver adds support for loading Intel Integrated Sensor Hub (ISH) firmware
from host file system to ISH SRAM and start execution.

At power-on, the ISH subsystem shall boot to an interim Shim loader-firmware,
which shall expose an ISHTP loader device.

The driver implements an ISHTP client that communicates with the Shim ISHTP
loader device over the intel-ish-hid stack, to download the main ISH firmware.

Signed-off-by: Rushikesh S Kadam <rushikesh.s.kadam@intel.com>
Acked-by: Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com>
Acked-by: Nick Crews <ncrews@chromium.org>
Tested-by: Jett Rink <jettrink@chromium.org>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
This commit is contained in:
Rushikesh S Kadam 2019-04-02 11:17:41 +05:30 committed by Jiri Kosina
parent 0e568a16af
commit 91b228107d
4 changed files with 1104 additions and 0 deletions

View File

@ -134,3 +134,4 @@ obj-$(CONFIG_USB_KBD) += usbhid/
obj-$(CONFIG_I2C_HID) += i2c-hid/
obj-$(CONFIG_INTEL_ISH_HID) += intel-ish-hid/
obj-$(INTEL_ISH_FIRMWARE_DOWNLOADER) += intel-ish-hid/

View File

@ -14,4 +14,19 @@ config INTEL_ISH_HID
Broxton and Kaby Lake.
Say Y here if you want to support Intel ISH. If unsure, say N.
config INTEL_ISH_FIRMWARE_DOWNLOADER
tristate "Host Firmware Load feature for Intel ISH"
depends on INTEL_ISH_HID
depends on X86
help
The Integrated Sensor Hub (ISH) enables the kernel to offload
sensor polling and algorithm processing to a dedicated low power
processor in the chipset.
The Host Firmware Load feature adds support to load the ISH
firmware from host file system at boot.
Say M here if you want to support Host Firmware Loading feature
for Intel ISH. If unsure, say N.
endmenu

View File

@ -20,4 +20,7 @@ obj-$(CONFIG_INTEL_ISH_HID) += intel-ishtp-hid.o
intel-ishtp-hid-objs := ishtp-hid.o
intel-ishtp-hid-objs += ishtp-hid-client.o
obj-$(CONFIG_INTEL_ISH_FIRMWARE_DOWNLOADER) += intel-ishtp-loader.o
intel-ishtp-loader-objs += ishtp-fw-loader.o
ccflags-y += -Idrivers/hid/intel-ish-hid/ishtp

File diff suppressed because it is too large Load Diff