File Index
Files and directories
Sign in
FILE

adc-keys.yaml

File preview with syntax highlighting.

linux-6.19.14/Documentation/devicetree/bindings/input/adc-keys.yaml YAML
  1# SPDX-License-Identifier: GPL-2.0
  2%YAML 1.2
  3---
  4$id: http://devicetree.org/schemas/input/adc-keys.yaml#
  5$schema: http://devicetree.org/meta-schemas/core.yaml#
  6
  7title: ADC attached resistor ladder buttons
  8
  9maintainers:
 10  - Alexandre Belloni <alexandre.belloni@bootlin.com>
 11
 12allOf:
 13  - $ref: input.yaml#
 14
 15properties:
 16  compatible:
 17    const: adc-keys
 18
 19  io-channels:
 20    maxItems: 1
 21
 22  io-channel-names:
 23    const: buttons
 24
 25  keyup-threshold-microvolt:
 26    description:
 27      Voltage above or equal to which all the keys are considered up.
 28
 29  poll-interval: true
 30  autorepeat: true
 31
 32patternProperties:
 33  '^button-':
 34    type: object
 35    $ref: input.yaml#
 36    additionalProperties: false
 37    description:
 38      Each button (key) is represented as a sub-node.
 39
 40    properties:
 41      label: true
 42
 43      linux,code: true
 44
 45      press-threshold-microvolt:
 46        description:
 47          Voltage above or equal to which this key is considered pressed. No
 48          two values of press-threshold-microvolt may be the same. All values
 49          of press-threshold-microvolt must be less than
 50          keyup-threshold-microvolt.
 51
 52    required:
 53      - linux,code
 54      - press-threshold-microvolt
 55
 56required:
 57  - compatible
 58  - io-channels
 59  - io-channel-names
 60  - keyup-threshold-microvolt
 61
 62additionalProperties: false
 63
 64examples:
 65  - |
 66    #include <dt-bindings/input/input.h>
 67    // +--------------------------------+------------------------+
 68    // | 2.000.000 <= value             | no key pressed         |
 69    // +--------------------------------+------------------------+
 70    // | 1.500.000 <= value < 2.000.000 | KEY_VOLUMEUP pressed   |
 71    // +--------------------------------+------------------------+
 72    // | 1.000.000 <= value < 1.500.000 | KEY_VOLUMEDOWN pressed |
 73    // +--------------------------------+------------------------+
 74    // |   500.000 <= value < 1.000.000 | KEY_ENTER pressed      |
 75    // +--------------------------------+------------------------+
 76    // |              value <   500.000 | no key pressed         |
 77    // +--------------------------------+------------------------+
 78
 79    adc-keys {
 80        compatible = "adc-keys";
 81        io-channels = <&lradc 0>;
 82        io-channel-names = "buttons";
 83        keyup-threshold-microvolt = <2000000>;
 84
 85        button-up {
 86            label = "Volume Up";
 87            linux,code = <KEY_VOLUMEUP>;
 88            press-threshold-microvolt = <1500000>;
 89        };
 90
 91        button-down {
 92            label = "Volume Down";
 93            linux,code = <KEY_VOLUMEDOWN>;
 94            press-threshold-microvolt = <1000000>;
 95        };
 96
 97        button-enter {
 98            label = "Enter";
 99            linux,code = <KEY_ENTER>;
100            press-threshold-microvolt = <500000>;
101        };
102    };
103...
~/ Read-only file preview.