Merge branch 'for-4.19/i2c-hid' 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 (3.3V)
30     - vddl-supply (1.8V)
31     - post-power-on-delay-ms
32
33 - vdd-supply: phandle of the regulator that provides the supply voltage.
34 - post-power-on-delay-ms: time required by the device after enabling its regulators
35   or powering it on, before it is ready for communication.
36
37 Example:
38
39         i2c-hid-dev@2c {
40                 compatible = "hid-over-i2c";
41                 reg = <0x2c>;
42                 hid-descr-addr = <0x0020>;
43                 interrupt-parent = <&gpx3>;
44                 interrupts = <3 2>;
45         };