xref: /freebsd/sys/contrib/device-tree/Bindings/input/hid-over-i2c.txt (revision 8a271827e7b5d5310e06df1f9f49ba0ef9efd263)
1* HID over I2C Device-Tree bindings
2
3HID over I2C provides support for various Human Interface Devices over the
4I2C bus. These devices can be for example touchpads, keyboards, touch screens
5or sensors.
6
7The specification has been written by Microsoft and is currently available here:
8http://msdn.microsoft.com/en-us/library/windows/hardware/hh852380.aspx
9
10If this binding is used, the kernel module i2c-hid will handle the communication
11with the device and the generic hid core layer will handle the protocol.
12
13Required properties:
14- compatible: must be "hid-over-i2c"
15- reg: i2c slave address
16- hid-descr-addr: HID descriptor address
17- interrupts: interrupt line
18
19Additional optional properties:
20
21Some devices may support additional optional properties to help with, e.g.,
22power sequencing. The following properties can be supported by one or more
23device-specific compatible properties, which should be used in addition to the
24"hid-over-i2c" string.
25
26- compatible:
27  * "wacom,w9013" (Wacom W9013 digitizer). Supports:
28    - vdd-supply (3.3V)
29    - vddl-supply (1.8V)
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- touchscreen-inverted-x: See touchscreen.txt
36- touchscreen-inverted-y: See touchscreen.txt
37
38Example:
39
40	i2c-hid-dev@2c {
41		compatible = "hid-over-i2c";
42		reg = <0x2c>;
43		hid-descr-addr = <0x0020>;
44		interrupt-parent = <&gpx3>;
45		interrupts = <3 2>;
46	};
47