xref: /freebsd-src/sys/contrib/device-tree/Bindings/input/hid-over-i2c.yaml (revision aa1a8ff2d6dbc51ef058f46f3db5a8bb77967145)
17ef62cebSEmmanuel Vadot# SPDX-License-Identifier: GPL-2.0-only
27ef62cebSEmmanuel Vadot%YAML 1.2
37ef62cebSEmmanuel Vadot---
47ef62cebSEmmanuel Vadot$id: http://devicetree.org/schemas/input/hid-over-i2c.yaml#
57ef62cebSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
67ef62cebSEmmanuel Vadot
77ef62cebSEmmanuel Vadottitle: HID over I2C Devices
87ef62cebSEmmanuel Vadot
97ef62cebSEmmanuel Vadotmaintainers:
107ef62cebSEmmanuel Vadot  - Benjamin Tissoires <benjamin.tissoires@redhat.com>
117ef62cebSEmmanuel Vadot  - Jiri Kosina <jkosina@suse.cz>
127ef62cebSEmmanuel Vadot
137ef62cebSEmmanuel Vadotdescription: |+
147ef62cebSEmmanuel Vadot  HID over I2C provides support for various Human Interface Devices over the
157ef62cebSEmmanuel Vadot  I2C bus. These devices can be for example touchpads, keyboards, touch screens
167ef62cebSEmmanuel Vadot  or sensors.
177ef62cebSEmmanuel Vadot
187ef62cebSEmmanuel Vadot  The specification has been written by Microsoft and is currently available here:
197ef62cebSEmmanuel Vadot  https://msdn.microsoft.com/en-us/library/windows/hardware/hh852380.aspx
207ef62cebSEmmanuel Vadot
217ef62cebSEmmanuel Vadot  If this binding is used, the kernel module i2c-hid will handle the communication
227ef62cebSEmmanuel Vadot  with the device and the generic hid core layer will handle the protocol.
237ef62cebSEmmanuel Vadot
247ef62cebSEmmanuel VadotallOf:
257ef62cebSEmmanuel Vadot  - $ref: /schemas/input/touchscreen/touchscreen.yaml#
267ef62cebSEmmanuel Vadot
277ef62cebSEmmanuel Vadotproperties:
287ef62cebSEmmanuel Vadot  compatible:
297ef62cebSEmmanuel Vadot    oneOf:
307ef62cebSEmmanuel Vadot      - items:
317ef62cebSEmmanuel Vadot          - enum:
327ef62cebSEmmanuel Vadot              - wacom,w9013
337ef62cebSEmmanuel Vadot          - const: hid-over-i2c
347ef62cebSEmmanuel Vadot      - description: Just "hid-over-i2c" alone is allowed, but not recommended.
357ef62cebSEmmanuel Vadot        const: hid-over-i2c
367ef62cebSEmmanuel Vadot
377ef62cebSEmmanuel Vadot  reg:
387ef62cebSEmmanuel Vadot    maxItems: 1
397ef62cebSEmmanuel Vadot
407ef62cebSEmmanuel Vadot  interrupts:
417ef62cebSEmmanuel Vadot    maxItems: 1
427ef62cebSEmmanuel Vadot
437ef62cebSEmmanuel Vadot  hid-descr-addr:
447ef62cebSEmmanuel Vadot    description: HID descriptor address
457ef62cebSEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/uint32
467ef62cebSEmmanuel Vadot
47*aa1a8ff2SEmmanuel Vadot  panel: true
48*aa1a8ff2SEmmanuel Vadot
497ef62cebSEmmanuel Vadot  post-power-on-delay-ms:
507ef62cebSEmmanuel Vadot    description: Time required by the device after enabling its regulators
517ef62cebSEmmanuel Vadot      or powering it on, before it is ready for communication.
527ef62cebSEmmanuel Vadot
537ef62cebSEmmanuel Vadot  touchscreen-inverted-x: true
547ef62cebSEmmanuel Vadot
557ef62cebSEmmanuel Vadot  touchscreen-inverted-y: true
567ef62cebSEmmanuel Vadot
577ef62cebSEmmanuel Vadot  vdd-supply:
587ef62cebSEmmanuel Vadot    description: 3.3V supply
597ef62cebSEmmanuel Vadot
607ef62cebSEmmanuel Vadot  vddl-supply:
617ef62cebSEmmanuel Vadot    description: 1.8V supply
627ef62cebSEmmanuel Vadot
637ef62cebSEmmanuel Vadot  wakeup-source: true
647ef62cebSEmmanuel Vadot
657ef62cebSEmmanuel Vadotrequired:
667ef62cebSEmmanuel Vadot  - compatible
677ef62cebSEmmanuel Vadot  - reg
687ef62cebSEmmanuel Vadot  - interrupts
697ef62cebSEmmanuel Vadot
707ef62cebSEmmanuel VadotadditionalProperties: false
717ef62cebSEmmanuel Vadot
727ef62cebSEmmanuel Vadotexamples:
737ef62cebSEmmanuel Vadot  - |
747ef62cebSEmmanuel Vadot    i2c {
757ef62cebSEmmanuel Vadot        #address-cells = <1>;
767ef62cebSEmmanuel Vadot        #size-cells = <0>;
777ef62cebSEmmanuel Vadot
787ef62cebSEmmanuel Vadot        hid@2c {
797ef62cebSEmmanuel Vadot            compatible = "hid-over-i2c";
807ef62cebSEmmanuel Vadot            reg = <0x2c>;
817ef62cebSEmmanuel Vadot            hid-descr-addr = <0x0020>;
827ef62cebSEmmanuel Vadot            interrupts = <3 2>;
837ef62cebSEmmanuel Vadot        };
847ef62cebSEmmanuel Vadot    };
857ef62cebSEmmanuel Vadot...
86