xref: /linux/Documentation/devicetree/bindings/input/allwinner,sun4i-a10-lradc-keys.yaml (revision 8e1bb4a41aa78d6105e59186af3dcd545fc66e70)
1# SPDX-License-Identifier: GPL-2.0
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/input/allwinner,sun4i-a10-lradc-keys.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: Allwinner A10 LRADC
8
9maintainers:
10  - Chen-Yu Tsai <wens@csie.org>
11  - Maxime Ripard <mripard@kernel.org>
12
13properties:
14  compatible:
15    oneOf:
16      - const: allwinner,sun4i-a10-lradc-keys
17      - const: allwinner,sun8i-a83t-r-lradc
18      - items:
19          - enum:
20              - allwinner,suniv-f1c100s-lradc
21              - allwinner,sun50i-a64-lradc
22          - const: allwinner,sun8i-a83t-r-lradc
23      - const: allwinner,sun50i-r329-lradc
24      - items:
25          - enum:
26              - allwinner,sun50i-h616-lradc
27              - allwinner,sun20i-d1-lradc
28          - const: allwinner,sun50i-r329-lradc
29
30  reg:
31    maxItems: 1
32
33  clocks:
34    maxItems: 1
35
36  resets:
37    maxItems: 1
38
39  interrupts:
40    maxItems: 1
41
42  vref-supply:
43    description:
44      Regulator for the LRADC reference voltage
45
46  wakeup-source: true
47
48patternProperties:
49  "^button-[0-9]+$":
50    type: object
51    $ref: input.yaml#
52    properties:
53      label:
54        description: Descriptive name of the key
55
56      linux,code: true
57
58      channel:
59        $ref: /schemas/types.yaml#/definitions/uint32
60        enum: [0, 1]
61        description: ADC Channel this key is attached to
62
63      voltage:
64        $ref: /schemas/types.yaml#/definitions/uint32
65        description:
66          Voltage in microvolts at LRADC input when this key is
67          pressed
68
69    required:
70      - label
71      - linux,code
72      - channel
73      - voltage
74
75    additionalProperties: false
76
77required:
78  - compatible
79  - reg
80  - interrupts
81  - vref-supply
82
83if:
84  properties:
85    compatible:
86      contains:
87        enum:
88          - allwinner,sun50i-r329-lradc
89
90then:
91  required:
92    - clocks
93    - resets
94
95additionalProperties: false
96
97examples:
98  - |
99    lradc: lradc@1c22800 {
100        compatible = "allwinner,sun4i-a10-lradc-keys";
101        reg = <0x01c22800 0x100>;
102        interrupts = <31>;
103        vref-supply = <&reg_vcc3v0>;
104
105        button-191 {
106            label = "Volume Up";
107            linux,code = <115>;
108            channel = <0>;
109            voltage = <191274>;
110        };
111
112        button-392 {
113            label = "Volume Down";
114            linux,code = <114>;
115            channel = <0>;
116            voltage = <392644>;
117        };
118    };
119
120...
121