dt-bindings: input: Convert Allwinner LRADC to a schema
The Allwinner SoCs have an LRADC used to report keys and supported in Linux, with a matching Device Tree binding. Now that we have the DT validation in place, let's convert the device tree bindings for that controller over to a YAML schemas. Signed-off-by: Maxime Ripard <maxime.ripard@bootlin.com> Signed-off-by: Rob Herring <robh@kernel.org>
This commit is contained in:
parent
609488bc97
commit
5bf2845ece
@ -0,0 +1,95 @@
|
|||||||
|
# SPDX-License-Identifier: GPL-2.0
|
||||||
|
%YAML 1.2
|
||||||
|
---
|
||||||
|
$id: http://devicetree.org/schemas/input/allwinner,sun4i-a10-lradc-keys.yaml#
|
||||||
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||||
|
|
||||||
|
title: Allwinner A10 LRADC Device Tree Bindings
|
||||||
|
|
||||||
|
maintainers:
|
||||||
|
- Chen-Yu Tsai <wens@csie.org>
|
||||||
|
- Maxime Ripard <maxime.ripard@bootlin.com>
|
||||||
|
|
||||||
|
properties:
|
||||||
|
compatible:
|
||||||
|
oneOf:
|
||||||
|
- const: allwinner,sun4i-a10-lradc-keys
|
||||||
|
- const: allwinner,sun8i-a83t-r-lradc
|
||||||
|
- items:
|
||||||
|
- const: allwinner,sun50i-a64-lradc
|
||||||
|
- const: allwinner,sun8i-a83t-r-lradc
|
||||||
|
|
||||||
|
reg:
|
||||||
|
maxItems: 1
|
||||||
|
|
||||||
|
interrupts:
|
||||||
|
maxItems: 1
|
||||||
|
|
||||||
|
vref-supply:
|
||||||
|
description:
|
||||||
|
Regulator for the LRADC reference voltage
|
||||||
|
|
||||||
|
patternProperties:
|
||||||
|
"^button-[0-9]+$":
|
||||||
|
type: object
|
||||||
|
properties:
|
||||||
|
label:
|
||||||
|
$ref: /schemas/types.yaml#/definitions/string
|
||||||
|
description: Descriptive name of the key
|
||||||
|
|
||||||
|
linux,code:
|
||||||
|
$ref: /schemas/types.yaml#/definitions/uint32
|
||||||
|
description: Keycode to emit
|
||||||
|
|
||||||
|
channel:
|
||||||
|
allOf:
|
||||||
|
- $ref: /schemas/types.yaml#/definitions/uint32
|
||||||
|
- enum: [0, 1]
|
||||||
|
description: ADC Channel this key is attached to
|
||||||
|
|
||||||
|
voltage:
|
||||||
|
$ref: /schemas/types.yaml#/definitions/uint32
|
||||||
|
description:
|
||||||
|
Voltage in microvolts at LRADC input when this key is
|
||||||
|
pressed
|
||||||
|
|
||||||
|
required:
|
||||||
|
- label
|
||||||
|
- linux,code
|
||||||
|
- channel
|
||||||
|
- voltage
|
||||||
|
|
||||||
|
additionalProperties: false
|
||||||
|
|
||||||
|
required:
|
||||||
|
- compatible
|
||||||
|
- reg
|
||||||
|
- interrupts
|
||||||
|
- vref-supply
|
||||||
|
|
||||||
|
additionalProperties: false
|
||||||
|
|
||||||
|
examples:
|
||||||
|
- |
|
||||||
|
lradc: lradc@1c22800 {
|
||||||
|
compatible = "allwinner,sun4i-a10-lradc-keys";
|
||||||
|
reg = <0x01c22800 0x100>;
|
||||||
|
interrupts = <31>;
|
||||||
|
vref-supply = <®_vcc3v0>;
|
||||||
|
|
||||||
|
button-191 {
|
||||||
|
label = "Volume Up";
|
||||||
|
linux,code = <115>;
|
||||||
|
channel = <0>;
|
||||||
|
voltage = <191274>;
|
||||||
|
};
|
||||||
|
|
||||||
|
button-392 {
|
||||||
|
label = "Volume Down";
|
||||||
|
linux,code = <114>;
|
||||||
|
channel = <0>;
|
||||||
|
voltage = <392644>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
...
|
@ -1,65 +0,0 @@
|
|||||||
Allwinner sun4i low res adc attached tablet keys
|
|
||||||
------------------------------------------------
|
|
||||||
|
|
||||||
Required properties:
|
|
||||||
- compatible: should be one of the following string:
|
|
||||||
"allwinner,sun4i-a10-lradc-keys"
|
|
||||||
"allwinner,sun8i-a83t-r-lradc"
|
|
||||||
"allwinner,sun50i-a64-lradc", "allwinner,sun8i-a83t-r-lradc"
|
|
||||||
- reg: mmio address range of the chip
|
|
||||||
- interrupts: interrupt to which the chip is connected
|
|
||||||
- vref-supply: powersupply for the lradc reference voltage
|
|
||||||
|
|
||||||
Each key is represented as a sub-node of the compatible mentioned above:
|
|
||||||
|
|
||||||
Required subnode-properties:
|
|
||||||
- label: Descriptive name of the key.
|
|
||||||
- linux,code: Keycode to emit.
|
|
||||||
- channel: Channel this key is attached to, must be 0 or 1.
|
|
||||||
- voltage: Voltage in µV at lradc input when this key is pressed.
|
|
||||||
|
|
||||||
Example:
|
|
||||||
|
|
||||||
#include <dt-bindings/input/input.h>
|
|
||||||
|
|
||||||
lradc: lradc@1c22800 {
|
|
||||||
compatible = "allwinner,sun4i-a10-lradc-keys";
|
|
||||||
reg = <0x01c22800 0x100>;
|
|
||||||
interrupts = <31>;
|
|
||||||
vref-supply = <®_vcc3v0>;
|
|
||||||
|
|
||||||
button@191 {
|
|
||||||
label = "Volume Up";
|
|
||||||
linux,code = <KEY_VOLUMEUP>;
|
|
||||||
channel = <0>;
|
|
||||||
voltage = <191274>;
|
|
||||||
};
|
|
||||||
|
|
||||||
button@392 {
|
|
||||||
label = "Volume Down";
|
|
||||||
linux,code = <KEY_VOLUMEDOWN>;
|
|
||||||
channel = <0>;
|
|
||||||
voltage = <392644>;
|
|
||||||
};
|
|
||||||
|
|
||||||
button@601 {
|
|
||||||
label = "Menu";
|
|
||||||
linux,code = <KEY_MENU>;
|
|
||||||
channel = <0>;
|
|
||||||
voltage = <601151>;
|
|
||||||
};
|
|
||||||
|
|
||||||
button@795 {
|
|
||||||
label = "Enter";
|
|
||||||
linux,code = <KEY_ENTER>;
|
|
||||||
channel = <0>;
|
|
||||||
voltage = <795090>;
|
|
||||||
};
|
|
||||||
|
|
||||||
button@987 {
|
|
||||||
label = "Home";
|
|
||||||
linux,code = <KEY_HOMEPAGE>;
|
|
||||||
channel = <0>;
|
|
||||||
voltage = <987387>;
|
|
||||||
};
|
|
||||||
};
|
|
Loading…
Reference in New Issue
Block a user