# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) %YAML 1.2 --- $id: http://devicetree.org/schemas/input/touchscreen/adi,ad7879.yaml# $schema: http://devicetree.org/meta-schemas/core.yaml# title: Analog Devices AD7879(-1)/AD7889(-1) touchscreen interface (SPI/I2C) maintainers: - Frank Li properties: compatible: description: | for SPI slave, use "adi,ad7879" for I2C slave, use "adi,ad7879-1" enum: - adi,ad7879 - adi,ad7879-1 reg: maxItems: 1 interrupts: maxItems: 1 touchscreen-max-pressure: $ref: /schemas/types.yaml#/definitions/uint32 description: maximum reported pressure adi,resistance-plate-x: $ref: /schemas/types.yaml#/definitions/uint32 description: total resistance of X-plate (for pressure calculation) touchscreen-swapped-x-y: $ref: /schemas/types.yaml#/definitions/flag description: X and Y axis are swapped (boolean) adi,first-conversion-delay: $ref: /schemas/types.yaml#/definitions/uint8 default: 0 minimum: 0 maximum: 15 description: | 0-12: In 128us steps (starting with 128us) 13 : 2.560ms 14 : 3.584ms 15 : 4.096ms This property has to be a '/bits/ 8' value adi,acquisition-time: $ref: /schemas/types.yaml#/definitions/uint8 default: 0 enum: [0, 1, 2, 3] description: | 0: 2us 1: 4us 2: 8us 3: 16us This property has to be a '/bits/ 8' value adi,median-filter-size: $ref: /schemas/types.yaml#/definitions/uint8 default: 0 enum: [0, 1, 2, 3] description: | 0: disabled 1: 4 measurements 2: 8 measurements 3: 16 measurements This property has to be a '/bits/ 8' value adi,averaging: $ref: /schemas/types.yaml#/definitions/uint8 default: 0 enum: [0, 1, 2, 3] description: | 0: 2 middle values (1 if median disabled) 1: 4 middle values 2: 8 middle values 3: 16 values This property has to be a '/bits/ 8' value adi,conversion-interval: $ref: /schemas/types.yaml#/definitions/uint8 default: 0 description: | 0 : convert one time only 1-255: 515us + val * 35us (up to 9.440ms) This property has to be a '/bits/ 8' value gpio-controller: true "#gpio-cells": const: 1 required: - compatible - reg allOf: - $ref: /schemas/spi/spi-peripheral-props.yaml unevaluatedProperties: false examples: - | #include i2c { #address-cells = <1>; #size-cells = <0>; touchscreen0@2c { compatible = "adi,ad7879-1"; reg = <0x2c>; interrupt-parent = <&gpio1>; interrupts = <13 IRQ_TYPE_EDGE_FALLING>; touchscreen-max-pressure = <4096>; adi,resistance-plate-x = <120>; adi,first-conversion-delay = /bits/ 8 <3>; adi,acquisition-time = /bits/ 8 <1>; adi,median-filter-size = /bits/ 8 <2>; adi,averaging = /bits/ 8 <1>; adi,conversion-interval = /bits/ 8 <255>; }; }; - | #include spi { #address-cells = <1>; #size-cells = <0>; touchscreen1@1 { compatible = "adi,ad7879"; reg = <1>; spi-max-frequency = <5000000>; gpio-controller; #gpio-cells = <1>; interrupt-parent = <&gpio1>; interrupts = <13 IRQ_TYPE_EDGE_FALLING>; touchscreen-max-pressure = <4096>; adi,resistance-plate-x = <120>; adi,first-conversion-delay = /bits/ 8 <3>; adi,acquisition-time = /bits/ 8 <1>; adi,median-filter-size = /bits/ 8 <2>; adi,averaging = /bits/ 8 <1>; adi,conversion-interval = /bits/ 8 <255>; }; };