blob: 8c67a0b5058d82ab875b817eda7d5859fce88c9f [file] [log] [blame]
Matt Ranostayc77fd0a2014-10-31 20:00:13 -07001Device tree bindings for Microchip CAP11xx based capacitive touch sensors
Daniel Mack128bb952014-07-15 09:47:52 -07002
Matt Ranostayc77fd0a2014-10-31 20:00:13 -07003The node for this device must be a child of a I2C controller node, as the
Daniel Mack128bb952014-07-15 09:47:52 -07004device communication via I2C only.
5
6Required properties:
7
Matt Ranostayc77fd0a2014-10-31 20:00:13 -07008 compatible: Must contain one of:
9 "microchip,cap1106"
Matt Ranostay7609a5e2014-10-31 20:01:37 -070010 "microchip,cap1126"
11 "microchip,cap1188"
Daniel Mack128bb952014-07-15 09:47:52 -070012
13 reg: The I2C slave address of the device.
Daniel Mack128bb952014-07-15 09:47:52 -070014
15 interrupts: Property describing the interrupt line the
16 device's ALERT#/CM_IRQ# pin is connected to.
17 The device only has one interrupt source.
18
19Optional properties:
20
21 autorepeat: Enables the Linux input system's autorepeat
22 feature on the input device.
23
24 microchip,sensor-gain: Defines the gain of the sensor circuitry. This
25 effectively controls the sensitivity, as a
26 smaller delta capacitance is required to
27 generate the same delta count values.
28 Valid values are 1, 2, 4, and 8.
29 By default, a gain of 1 is set.
30
Matt Ranostay6bdd2fd2014-10-31 20:02:08 -070031 microchip,irq-active-high: By default the interrupt pin is active low
32 open drain. This property allows using the active
33 high push-pull output.
34
Daniel Mack128bb952014-07-15 09:47:52 -070035 linux,keycodes: Specifies an array of numeric keycode values to
36 be used for the channels. If this property is
37 omitted, KEY_A, KEY_B, etc are used as
38 defaults. The array must have exactly six
39 entries.
40
41Example:
42
43i2c_controller {
44 cap1106@28 {
45 compatible = "microchip,cap1106";
46 interrupt-parent = <&gpio1>;
47 interrupts = <0 0>;
48 reg = <0x28>;
49 autorepeat;
50 microchip,sensor-gain = <2>;
51
Matt Ranostayc77fd0a2014-10-31 20:00:13 -070052 linux,keycodes = <103>, /* KEY_UP */
53 <106>, /* KEY_RIGHT */
54 <108>, /* KEY_DOWN */
55 <105>, /* KEY_LEFT */
56 <109>, /* KEY_PAGEDOWN */
57 <104>; /* KEY_PAGEUP */
Matt Ranostayefe3b612015-08-16 23:04:53 -070058
59 #address-cells = <1>;
60 #size-cells = <0>;
61
62 usr@0 {
63 label = "cap11xx:green:usr0";
64 reg = <0>;
65 };
66
67 usr@1 {
68 label = "cap11xx:green:usr1";
69 reg = <1>;
70 };
71
72 alive@2 {
73 label = "cap11xx:green:alive";
74 reg = <2>;
75 linux,default_trigger = "heartbeat";
76 };
Daniel Mack128bb952014-07-15 09:47:52 -070077 };
78}