Add device tree bindings for ad7877. Reviewed-by: Krzysztof Kozlowski <krzk@xxxxxxxxxx> Signed-off-by: Antoniu Miclaus <antoniu.miclaus@xxxxxxxxxx> --- changes in v5: - add missing defaults for first-conv-delay-ns and stopacq-polarity .../input/touchscreen/adi,ad7877.yaml | 108 ++++++++++++++++++ 1 file changed, 108 insertions(+) create mode 100644 Documentation/devicetree/bindings/input/touchscreen/adi,ad7877.yaml diff --git a/Documentation/devicetree/bindings/input/touchscreen/adi,ad7877.yaml b/Documentation/devicetree/bindings/input/touchscreen/adi,ad7877.yaml new file mode 100644 index 000000000000..be737cfbe471 --- /dev/null +++ b/Documentation/devicetree/bindings/input/touchscreen/adi,ad7877.yaml @@ -0,0 +1,108 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/input/touchscreen/adi,ad7877.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Analog Devices AD7877 Touch Screen Controller + +maintainers: + - Antoniu Miclaus <antoniu.miclaus@xxxxxxxxxx> + +description: | + Analog Devices Touch Screen Controller + https://www.analog.com/media/en/technical-documentation/data-sheets/AD7877.pdf + +allOf: + - $ref: touchscreen.yaml# + - $ref: /schemas/spi/spi-peripheral-props.yaml# + +properties: + compatible: + enum: + - adi,ad7877 + + reg: + maxItems: 1 + + interrupts: + maxItems: 1 + + spi-max-frequency: + description: AD7877 SPI bus clock frequency. + minimum: 10000 + maximum: 20000000 + + adi,stopacq-polarity: + description: The polarity of the signal applied to the STOPACQ pin. + $ref: /schemas/types.yaml#/definitions/string + enum: [low, high] + default: low + + adi,first-conv-delay-ns: + description: Delay in ns before the first conversion. + enum: [500, 128000, 1000000, 8000000] + default: 500 + + adi,pen-down-acc-interval-us: + description: Enable the ADC to repeatedly perform conversions. + enum: [0, 500, 1000, 8000] + default: 0 + + adi,acquisition-time-us: + description: Select acquisition times in us for the ADC. + enum: [2, 4, 8, 16] + default: 2 + + adi,vref-delay-us: + description: Delay required for the SPI transfers depending on the VREF used. + default: 100 + + touchscreen-average-samples: + enum: [1, 4, 8, 16] + + touchscreen-x-plate-ohms: + default: 400 + + touchscreen-min-x: true + touchscreen-min-y: true + touchscreen-size-x: true + touchscreen-size-y: true + touchscreen-max-pressure: true + +required: + - compatible + - reg + - interrupts + - touchscreen-average-samples + +additionalProperties: false + +examples: + - | + #include <dt-bindings/interrupt-controller/irq.h> + spi { + #address-cells = <1>; + #size-cells = <0>; + + touchscreen@0 { + compatible = "adi,ad7877"; + reg = <0>; + spi-max-frequency = <20000000>; + interrupts = <21 IRQ_TYPE_EDGE_FALLING>; + interrupt-parent = <&gpio>; + adi,vref-delay-us = <100>; + adi,stopacq-polarity = "low"; + adi,first-conv-delay-ns = <500>; + adi,pen-down-acc-interval-us = <0>; + adi,acquisition-time-us = <2>; + touchscreen-average-samples = <16>; + touchscreen-x-plate-ohms = <400>; + touchscreen-min-x = <0>; + touchscreen-min-y = <0>; + touchscreen-size-x = <800>; + touchscreen-size-y = <480>; + touchscreen-max-pressure = <4095>; + }; + }; +... -- 2.46.0