File Index
Files and directories
Sign in
FILE

iqs62x.yaml

File preview with syntax highlighting.

linux-6.19.14/Documentation/devicetree/bindings/mfd/iqs62x.yaml YAML
  1# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
  2%YAML 1.2
  3---
  4$id: http://devicetree.org/schemas/mfd/iqs62x.yaml#
  5$schema: http://devicetree.org/meta-schemas/core.yaml#
  6
  7title: Azoteq IQS620A/621/622/624/625 Multi-Function Sensors
  8
  9maintainers:
 10  - Jeff LaBundy <jeff@labundy.com>
 11
 12description: |
 13  The Azoteq IQS620A, IQS621, IQS622, IQS624 and IQS625 multi-function sensors
 14  integrate multiple sensing technologies in a single package.
 15
 16  Link to datasheets: https://www.azoteq.com/
 17
 18properties:
 19  compatible:
 20    enum:
 21      - azoteq,iqs620a
 22      - azoteq,iqs621
 23      - azoteq,iqs622
 24      - azoteq,iqs624
 25      - azoteq,iqs625
 26
 27  reg:
 28    maxItems: 1
 29
 30  interrupts:
 31    maxItems: 1
 32
 33  firmware-name:
 34    maxItems: 1
 35    description:
 36      Specifies the name of the calibration and configuration file selected by
 37      the driver. If this property is omitted, the name is chosen based on the
 38      device name with ".bin" as the extension (e.g. iqs620a.bin for IQS620A).
 39
 40  keys:
 41    $ref: /schemas/input/iqs62x-keys.yaml
 42
 43  pwm:
 44    $ref: /schemas/pwm/iqs620a-pwm.yaml
 45
 46required:
 47  - compatible
 48  - reg
 49  - interrupts
 50
 51additionalProperties: false
 52
 53examples:
 54  - |
 55    /*
 56     * Dual capacitive buttons with proximity-activated function, unipolar lid
 57     * switch and panel-mounted LED.
 58     */
 59    #include <dt-bindings/input/input.h>
 60    #include <dt-bindings/interrupt-controller/irq.h>
 61
 62    i2c {
 63        #address-cells = <1>;
 64        #size-cells = <0>;
 65
 66        iqs620a@44 {
 67            compatible = "azoteq,iqs620a";
 68            reg = <0x44>;
 69            interrupt-parent = <&gpio>;
 70            interrupts = <17 IRQ_TYPE_LEVEL_LOW>;
 71
 72            keys {
 73                compatible = "azoteq,iqs620a-keys";
 74
 75                linux,keycodes = <KEY_SELECT>,
 76                                 <KEY_MENU>,
 77                                 <KEY_OK>,
 78                                 <KEY_MENU>;
 79
 80                hall-switch-south {
 81                    linux,code = <SW_LID>;
 82                    azoteq,use-prox;
 83                };
 84            };
 85
 86            iqs620a_pwm: pwm {
 87                compatible = "azoteq,iqs620a-pwm";
 88                #pwm-cells = <2>;
 89            };
 90        };
 91    };
 92
 93  - |
 94    /* Single inductive button with bipolar dock/tablet-mode switch. */
 95    #include <dt-bindings/input/input.h>
 96    #include <dt-bindings/interrupt-controller/irq.h>
 97
 98    i2c {
 99        #address-cells = <1>;
100        #size-cells = <0>;
101
102        iqs620a@44 {
103            compatible = "azoteq,iqs620a";
104            reg = <0x44>;
105            interrupt-parent = <&gpio>;
106            interrupts = <17 IRQ_TYPE_LEVEL_LOW>;
107
108            firmware-name = "iqs620a_coil.bin";
109
110            keys {
111                compatible = "azoteq,iqs620a-keys";
112
113                linux,keycodes = <0>,
114                                 <0>,
115                                 <0>,
116                                 <0>,
117                                 <0>,
118                                 <0>,
119                                 <KEY_MUTE>;
120
121                hall-switch-north {
122                    linux,code = <SW_DOCK>;
123                };
124
125                hall-switch-south {
126                    linux,code = <SW_TABLET_MODE>;
127                };
128            };
129        };
130    };
131
132  - |
133    /* Dual capacitive buttons with volume knob. */
134    #include <dt-bindings/input/input.h>
135    #include <dt-bindings/interrupt-controller/irq.h>
136
137    i2c {
138        #address-cells = <1>;
139        #size-cells = <0>;
140
141        iqs624@44 {
142            compatible = "azoteq,iqs624";
143            reg = <0x44>;
144            interrupt-parent = <&gpio>;
145            interrupts = <17 IRQ_TYPE_LEVEL_LOW>;
146
147            keys {
148                compatible = "azoteq,iqs624-keys";
149
150                linux,keycodes = <BTN_0>,
151                                 <0>,
152                                 <BTN_1>,
153                                 <0>,
154                                 <0>,
155                                 <0>,
156                                 <0>,
157                                 <0>,
158                                 <0>,
159                                 <0>,
160                                 <0>,
161                                 <0>,
162                                 <0>,
163                                 <0>,
164                                 <KEY_VOLUMEUP>,
165                                 <KEY_VOLUMEDOWN>;
166            };
167        };
168    };
169
170...
~/ Read-only file preview.