blob: 5efceb313879172c390f6e656efc1929c4c2c82e [file] [log] [blame]
Tom Rini53633a82024-02-29 12:33:36 -05001# 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 - const: allwinner,sun20i-d1-lradc
26 - const: allwinner,sun50i-r329-lradc
27
28 reg:
29 maxItems: 1
30
31 clocks:
32 maxItems: 1
33
34 resets:
35 maxItems: 1
36
37 interrupts:
38 maxItems: 1
39
40 vref-supply:
41 description:
42 Regulator for the LRADC reference voltage
43
44 wakeup-source: true
45
46patternProperties:
47 "^button-[0-9]+$":
48 type: object
49 $ref: input.yaml#
50 properties:
51 label:
52 $ref: /schemas/types.yaml#/definitions/string
53 description: Descriptive name of the key
54
55 linux,code: true
56
57 channel:
58 $ref: /schemas/types.yaml#/definitions/uint32
59 enum: [0, 1]
60 description: ADC Channel this key is attached to
61
62 voltage:
63 $ref: /schemas/types.yaml#/definitions/uint32
64 description:
65 Voltage in microvolts at LRADC input when this key is
66 pressed
67
68 required:
69 - label
70 - linux,code
71 - channel
72 - voltage
73
74 additionalProperties: false
75
76required:
77 - compatible
78 - reg
79 - interrupts
80 - vref-supply
81
82if:
83 properties:
84 compatible:
85 contains:
86 enum:
87 - allwinner,sun50i-r329-lradc
88
89then:
90 required:
91 - clocks
92 - resets
93
94additionalProperties: false
95
96examples:
97 - |
98 lradc: lradc@1c22800 {
99 compatible = "allwinner,sun4i-a10-lradc-keys";
100 reg = <0x01c22800 0x100>;
101 interrupts = <31>;
102 vref-supply = <&reg_vcc3v0>;
103
104 button-191 {
105 label = "Volume Up";
106 linux,code = <115>;
107 channel = <0>;
108 voltage = <191274>;
109 };
110
111 button-392 {
112 label = "Volume Down";
113 linux,code = <114>;
114 channel = <0>;
115 voltage = <392644>;
116 };
117 };
118
119...