| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150 |
- # 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>;
- };
- };
|