cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

iqs62x.yaml (5364B)


      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    $ref: /schemas/types.yaml#/definitions/string
     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: ../input/iqs62x-keys.yaml
     42
     43  pwm:
     44    $ref: ../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    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...