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