Merge branch 'for-4.19/elan' into for-linus
[sfrench/cifs-2.6.git] / Documentation / devicetree / bindings / input / hid-over-i2c.txt
1 * HID over I2C Device-Tree bindings
2
3 HID over I2C provides support for various Human Interface Devices over the
4 I2C bus. These devices can be for example touchpads, keyboards, touch screens
5 or sensors.
6
7 The specification has been written by Microsoft and is currently available here:
8 http://msdn.microsoft.com/en-us/library/windows/hardware/hh852380.aspx
9
10 If this binding is used, the kernel module i2c-hid will handle the communication
11 with the device and the generic hid core layer will handle the protocol.
12
13 Required properties:
14 - compatible: must be "hid-over-i2c"
15 - reg: i2c slave address
16 - hid-descr-addr: HID descriptor address
17 - interrupt-parent: the phandle for the interrupt controller
18 - interrupts: interrupt line
19
20 Additional optional properties:
21
22 Some devices may support additional optional properties to help with, e.g.,
23 power sequencing. The following properties can be supported by one or more
24 device-specific compatible properties, which should be used in addition to the
25 "hid-over-i2c" string.
26
27 - compatible:
28   * "wacom,w9013" (Wacom W9013 digitizer). Supports:
29     - vdd-supply
30     - post-power-on-delay-ms
31
32 - vdd-supply: phandle of the regulator that provides the supply voltage.
33 - post-power-on-delay-ms: time required by the device after enabling its regulators
34   or powering it on, before it is ready for communication.
35
36 Example:
37
38         i2c-hid-dev@2c {
39                 compatible = "hid-over-i2c";
40                 reg = <0x2c>;
41                 hid-descr-addr = <0x0020>;
42                 interrupt-parent = <&gpx3>;
43                 interrupts = <3 2>;
44         };