You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
@@ -265,16 +265,16 @@ The ISHTP client driver is responsible for:
265
265
- Process Get/Set feature request
266
266
- Get input reports
267
267
268
-
3.5 HID Sensor Hub MFD and IIO sensor drivers
269
-
---------------------------------------------
268
+
HID Sensor Hub MFD and IIO sensor drivers
269
+
-----------------------------------------
270
270
271
271
The functionality in these drivers is the same as an external sensor hub.
272
272
Refer to
273
273
Documentation/hid/hid-sensor.rst for HID sensor
274
274
Documentation/ABI/testing/sysfs-bus-iio for IIO ABIs to user space.
275
275
276
-
3.6 End to End HID transport Sequence Diagram
277
-
---------------------------------------------
276
+
End to End HID transport Sequence Diagram
277
+
-----------------------------------------
278
278
279
279
::
280
280
@@ -339,16 +339,81 @@ Documentation/ABI/testing/sysfs-bus-iio for IIO ABIs to user space.
339
339
| | | |
340
340
341
341
342
-
3.7 ISH Debugging
343
-
-----------------
342
+
ISH Firmware Loading from Host Flow
343
+
-----------------------------------
344
+
345
+
Starting from the Lunar Lake generation, the ISH firmware has been divided into two components for better space optimization and increased flexibility. These components include a bootloader that is integrated into the BIOS, and a main firmware that is stored within the operating system's file system.
346
+
347
+
The process works as follows:
348
+
349
+
- Initially, the ISHTP driver sends a command, HOST_START_REQ_CMD, to the ISH bootloader. In response, the bootloader sends back a HOST_START_RES_CMD. This response includes the ISHTP_SUPPORT_CAP_LOADER bit. Subsequently, the ISHTP driver checks if this bit is set. If it is, the firmware loading process from the host begins.
350
+
351
+
- During this process, the ISHTP driver first invokes the request_firmware() function, followed by sending a LOADER_CMD_XFER_QUERY command. Upon receiving a response from the bootloader, the ISHTP driver sends a LOADER_CMD_XFER_FRAGMENT command. After receiving another response, the ISHTP driver sends a LOADER_CMD_START command. The bootloader responds and then proceeds to the Main Firmware.
352
+
353
+
- After the process concludes, the ISHTP driver calls the release_firmware() function.
354
+
355
+
For more detailed information, please refer to the flow descriptions provided below:
0 commit comments