1*430ee40dSJeff LaBundy# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) 2*430ee40dSJeff LaBundy%YAML 1.2 3*430ee40dSJeff LaBundy--- 4*430ee40dSJeff LaBundy$id: http://devicetree.org/schemas/input/iqs269a.yaml# 5*430ee40dSJeff LaBundy$schema: http://devicetree.org/meta-schemas/core.yaml# 6*430ee40dSJeff LaBundy 7*430ee40dSJeff LaBundytitle: Azoteq IQS269A Capacitive Touch Controller 8*430ee40dSJeff LaBundy 9*430ee40dSJeff LaBundymaintainers: 10*430ee40dSJeff LaBundy - Jeff LaBundy <jeff@labundy.com> 11*430ee40dSJeff LaBundy 12*430ee40dSJeff LaBundydescription: | 13*430ee40dSJeff LaBundy The Azoteq IQS269A is an 8-channel capacitive touch controller that features 14*430ee40dSJeff LaBundy additional Hall-effect and inductive sensing capabilities. 15*430ee40dSJeff LaBundy 16*430ee40dSJeff LaBundy Link to datasheet: https://www.azoteq.com/ 17*430ee40dSJeff LaBundy 18*430ee40dSJeff LaBundyproperties: 19*430ee40dSJeff LaBundy compatible: 20*430ee40dSJeff LaBundy const: azoteq,iqs269a 21*430ee40dSJeff LaBundy 22*430ee40dSJeff LaBundy reg: 23*430ee40dSJeff LaBundy maxItems: 1 24*430ee40dSJeff LaBundy 25*430ee40dSJeff LaBundy interrupts: 26*430ee40dSJeff LaBundy maxItems: 1 27*430ee40dSJeff LaBundy 28*430ee40dSJeff LaBundy "#address-cells": 29*430ee40dSJeff LaBundy const: 1 30*430ee40dSJeff LaBundy 31*430ee40dSJeff LaBundy "#size-cells": 32*430ee40dSJeff LaBundy const: 0 33*430ee40dSJeff LaBundy 34*430ee40dSJeff LaBundy azoteq,hall-enable: 35*430ee40dSJeff LaBundy type: boolean 36*430ee40dSJeff LaBundy description: 37*430ee40dSJeff LaBundy Enables Hall-effect sensing on channels 6 and 7. In this case, keycodes 38*430ee40dSJeff LaBundy assigned to channel 6 are ignored and keycodes assigned to channel 7 are 39*430ee40dSJeff LaBundy interpreted as switch codes. Refer to the datasheet for requirements im- 40*430ee40dSJeff LaBundy posed on channels 6 and 7 by Hall-effect sensing. 41*430ee40dSJeff LaBundy 42*430ee40dSJeff LaBundy azoteq,suspend-mode: 43*430ee40dSJeff LaBundy allOf: 44*430ee40dSJeff LaBundy - $ref: /schemas/types.yaml#/definitions/uint32 45*430ee40dSJeff LaBundy - enum: [0, 1, 2, 3] 46*430ee40dSJeff LaBundy default: 0 47*430ee40dSJeff LaBundy description: | 48*430ee40dSJeff LaBundy Specifies the power mode during suspend as follows: 49*430ee40dSJeff LaBundy 0: Automatic (same as normal runtime, i.e. suspend/resume disabled) 50*430ee40dSJeff LaBundy 1: Low power (all sensing at a reduced reporting rate) 51*430ee40dSJeff LaBundy 2: Ultra-low power (channel 0 proximity sensing) 52*430ee40dSJeff LaBundy 3: Halt (no sensing) 53*430ee40dSJeff LaBundy 54*430ee40dSJeff LaBundy azoteq,clk-div: 55*430ee40dSJeff LaBundy type: boolean 56*430ee40dSJeff LaBundy description: Divides the device's core clock by a factor of 4. 57*430ee40dSJeff LaBundy 58*430ee40dSJeff LaBundy azoteq,ulp-update: 59*430ee40dSJeff LaBundy allOf: 60*430ee40dSJeff LaBundy - $ref: /schemas/types.yaml#/definitions/uint32 61*430ee40dSJeff LaBundy - minimum: 0 62*430ee40dSJeff LaBundy maximum: 7 63*430ee40dSJeff LaBundy default: 3 64*430ee40dSJeff LaBundy description: Specifies the ultra-low-power mode update rate. 65*430ee40dSJeff LaBundy 66*430ee40dSJeff LaBundy azoteq,reseed-offset: 67*430ee40dSJeff LaBundy type: boolean 68*430ee40dSJeff LaBundy description: 69*430ee40dSJeff LaBundy Applies an 8-count offset to all long-term averages upon either ATI or 70*430ee40dSJeff LaBundy reseed events. 71*430ee40dSJeff LaBundy 72*430ee40dSJeff LaBundy azoteq,filt-str-lp-lta: 73*430ee40dSJeff LaBundy allOf: 74*430ee40dSJeff LaBundy - $ref: /schemas/types.yaml#/definitions/uint32 75*430ee40dSJeff LaBundy - enum: [0, 1, 2, 3] 76*430ee40dSJeff LaBundy default: 0 77*430ee40dSJeff LaBundy description: 78*430ee40dSJeff LaBundy Specifies the long-term average filter strength during low-power mode. 79*430ee40dSJeff LaBundy 80*430ee40dSJeff LaBundy azoteq,filt-str-lp-cnt: 81*430ee40dSJeff LaBundy allOf: 82*430ee40dSJeff LaBundy - $ref: /schemas/types.yaml#/definitions/uint32 83*430ee40dSJeff LaBundy - enum: [0, 1, 2, 3] 84*430ee40dSJeff LaBundy default: 0 85*430ee40dSJeff LaBundy description: 86*430ee40dSJeff LaBundy Specifies the raw count filter strength during low-power mode. 87*430ee40dSJeff LaBundy 88*430ee40dSJeff LaBundy azoteq,filt-str-np-lta: 89*430ee40dSJeff LaBundy allOf: 90*430ee40dSJeff LaBundy - $ref: /schemas/types.yaml#/definitions/uint32 91*430ee40dSJeff LaBundy - enum: [0, 1, 2, 3] 92*430ee40dSJeff LaBundy default: 0 93*430ee40dSJeff LaBundy description: 94*430ee40dSJeff LaBundy Specifies the long-term average filter strength during normal-power mode. 95*430ee40dSJeff LaBundy 96*430ee40dSJeff LaBundy azoteq,filt-str-np-cnt: 97*430ee40dSJeff LaBundy allOf: 98*430ee40dSJeff LaBundy - $ref: /schemas/types.yaml#/definitions/uint32 99*430ee40dSJeff LaBundy - enum: [0, 1, 2, 3] 100*430ee40dSJeff LaBundy default: 0 101*430ee40dSJeff LaBundy description: 102*430ee40dSJeff LaBundy Specifies the raw count filter strength during normal-power mode. 103*430ee40dSJeff LaBundy 104*430ee40dSJeff LaBundy azoteq,rate-np-ms: 105*430ee40dSJeff LaBundy minimum: 0 106*430ee40dSJeff LaBundy maximum: 255 107*430ee40dSJeff LaBundy default: 16 108*430ee40dSJeff LaBundy description: Specifies the report rate (in ms) during normal-power mode. 109*430ee40dSJeff LaBundy 110*430ee40dSJeff LaBundy azoteq,rate-lp-ms: 111*430ee40dSJeff LaBundy minimum: 0 112*430ee40dSJeff LaBundy maximum: 255 113*430ee40dSJeff LaBundy default: 160 114*430ee40dSJeff LaBundy description: Specifies the report rate (in ms) during low-power mode. 115*430ee40dSJeff LaBundy 116*430ee40dSJeff LaBundy azoteq,rate-ulp-ms: 117*430ee40dSJeff LaBundy multipleOf: 16 118*430ee40dSJeff LaBundy minimum: 0 119*430ee40dSJeff LaBundy maximum: 4080 120*430ee40dSJeff LaBundy default: 160 121*430ee40dSJeff LaBundy description: Specifies the report rate (in ms) during ultra-low-power mode. 122*430ee40dSJeff LaBundy 123*430ee40dSJeff LaBundy azoteq,timeout-pwr-ms: 124*430ee40dSJeff LaBundy multipleOf: 512 125*430ee40dSJeff LaBundy minimum: 0 126*430ee40dSJeff LaBundy maximum: 130560 127*430ee40dSJeff LaBundy default: 2560 128*430ee40dSJeff LaBundy description: 129*430ee40dSJeff LaBundy Specifies the length of time (in ms) to wait for an event during normal- 130*430ee40dSJeff LaBundy power mode before transitioning to low-power mode. 131*430ee40dSJeff LaBundy 132*430ee40dSJeff LaBundy azoteq,timeout-lta-ms: 133*430ee40dSJeff LaBundy multipleOf: 512 134*430ee40dSJeff LaBundy minimum: 0 135*430ee40dSJeff LaBundy maximum: 130560 136*430ee40dSJeff LaBundy default: 32768 137*430ee40dSJeff LaBundy description: 138*430ee40dSJeff LaBundy Specifies the length of time (in ms) to wait before resetting the long- 139*430ee40dSJeff LaBundy term average of all channels. Specify the maximum timeout to disable it 140*430ee40dSJeff LaBundy altogether. 141*430ee40dSJeff LaBundy 142*430ee40dSJeff LaBundy azoteq,ati-band-disable: 143*430ee40dSJeff LaBundy type: boolean 144*430ee40dSJeff LaBundy description: Disables the ATI band check. 145*430ee40dSJeff LaBundy 146*430ee40dSJeff LaBundy azoteq,ati-lp-only: 147*430ee40dSJeff LaBundy type: boolean 148*430ee40dSJeff LaBundy description: Limits automatic ATI to low-power mode. 149*430ee40dSJeff LaBundy 150*430ee40dSJeff LaBundy azoteq,ati-band-tighten: 151*430ee40dSJeff LaBundy type: boolean 152*430ee40dSJeff LaBundy description: Tightens the ATI band from 1/8 to 1/16 of the desired target. 153*430ee40dSJeff LaBundy 154*430ee40dSJeff LaBundy azoteq,filt-disable: 155*430ee40dSJeff LaBundy type: boolean 156*430ee40dSJeff LaBundy description: Disables all raw count filtering. 157*430ee40dSJeff LaBundy 158*430ee40dSJeff LaBundy azoteq,gpio3-select: 159*430ee40dSJeff LaBundy allOf: 160*430ee40dSJeff LaBundy - $ref: /schemas/types.yaml#/definitions/uint32 161*430ee40dSJeff LaBundy - minimum: 0 162*430ee40dSJeff LaBundy maximum: 7 163*430ee40dSJeff LaBundy default: 0 164*430ee40dSJeff LaBundy description: 165*430ee40dSJeff LaBundy Selects the channel for which the GPIO3 pin represents touch state. 166*430ee40dSJeff LaBundy 167*430ee40dSJeff LaBundy azoteq,dual-direction: 168*430ee40dSJeff LaBundy type: boolean 169*430ee40dSJeff LaBundy description: 170*430ee40dSJeff LaBundy Specifies that long-term averages are to freeze in the presence of either 171*430ee40dSJeff LaBundy increasing or decreasing counts, thereby permitting events to be reported 172*430ee40dSJeff LaBundy in either direction. 173*430ee40dSJeff LaBundy 174*430ee40dSJeff LaBundy azoteq,tx-freq: 175*430ee40dSJeff LaBundy allOf: 176*430ee40dSJeff LaBundy - $ref: /schemas/types.yaml#/definitions/uint32 177*430ee40dSJeff LaBundy - enum: [0, 1, 2, 3] 178*430ee40dSJeff LaBundy default: 0 179*430ee40dSJeff LaBundy description: | 180*430ee40dSJeff LaBundy Specifies the inductive sensing excitation frequency as follows (paren- 181*430ee40dSJeff LaBundy thesized numbers represent the frequency if 'azoteq,clk-div' is present): 182*430ee40dSJeff LaBundy 0: 16 MHz (4 MHz) 183*430ee40dSJeff LaBundy 1: 8 MHz (2 MHz) 184*430ee40dSJeff LaBundy 2: 4 MHz (1 MHz) 185*430ee40dSJeff LaBundy 3: 2 MHz (500 kHz) 186*430ee40dSJeff LaBundy 187*430ee40dSJeff LaBundy azoteq,global-cap-increase: 188*430ee40dSJeff LaBundy type: boolean 189*430ee40dSJeff LaBundy description: Increases the global capacitance adder from 0.5 pF to 1.5 pF. 190*430ee40dSJeff LaBundy 191*430ee40dSJeff LaBundy azoteq,reseed-select: 192*430ee40dSJeff LaBundy allOf: 193*430ee40dSJeff LaBundy - $ref: /schemas/types.yaml#/definitions/uint32 194*430ee40dSJeff LaBundy - enum: [0, 1, 2, 3] 195*430ee40dSJeff LaBundy default: 0 196*430ee40dSJeff LaBundy description: | 197*430ee40dSJeff LaBundy Specifies the event(s) that prompt the device to reseed (i.e. reset the 198*430ee40dSJeff LaBundy long-term average) of an associated channel as follows: 199*430ee40dSJeff LaBundy 0: None 200*430ee40dSJeff LaBundy 1: Proximity 201*430ee40dSJeff LaBundy 2: Proximity or touch 202*430ee40dSJeff LaBundy 3: Proximity, touch or deep touch 203*430ee40dSJeff LaBundy 204*430ee40dSJeff LaBundy azoteq,tracking-enable: 205*430ee40dSJeff LaBundy type: boolean 206*430ee40dSJeff LaBundy description: 207*430ee40dSJeff LaBundy Enables all associated channels to track their respective reference 208*430ee40dSJeff LaBundy channels. 209*430ee40dSJeff LaBundy 210*430ee40dSJeff LaBundy azoteq,filt-str-slider: 211*430ee40dSJeff LaBundy allOf: 212*430ee40dSJeff LaBundy - $ref: /schemas/types.yaml#/definitions/uint32 213*430ee40dSJeff LaBundy - enum: [0, 1, 2, 3] 214*430ee40dSJeff LaBundy default: 1 215*430ee40dSJeff LaBundy description: Specifies the slider coordinate filter strength. 216*430ee40dSJeff LaBundy 217*430ee40dSJeff LaBundypatternProperties: 218*430ee40dSJeff LaBundy "^channel@[0-7]$": 219*430ee40dSJeff LaBundy type: object 220*430ee40dSJeff LaBundy description: 221*430ee40dSJeff LaBundy Represents a single sensing channel. A channel is active if defined and 222*430ee40dSJeff LaBundy inactive otherwise. 223*430ee40dSJeff LaBundy 224*430ee40dSJeff LaBundy properties: 225*430ee40dSJeff LaBundy reg: 226*430ee40dSJeff LaBundy minimum: 0 227*430ee40dSJeff LaBundy maximum: 7 228*430ee40dSJeff LaBundy description: Index of the channel. 229*430ee40dSJeff LaBundy 230*430ee40dSJeff LaBundy azoteq,reseed-disable: 231*430ee40dSJeff LaBundy type: boolean 232*430ee40dSJeff LaBundy description: 233*430ee40dSJeff LaBundy Prevents the channel from being reseeded if the long-term average 234*430ee40dSJeff LaBundy timeout (defined in 'azoteq,timeout-lta') expires. 235*430ee40dSJeff LaBundy 236*430ee40dSJeff LaBundy azoteq,blocking-enable: 237*430ee40dSJeff LaBundy type: boolean 238*430ee40dSJeff LaBundy description: Specifies that the channel is a blocking channel. 239*430ee40dSJeff LaBundy 240*430ee40dSJeff LaBundy azoteq,slider0-select: 241*430ee40dSJeff LaBundy type: boolean 242*430ee40dSJeff LaBundy description: Specifies that the channel participates in slider 0. 243*430ee40dSJeff LaBundy 244*430ee40dSJeff LaBundy azoteq,slider1-select: 245*430ee40dSJeff LaBundy type: boolean 246*430ee40dSJeff LaBundy description: Specifies that the channel participates in slider 1. 247*430ee40dSJeff LaBundy 248*430ee40dSJeff LaBundy azoteq,rx-enable: 249*430ee40dSJeff LaBundy allOf: 250*430ee40dSJeff LaBundy - $ref: /schemas/types.yaml#/definitions/uint32-array 251*430ee40dSJeff LaBundy - minItems: 1 252*430ee40dSJeff LaBundy maxItems: 8 253*430ee40dSJeff LaBundy items: 254*430ee40dSJeff LaBundy minimum: 0 255*430ee40dSJeff LaBundy maximum: 7 256*430ee40dSJeff LaBundy description: 257*430ee40dSJeff LaBundy Specifies the CRX pin(s) associated with the channel. By default, only 258*430ee40dSJeff LaBundy the CRX pin corresponding to the channel's index is enabled (e.g. CRX0 259*430ee40dSJeff LaBundy for channel 0). 260*430ee40dSJeff LaBundy 261*430ee40dSJeff LaBundy azoteq,tx-enable: 262*430ee40dSJeff LaBundy allOf: 263*430ee40dSJeff LaBundy - $ref: /schemas/types.yaml#/definitions/uint32-array 264*430ee40dSJeff LaBundy - minItems: 1 265*430ee40dSJeff LaBundy maxItems: 8 266*430ee40dSJeff LaBundy items: 267*430ee40dSJeff LaBundy minimum: 0 268*430ee40dSJeff LaBundy maximum: 7 269*430ee40dSJeff LaBundy default: [0, 1, 2, 3, 4, 5, 6, 7] 270*430ee40dSJeff LaBundy description: Specifies the TX pin(s) associated with the channel. 271*430ee40dSJeff LaBundy 272*430ee40dSJeff LaBundy azoteq,meas-cap-decrease: 273*430ee40dSJeff LaBundy type: boolean 274*430ee40dSJeff LaBundy description: 275*430ee40dSJeff LaBundy Decreases the internal measurement capacitance from 60 pF to 15 pF. 276*430ee40dSJeff LaBundy 277*430ee40dSJeff LaBundy azoteq,rx-float-inactive: 278*430ee40dSJeff LaBundy type: boolean 279*430ee40dSJeff LaBundy description: Floats any inactive CRX pins instead of grounding them. 280*430ee40dSJeff LaBundy 281*430ee40dSJeff LaBundy azoteq,local-cap-size: 282*430ee40dSJeff LaBundy allOf: 283*430ee40dSJeff LaBundy - $ref: /schemas/types.yaml#/definitions/uint32 284*430ee40dSJeff LaBundy - enum: [0, 1, 2] 285*430ee40dSJeff LaBundy default: 0 286*430ee40dSJeff LaBundy description: | 287*430ee40dSJeff LaBundy Specifies the capacitance to be added to the channel as follows: 288*430ee40dSJeff LaBundy 0: None 289*430ee40dSJeff LaBundy 1: Global adder (based on 'azoteq,global-cap-increase') 290*430ee40dSJeff LaBundy 2: Global adder + 0.5 pF 291*430ee40dSJeff LaBundy 292*430ee40dSJeff LaBundy azoteq,invert-enable: 293*430ee40dSJeff LaBundy type: boolean 294*430ee40dSJeff LaBundy description: 295*430ee40dSJeff LaBundy Inverts the polarity of the states reported for proximity, touch and 296*430ee40dSJeff LaBundy deep-touch events relative to their respective thresholds. 297*430ee40dSJeff LaBundy 298*430ee40dSJeff LaBundy azoteq,proj-bias: 299*430ee40dSJeff LaBundy allOf: 300*430ee40dSJeff LaBundy - $ref: /schemas/types.yaml#/definitions/uint32 301*430ee40dSJeff LaBundy - enum: [0, 1, 2, 3] 302*430ee40dSJeff LaBundy default: 2 303*430ee40dSJeff LaBundy description: | 304*430ee40dSJeff LaBundy Specifies the bias current applied during projected-capacitance 305*430ee40dSJeff LaBundy sensing as follows: 306*430ee40dSJeff LaBundy 0: 2.5 uA 307*430ee40dSJeff LaBundy 1: 5 uA 308*430ee40dSJeff LaBundy 2: 10 uA 309*430ee40dSJeff LaBundy 3: 20 uA 310*430ee40dSJeff LaBundy 311*430ee40dSJeff LaBundy azoteq,sense-mode: 312*430ee40dSJeff LaBundy allOf: 313*430ee40dSJeff LaBundy - $ref: /schemas/types.yaml#/definitions/uint32 314*430ee40dSJeff LaBundy - enum: [0, 1, 9, 14, 15] 315*430ee40dSJeff LaBundy default: 0 316*430ee40dSJeff LaBundy description: | 317*430ee40dSJeff LaBundy Specifies the channel's sensing mode as follows: 318*430ee40dSJeff LaBundy 0: Self capacitance 319*430ee40dSJeff LaBundy 1: Projected capacitance 320*430ee40dSJeff LaBundy 9: Self or mutual inductance 321*430ee40dSJeff LaBundy 14: Hall effect 322*430ee40dSJeff LaBundy 15: Temperature 323*430ee40dSJeff LaBundy 324*430ee40dSJeff LaBundy azoteq,sense-freq: 325*430ee40dSJeff LaBundy allOf: 326*430ee40dSJeff LaBundy - $ref: /schemas/types.yaml#/definitions/uint32 327*430ee40dSJeff LaBundy - enum: [0, 1, 2, 3] 328*430ee40dSJeff LaBundy default: 1 329*430ee40dSJeff LaBundy description: | 330*430ee40dSJeff LaBundy Specifies the channel's sensing frequency as follows (parenthesized 331*430ee40dSJeff LaBundy numbers represent the frequency if 'azoteq,clk-div' is present): 332*430ee40dSJeff LaBundy 0: 4 MHz (1 MHz) 333*430ee40dSJeff LaBundy 1: 2 MHz (500 kHz) 334*430ee40dSJeff LaBundy 2: 1 MHz (250 kHz) 335*430ee40dSJeff LaBundy 3: 500 kHz (125 kHz) 336*430ee40dSJeff LaBundy 337*430ee40dSJeff LaBundy azoteq,static-enable: 338*430ee40dSJeff LaBundy type: boolean 339*430ee40dSJeff LaBundy description: Enables the static front-end for the channel. 340*430ee40dSJeff LaBundy 341*430ee40dSJeff LaBundy azoteq,ati-mode: 342*430ee40dSJeff LaBundy allOf: 343*430ee40dSJeff LaBundy - $ref: /schemas/types.yaml#/definitions/uint32 344*430ee40dSJeff LaBundy - enum: [0, 1, 2, 3] 345*430ee40dSJeff LaBundy default: 3 346*430ee40dSJeff LaBundy description: | 347*430ee40dSJeff LaBundy Specifies the channel's ATI mode as follows: 348*430ee40dSJeff LaBundy 0: Disabled 349*430ee40dSJeff LaBundy 1: Semi-partial 350*430ee40dSJeff LaBundy 2: Partial 351*430ee40dSJeff LaBundy 3: Full 352*430ee40dSJeff LaBundy 353*430ee40dSJeff LaBundy azoteq,ati-base: 354*430ee40dSJeff LaBundy allOf: 355*430ee40dSJeff LaBundy - $ref: /schemas/types.yaml#/definitions/uint32 356*430ee40dSJeff LaBundy - enum: [75, 100, 150, 200] 357*430ee40dSJeff LaBundy default: 100 358*430ee40dSJeff LaBundy description: Specifies the channel's ATI base. 359*430ee40dSJeff LaBundy 360*430ee40dSJeff LaBundy azoteq,ati-target: 361*430ee40dSJeff LaBundy allOf: 362*430ee40dSJeff LaBundy - $ref: /schemas/types.yaml#/definitions/uint32 363*430ee40dSJeff LaBundy - multipleOf: 32 364*430ee40dSJeff LaBundy minimum: 0 365*430ee40dSJeff LaBundy maximum: 2016 366*430ee40dSJeff LaBundy default: 512 367*430ee40dSJeff LaBundy description: Specifies the channel's ATI target. 368*430ee40dSJeff LaBundy 369*430ee40dSJeff LaBundy azoteq,assoc-select: 370*430ee40dSJeff LaBundy allOf: 371*430ee40dSJeff LaBundy - $ref: /schemas/types.yaml#/definitions/uint32-array 372*430ee40dSJeff LaBundy - minItems: 1 373*430ee40dSJeff LaBundy maxItems: 8 374*430ee40dSJeff LaBundy items: 375*430ee40dSJeff LaBundy minimum: 0 376*430ee40dSJeff LaBundy maximum: 7 377*430ee40dSJeff LaBundy description: 378*430ee40dSJeff LaBundy Specifies the associated channels for which the channel serves as a 379*430ee40dSJeff LaBundy reference channel. By default, no channels are selected. 380*430ee40dSJeff LaBundy 381*430ee40dSJeff LaBundy azoteq,assoc-weight: 382*430ee40dSJeff LaBundy allOf: 383*430ee40dSJeff LaBundy - $ref: /schemas/types.yaml#/definitions/uint32 384*430ee40dSJeff LaBundy - minimum: 0 385*430ee40dSJeff LaBundy maximum: 255 386*430ee40dSJeff LaBundy default: 0 387*430ee40dSJeff LaBundy description: 388*430ee40dSJeff LaBundy Specifies the channel's impact weight if it acts as an associated 389*430ee40dSJeff LaBundy channel (0 = 0% impact, 255 = 200% impact). 390*430ee40dSJeff LaBundy 391*430ee40dSJeff LaBundy patternProperties: 392*430ee40dSJeff LaBundy "^event-prox(-alt)?$": 393*430ee40dSJeff LaBundy type: object 394*430ee40dSJeff LaBundy description: 395*430ee40dSJeff LaBundy Represents a proximity event reported by the channel in response to 396*430ee40dSJeff LaBundy a decrease in counts. Node names suffixed with '-alt' instead corre- 397*430ee40dSJeff LaBundy spond to an increase in counts. 398*430ee40dSJeff LaBundy 399*430ee40dSJeff LaBundy By default, the long-term average tracks an increase in counts such 400*430ee40dSJeff LaBundy that only events corresponding to a decrease in counts are reported 401*430ee40dSJeff LaBundy (refer to the datasheet for more information). 402*430ee40dSJeff LaBundy 403*430ee40dSJeff LaBundy Specify 'azoteq,dual-direction' to freeze the long-term average when 404*430ee40dSJeff LaBundy the counts increase or decrease such that events of either direction 405*430ee40dSJeff LaBundy can be reported. Alternatively, specify 'azoteq,invert-enable' to in- 406*430ee40dSJeff LaBundy vert the polarity of the states reported by the channel. 407*430ee40dSJeff LaBundy 408*430ee40dSJeff LaBundy Complementary events (e.g. event-touch and event-touch-alt) can both 409*430ee40dSJeff LaBundy be present and specify different key or switch codes, but not differ- 410*430ee40dSJeff LaBundy ent thresholds or hysteresis (if applicable). 411*430ee40dSJeff LaBundy 412*430ee40dSJeff LaBundy properties: 413*430ee40dSJeff LaBundy azoteq,thresh: 414*430ee40dSJeff LaBundy allOf: 415*430ee40dSJeff LaBundy - $ref: /schemas/types.yaml#/definitions/uint32 416*430ee40dSJeff LaBundy - minimum: 0 417*430ee40dSJeff LaBundy maximum: 255 418*430ee40dSJeff LaBundy default: 10 419*430ee40dSJeff LaBundy description: Specifies the threshold for the event. 420*430ee40dSJeff LaBundy 421*430ee40dSJeff LaBundy linux,code: 422*430ee40dSJeff LaBundy $ref: /schemas/types.yaml#/definitions/uint32 423*430ee40dSJeff LaBundy description: Numeric key or switch code associated with the event. 424*430ee40dSJeff LaBundy 425*430ee40dSJeff LaBundy additionalProperties: false 426*430ee40dSJeff LaBundy 427*430ee40dSJeff LaBundy "^event-touch(-alt)?$": 428*430ee40dSJeff LaBundy type: object 429*430ee40dSJeff LaBundy description: Represents a touch event reported by the channel. 430*430ee40dSJeff LaBundy 431*430ee40dSJeff LaBundy properties: 432*430ee40dSJeff LaBundy azoteq,thresh: 433*430ee40dSJeff LaBundy allOf: 434*430ee40dSJeff LaBundy - $ref: /schemas/types.yaml#/definitions/uint32 435*430ee40dSJeff LaBundy - minimum: 0 436*430ee40dSJeff LaBundy maximum: 255 437*430ee40dSJeff LaBundy default: 8 438*430ee40dSJeff LaBundy description: Specifies the threshold for the event. 439*430ee40dSJeff LaBundy 440*430ee40dSJeff LaBundy azoteq,hyst: 441*430ee40dSJeff LaBundy allOf: 442*430ee40dSJeff LaBundy - $ref: /schemas/types.yaml#/definitions/uint32 443*430ee40dSJeff LaBundy - minimum: 0 444*430ee40dSJeff LaBundy maximum: 15 445*430ee40dSJeff LaBundy default: 4 446*430ee40dSJeff LaBundy description: Specifies the hysteresis for the event. 447*430ee40dSJeff LaBundy 448*430ee40dSJeff LaBundy linux,code: 449*430ee40dSJeff LaBundy $ref: /schemas/types.yaml#/definitions/uint32 450*430ee40dSJeff LaBundy description: Numeric key or switch code associated with the event. 451*430ee40dSJeff LaBundy 452*430ee40dSJeff LaBundy additionalProperties: false 453*430ee40dSJeff LaBundy 454*430ee40dSJeff LaBundy "^event-deep(-alt)?$": 455*430ee40dSJeff LaBundy type: object 456*430ee40dSJeff LaBundy description: Represents a deep-touch event reported by the channel. 457*430ee40dSJeff LaBundy 458*430ee40dSJeff LaBundy properties: 459*430ee40dSJeff LaBundy azoteq,thresh: 460*430ee40dSJeff LaBundy allOf: 461*430ee40dSJeff LaBundy - $ref: /schemas/types.yaml#/definitions/uint32 462*430ee40dSJeff LaBundy - minimum: 0 463*430ee40dSJeff LaBundy maximum: 255 464*430ee40dSJeff LaBundy default: 26 465*430ee40dSJeff LaBundy description: Specifies the threshold for the event. 466*430ee40dSJeff LaBundy 467*430ee40dSJeff LaBundy azoteq,hyst: 468*430ee40dSJeff LaBundy allOf: 469*430ee40dSJeff LaBundy - $ref: /schemas/types.yaml#/definitions/uint32 470*430ee40dSJeff LaBundy - minimum: 0 471*430ee40dSJeff LaBundy maximum: 15 472*430ee40dSJeff LaBundy default: 0 473*430ee40dSJeff LaBundy description: Specifies the hysteresis for the event. 474*430ee40dSJeff LaBundy 475*430ee40dSJeff LaBundy linux,code: 476*430ee40dSJeff LaBundy $ref: /schemas/types.yaml#/definitions/uint32 477*430ee40dSJeff LaBundy description: Numeric key or switch code associated with the event. 478*430ee40dSJeff LaBundy 479*430ee40dSJeff LaBundy additionalProperties: false 480*430ee40dSJeff LaBundy 481*430ee40dSJeff LaBundy required: 482*430ee40dSJeff LaBundy - reg 483*430ee40dSJeff LaBundy 484*430ee40dSJeff LaBundy additionalProperties: false 485*430ee40dSJeff LaBundy 486*430ee40dSJeff LaBundyrequired: 487*430ee40dSJeff LaBundy - compatible 488*430ee40dSJeff LaBundy - reg 489*430ee40dSJeff LaBundy - interrupts 490*430ee40dSJeff LaBundy - "#address-cells" 491*430ee40dSJeff LaBundy - "#size-cells" 492*430ee40dSJeff LaBundy 493*430ee40dSJeff LaBundyadditionalProperties: false 494*430ee40dSJeff LaBundy 495*430ee40dSJeff LaBundyexamples: 496*430ee40dSJeff LaBundy - | 497*430ee40dSJeff LaBundy #include <dt-bindings/input/input.h> 498*430ee40dSJeff LaBundy #include <dt-bindings/interrupt-controller/irq.h> 499*430ee40dSJeff LaBundy 500*430ee40dSJeff LaBundy i2c { 501*430ee40dSJeff LaBundy #address-cells = <1>; 502*430ee40dSJeff LaBundy #size-cells = <0>; 503*430ee40dSJeff LaBundy 504*430ee40dSJeff LaBundy iqs269a@44 { 505*430ee40dSJeff LaBundy #address-cells = <1>; 506*430ee40dSJeff LaBundy #size-cells = <0>; 507*430ee40dSJeff LaBundy 508*430ee40dSJeff LaBundy compatible = "azoteq,iqs269a"; 509*430ee40dSJeff LaBundy reg = <0x44>; 510*430ee40dSJeff LaBundy interrupt-parent = <&gpio>; 511*430ee40dSJeff LaBundy interrupts = <17 IRQ_TYPE_LEVEL_LOW>; 512*430ee40dSJeff LaBundy 513*430ee40dSJeff LaBundy azoteq,hall-enable; 514*430ee40dSJeff LaBundy azoteq,suspend-mode = <2>; 515*430ee40dSJeff LaBundy 516*430ee40dSJeff LaBundy channel@0 { 517*430ee40dSJeff LaBundy reg = <0x0>; 518*430ee40dSJeff LaBundy 519*430ee40dSJeff LaBundy event-prox { 520*430ee40dSJeff LaBundy linux,code = <KEY_POWER>; 521*430ee40dSJeff LaBundy }; 522*430ee40dSJeff LaBundy }; 523*430ee40dSJeff LaBundy 524*430ee40dSJeff LaBundy channel@1 { 525*430ee40dSJeff LaBundy reg = <0x1>; 526*430ee40dSJeff LaBundy azoteq,slider0-select; 527*430ee40dSJeff LaBundy }; 528*430ee40dSJeff LaBundy 529*430ee40dSJeff LaBundy channel@2 { 530*430ee40dSJeff LaBundy reg = <0x2>; 531*430ee40dSJeff LaBundy azoteq,slider0-select; 532*430ee40dSJeff LaBundy }; 533*430ee40dSJeff LaBundy 534*430ee40dSJeff LaBundy channel@3 { 535*430ee40dSJeff LaBundy reg = <0x3>; 536*430ee40dSJeff LaBundy azoteq,slider0-select; 537*430ee40dSJeff LaBundy }; 538*430ee40dSJeff LaBundy 539*430ee40dSJeff LaBundy channel@4 { 540*430ee40dSJeff LaBundy reg = <0x4>; 541*430ee40dSJeff LaBundy azoteq,slider0-select; 542*430ee40dSJeff LaBundy }; 543*430ee40dSJeff LaBundy 544*430ee40dSJeff LaBundy channel@5 { 545*430ee40dSJeff LaBundy reg = <0x5>; 546*430ee40dSJeff LaBundy azoteq,slider0-select; 547*430ee40dSJeff LaBundy }; 548*430ee40dSJeff LaBundy 549*430ee40dSJeff LaBundy channel@6 { 550*430ee40dSJeff LaBundy reg = <0x6>; 551*430ee40dSJeff LaBundy azoteq,invert-enable; 552*430ee40dSJeff LaBundy azoteq,static-enable; 553*430ee40dSJeff LaBundy azoteq,reseed-disable; 554*430ee40dSJeff LaBundy azoteq,rx-enable = <0>; 555*430ee40dSJeff LaBundy azoteq,sense-freq = <0x0>; 556*430ee40dSJeff LaBundy azoteq,sense-mode = <0xE>; 557*430ee40dSJeff LaBundy azoteq,ati-mode = <0x0>; 558*430ee40dSJeff LaBundy azoteq,ati-base = <200>; 559*430ee40dSJeff LaBundy azoteq,ati-target = <320>; 560*430ee40dSJeff LaBundy }; 561*430ee40dSJeff LaBundy 562*430ee40dSJeff LaBundy channel@7 { 563*430ee40dSJeff LaBundy reg = <0x7>; 564*430ee40dSJeff LaBundy azoteq,invert-enable; 565*430ee40dSJeff LaBundy azoteq,static-enable; 566*430ee40dSJeff LaBundy azoteq,reseed-disable; 567*430ee40dSJeff LaBundy azoteq,rx-enable = <0>, <6>; 568*430ee40dSJeff LaBundy azoteq,sense-freq = <0x0>; 569*430ee40dSJeff LaBundy azoteq,sense-mode = <0xE>; 570*430ee40dSJeff LaBundy azoteq,ati-mode = <0x3>; 571*430ee40dSJeff LaBundy azoteq,ati-base = <200>; 572*430ee40dSJeff LaBundy azoteq,ati-target = <320>; 573*430ee40dSJeff LaBundy 574*430ee40dSJeff LaBundy event-touch { 575*430ee40dSJeff LaBundy linux,code = <SW_LID>; 576*430ee40dSJeff LaBundy }; 577*430ee40dSJeff LaBundy }; 578*430ee40dSJeff LaBundy }; 579*430ee40dSJeff LaBundy }; 580*430ee40dSJeff LaBundy 581*430ee40dSJeff LaBundy... 582