| # 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 <Frank.Li@nxp.com> |
| |
| 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 <dt-bindings/interrupt-controller/irq.h> |
| 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 <dt-bindings/interrupt-controller/irq.h> |
| 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>; |
| }; |
| }; |