• Home
  • Raw
  • Download

Lines Matching +full:hid +full:- +full:over +full:- +full:i2c

6 processing to a dedicated low power co-processor. This allows the core
10 There are many vendors providing external sensor hubs confirming to HID
17 These ISH also comply to HID sensor specification, but the difference is the
19 mainly use HID over i2C or USB. But ISH doesn't use either i2c or USB.
27 ----------------- ----------------------
28 | USB HID | --> | ISH HID |
29 ----------------- ----------------------
30 ----------------- ----------------------
31 | USB protocol | --> | ISH Transport |
32 ----------------- ----------------------
33 ----------------- ----------------------
34 | EHCI/XHCI | --> | ISH IPC |
35 ----------------- ----------------------
37 ----------------- ----------------------
38 |Host controller| --> | ISH processor |
39 ----------------- ----------------------
41 ----------------- ----------------------
42 | USB End points| --> | ISH Clients |
43 ----------------- ----------------------
53 HID sensor applications, sensor calibration application or senor firmware
59 (ISH HID driver) identifies the device type and registers with the hid core.
66 ---------------------------
68 ---------------------------
70 ----------------IIO ABI----------------
71 --------------------------
73 --------------------------
74 --------------------------
76 --------------------------
77 --------------------------
78 | HID Sensor Hub MFD |
79 --------------------------
80 --------------------------
81 | HID Core |
82 --------------------------
83 --------------------------
84 | HID over ISH Client |
85 --------------------------
86 --------------------------
88 --------------------------
89 --------------------------
91 --------------------------
93 ---------------- PCI -----------------
95 ----------------------------
97 ----------------------------
103 ----------------------
105 The ISH is exposed as "Non-VGA unclassified PCI device" to the host. The PCI
111 ----------------------------------------------
113 Location: drivers/hid/intel-ish-hid/ipc
116 hw-ish-regs.h.
136 Each side has 32 32-bit message registers and a 32-bit doorbell. Doorbell
152 -----------------------
154 Location: drivers/hid/intel-ish-hid/ishtp/
159 The transport layer is a bi-directional protocol, which defines:
160 - Set of commands to start, stop, connect, disconnect and flow control
162 - A flow control mechanism to avoid buffer overflows
165 http://www.intel.com/content/dam/www/public/us/en/documents/technical-\
166 specifications/dcmi-hi-1-0-spec.pdf "Chapter 7: Bus Message Layer"
178 flow-control credit before. Once it sent a message, it may not send another one
192 whether to send over IPC or over DMA; for each transfer the decision is
205 it's request to do host->ISH DMA transfer; when FW sends DMA_XFER, it means
216 Currently, ISH FW decides to send over DMA if ISHTP message is more than 3 IPC
223 The size of ring can be specified by the client. HID client set 16 and 32 for
242 - Host sends HOST_START_REQ_CMD, indicating that host ISHTP layer is up.
243 - FW responds with HOST_START_RES_CMD
244 - Host sends HOST_ENUM_REQ_CMD (enumerate FW clients)
245 - FW responds with HOST_ENUM_RES_CMD that includes bitmap of available FW
247 - For each FW ID found in that bitmap host sends
249 - FW responds with HOST_CLIENT_PROPERTIES_RES_CMD. Properties include UUID,
251 - Once host received properties for that last discovered client, it considers
254 3.4 HID over ISH Client
255 -----------------------
257 Location: drivers/hid/intel-ish-hid
261 - enumerate HID devices under FW ISH client
262 - Get Report descriptor
263 - Register with HID core as a LL driver
264 - Process Get/Set feature request
265 - Get input reports
267 3.5 HID Sensor Hub MFD and IIO sensor drivers
268 ---------------------------------------------
272 Documentation/hid/hid-sensor.rst for HID sensor
273 Documentation/ABI/testing/sysfs-bus-iio for IIO ABIs to user space
275 3.6 End to End HID transport Sequence Diagram
276 ---------------------------------------------
280 HID-ISH-CLN ISHTP IPC HW
282 | | |-----WAKE UP------------------>|
284 | | |-----HOST READY--------------->|
286 | | |<----MNG_RESET_NOTIFY_ACK----- |
288 | |<----ISHTP_START------ | |
290 | |<-----------------HOST_START_RES_CMD-------------------|
292 | |------------------QUERY_SUBSCRIBER-------------------->|
294 | |------------------HOST_ENUM_REQ_CMD------------------->|
296 | |<-----------------HOST_ENUM_RES_CMD--------------------|
298 | |------------------HOST_CLIENT_PROPERTIES_REQ_CMD------>|
300 | |<-----------------HOST_CLIENT_PROPERTIES_RES_CMD-------|
303 | |------------------HOST_CLIENT_PROPERTIES_REQ_CMD------>|
305 | |<-----------------HOST_CLIENT_PROPERTIES_RES_CMD-------|
308 | |--Repeat HOST_CLIENT_PROPERTIES_REQ_CMD-till last one--|
311 |----ishtp_cl_connect--->|----------------- CLIENT_CONNECT_REQ_CMD-------------->|
313 | |<----------------CLIENT_CONNECT_RES_CMD----------------|
318 HOSTIF_DM_ENUM_DEVICES) |----------fill ishtp_msg_hdr struct write to HW----- >|
320 | | |<-----IRQ(IPC_PROTOCOL_ISHTP---|
322 |<--ENUM_DEVICE RSP------| | |
326 HOSTIF_GET_HID_DESCRIPTOR|----------fill ishtp_msg_hdr struct write to HW----- >|
332 HOSTIF_GET_REPORT_DESCRIPTOR|--------------fill ishtp_msg_hdr struct write to HW-- >|
342 -----------------
349 -----------------------------------------------------
353 root@otcpl-ThinkPad-Yoga-260:~# tree -l /sys/bus/iio/devices/
355 ├── iio:device0 -> ../../../devices/0044:8086:22D8.0001/HID-SENSOR-200073.9.auto/iio:device0