mirror of https://github.com/Qortal/Brooklyn
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
123 lines
3.3 KiB
123 lines
3.3 KiB
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) |
|
# Copyright 2019-2020 Artur Rojek |
|
%YAML 1.2 |
|
--- |
|
$id: "http://devicetree.org/schemas/input/adc-joystick.yaml#" |
|
$schema: "http://devicetree.org/meta-schemas/core.yaml#" |
|
|
|
title: ADC attached joystick |
|
|
|
maintainers: |
|
- Artur Rojek <[email protected]> |
|
|
|
description: > |
|
Bindings for joystick devices connected to ADC controllers supporting |
|
the Industrial I/O subsystem. |
|
|
|
properties: |
|
compatible: |
|
const: adc-joystick |
|
|
|
io-channels: |
|
minItems: 1 |
|
maxItems: 1024 |
|
description: > |
|
List of phandle and IIO specifier pairs. |
|
Each pair defines one ADC channel to which a joystick axis is connected. |
|
See |
|
https://github.com/devicetree-org/dt-schema/blob/master/schemas/iio/iio-consumer.yaml |
|
for details. |
|
|
|
'#address-cells': |
|
const: 1 |
|
|
|
'#size-cells': |
|
const: 0 |
|
|
|
required: |
|
- compatible |
|
- io-channels |
|
- '#address-cells' |
|
- '#size-cells' |
|
|
|
additionalProperties: false |
|
|
|
patternProperties: |
|
"^axis@[0-9a-f]+$": |
|
type: object |
|
description: > |
|
Represents a joystick axis bound to the given ADC channel. |
|
For each entry in the io-channels list, one axis subnode with a matching |
|
reg property must be specified. |
|
|
|
properties: |
|
reg: |
|
minimum: 0 |
|
maximum: 1023 |
|
description: Index of an io-channels list entry bound to this axis. |
|
|
|
linux,code: |
|
$ref: /schemas/types.yaml#/definitions/uint32 |
|
description: EV_ABS specific event code generated by the axis. |
|
|
|
abs-range: |
|
allOf: |
|
- $ref: /schemas/types.yaml#/definitions/uint32-array |
|
- items: |
|
- description: minimum value |
|
- description: maximum value |
|
description: > |
|
Minimum and maximum values produced by the axis. |
|
For an ABS_X axis this will be the left-most and right-most |
|
inclination of the joystick. If min > max, it is left to userspace to |
|
treat the axis as inverted. |
|
This property is interpreted as two signed 32 bit values. |
|
|
|
abs-fuzz: |
|
$ref: /schemas/types.yaml#/definitions/uint32 |
|
description: > |
|
Amount of noise in the input value. |
|
Omitting this property indicates the axis is precise. |
|
|
|
abs-flat: |
|
$ref: /schemas/types.yaml#/definitions/uint32 |
|
description: > |
|
Axial "deadzone", or area around the center position, where the axis |
|
is considered to be at rest. |
|
Omitting this property indicates the axis always returns to exactly |
|
the center position. |
|
|
|
required: |
|
- reg |
|
- linux,code |
|
- abs-range |
|
|
|
additionalProperties: false |
|
|
|
examples: |
|
- | |
|
#include <dt-bindings/iio/adc/ingenic,adc.h> |
|
#include <dt-bindings/input/input.h> |
|
|
|
joystick: adc-joystick { |
|
compatible = "adc-joystick"; |
|
io-channels = <&adc INGENIC_ADC_TOUCH_XP>, |
|
<&adc INGENIC_ADC_TOUCH_YP>; |
|
#address-cells = <1>; |
|
#size-cells = <0>; |
|
|
|
axis@0 { |
|
reg = <0>; |
|
linux,code = <ABS_X>; |
|
abs-range = <3300 0>; |
|
abs-fuzz = <4>; |
|
abs-flat = <200>; |
|
}; |
|
axis@1 { |
|
reg = <1>; |
|
linux,code = <ABS_Y>; |
|
abs-range = <0 3300>; |
|
abs-fuzz = <4>; |
|
abs-flat = <200>; |
|
}; |
|
};
|
|
|