Matt Ranostay | c77fd0a | 2014-10-31 20:00:13 -0700 | [diff] [blame] | 1 | Device tree bindings for Microchip CAP11xx based capacitive touch sensors |
Daniel Mack | 128bb95 | 2014-07-15 09:47:52 -0700 | [diff] [blame] | 2 | |
Matt Ranostay | c77fd0a | 2014-10-31 20:00:13 -0700 | [diff] [blame] | 3 | The node for this device must be a child of a I2C controller node, as the |
Daniel Mack | 128bb95 | 2014-07-15 09:47:52 -0700 | [diff] [blame] | 4 | device communication via I2C only. |
| 5 | |
| 6 | Required properties: |
| 7 | |
Matt Ranostay | c77fd0a | 2014-10-31 20:00:13 -0700 | [diff] [blame] | 8 | compatible: Must contain one of: |
| 9 | "microchip,cap1106" |
Matt Ranostay | 7609a5e | 2014-10-31 20:01:37 -0700 | [diff] [blame] | 10 | "microchip,cap1126" |
| 11 | "microchip,cap1188" |
Daniel Mack | 128bb95 | 2014-07-15 09:47:52 -0700 | [diff] [blame] | 12 | |
| 13 | reg: The I2C slave address of the device. |
Daniel Mack | 128bb95 | 2014-07-15 09:47:52 -0700 | [diff] [blame] | 14 | |
| 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 | |
| 19 | Optional 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 Ranostay | 6bdd2fd | 2014-10-31 20:02:08 -0700 | [diff] [blame] | 31 | 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 Mack | 128bb95 | 2014-07-15 09:47:52 -0700 | [diff] [blame] | 35 | 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 | |
| 41 | Example: |
| 42 | |
| 43 | i2c_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 Ranostay | c77fd0a | 2014-10-31 20:00:13 -0700 | [diff] [blame] | 52 | 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 Ranostay | efe3b61 | 2015-08-16 23:04:53 -0700 | [diff] [blame] | 58 | |
| 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 Mack | 128bb95 | 2014-07-15 09:47:52 -0700 | [diff] [blame] | 77 | }; |
| 78 | } |