brintos

brintos / linux-shallow public Read only

0
0
Text · 5.2 KiB · e79ce44 Raw
180 lines · yaml
1# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)2%YAML 1.23---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 Sensors8 9maintainers:10  - Jeff LaBundy <jeff@labundy.com>11 12description: |13  The Azoteq IQS620A, IQS621, IQS622, IQS624 and IQS625 multi-function sensors14  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,iqs620a22      - azoteq,iqs62123      - azoteq,iqs62224      - azoteq,iqs62425      - azoteq,iqs62526 27  reg:28    maxItems: 129 30  interrupts:31    maxItems: 132 33  firmware-name:34    maxItems: 135    description:36      Specifies the name of the calibration and configuration file selected by37      the driver. If this property is omitted, the name is chosen based on the38      device name with ".bin" as the extension (e.g. iqs620a.bin for IQS620A).39 40  keys:41    $ref: /schemas/input/iqs62x-keys.yaml42 43  pwm:44    $ref: /schemas/pwm/iqs620a-pwm.yaml45 46required:47  - compatible48  - reg49  - interrupts50 51additionalProperties: false52 53examples:54  - |55    /*56     * Dual capacitive buttons with proximity-activated function, unipolar lid57     * 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    pwmleds {94            compatible = "pwm-leds";95 96            led-1 {97                    pwms = <&iqs620a_pwm 0 1000000>;98                    max-brightness = <255>;99            };100    };101 102  - |103    /* Single inductive button with bipolar dock/tablet-mode switch. */104    #include <dt-bindings/input/input.h>105    #include <dt-bindings/interrupt-controller/irq.h>106 107    i2c {108            #address-cells = <1>;109            #size-cells = <0>;110 111            iqs620a@44 {112                    compatible = "azoteq,iqs620a";113                    reg = <0x44>;114                    interrupt-parent = <&gpio>;115                    interrupts = <17 IRQ_TYPE_LEVEL_LOW>;116 117                    firmware-name = "iqs620a_coil.bin";118 119                    keys {120                            compatible = "azoteq,iqs620a-keys";121 122                            linux,keycodes = <0>,123                                             <0>,124                                             <0>,125                                             <0>,126                                             <0>,127                                             <0>,128                                             <KEY_MUTE>;129 130                            hall-switch-north {131                                    linux,code = <SW_DOCK>;132                            };133 134                            hall-switch-south {135                                    linux,code = <SW_TABLET_MODE>;136                            };137                    };138            };139    };140 141  - |142    /* Dual capacitive buttons with volume knob. */143    #include <dt-bindings/input/input.h>144    #include <dt-bindings/interrupt-controller/irq.h>145 146    i2c {147            #address-cells = <1>;148            #size-cells = <0>;149 150            iqs624@44 {151                    compatible = "azoteq,iqs624";152                    reg = <0x44>;153                    interrupt-parent = <&gpio>;154                    interrupts = <17 IRQ_TYPE_LEVEL_LOW>;155 156                    keys {157                            compatible = "azoteq,iqs624-keys";158 159                            linux,keycodes = <BTN_0>,160                                             <0>,161                                             <BTN_1>,162                                             <0>,163                                             <0>,164                                             <0>,165                                             <0>,166                                             <0>,167                                             <0>,168                                             <0>,169                                             <0>,170                                             <0>,171                                             <0>,172                                             <0>,173                                             <KEY_VOLUMEUP>,174                                             <KEY_VOLUMEDOWN>;175                    };176            };177    };178 179...180