1# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2%YAML 1.2 3--- 4$id: http://devicetree.org/schemas/input/touchscreen/adi,ad7879.yaml# 5$schema: http://devicetree.org/meta-schemas/core.yaml# 6 7title: Analog Devices AD7879(-1)/AD7889(-1) touchscreen interface (SPI/I2C) 8 9maintainers: 10 - Frank Li <Frank.Li@nxp.com> 11 12properties: 13 compatible: 14 description: | 15 for SPI slave, use "adi,ad7879" 16 for I2C slave, use "adi,ad7879-1" 17 enum: 18 - adi,ad7879 19 - adi,ad7879-1 20 21 reg: 22 maxItems: 1 23 24 interrupts: 25 maxItems: 1 26 27 touchscreen-max-pressure: 28 $ref: /schemas/types.yaml#/definitions/uint32 29 description: maximum reported pressure 30 31 adi,resistance-plate-x: 32 $ref: /schemas/types.yaml#/definitions/uint32 33 description: total resistance of X-plate (for pressure calculation) 34 35 touchscreen-swapped-x-y: 36 $ref: /schemas/types.yaml#/definitions/flag 37 description: X and Y axis are swapped (boolean) 38 39 adi,first-conversion-delay: 40 $ref: /schemas/types.yaml#/definitions/uint8 41 default: 0 42 minimum: 0 43 maximum: 15 44 description: | 45 0-12: In 128us steps (starting with 128us) 46 13 : 2.560ms 47 14 : 3.584ms 48 15 : 4.096ms 49 This property has to be a '/bits/ 8' value 50 51 adi,acquisition-time: 52 $ref: /schemas/types.yaml#/definitions/uint8 53 default: 0 54 enum: [0, 1, 2, 3] 55 description: | 56 0: 2us 57 1: 4us 58 2: 8us 59 3: 16us 60 This property has to be a '/bits/ 8' value 61 62 adi,median-filter-size: 63 $ref: /schemas/types.yaml#/definitions/uint8 64 default: 0 65 enum: [0, 1, 2, 3] 66 description: | 67 0: disabled 68 1: 4 measurements 69 2: 8 measurements 70 3: 16 measurements 71 This property has to be a '/bits/ 8' value 72 73 adi,averaging: 74 $ref: /schemas/types.yaml#/definitions/uint8 75 default: 0 76 enum: [0, 1, 2, 3] 77 description: | 78 0: 2 middle values (1 if median disabled) 79 1: 4 middle values 80 2: 8 middle values 81 3: 16 values 82 This property has to be a '/bits/ 8' value 83 84 adi,conversion-interval: 85 $ref: /schemas/types.yaml#/definitions/uint8 86 default: 0 87 description: | 88 0 : convert one time only 89 1-255: 515us + val * 35us (up to 9.440ms) 90 This property has to be a '/bits/ 8' value 91 92 gpio-controller: true 93 94 "#gpio-cells": 95 const: 1 96 97required: 98 - compatible 99 - reg 100 101allOf: 102 - $ref: /schemas/spi/spi-peripheral-props.yaml 103 104unevaluatedProperties: false 105 106examples: 107 - | 108 #include <dt-bindings/interrupt-controller/irq.h> 109 i2c { 110 #address-cells = <1>; 111 #size-cells = <0>; 112 113 touchscreen0@2c { 114 compatible = "adi,ad7879-1"; 115 reg = <0x2c>; 116 interrupt-parent = <&gpio1>; 117 interrupts = <13 IRQ_TYPE_EDGE_FALLING>; 118 touchscreen-max-pressure = <4096>; 119 adi,resistance-plate-x = <120>; 120 adi,first-conversion-delay = /bits/ 8 <3>; 121 adi,acquisition-time = /bits/ 8 <1>; 122 adi,median-filter-size = /bits/ 8 <2>; 123 adi,averaging = /bits/ 8 <1>; 124 adi,conversion-interval = /bits/ 8 <255>; 125 }; 126 }; 127 128 - | 129 #include <dt-bindings/interrupt-controller/irq.h> 130 spi { 131 #address-cells = <1>; 132 #size-cells = <0>; 133 134 touchscreen1@1 { 135 compatible = "adi,ad7879"; 136 reg = <1>; 137 spi-max-frequency = <5000000>; 138 gpio-controller; 139 #gpio-cells = <1>; 140 interrupt-parent = <&gpio1>; 141 interrupts = <13 IRQ_TYPE_EDGE_FALLING>; 142 touchscreen-max-pressure = <4096>; 143 adi,resistance-plate-x = <120>; 144 adi,first-conversion-delay = /bits/ 8 <3>; 145 adi,acquisition-time = /bits/ 8 <1>; 146 adi,median-filter-size = /bits/ 8 <2>; 147 adi,averaging = /bits/ 8 <1>; 148 adi,conversion-interval = /bits/ 8 <255>; 149 }; 150 }; 151