1d5b0e70fSEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2d5b0e70fSEmmanuel Vadot%YAML 1.2 3d5b0e70fSEmmanuel Vadot--- 4d5b0e70fSEmmanuel Vadot$id: http://devicetree.org/schemas/input/azoteq,iqs7222.yaml# 5d5b0e70fSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml# 6d5b0e70fSEmmanuel Vadot 7d5b0e70fSEmmanuel Vadottitle: Azoteq IQS7222A/B/C Capacitive Touch Controller 8d5b0e70fSEmmanuel Vadot 9d5b0e70fSEmmanuel Vadotmaintainers: 10d5b0e70fSEmmanuel Vadot - Jeff LaBundy <jeff@labundy.com> 11d5b0e70fSEmmanuel Vadot 12d5b0e70fSEmmanuel Vadotdescription: | 13d5b0e70fSEmmanuel Vadot The Azoteq IQS7222A, IQS7222B and IQS7222C are multichannel capacitive touch 14d5b0e70fSEmmanuel Vadot controllers that feature additional sensing capabilities. 15d5b0e70fSEmmanuel Vadot 16d5b0e70fSEmmanuel Vadot Link to datasheets: https://www.azoteq.com/ 17d5b0e70fSEmmanuel Vadot 18d5b0e70fSEmmanuel Vadotproperties: 19d5b0e70fSEmmanuel Vadot compatible: 20d5b0e70fSEmmanuel Vadot enum: 21d5b0e70fSEmmanuel Vadot - azoteq,iqs7222a 22d5b0e70fSEmmanuel Vadot - azoteq,iqs7222b 23d5b0e70fSEmmanuel Vadot - azoteq,iqs7222c 24d5b0e70fSEmmanuel Vadot 25d5b0e70fSEmmanuel Vadot reg: 26d5b0e70fSEmmanuel Vadot maxItems: 1 27d5b0e70fSEmmanuel Vadot 28d5b0e70fSEmmanuel Vadot irq-gpios: 29d5b0e70fSEmmanuel Vadot maxItems: 1 30d5b0e70fSEmmanuel Vadot description: 31d5b0e70fSEmmanuel Vadot Specifies the GPIO connected to the device's active-low RDY output. 32d5b0e70fSEmmanuel Vadot 33d5b0e70fSEmmanuel Vadot reset-gpios: 34d5b0e70fSEmmanuel Vadot maxItems: 1 35d5b0e70fSEmmanuel Vadot description: 36d5b0e70fSEmmanuel Vadot Specifies the GPIO connected to the device's active-low MCLR input. The 37d5b0e70fSEmmanuel Vadot device is temporarily held in hardware reset prior to initialization if 38d5b0e70fSEmmanuel Vadot this property is present. 39d5b0e70fSEmmanuel Vadot 40d5b0e70fSEmmanuel Vadot azoteq,max-counts: 41d5b0e70fSEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/uint32 42d5b0e70fSEmmanuel Vadot enum: [0, 1, 2, 3] 43d5b0e70fSEmmanuel Vadot description: | 44d5b0e70fSEmmanuel Vadot Specifies the maximum number of conversion periods (counts) that can be 45d5b0e70fSEmmanuel Vadot reported as follows: 46d5b0e70fSEmmanuel Vadot 0: 1023 47d5b0e70fSEmmanuel Vadot 1: 2047 48d5b0e70fSEmmanuel Vadot 2: 4095 49d5b0e70fSEmmanuel Vadot 3: 16384 50d5b0e70fSEmmanuel Vadot 51d5b0e70fSEmmanuel Vadot azoteq,auto-mode: 52d5b0e70fSEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/uint32 53d5b0e70fSEmmanuel Vadot enum: [0, 1, 2, 3] 54d5b0e70fSEmmanuel Vadot description: | 55d5b0e70fSEmmanuel Vadot Specifies the number of conversions to occur before an interrupt is 56d5b0e70fSEmmanuel Vadot generated as follows: 57d5b0e70fSEmmanuel Vadot 0: 4 58d5b0e70fSEmmanuel Vadot 1: 8 59d5b0e70fSEmmanuel Vadot 2: 16 60d5b0e70fSEmmanuel Vadot 3: 32 61d5b0e70fSEmmanuel Vadot 62d5b0e70fSEmmanuel Vadot azoteq,ati-frac-div-fine: 63d5b0e70fSEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/uint32 64d5b0e70fSEmmanuel Vadot minimum: 0 65d5b0e70fSEmmanuel Vadot maximum: 31 66d5b0e70fSEmmanuel Vadot description: Specifies the preloaded ATI fine fractional divider. 67d5b0e70fSEmmanuel Vadot 68d5b0e70fSEmmanuel Vadot azoteq,ati-frac-div-coarse: 69d5b0e70fSEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/uint32 70d5b0e70fSEmmanuel Vadot minimum: 0 71d5b0e70fSEmmanuel Vadot maximum: 31 72d5b0e70fSEmmanuel Vadot description: Specifies the preloaded ATI coarse fractional divider. 73d5b0e70fSEmmanuel Vadot 74d5b0e70fSEmmanuel Vadot azoteq,ati-comp-select: 75d5b0e70fSEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/uint32 76d5b0e70fSEmmanuel Vadot minimum: 0 77d5b0e70fSEmmanuel Vadot maximum: 1023 78d5b0e70fSEmmanuel Vadot description: Specifies the preloaded ATI compensation selection. 79d5b0e70fSEmmanuel Vadot 80d5b0e70fSEmmanuel Vadot azoteq,lta-beta-lp: 81d5b0e70fSEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/uint32 82d5b0e70fSEmmanuel Vadot minimum: 0 83d5b0e70fSEmmanuel Vadot maximum: 15 84d5b0e70fSEmmanuel Vadot description: 85d5b0e70fSEmmanuel Vadot Specifies the long-term average filter damping factor to be applied during 86d5b0e70fSEmmanuel Vadot low-power mode. 87d5b0e70fSEmmanuel Vadot 88d5b0e70fSEmmanuel Vadot azoteq,lta-beta-np: 89d5b0e70fSEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/uint32 90d5b0e70fSEmmanuel Vadot minimum: 0 91d5b0e70fSEmmanuel Vadot maximum: 15 92d5b0e70fSEmmanuel Vadot description: 93d5b0e70fSEmmanuel Vadot Specifies the long-term average filter damping factor to be applied during 94d5b0e70fSEmmanuel Vadot normal-power mode. 95d5b0e70fSEmmanuel Vadot 96d5b0e70fSEmmanuel Vadot azoteq,counts-beta-lp: 97d5b0e70fSEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/uint32 98d5b0e70fSEmmanuel Vadot minimum: 0 99d5b0e70fSEmmanuel Vadot maximum: 15 100d5b0e70fSEmmanuel Vadot description: 101d5b0e70fSEmmanuel Vadot Specifies the counts filter damping factor to be applied during low-power 102d5b0e70fSEmmanuel Vadot mode. 103d5b0e70fSEmmanuel Vadot 104d5b0e70fSEmmanuel Vadot azoteq,counts-beta-np: 105d5b0e70fSEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/uint32 106d5b0e70fSEmmanuel Vadot minimum: 0 107d5b0e70fSEmmanuel Vadot maximum: 15 108d5b0e70fSEmmanuel Vadot description: 109d5b0e70fSEmmanuel Vadot Specifies the counts filter damping factor to be applied during normal- 110d5b0e70fSEmmanuel Vadot power mode. 111d5b0e70fSEmmanuel Vadot 112d5b0e70fSEmmanuel Vadot azoteq,lta-fast-beta-lp: 113d5b0e70fSEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/uint32 114d5b0e70fSEmmanuel Vadot minimum: 0 115d5b0e70fSEmmanuel Vadot maximum: 15 116d5b0e70fSEmmanuel Vadot description: 117d5b0e70fSEmmanuel Vadot Specifies the long-term average filter fast damping factor to be applied 118d5b0e70fSEmmanuel Vadot during low-power mode. 119d5b0e70fSEmmanuel Vadot 120d5b0e70fSEmmanuel Vadot azoteq,lta-fast-beta-np: 121d5b0e70fSEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/uint32 122d5b0e70fSEmmanuel Vadot minimum: 0 123d5b0e70fSEmmanuel Vadot maximum: 15 124d5b0e70fSEmmanuel Vadot description: 125d5b0e70fSEmmanuel Vadot Specifies the long-term average filter fast damping factor to be applied 126d5b0e70fSEmmanuel Vadot during normal-power mode. 127d5b0e70fSEmmanuel Vadot 128d5b0e70fSEmmanuel Vadot azoteq,timeout-ati-ms: 129d5b0e70fSEmmanuel Vadot multipleOf: 500 130d5b0e70fSEmmanuel Vadot minimum: 0 131d5b0e70fSEmmanuel Vadot maximum: 32767500 132d5b0e70fSEmmanuel Vadot description: 133d5b0e70fSEmmanuel Vadot Specifies the delay (in ms) before ATI is retried following an ATI error. 134d5b0e70fSEmmanuel Vadot 135d5b0e70fSEmmanuel Vadot azoteq,rate-ati-ms: 136d5b0e70fSEmmanuel Vadot minimum: 0 137d5b0e70fSEmmanuel Vadot maximum: 65535 138d5b0e70fSEmmanuel Vadot description: Specifies the rate (in ms) at which ATI status is evaluated. 139d5b0e70fSEmmanuel Vadot 140d5b0e70fSEmmanuel Vadot azoteq,timeout-np-ms: 141d5b0e70fSEmmanuel Vadot minimum: 0 142d5b0e70fSEmmanuel Vadot maximum: 65535 143d5b0e70fSEmmanuel Vadot description: 144d5b0e70fSEmmanuel Vadot Specifies the length of time (in ms) to wait for an event before moving 145d5b0e70fSEmmanuel Vadot from normal-power mode to low-power mode. 146d5b0e70fSEmmanuel Vadot 147d5b0e70fSEmmanuel Vadot azoteq,rate-np-ms: 148d5b0e70fSEmmanuel Vadot minimum: 0 149d5b0e70fSEmmanuel Vadot maximum: 3000 150d5b0e70fSEmmanuel Vadot description: Specifies the report rate (in ms) during normal-power mode. 151d5b0e70fSEmmanuel Vadot 152d5b0e70fSEmmanuel Vadot azoteq,timeout-lp-ms: 153d5b0e70fSEmmanuel Vadot minimum: 0 154d5b0e70fSEmmanuel Vadot maximum: 65535 155d5b0e70fSEmmanuel Vadot description: 156d5b0e70fSEmmanuel Vadot Specifies the length of time (in ms) to wait for an event before moving 157d5b0e70fSEmmanuel Vadot from low-power mode to ultra-low-power mode. 158d5b0e70fSEmmanuel Vadot 159d5b0e70fSEmmanuel Vadot azoteq,rate-lp-ms: 160d5b0e70fSEmmanuel Vadot minimum: 0 161d5b0e70fSEmmanuel Vadot maximum: 3000 162d5b0e70fSEmmanuel Vadot description: Specifies the report rate (in ms) during low-power mode. 163d5b0e70fSEmmanuel Vadot 164d5b0e70fSEmmanuel Vadot azoteq,timeout-ulp-ms: 165d5b0e70fSEmmanuel Vadot minimum: 0 166d5b0e70fSEmmanuel Vadot maximum: 65535 167d5b0e70fSEmmanuel Vadot description: 168d5b0e70fSEmmanuel Vadot Specifies the rate (in ms) at which channels not regularly sampled during 169d5b0e70fSEmmanuel Vadot ultra-low-power mode are updated. 170d5b0e70fSEmmanuel Vadot 171d5b0e70fSEmmanuel Vadot azoteq,rate-ulp-ms: 172d5b0e70fSEmmanuel Vadot minimum: 0 173d5b0e70fSEmmanuel Vadot maximum: 3000 174d5b0e70fSEmmanuel Vadot description: Specifies the report rate (in ms) during ultra-low-power mode. 175d5b0e70fSEmmanuel Vadot 176d5b0e70fSEmmanuel VadotpatternProperties: 177d5b0e70fSEmmanuel Vadot "^cycle-[0-9]$": 178d5b0e70fSEmmanuel Vadot type: object 179d5b0e70fSEmmanuel Vadot description: Represents a conversion cycle serving two sensing channels. 180d5b0e70fSEmmanuel Vadot 181d5b0e70fSEmmanuel Vadot properties: 182d5b0e70fSEmmanuel Vadot azoteq,conv-period: 183d5b0e70fSEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/uint32 184d5b0e70fSEmmanuel Vadot minimum: 0 185d5b0e70fSEmmanuel Vadot maximum: 255 186d5b0e70fSEmmanuel Vadot description: Specifies the cycle's conversion period. 187d5b0e70fSEmmanuel Vadot 188d5b0e70fSEmmanuel Vadot azoteq,conv-frac: 189d5b0e70fSEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/uint32 190d5b0e70fSEmmanuel Vadot minimum: 0 191d5b0e70fSEmmanuel Vadot maximum: 255 192d5b0e70fSEmmanuel Vadot description: Specifies the cycle's conversion frequency fraction. 193d5b0e70fSEmmanuel Vadot 194d5b0e70fSEmmanuel Vadot azoteq,tx-enable: 195d5b0e70fSEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/uint32-array 196d5b0e70fSEmmanuel Vadot minItems: 1 197d5b0e70fSEmmanuel Vadot maxItems: 9 198d5b0e70fSEmmanuel Vadot items: 199d5b0e70fSEmmanuel Vadot minimum: 0 200d5b0e70fSEmmanuel Vadot maximum: 8 201d5b0e70fSEmmanuel Vadot description: Specifies the CTx pin(s) associated with the cycle. 202d5b0e70fSEmmanuel Vadot 203d5b0e70fSEmmanuel Vadot azoteq,rx-float-inactive: 204d5b0e70fSEmmanuel Vadot type: boolean 205d5b0e70fSEmmanuel Vadot description: Floats any inactive CRx pins instead of grounding them. 206d5b0e70fSEmmanuel Vadot 207d5b0e70fSEmmanuel Vadot azoteq,dead-time-enable: 208d5b0e70fSEmmanuel Vadot type: boolean 209d5b0e70fSEmmanuel Vadot description: 210d5b0e70fSEmmanuel Vadot Increases the denominator of the conversion frequency formula by one. 211d5b0e70fSEmmanuel Vadot 212d5b0e70fSEmmanuel Vadot azoteq,tx-freq-fosc: 213d5b0e70fSEmmanuel Vadot type: boolean 214d5b0e70fSEmmanuel Vadot description: 215d5b0e70fSEmmanuel Vadot Fixes the conversion frequency to that of the device's core clock. 216d5b0e70fSEmmanuel Vadot 217d5b0e70fSEmmanuel Vadot azoteq,vbias-enable: 218d5b0e70fSEmmanuel Vadot type: boolean 219d5b0e70fSEmmanuel Vadot description: Enables the bias voltage for use during inductive sensing. 220d5b0e70fSEmmanuel Vadot 221d5b0e70fSEmmanuel Vadot azoteq,sense-mode: 222d5b0e70fSEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/uint32 223d5b0e70fSEmmanuel Vadot enum: [0, 1, 2, 3] 224d5b0e70fSEmmanuel Vadot description: | 225d5b0e70fSEmmanuel Vadot Specifies the cycle's sensing mode as follows: 226d5b0e70fSEmmanuel Vadot 0: None 227d5b0e70fSEmmanuel Vadot 1: Self capacitive 228d5b0e70fSEmmanuel Vadot 2: Mutual capacitive 229d5b0e70fSEmmanuel Vadot 3: Inductive 230d5b0e70fSEmmanuel Vadot 231d5b0e70fSEmmanuel Vadot Note that in the case of IQS7222A, cycles 5 and 6 are restricted to 232d5b0e70fSEmmanuel Vadot Hall-effect sensing. 233d5b0e70fSEmmanuel Vadot 234d5b0e70fSEmmanuel Vadot azoteq,iref-enable: 235d5b0e70fSEmmanuel Vadot type: boolean 236d5b0e70fSEmmanuel Vadot description: 237d5b0e70fSEmmanuel Vadot Enables the current reference for use during various sensing modes. 238d5b0e70fSEmmanuel Vadot 239d5b0e70fSEmmanuel Vadot azoteq,iref-level: 240d5b0e70fSEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/uint32 241d5b0e70fSEmmanuel Vadot minimum: 0 242d5b0e70fSEmmanuel Vadot maximum: 15 243d5b0e70fSEmmanuel Vadot description: Specifies the cycle's current reference level. 244d5b0e70fSEmmanuel Vadot 245d5b0e70fSEmmanuel Vadot azoteq,iref-trim: 246d5b0e70fSEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/uint32 247d5b0e70fSEmmanuel Vadot minimum: 0 248d5b0e70fSEmmanuel Vadot maximum: 15 249d5b0e70fSEmmanuel Vadot description: Specifies the cycle's current reference trim. 250d5b0e70fSEmmanuel Vadot 251d5b0e70fSEmmanuel Vadot dependencies: 252d5b0e70fSEmmanuel Vadot azoteq,iref-level: ["azoteq,iref-enable"] 253d5b0e70fSEmmanuel Vadot azoteq,iref-trim: ["azoteq,iref-enable"] 254d5b0e70fSEmmanuel Vadot 255d5b0e70fSEmmanuel Vadot additionalProperties: false 256d5b0e70fSEmmanuel Vadot 257d5b0e70fSEmmanuel Vadot "^channel-([0-9]|1[0-9])$": 258d5b0e70fSEmmanuel Vadot type: object 259d5b0e70fSEmmanuel Vadot description: 260d5b0e70fSEmmanuel Vadot Represents a single sensing channel. A channel is active if defined and 261d5b0e70fSEmmanuel Vadot inactive otherwise. 262d5b0e70fSEmmanuel Vadot 263d5b0e70fSEmmanuel Vadot Note that in the case of IQS7222A, channels 10 and 11 are restricted to 264d5b0e70fSEmmanuel Vadot Hall-effect sensing with events reported on channel 10 only. 265d5b0e70fSEmmanuel Vadot 266d5b0e70fSEmmanuel Vadot properties: 267d5b0e70fSEmmanuel Vadot azoteq,ulp-allow: 268d5b0e70fSEmmanuel Vadot type: boolean 269d5b0e70fSEmmanuel Vadot description: 270d5b0e70fSEmmanuel Vadot Permits the device to enter ultra-low-power mode while the channel 271d5b0e70fSEmmanuel Vadot lies in a state of touch or proximity. 272d5b0e70fSEmmanuel Vadot 273d5b0e70fSEmmanuel Vadot azoteq,ref-select: 274d5b0e70fSEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/uint32 275d5b0e70fSEmmanuel Vadot minimum: 0 276d5b0e70fSEmmanuel Vadot maximum: 9 277d5b0e70fSEmmanuel Vadot description: Specifies a separate reference channel to be followed. 278d5b0e70fSEmmanuel Vadot 279d5b0e70fSEmmanuel Vadot azoteq,ref-weight: 280d5b0e70fSEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/uint32 281d5b0e70fSEmmanuel Vadot minimum: 0 282d5b0e70fSEmmanuel Vadot maximum: 65535 283d5b0e70fSEmmanuel Vadot description: Specifies the relative weight of the reference channel. 284d5b0e70fSEmmanuel Vadot 285d5b0e70fSEmmanuel Vadot azoteq,use-prox: 286d5b0e70fSEmmanuel Vadot type: boolean 287d5b0e70fSEmmanuel Vadot description: 288d5b0e70fSEmmanuel Vadot Activates the reference channel in response to proximity events 289d5b0e70fSEmmanuel Vadot instead of touch events. 290d5b0e70fSEmmanuel Vadot 291d5b0e70fSEmmanuel Vadot azoteq,ati-band: 292d5b0e70fSEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/uint32 293d5b0e70fSEmmanuel Vadot enum: [0, 1, 2, 3] 294d5b0e70fSEmmanuel Vadot description: | 295d5b0e70fSEmmanuel Vadot Specifies the channel's ATI band as a fraction of its ATI target as 296d5b0e70fSEmmanuel Vadot follows: 297d5b0e70fSEmmanuel Vadot 0: 1/16 298d5b0e70fSEmmanuel Vadot 1: 1/8 299d5b0e70fSEmmanuel Vadot 2: 1/4 300d5b0e70fSEmmanuel Vadot 3: 1/2 301d5b0e70fSEmmanuel Vadot 302d5b0e70fSEmmanuel Vadot azoteq,global-halt: 303d5b0e70fSEmmanuel Vadot type: boolean 304d5b0e70fSEmmanuel Vadot description: 305d5b0e70fSEmmanuel Vadot Specifies that the channel's long-term average is to freeze if any 306d5b0e70fSEmmanuel Vadot other participating channel lies in a proximity or touch state. 307d5b0e70fSEmmanuel Vadot 308d5b0e70fSEmmanuel Vadot azoteq,invert-enable: 309d5b0e70fSEmmanuel Vadot type: boolean 310d5b0e70fSEmmanuel Vadot description: 311d5b0e70fSEmmanuel Vadot Inverts the polarity of the states reported for proximity and touch 312d5b0e70fSEmmanuel Vadot events relative to their respective thresholds. 313d5b0e70fSEmmanuel Vadot 314d5b0e70fSEmmanuel Vadot azoteq,dual-direction: 315d5b0e70fSEmmanuel Vadot type: boolean 316d5b0e70fSEmmanuel Vadot description: 317d5b0e70fSEmmanuel Vadot Specifies that the channel's long-term average is to freeze in the 318d5b0e70fSEmmanuel Vadot presence of either increasing or decreasing counts, thereby permit- 319d5b0e70fSEmmanuel Vadot ting events to be reported in either direction. 320d5b0e70fSEmmanuel Vadot 321d5b0e70fSEmmanuel Vadot azoteq,rx-enable: 322d5b0e70fSEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/uint32-array 323d5b0e70fSEmmanuel Vadot minItems: 1 324d5b0e70fSEmmanuel Vadot maxItems: 4 325d5b0e70fSEmmanuel Vadot items: 326d5b0e70fSEmmanuel Vadot minimum: 0 327d5b0e70fSEmmanuel Vadot maximum: 7 328d5b0e70fSEmmanuel Vadot description: Specifies the CRx pin(s) associated with the channel. 329d5b0e70fSEmmanuel Vadot 330d5b0e70fSEmmanuel Vadot azoteq,samp-cap-double: 331d5b0e70fSEmmanuel Vadot type: boolean 332d5b0e70fSEmmanuel Vadot description: Doubles the sampling capacitance from 40 pF to 80 pF. 333d5b0e70fSEmmanuel Vadot 334d5b0e70fSEmmanuel Vadot azoteq,vref-half: 335d5b0e70fSEmmanuel Vadot type: boolean 336d5b0e70fSEmmanuel Vadot description: Halves the discharge threshold from 1.0 V to 0.5 V. 337d5b0e70fSEmmanuel Vadot 338d5b0e70fSEmmanuel Vadot azoteq,proj-bias: 339d5b0e70fSEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/uint32 340d5b0e70fSEmmanuel Vadot enum: [0, 1, 2, 3] 341d5b0e70fSEmmanuel Vadot description: | 342d5b0e70fSEmmanuel Vadot Specifies the bias current applied during mutual (projected) 343d5b0e70fSEmmanuel Vadot capacitive sensing as follows: 344d5b0e70fSEmmanuel Vadot 0: 2 uA 345d5b0e70fSEmmanuel Vadot 1: 5 uA 346d5b0e70fSEmmanuel Vadot 2: 7 uA 347d5b0e70fSEmmanuel Vadot 3: 10 uA 348d5b0e70fSEmmanuel Vadot 349d5b0e70fSEmmanuel Vadot azoteq,ati-target: 350d5b0e70fSEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/uint32 351d5b0e70fSEmmanuel Vadot multipleOf: 8 352d5b0e70fSEmmanuel Vadot minimum: 0 353d5b0e70fSEmmanuel Vadot maximum: 2040 354d5b0e70fSEmmanuel Vadot description: Specifies the channel's ATI target. 355d5b0e70fSEmmanuel Vadot 356d5b0e70fSEmmanuel Vadot azoteq,ati-base: 357d5b0e70fSEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/uint32 358d5b0e70fSEmmanuel Vadot multipleOf: 16 359d5b0e70fSEmmanuel Vadot minimum: 0 360d5b0e70fSEmmanuel Vadot maximum: 496 361d5b0e70fSEmmanuel Vadot description: Specifies the channel's ATI base. 362d5b0e70fSEmmanuel Vadot 363d5b0e70fSEmmanuel Vadot azoteq,ati-mode: 364d5b0e70fSEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/uint32 365d5b0e70fSEmmanuel Vadot enum: [0, 1, 2, 3, 4, 5] 366d5b0e70fSEmmanuel Vadot description: | 367d5b0e70fSEmmanuel Vadot Specifies the channel's ATI mode as follows: 368d5b0e70fSEmmanuel Vadot 0: Disabled 369d5b0e70fSEmmanuel Vadot 1: Compensation 370d5b0e70fSEmmanuel Vadot 2: Compensation divider 371d5b0e70fSEmmanuel Vadot 3: Fine fractional divider 372d5b0e70fSEmmanuel Vadot 4: Coarse fractional divider 373d5b0e70fSEmmanuel Vadot 5: Full 374d5b0e70fSEmmanuel Vadot 375d5b0e70fSEmmanuel Vadot azoteq,ati-frac-div-fine: 376d5b0e70fSEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/uint32 377d5b0e70fSEmmanuel Vadot minimum: 0 378d5b0e70fSEmmanuel Vadot maximum: 31 379d5b0e70fSEmmanuel Vadot description: Specifies the channel's ATI fine fractional divider. 380d5b0e70fSEmmanuel Vadot 381d5b0e70fSEmmanuel Vadot azoteq,ati-frac-mult-coarse: 382d5b0e70fSEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/uint32 383d5b0e70fSEmmanuel Vadot minimum: 0 384d5b0e70fSEmmanuel Vadot maximum: 15 385d5b0e70fSEmmanuel Vadot description: Specifies the channel's ATI coarse fractional multiplier. 386d5b0e70fSEmmanuel Vadot 387d5b0e70fSEmmanuel Vadot azoteq,ati-frac-div-coarse: 388d5b0e70fSEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/uint32 389d5b0e70fSEmmanuel Vadot minimum: 0 390d5b0e70fSEmmanuel Vadot maximum: 31 391d5b0e70fSEmmanuel Vadot description: Specifies the channel's ATI coarse fractional divider. 392d5b0e70fSEmmanuel Vadot 393d5b0e70fSEmmanuel Vadot azoteq,ati-comp-div: 394d5b0e70fSEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/uint32 395d5b0e70fSEmmanuel Vadot minimum: 0 396d5b0e70fSEmmanuel Vadot maximum: 31 397d5b0e70fSEmmanuel Vadot description: Specifies the channel's ATI compensation divider. 398d5b0e70fSEmmanuel Vadot 399d5b0e70fSEmmanuel Vadot azoteq,ati-comp-select: 400d5b0e70fSEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/uint32 401d5b0e70fSEmmanuel Vadot minimum: 0 402d5b0e70fSEmmanuel Vadot maximum: 1023 403d5b0e70fSEmmanuel Vadot description: Specifies the channel's ATI compensation selection. 404d5b0e70fSEmmanuel Vadot 405d5b0e70fSEmmanuel Vadot azoteq,debounce-enter: 406d5b0e70fSEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/uint32 407d5b0e70fSEmmanuel Vadot minimum: 0 408d5b0e70fSEmmanuel Vadot maximum: 15 409d5b0e70fSEmmanuel Vadot description: Specifies the channel's debounce entrance factor. 410d5b0e70fSEmmanuel Vadot 411d5b0e70fSEmmanuel Vadot azoteq,debounce-exit: 412d5b0e70fSEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/uint32 413d5b0e70fSEmmanuel Vadot minimum: 0 414d5b0e70fSEmmanuel Vadot maximum: 15 415d5b0e70fSEmmanuel Vadot description: Specifies the channel's debounce exit factor. 416d5b0e70fSEmmanuel Vadot 417d5b0e70fSEmmanuel Vadot patternProperties: 418d5b0e70fSEmmanuel Vadot "^event-(prox|touch)$": 419d5b0e70fSEmmanuel Vadot type: object 420b97ee269SEmmanuel Vadot $ref: input.yaml# 421d5b0e70fSEmmanuel Vadot description: 422d5b0e70fSEmmanuel Vadot Represents a proximity or touch event reported by the channel. 423d5b0e70fSEmmanuel Vadot 424d5b0e70fSEmmanuel Vadot properties: 425d5b0e70fSEmmanuel Vadot azoteq,gpio-select: 426d5b0e70fSEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/uint32-array 427d5b0e70fSEmmanuel Vadot minItems: 1 428d5b0e70fSEmmanuel Vadot maxItems: 3 429d5b0e70fSEmmanuel Vadot items: 430d5b0e70fSEmmanuel Vadot minimum: 0 431d5b0e70fSEmmanuel Vadot maximum: 2 432d5b0e70fSEmmanuel Vadot description: | 433d5b0e70fSEmmanuel Vadot Specifies one or more GPIO mapped to the event as follows: 434d5b0e70fSEmmanuel Vadot 0: GPIO0 435d5b0e70fSEmmanuel Vadot 1: GPIO3 (IQS7222C only) 436d5b0e70fSEmmanuel Vadot 2: GPIO4 (IQS7222C only) 437d5b0e70fSEmmanuel Vadot 438d5b0e70fSEmmanuel Vadot Note that although multiple events can be mapped to a single 439d5b0e70fSEmmanuel Vadot GPIO, they must all be of the same type (proximity, touch or 440d5b0e70fSEmmanuel Vadot slider gesture). 441d5b0e70fSEmmanuel Vadot 442d5b0e70fSEmmanuel Vadot azoteq,thresh: 443d5b0e70fSEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/uint32 444d5b0e70fSEmmanuel Vadot description: 445d5b0e70fSEmmanuel Vadot Specifies the threshold for the event. Valid entries range from 446d5b0e70fSEmmanuel Vadot 0-127 and 0-255 for proximity and touch events, respectively. 447d5b0e70fSEmmanuel Vadot 448d5b0e70fSEmmanuel Vadot azoteq,hyst: 449d5b0e70fSEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/uint32 450d5b0e70fSEmmanuel Vadot minimum: 0 451d5b0e70fSEmmanuel Vadot maximum: 255 452d5b0e70fSEmmanuel Vadot description: 453d5b0e70fSEmmanuel Vadot Specifies the hysteresis for the event (touch events only). 454d5b0e70fSEmmanuel Vadot 455d5b0e70fSEmmanuel Vadot azoteq,timeout-press-ms: 456d5b0e70fSEmmanuel Vadot multipleOf: 500 457d5b0e70fSEmmanuel Vadot minimum: 0 458d5b0e70fSEmmanuel Vadot maximum: 127500 459d5b0e70fSEmmanuel Vadot description: 460d5b0e70fSEmmanuel Vadot Specifies the length of time (in ms) to wait before automatically 461d5b0e70fSEmmanuel Vadot releasing a press event. Specify zero to allow the press state to 462d5b0e70fSEmmanuel Vadot persist indefinitely. 463d5b0e70fSEmmanuel Vadot 464d5b0e70fSEmmanuel Vadot The IQS7222B does not feature channel-specific timeouts; the time- 465d5b0e70fSEmmanuel Vadot out specified for any one channel applies to all channels. 466d5b0e70fSEmmanuel Vadot 467b97ee269SEmmanuel Vadot linux,code: true 468d5b0e70fSEmmanuel Vadot 469d5b0e70fSEmmanuel Vadot linux,input-type: 470d5b0e70fSEmmanuel Vadot enum: [1, 5] 471d5b0e70fSEmmanuel Vadot default: 1 472d5b0e70fSEmmanuel Vadot description: 473d5b0e70fSEmmanuel Vadot Specifies whether the event is to be interpreted as a key (1) 474d5b0e70fSEmmanuel Vadot or a switch (5). 475d5b0e70fSEmmanuel Vadot 476d5b0e70fSEmmanuel Vadot additionalProperties: false 477d5b0e70fSEmmanuel Vadot 478d5b0e70fSEmmanuel Vadot dependencies: 479d5b0e70fSEmmanuel Vadot azoteq,ref-weight: ["azoteq,ref-select"] 480d5b0e70fSEmmanuel Vadot azoteq,use-prox: ["azoteq,ref-select"] 481d5b0e70fSEmmanuel Vadot 482d5b0e70fSEmmanuel Vadot additionalProperties: false 483d5b0e70fSEmmanuel Vadot 484d5b0e70fSEmmanuel Vadot "^slider-[0-1]$": 485d5b0e70fSEmmanuel Vadot type: object 486d5b0e70fSEmmanuel Vadot description: Represents a slider comprising three or four channels. 487d5b0e70fSEmmanuel Vadot 488d5b0e70fSEmmanuel Vadot properties: 489d5b0e70fSEmmanuel Vadot azoteq,channel-select: 490d5b0e70fSEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/uint32-array 491d5b0e70fSEmmanuel Vadot minItems: 3 492d5b0e70fSEmmanuel Vadot maxItems: 4 493d5b0e70fSEmmanuel Vadot items: 494d5b0e70fSEmmanuel Vadot minimum: 0 495d5b0e70fSEmmanuel Vadot maximum: 9 496d5b0e70fSEmmanuel Vadot description: 497d5b0e70fSEmmanuel Vadot Specifies the order of the channels that participate in the slider. 498d5b0e70fSEmmanuel Vadot 499d5b0e70fSEmmanuel Vadot azoteq,slider-size: 500d5b0e70fSEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/uint32 501*8bab661aSEmmanuel Vadot minimum: 1 502d5b0e70fSEmmanuel Vadot maximum: 65535 503d5b0e70fSEmmanuel Vadot description: 504d5b0e70fSEmmanuel Vadot Specifies the slider's one-dimensional resolution, equal to the 505d5b0e70fSEmmanuel Vadot maximum coordinate plus one. 506d5b0e70fSEmmanuel Vadot 507d5b0e70fSEmmanuel Vadot azoteq,lower-cal: 508d5b0e70fSEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/uint32 509d5b0e70fSEmmanuel Vadot minimum: 0 510d5b0e70fSEmmanuel Vadot maximum: 255 511d5b0e70fSEmmanuel Vadot description: Specifies the slider's lower starting point. 512d5b0e70fSEmmanuel Vadot 513d5b0e70fSEmmanuel Vadot azoteq,upper-cal: 514d5b0e70fSEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/uint32 515d5b0e70fSEmmanuel Vadot minimum: 0 516d5b0e70fSEmmanuel Vadot maximum: 255 517d5b0e70fSEmmanuel Vadot description: Specifies the slider's upper starting point. 518d5b0e70fSEmmanuel Vadot 519d5b0e70fSEmmanuel Vadot azoteq,top-speed: 520d5b0e70fSEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/uint32 521d5b0e70fSEmmanuel Vadot minimum: 0 522d5b0e70fSEmmanuel Vadot maximum: 65535 523d5b0e70fSEmmanuel Vadot description: 524d5b0e70fSEmmanuel Vadot Specifies the speed of movement after which coordinate filtering is 525d5b0e70fSEmmanuel Vadot no longer applied. 526d5b0e70fSEmmanuel Vadot 527d5b0e70fSEmmanuel Vadot azoteq,bottom-speed: 528d5b0e70fSEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/uint32 529d5b0e70fSEmmanuel Vadot minimum: 0 530b97ee269SEmmanuel Vadot maximum: 255 531d5b0e70fSEmmanuel Vadot description: 532d5b0e70fSEmmanuel Vadot Specifies the speed of movement after which coordinate filtering is 533d5b0e70fSEmmanuel Vadot linearly reduced. 534d5b0e70fSEmmanuel Vadot 535d5b0e70fSEmmanuel Vadot azoteq,bottom-beta: 536d5b0e70fSEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/uint32 537d5b0e70fSEmmanuel Vadot minimum: 0 538d5b0e70fSEmmanuel Vadot maximum: 7 539d5b0e70fSEmmanuel Vadot description: 540d5b0e70fSEmmanuel Vadot Specifies the coordinate filter damping factor to be applied 541d5b0e70fSEmmanuel Vadot while the speed of movement is below that which is specified 542d5b0e70fSEmmanuel Vadot by azoteq,bottom-speed. 543d5b0e70fSEmmanuel Vadot 544d5b0e70fSEmmanuel Vadot azoteq,static-beta: 545d5b0e70fSEmmanuel Vadot type: boolean 546d5b0e70fSEmmanuel Vadot description: 547d5b0e70fSEmmanuel Vadot Applies the coordinate filter damping factor specified by 548d5b0e70fSEmmanuel Vadot azoteq,bottom-beta regardless of the speed of movement. 549d5b0e70fSEmmanuel Vadot 550d5b0e70fSEmmanuel Vadot azoteq,use-prox: 551d5b0e70fSEmmanuel Vadot type: boolean 552d5b0e70fSEmmanuel Vadot description: 553d5b0e70fSEmmanuel Vadot Directs the slider to respond to the proximity states of the selected 554d5b0e70fSEmmanuel Vadot channels instead of their corresponding touch states. Note the slider 555d5b0e70fSEmmanuel Vadot cannot report granular coordinates during a state of proximity. 556d5b0e70fSEmmanuel Vadot 557d5b0e70fSEmmanuel Vadot linux,axis: 558d5b0e70fSEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/uint32 559d5b0e70fSEmmanuel Vadot description: 560d5b0e70fSEmmanuel Vadot Specifies the absolute axis to which coordinates are mapped. Specify 561d5b0e70fSEmmanuel Vadot ABS_WHEEL to operate the slider as a wheel (IQS7222C only). 562d5b0e70fSEmmanuel Vadot 563d5b0e70fSEmmanuel Vadot patternProperties: 564d5b0e70fSEmmanuel Vadot "^event-(press|tap|(swipe|flick)-(pos|neg))$": 565d5b0e70fSEmmanuel Vadot type: object 566b97ee269SEmmanuel Vadot $ref: input.yaml# 567d5b0e70fSEmmanuel Vadot description: 568d5b0e70fSEmmanuel Vadot Represents a press or gesture (IQS7222A only) event reported by 569d5b0e70fSEmmanuel Vadot the slider. 570d5b0e70fSEmmanuel Vadot 571d5b0e70fSEmmanuel Vadot properties: 572b97ee269SEmmanuel Vadot linux,code: true 573d5b0e70fSEmmanuel Vadot 574d5b0e70fSEmmanuel Vadot azoteq,gesture-max-ms: 575*8bab661aSEmmanuel Vadot multipleOf: 16 576d5b0e70fSEmmanuel Vadot minimum: 0 577*8bab661aSEmmanuel Vadot maximum: 4080 578d5b0e70fSEmmanuel Vadot description: 579d5b0e70fSEmmanuel Vadot Specifies the length of time (in ms) within which a tap, swipe 580d5b0e70fSEmmanuel Vadot or flick gesture must be completed in order to be acknowledged 581d5b0e70fSEmmanuel Vadot by the device. The number specified for any one swipe or flick 582d5b0e70fSEmmanuel Vadot gesture applies to all remaining swipe or flick gestures. 583d5b0e70fSEmmanuel Vadot 584d5b0e70fSEmmanuel Vadot azoteq,gesture-min-ms: 585*8bab661aSEmmanuel Vadot multipleOf: 16 586d5b0e70fSEmmanuel Vadot minimum: 0 587*8bab661aSEmmanuel Vadot maximum: 496 588d5b0e70fSEmmanuel Vadot description: 589d5b0e70fSEmmanuel Vadot Specifies the length of time (in ms) for which a tap gesture must 590d5b0e70fSEmmanuel Vadot be held in order to be acknowledged by the device. 591d5b0e70fSEmmanuel Vadot 592d5b0e70fSEmmanuel Vadot azoteq,gesture-dist: 593d5b0e70fSEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/uint32 594d5b0e70fSEmmanuel Vadot multipleOf: 16 595d5b0e70fSEmmanuel Vadot minimum: 0 596d5b0e70fSEmmanuel Vadot maximum: 4080 597d5b0e70fSEmmanuel Vadot description: 598d5b0e70fSEmmanuel Vadot Specifies the distance across which a swipe or flick gesture must 599d5b0e70fSEmmanuel Vadot travel in order to be acknowledged by the device. The number spec- 600d5b0e70fSEmmanuel Vadot ified for any one swipe or flick gesture applies to all remaining 601d5b0e70fSEmmanuel Vadot swipe or flick gestures. 602d5b0e70fSEmmanuel Vadot 603d5b0e70fSEmmanuel Vadot azoteq,gpio-select: 604d5b0e70fSEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/uint32-array 605d5b0e70fSEmmanuel Vadot minItems: 1 606b97ee269SEmmanuel Vadot maxItems: 3 607d5b0e70fSEmmanuel Vadot items: 608d5b0e70fSEmmanuel Vadot minimum: 0 609b97ee269SEmmanuel Vadot maximum: 2 610d5b0e70fSEmmanuel Vadot description: | 611b97ee269SEmmanuel Vadot Specifies one or more GPIO mapped to the event as follows: 612d5b0e70fSEmmanuel Vadot 0: GPIO0 613b97ee269SEmmanuel Vadot 1: GPIO3 (IQS7222C only) 614b97ee269SEmmanuel Vadot 2: GPIO4 (IQS7222C only) 615d5b0e70fSEmmanuel Vadot 616d5b0e70fSEmmanuel Vadot Note that although multiple events can be mapped to a single 617d5b0e70fSEmmanuel Vadot GPIO, they must all be of the same type (proximity, touch or 618d5b0e70fSEmmanuel Vadot slider gesture). 619d5b0e70fSEmmanuel Vadot 620d5b0e70fSEmmanuel Vadot additionalProperties: false 621d5b0e70fSEmmanuel Vadot 622d5b0e70fSEmmanuel Vadot required: 623d5b0e70fSEmmanuel Vadot - azoteq,channel-select 624d5b0e70fSEmmanuel Vadot 625d5b0e70fSEmmanuel Vadot additionalProperties: false 626d5b0e70fSEmmanuel Vadot 627d5b0e70fSEmmanuel Vadot "^gpio-[0-2]$": 628d5b0e70fSEmmanuel Vadot type: object 629d5b0e70fSEmmanuel Vadot description: | 630d5b0e70fSEmmanuel Vadot Represents a GPIO mapped to one or more events as follows: 631d5b0e70fSEmmanuel Vadot gpio-0: GPIO0 632d5b0e70fSEmmanuel Vadot gpio-1: GPIO3 (IQS7222C only) 633d5b0e70fSEmmanuel Vadot gpio-2: GPIO4 (IQS7222C only) 634d5b0e70fSEmmanuel Vadot 635d5b0e70fSEmmanuel Vadot allOf: 636d5b0e70fSEmmanuel Vadot - $ref: ../pinctrl/pincfg-node.yaml# 637d5b0e70fSEmmanuel Vadot 638d5b0e70fSEmmanuel Vadot properties: 639d5b0e70fSEmmanuel Vadot drive-open-drain: true 640d5b0e70fSEmmanuel Vadot 641d5b0e70fSEmmanuel Vadot additionalProperties: false 642d5b0e70fSEmmanuel Vadot 643d5b0e70fSEmmanuel VadotallOf: 644d5b0e70fSEmmanuel Vadot - if: 645d5b0e70fSEmmanuel Vadot properties: 646d5b0e70fSEmmanuel Vadot compatible: 647d5b0e70fSEmmanuel Vadot contains: 648d5b0e70fSEmmanuel Vadot const: azoteq,iqs7222b 649d5b0e70fSEmmanuel Vadot 650d5b0e70fSEmmanuel Vadot then: 651d5b0e70fSEmmanuel Vadot patternProperties: 652d5b0e70fSEmmanuel Vadot "^cycle-[0-9]$": 653d5b0e70fSEmmanuel Vadot properties: 654d5b0e70fSEmmanuel Vadot azoteq,iref-enable: false 655d5b0e70fSEmmanuel Vadot 656d5b0e70fSEmmanuel Vadot "^channel-([0-9]|1[0-9])$": 657d5b0e70fSEmmanuel Vadot properties: 658d5b0e70fSEmmanuel Vadot azoteq,ref-select: false 659d5b0e70fSEmmanuel Vadot 660d5b0e70fSEmmanuel Vadot patternProperties: 661d5b0e70fSEmmanuel Vadot "^event-(prox|touch)$": 662d5b0e70fSEmmanuel Vadot properties: 663d5b0e70fSEmmanuel Vadot azoteq,gpio-select: false 664d5b0e70fSEmmanuel Vadot 665d5b0e70fSEmmanuel Vadot "^slider-[0-1]$": false 666d5b0e70fSEmmanuel Vadot 667d5b0e70fSEmmanuel Vadot "^gpio-[0-2]$": false 668d5b0e70fSEmmanuel Vadot 669d5b0e70fSEmmanuel Vadot - if: 670d5b0e70fSEmmanuel Vadot properties: 671d5b0e70fSEmmanuel Vadot compatible: 672d5b0e70fSEmmanuel Vadot contains: 673d5b0e70fSEmmanuel Vadot const: azoteq,iqs7222a 674d5b0e70fSEmmanuel Vadot 675d5b0e70fSEmmanuel Vadot then: 676d5b0e70fSEmmanuel Vadot patternProperties: 677d5b0e70fSEmmanuel Vadot "^channel-([0-9]|1[0-9])$": 678d5b0e70fSEmmanuel Vadot patternProperties: 679d5b0e70fSEmmanuel Vadot "^event-(prox|touch)$": 680d5b0e70fSEmmanuel Vadot properties: 681d5b0e70fSEmmanuel Vadot azoteq,gpio-select: 682d5b0e70fSEmmanuel Vadot maxItems: 1 683d5b0e70fSEmmanuel Vadot items: 684d5b0e70fSEmmanuel Vadot maximum: 0 685d5b0e70fSEmmanuel Vadot 686d5b0e70fSEmmanuel Vadot "^slider-[0-1]$": 687d5b0e70fSEmmanuel Vadot properties: 688d5b0e70fSEmmanuel Vadot azoteq,slider-size: 689d5b0e70fSEmmanuel Vadot multipleOf: 16 690*8bab661aSEmmanuel Vadot minimum: 16 691d5b0e70fSEmmanuel Vadot maximum: 4080 692d5b0e70fSEmmanuel Vadot 693d5b0e70fSEmmanuel Vadot azoteq,top-speed: 694d5b0e70fSEmmanuel Vadot multipleOf: 4 695d5b0e70fSEmmanuel Vadot maximum: 1020 696d5b0e70fSEmmanuel Vadot 697b97ee269SEmmanuel Vadot patternProperties: 698b97ee269SEmmanuel Vadot "^event-(press|tap|(swipe|flick)-(pos|neg))$": 699b97ee269SEmmanuel Vadot properties: 700b97ee269SEmmanuel Vadot azoteq,gpio-select: 701b97ee269SEmmanuel Vadot maxItems: 1 702b97ee269SEmmanuel Vadot items: 703b97ee269SEmmanuel Vadot maximum: 0 704b97ee269SEmmanuel Vadot 705d5b0e70fSEmmanuel Vadot else: 706d5b0e70fSEmmanuel Vadot patternProperties: 707d5b0e70fSEmmanuel Vadot "^channel-([0-9]|1[0-9])$": 708d5b0e70fSEmmanuel Vadot properties: 709d5b0e70fSEmmanuel Vadot azoteq,ulp-allow: false 710d5b0e70fSEmmanuel Vadot 711d5b0e70fSEmmanuel Vadot "^slider-[0-1]$": 712d5b0e70fSEmmanuel Vadot patternProperties: 713d5b0e70fSEmmanuel Vadot "^event-(press|tap|(swipe|flick)-(pos|neg))$": 714d5b0e70fSEmmanuel Vadot properties: 715d5b0e70fSEmmanuel Vadot azoteq,gesture-max-ms: false 716d5b0e70fSEmmanuel Vadot 717d5b0e70fSEmmanuel Vadot azoteq,gesture-min-ms: false 718d5b0e70fSEmmanuel Vadot 719d5b0e70fSEmmanuel Vadot azoteq,gesture-dist: false 720d5b0e70fSEmmanuel Vadot 721d5b0e70fSEmmanuel Vadotrequired: 722d5b0e70fSEmmanuel Vadot - compatible 723d5b0e70fSEmmanuel Vadot - reg 724d5b0e70fSEmmanuel Vadot - irq-gpios 725d5b0e70fSEmmanuel Vadot 726d5b0e70fSEmmanuel VadotadditionalProperties: false 727d5b0e70fSEmmanuel Vadot 728d5b0e70fSEmmanuel Vadotexamples: 729d5b0e70fSEmmanuel Vadot - | 730d5b0e70fSEmmanuel Vadot #include <dt-bindings/gpio/gpio.h> 731d5b0e70fSEmmanuel Vadot #include <dt-bindings/input/input.h> 732d5b0e70fSEmmanuel Vadot 733d5b0e70fSEmmanuel Vadot i2c { 734d5b0e70fSEmmanuel Vadot #address-cells = <1>; 735d5b0e70fSEmmanuel Vadot #size-cells = <0>; 736d5b0e70fSEmmanuel Vadot 737d5b0e70fSEmmanuel Vadot iqs7222a@44 { 738d5b0e70fSEmmanuel Vadot compatible = "azoteq,iqs7222a"; 739d5b0e70fSEmmanuel Vadot reg = <0x44>; 740d5b0e70fSEmmanuel Vadot irq-gpios = <&gpio 4 GPIO_ACTIVE_LOW>; 741d5b0e70fSEmmanuel Vadot azoteq,lta-beta-lp = <7>; 742d5b0e70fSEmmanuel Vadot azoteq,lta-beta-np = <8>; 743d5b0e70fSEmmanuel Vadot azoteq,counts-beta-lp = <2>; 744d5b0e70fSEmmanuel Vadot azoteq,counts-beta-np = <3>; 745d5b0e70fSEmmanuel Vadot azoteq,lta-fast-beta-lp = <3>; 746d5b0e70fSEmmanuel Vadot azoteq,lta-fast-beta-np = <4>; 747d5b0e70fSEmmanuel Vadot 748d5b0e70fSEmmanuel Vadot cycle-0 { 749d5b0e70fSEmmanuel Vadot azoteq,conv-period = <5>; 750d5b0e70fSEmmanuel Vadot azoteq,conv-frac = <127>; 751d5b0e70fSEmmanuel Vadot azoteq,tx-enable = <1>, <2>, <4>, <5>; 752d5b0e70fSEmmanuel Vadot azoteq,dead-time-enable; 753d5b0e70fSEmmanuel Vadot azoteq,sense-mode = <2>; 754d5b0e70fSEmmanuel Vadot }; 755d5b0e70fSEmmanuel Vadot 756d5b0e70fSEmmanuel Vadot cycle-1 { 757d5b0e70fSEmmanuel Vadot azoteq,conv-period = <5>; 758d5b0e70fSEmmanuel Vadot azoteq,conv-frac = <127>; 759d5b0e70fSEmmanuel Vadot azoteq,tx-enable = <5>; 760d5b0e70fSEmmanuel Vadot azoteq,dead-time-enable; 761d5b0e70fSEmmanuel Vadot azoteq,sense-mode = <2>; 762d5b0e70fSEmmanuel Vadot }; 763d5b0e70fSEmmanuel Vadot 764d5b0e70fSEmmanuel Vadot cycle-2 { 765d5b0e70fSEmmanuel Vadot azoteq,conv-period = <5>; 766d5b0e70fSEmmanuel Vadot azoteq,conv-frac = <127>; 767d5b0e70fSEmmanuel Vadot azoteq,tx-enable = <4>; 768d5b0e70fSEmmanuel Vadot azoteq,dead-time-enable; 769d5b0e70fSEmmanuel Vadot azoteq,sense-mode = <2>; 770d5b0e70fSEmmanuel Vadot }; 771d5b0e70fSEmmanuel Vadot 772d5b0e70fSEmmanuel Vadot cycle-3 { 773d5b0e70fSEmmanuel Vadot azoteq,conv-period = <5>; 774d5b0e70fSEmmanuel Vadot azoteq,conv-frac = <127>; 775d5b0e70fSEmmanuel Vadot azoteq,tx-enable = <2>; 776d5b0e70fSEmmanuel Vadot azoteq,dead-time-enable; 777d5b0e70fSEmmanuel Vadot azoteq,sense-mode = <2>; 778d5b0e70fSEmmanuel Vadot }; 779d5b0e70fSEmmanuel Vadot 780d5b0e70fSEmmanuel Vadot cycle-4 { 781d5b0e70fSEmmanuel Vadot azoteq,conv-period = <5>; 782d5b0e70fSEmmanuel Vadot azoteq,conv-frac = <127>; 783d5b0e70fSEmmanuel Vadot azoteq,tx-enable = <1>; 784d5b0e70fSEmmanuel Vadot azoteq,dead-time-enable; 785d5b0e70fSEmmanuel Vadot azoteq,sense-mode = <2>; 786d5b0e70fSEmmanuel Vadot }; 787d5b0e70fSEmmanuel Vadot 788d5b0e70fSEmmanuel Vadot cycle-5 { 789d5b0e70fSEmmanuel Vadot azoteq,conv-period = <2>; 790d5b0e70fSEmmanuel Vadot azoteq,conv-frac = <0>; 791d5b0e70fSEmmanuel Vadot }; 792d5b0e70fSEmmanuel Vadot 793d5b0e70fSEmmanuel Vadot cycle-6 { 794d5b0e70fSEmmanuel Vadot azoteq,conv-period = <2>; 795d5b0e70fSEmmanuel Vadot azoteq,conv-frac = <0>; 796d5b0e70fSEmmanuel Vadot }; 797d5b0e70fSEmmanuel Vadot 798d5b0e70fSEmmanuel Vadot channel-0 { 799d5b0e70fSEmmanuel Vadot azoteq,ulp-allow; 800d5b0e70fSEmmanuel Vadot azoteq,global-halt; 801d5b0e70fSEmmanuel Vadot azoteq,invert-enable; 802d5b0e70fSEmmanuel Vadot azoteq,rx-enable = <3>; 803d5b0e70fSEmmanuel Vadot azoteq,ati-target = <800>; 804d5b0e70fSEmmanuel Vadot azoteq,ati-base = <208>; 805d5b0e70fSEmmanuel Vadot azoteq,ati-mode = <5>; 806d5b0e70fSEmmanuel Vadot }; 807d5b0e70fSEmmanuel Vadot 808d5b0e70fSEmmanuel Vadot channel-1 { 809d5b0e70fSEmmanuel Vadot azoteq,global-halt; 810d5b0e70fSEmmanuel Vadot azoteq,invert-enable; 811d5b0e70fSEmmanuel Vadot azoteq,rx-enable = <3>; 812d5b0e70fSEmmanuel Vadot azoteq,ati-target = <496>; 813d5b0e70fSEmmanuel Vadot azoteq,ati-base = <208>; 814d5b0e70fSEmmanuel Vadot azoteq,ati-mode = <5>; 815d5b0e70fSEmmanuel Vadot }; 816d5b0e70fSEmmanuel Vadot 817d5b0e70fSEmmanuel Vadot channel-2 { 818d5b0e70fSEmmanuel Vadot azoteq,global-halt; 819d5b0e70fSEmmanuel Vadot azoteq,invert-enable; 820d5b0e70fSEmmanuel Vadot azoteq,rx-enable = <3>; 821d5b0e70fSEmmanuel Vadot azoteq,ati-target = <496>; 822d5b0e70fSEmmanuel Vadot azoteq,ati-base = <208>; 823d5b0e70fSEmmanuel Vadot azoteq,ati-mode = <5>; 824d5b0e70fSEmmanuel Vadot }; 825d5b0e70fSEmmanuel Vadot 826d5b0e70fSEmmanuel Vadot channel-3 { 827d5b0e70fSEmmanuel Vadot azoteq,global-halt; 828d5b0e70fSEmmanuel Vadot azoteq,invert-enable; 829d5b0e70fSEmmanuel Vadot azoteq,rx-enable = <3>; 830d5b0e70fSEmmanuel Vadot azoteq,ati-target = <496>; 831d5b0e70fSEmmanuel Vadot azoteq,ati-base = <208>; 832d5b0e70fSEmmanuel Vadot azoteq,ati-mode = <5>; 833d5b0e70fSEmmanuel Vadot }; 834d5b0e70fSEmmanuel Vadot 835d5b0e70fSEmmanuel Vadot channel-4 { 836d5b0e70fSEmmanuel Vadot azoteq,global-halt; 837d5b0e70fSEmmanuel Vadot azoteq,invert-enable; 838d5b0e70fSEmmanuel Vadot azoteq,rx-enable = <3>; 839d5b0e70fSEmmanuel Vadot azoteq,ati-target = <496>; 840d5b0e70fSEmmanuel Vadot azoteq,ati-base = <208>; 841d5b0e70fSEmmanuel Vadot azoteq,ati-mode = <5>; 842d5b0e70fSEmmanuel Vadot }; 843d5b0e70fSEmmanuel Vadot 844d5b0e70fSEmmanuel Vadot channel-5 { 845d5b0e70fSEmmanuel Vadot azoteq,ulp-allow; 846d5b0e70fSEmmanuel Vadot azoteq,global-halt; 847d5b0e70fSEmmanuel Vadot azoteq,invert-enable; 848d5b0e70fSEmmanuel Vadot azoteq,rx-enable = <6>; 849d5b0e70fSEmmanuel Vadot azoteq,ati-target = <800>; 850d5b0e70fSEmmanuel Vadot azoteq,ati-base = <144>; 851d5b0e70fSEmmanuel Vadot azoteq,ati-mode = <5>; 852d5b0e70fSEmmanuel Vadot }; 853d5b0e70fSEmmanuel Vadot 854d5b0e70fSEmmanuel Vadot channel-6 { 855d5b0e70fSEmmanuel Vadot azoteq,global-halt; 856d5b0e70fSEmmanuel Vadot azoteq,invert-enable; 857d5b0e70fSEmmanuel Vadot azoteq,rx-enable = <6>; 858d5b0e70fSEmmanuel Vadot azoteq,ati-target = <496>; 859d5b0e70fSEmmanuel Vadot azoteq,ati-base = <160>; 860d5b0e70fSEmmanuel Vadot azoteq,ati-mode = <5>; 861d5b0e70fSEmmanuel Vadot 862d5b0e70fSEmmanuel Vadot event-touch { 863d5b0e70fSEmmanuel Vadot linux,code = <KEY_MUTE>; 864d5b0e70fSEmmanuel Vadot }; 865d5b0e70fSEmmanuel Vadot }; 866d5b0e70fSEmmanuel Vadot 867d5b0e70fSEmmanuel Vadot channel-7 { 868d5b0e70fSEmmanuel Vadot azoteq,global-halt; 869d5b0e70fSEmmanuel Vadot azoteq,invert-enable; 870d5b0e70fSEmmanuel Vadot azoteq,rx-enable = <6>; 871d5b0e70fSEmmanuel Vadot azoteq,ati-target = <496>; 872d5b0e70fSEmmanuel Vadot azoteq,ati-base = <160>; 873d5b0e70fSEmmanuel Vadot azoteq,ati-mode = <5>; 874d5b0e70fSEmmanuel Vadot 875d5b0e70fSEmmanuel Vadot event-touch { 876d5b0e70fSEmmanuel Vadot linux,code = <KEY_VOLUMEDOWN>; 877d5b0e70fSEmmanuel Vadot }; 878d5b0e70fSEmmanuel Vadot }; 879d5b0e70fSEmmanuel Vadot 880d5b0e70fSEmmanuel Vadot channel-8 { 881d5b0e70fSEmmanuel Vadot azoteq,global-halt; 882d5b0e70fSEmmanuel Vadot azoteq,invert-enable; 883d5b0e70fSEmmanuel Vadot azoteq,rx-enable = <6>; 884d5b0e70fSEmmanuel Vadot azoteq,ati-target = <496>; 885d5b0e70fSEmmanuel Vadot azoteq,ati-base = <160>; 886d5b0e70fSEmmanuel Vadot azoteq,ati-mode = <5>; 887d5b0e70fSEmmanuel Vadot 888d5b0e70fSEmmanuel Vadot event-touch { 889d5b0e70fSEmmanuel Vadot linux,code = <KEY_VOLUMEUP>; 890d5b0e70fSEmmanuel Vadot }; 891d5b0e70fSEmmanuel Vadot }; 892d5b0e70fSEmmanuel Vadot 893d5b0e70fSEmmanuel Vadot channel-9 { 894d5b0e70fSEmmanuel Vadot azoteq,global-halt; 895d5b0e70fSEmmanuel Vadot azoteq,invert-enable; 896d5b0e70fSEmmanuel Vadot azoteq,rx-enable = <6>; 897d5b0e70fSEmmanuel Vadot azoteq,ati-target = <496>; 898d5b0e70fSEmmanuel Vadot azoteq,ati-base = <160>; 899d5b0e70fSEmmanuel Vadot azoteq,ati-mode = <5>; 900d5b0e70fSEmmanuel Vadot 901d5b0e70fSEmmanuel Vadot event-touch { 902d5b0e70fSEmmanuel Vadot linux,code = <KEY_POWER>; 903d5b0e70fSEmmanuel Vadot }; 904d5b0e70fSEmmanuel Vadot }; 905d5b0e70fSEmmanuel Vadot 906d5b0e70fSEmmanuel Vadot channel-10 { 907d5b0e70fSEmmanuel Vadot azoteq,ulp-allow; 908d5b0e70fSEmmanuel Vadot azoteq,ati-target = <496>; 909d5b0e70fSEmmanuel Vadot azoteq,ati-base = <112>; 910d5b0e70fSEmmanuel Vadot 911d5b0e70fSEmmanuel Vadot event-touch { 912d5b0e70fSEmmanuel Vadot linux,code = <SW_LID>; 913d5b0e70fSEmmanuel Vadot linux,input-type = <EV_SW>; 914d5b0e70fSEmmanuel Vadot }; 915d5b0e70fSEmmanuel Vadot }; 916d5b0e70fSEmmanuel Vadot 917d5b0e70fSEmmanuel Vadot channel-11 { 918d5b0e70fSEmmanuel Vadot azoteq,ati-target = <496>; 919d5b0e70fSEmmanuel Vadot azoteq,ati-base = <112>; 920d5b0e70fSEmmanuel Vadot }; 921d5b0e70fSEmmanuel Vadot 922d5b0e70fSEmmanuel Vadot slider-0 { 923d5b0e70fSEmmanuel Vadot azoteq,channel-select = <1>, <2>, <3>, <4>; 924d5b0e70fSEmmanuel Vadot azoteq,slider-size = <4080>; 925d5b0e70fSEmmanuel Vadot azoteq,upper-cal = <50>; 926d5b0e70fSEmmanuel Vadot azoteq,lower-cal = <30>; 927d5b0e70fSEmmanuel Vadot azoteq,top-speed = <200>; 928d5b0e70fSEmmanuel Vadot azoteq,bottom-speed = <1>; 929d5b0e70fSEmmanuel Vadot azoteq,bottom-beta = <3>; 930d5b0e70fSEmmanuel Vadot 931d5b0e70fSEmmanuel Vadot event-tap { 932d5b0e70fSEmmanuel Vadot linux,code = <KEY_PLAYPAUSE>; 933*8bab661aSEmmanuel Vadot azoteq,gesture-max-ms = <400>; 934*8bab661aSEmmanuel Vadot azoteq,gesture-min-ms = <32>; 935d5b0e70fSEmmanuel Vadot }; 936d5b0e70fSEmmanuel Vadot 937d5b0e70fSEmmanuel Vadot event-flick-pos { 938d5b0e70fSEmmanuel Vadot linux,code = <KEY_NEXTSONG>; 939*8bab661aSEmmanuel Vadot azoteq,gesture-max-ms = <800>; 940*8bab661aSEmmanuel Vadot azoteq,gesture-dist = <800>; 941d5b0e70fSEmmanuel Vadot }; 942d5b0e70fSEmmanuel Vadot 943d5b0e70fSEmmanuel Vadot event-flick-neg { 944d5b0e70fSEmmanuel Vadot linux,code = <KEY_PREVIOUSSONG>; 945d5b0e70fSEmmanuel Vadot }; 946d5b0e70fSEmmanuel Vadot }; 947d5b0e70fSEmmanuel Vadot }; 948d5b0e70fSEmmanuel Vadot }; 949d5b0e70fSEmmanuel Vadot 950d5b0e70fSEmmanuel Vadot... 951