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 420*b97ee269SEmmanuel 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 467*b97ee269SEmmanuel 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 required: 477d5b0e70fSEmmanuel Vadot - linux,code 478d5b0e70fSEmmanuel Vadot 479d5b0e70fSEmmanuel Vadot additionalProperties: false 480d5b0e70fSEmmanuel Vadot 481d5b0e70fSEmmanuel Vadot dependencies: 482d5b0e70fSEmmanuel Vadot azoteq,ref-weight: ["azoteq,ref-select"] 483d5b0e70fSEmmanuel Vadot azoteq,use-prox: ["azoteq,ref-select"] 484d5b0e70fSEmmanuel Vadot 485d5b0e70fSEmmanuel Vadot additionalProperties: false 486d5b0e70fSEmmanuel Vadot 487d5b0e70fSEmmanuel Vadot "^slider-[0-1]$": 488d5b0e70fSEmmanuel Vadot type: object 489d5b0e70fSEmmanuel Vadot description: Represents a slider comprising three or four channels. 490d5b0e70fSEmmanuel Vadot 491d5b0e70fSEmmanuel Vadot properties: 492d5b0e70fSEmmanuel Vadot azoteq,channel-select: 493d5b0e70fSEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/uint32-array 494d5b0e70fSEmmanuel Vadot minItems: 3 495d5b0e70fSEmmanuel Vadot maxItems: 4 496d5b0e70fSEmmanuel Vadot items: 497d5b0e70fSEmmanuel Vadot minimum: 0 498d5b0e70fSEmmanuel Vadot maximum: 9 499d5b0e70fSEmmanuel Vadot description: 500d5b0e70fSEmmanuel Vadot Specifies the order of the channels that participate in the slider. 501d5b0e70fSEmmanuel Vadot 502d5b0e70fSEmmanuel Vadot azoteq,slider-size: 503d5b0e70fSEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/uint32 504d5b0e70fSEmmanuel Vadot minimum: 0 505d5b0e70fSEmmanuel Vadot maximum: 65535 506d5b0e70fSEmmanuel Vadot description: 507d5b0e70fSEmmanuel Vadot Specifies the slider's one-dimensional resolution, equal to the 508d5b0e70fSEmmanuel Vadot maximum coordinate plus one. 509d5b0e70fSEmmanuel Vadot 510d5b0e70fSEmmanuel Vadot azoteq,lower-cal: 511d5b0e70fSEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/uint32 512d5b0e70fSEmmanuel Vadot minimum: 0 513d5b0e70fSEmmanuel Vadot maximum: 255 514d5b0e70fSEmmanuel Vadot description: Specifies the slider's lower starting point. 515d5b0e70fSEmmanuel Vadot 516d5b0e70fSEmmanuel Vadot azoteq,upper-cal: 517d5b0e70fSEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/uint32 518d5b0e70fSEmmanuel Vadot minimum: 0 519d5b0e70fSEmmanuel Vadot maximum: 255 520d5b0e70fSEmmanuel Vadot description: Specifies the slider's upper starting point. 521d5b0e70fSEmmanuel Vadot 522d5b0e70fSEmmanuel Vadot azoteq,top-speed: 523d5b0e70fSEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/uint32 524d5b0e70fSEmmanuel Vadot minimum: 0 525d5b0e70fSEmmanuel Vadot maximum: 65535 526d5b0e70fSEmmanuel Vadot description: 527d5b0e70fSEmmanuel Vadot Specifies the speed of movement after which coordinate filtering is 528d5b0e70fSEmmanuel Vadot no longer applied. 529d5b0e70fSEmmanuel Vadot 530d5b0e70fSEmmanuel Vadot azoteq,bottom-speed: 531d5b0e70fSEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/uint32 532d5b0e70fSEmmanuel Vadot minimum: 0 533*b97ee269SEmmanuel Vadot maximum: 255 534d5b0e70fSEmmanuel Vadot description: 535d5b0e70fSEmmanuel Vadot Specifies the speed of movement after which coordinate filtering is 536d5b0e70fSEmmanuel Vadot linearly reduced. 537d5b0e70fSEmmanuel Vadot 538d5b0e70fSEmmanuel Vadot azoteq,bottom-beta: 539d5b0e70fSEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/uint32 540d5b0e70fSEmmanuel Vadot minimum: 0 541d5b0e70fSEmmanuel Vadot maximum: 7 542d5b0e70fSEmmanuel Vadot description: 543d5b0e70fSEmmanuel Vadot Specifies the coordinate filter damping factor to be applied 544d5b0e70fSEmmanuel Vadot while the speed of movement is below that which is specified 545d5b0e70fSEmmanuel Vadot by azoteq,bottom-speed. 546d5b0e70fSEmmanuel Vadot 547d5b0e70fSEmmanuel Vadot azoteq,static-beta: 548d5b0e70fSEmmanuel Vadot type: boolean 549d5b0e70fSEmmanuel Vadot description: 550d5b0e70fSEmmanuel Vadot Applies the coordinate filter damping factor specified by 551d5b0e70fSEmmanuel Vadot azoteq,bottom-beta regardless of the speed of movement. 552d5b0e70fSEmmanuel Vadot 553d5b0e70fSEmmanuel Vadot azoteq,use-prox: 554d5b0e70fSEmmanuel Vadot type: boolean 555d5b0e70fSEmmanuel Vadot description: 556d5b0e70fSEmmanuel Vadot Directs the slider to respond to the proximity states of the selected 557d5b0e70fSEmmanuel Vadot channels instead of their corresponding touch states. Note the slider 558d5b0e70fSEmmanuel Vadot cannot report granular coordinates during a state of proximity. 559d5b0e70fSEmmanuel Vadot 560d5b0e70fSEmmanuel Vadot linux,axis: 561d5b0e70fSEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/uint32 562d5b0e70fSEmmanuel Vadot description: 563d5b0e70fSEmmanuel Vadot Specifies the absolute axis to which coordinates are mapped. Specify 564d5b0e70fSEmmanuel Vadot ABS_WHEEL to operate the slider as a wheel (IQS7222C only). 565d5b0e70fSEmmanuel Vadot 566d5b0e70fSEmmanuel Vadot patternProperties: 567d5b0e70fSEmmanuel Vadot "^event-(press|tap|(swipe|flick)-(pos|neg))$": 568d5b0e70fSEmmanuel Vadot type: object 569*b97ee269SEmmanuel Vadot $ref: input.yaml# 570d5b0e70fSEmmanuel Vadot description: 571d5b0e70fSEmmanuel Vadot Represents a press or gesture (IQS7222A only) event reported by 572d5b0e70fSEmmanuel Vadot the slider. 573d5b0e70fSEmmanuel Vadot 574d5b0e70fSEmmanuel Vadot properties: 575*b97ee269SEmmanuel Vadot linux,code: true 576d5b0e70fSEmmanuel Vadot 577d5b0e70fSEmmanuel Vadot azoteq,gesture-max-ms: 578d5b0e70fSEmmanuel Vadot multipleOf: 4 579d5b0e70fSEmmanuel Vadot minimum: 0 580d5b0e70fSEmmanuel Vadot maximum: 1020 581d5b0e70fSEmmanuel Vadot description: 582d5b0e70fSEmmanuel Vadot Specifies the length of time (in ms) within which a tap, swipe 583d5b0e70fSEmmanuel Vadot or flick gesture must be completed in order to be acknowledged 584d5b0e70fSEmmanuel Vadot by the device. The number specified for any one swipe or flick 585d5b0e70fSEmmanuel Vadot gesture applies to all remaining swipe or flick gestures. 586d5b0e70fSEmmanuel Vadot 587d5b0e70fSEmmanuel Vadot azoteq,gesture-min-ms: 588d5b0e70fSEmmanuel Vadot multipleOf: 4 589d5b0e70fSEmmanuel Vadot minimum: 0 590d5b0e70fSEmmanuel Vadot maximum: 124 591d5b0e70fSEmmanuel Vadot description: 592d5b0e70fSEmmanuel Vadot Specifies the length of time (in ms) for which a tap gesture must 593d5b0e70fSEmmanuel Vadot be held in order to be acknowledged by the device. 594d5b0e70fSEmmanuel Vadot 595d5b0e70fSEmmanuel Vadot azoteq,gesture-dist: 596d5b0e70fSEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/uint32 597d5b0e70fSEmmanuel Vadot multipleOf: 16 598d5b0e70fSEmmanuel Vadot minimum: 0 599d5b0e70fSEmmanuel Vadot maximum: 4080 600d5b0e70fSEmmanuel Vadot description: 601d5b0e70fSEmmanuel Vadot Specifies the distance across which a swipe or flick gesture must 602d5b0e70fSEmmanuel Vadot travel in order to be acknowledged by the device. The number spec- 603d5b0e70fSEmmanuel Vadot ified for any one swipe or flick gesture applies to all remaining 604d5b0e70fSEmmanuel Vadot swipe or flick gestures. 605d5b0e70fSEmmanuel Vadot 606d5b0e70fSEmmanuel Vadot azoteq,gpio-select: 607d5b0e70fSEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/uint32-array 608d5b0e70fSEmmanuel Vadot minItems: 1 609*b97ee269SEmmanuel Vadot maxItems: 3 610d5b0e70fSEmmanuel Vadot items: 611d5b0e70fSEmmanuel Vadot minimum: 0 612*b97ee269SEmmanuel Vadot maximum: 2 613d5b0e70fSEmmanuel Vadot description: | 614*b97ee269SEmmanuel Vadot Specifies one or more GPIO mapped to the event as follows: 615d5b0e70fSEmmanuel Vadot 0: GPIO0 616*b97ee269SEmmanuel Vadot 1: GPIO3 (IQS7222C only) 617*b97ee269SEmmanuel Vadot 2: GPIO4 (IQS7222C only) 618d5b0e70fSEmmanuel Vadot 619d5b0e70fSEmmanuel Vadot Note that although multiple events can be mapped to a single 620d5b0e70fSEmmanuel Vadot GPIO, they must all be of the same type (proximity, touch or 621d5b0e70fSEmmanuel Vadot slider gesture). 622d5b0e70fSEmmanuel Vadot 623d5b0e70fSEmmanuel Vadot required: 624d5b0e70fSEmmanuel Vadot - linux,code 625d5b0e70fSEmmanuel Vadot 626d5b0e70fSEmmanuel Vadot additionalProperties: false 627d5b0e70fSEmmanuel Vadot 628d5b0e70fSEmmanuel Vadot required: 629d5b0e70fSEmmanuel Vadot - azoteq,channel-select 630d5b0e70fSEmmanuel Vadot 631d5b0e70fSEmmanuel Vadot additionalProperties: false 632d5b0e70fSEmmanuel Vadot 633d5b0e70fSEmmanuel Vadot "^gpio-[0-2]$": 634d5b0e70fSEmmanuel Vadot type: object 635d5b0e70fSEmmanuel Vadot description: | 636d5b0e70fSEmmanuel Vadot Represents a GPIO mapped to one or more events as follows: 637d5b0e70fSEmmanuel Vadot gpio-0: GPIO0 638d5b0e70fSEmmanuel Vadot gpio-1: GPIO3 (IQS7222C only) 639d5b0e70fSEmmanuel Vadot gpio-2: GPIO4 (IQS7222C only) 640d5b0e70fSEmmanuel Vadot 641d5b0e70fSEmmanuel Vadot allOf: 642d5b0e70fSEmmanuel Vadot - $ref: ../pinctrl/pincfg-node.yaml# 643d5b0e70fSEmmanuel Vadot 644d5b0e70fSEmmanuel Vadot properties: 645d5b0e70fSEmmanuel Vadot drive-open-drain: true 646d5b0e70fSEmmanuel Vadot 647d5b0e70fSEmmanuel Vadot additionalProperties: false 648d5b0e70fSEmmanuel Vadot 649d5b0e70fSEmmanuel VadotallOf: 650d5b0e70fSEmmanuel Vadot - if: 651d5b0e70fSEmmanuel Vadot properties: 652d5b0e70fSEmmanuel Vadot compatible: 653d5b0e70fSEmmanuel Vadot contains: 654d5b0e70fSEmmanuel Vadot const: azoteq,iqs7222b 655d5b0e70fSEmmanuel Vadot 656d5b0e70fSEmmanuel Vadot then: 657d5b0e70fSEmmanuel Vadot patternProperties: 658d5b0e70fSEmmanuel Vadot "^cycle-[0-9]$": 659d5b0e70fSEmmanuel Vadot properties: 660d5b0e70fSEmmanuel Vadot azoteq,iref-enable: false 661d5b0e70fSEmmanuel Vadot 662d5b0e70fSEmmanuel Vadot "^channel-([0-9]|1[0-9])$": 663d5b0e70fSEmmanuel Vadot properties: 664d5b0e70fSEmmanuel Vadot azoteq,ref-select: false 665d5b0e70fSEmmanuel Vadot 666d5b0e70fSEmmanuel Vadot patternProperties: 667d5b0e70fSEmmanuel Vadot "^event-(prox|touch)$": 668d5b0e70fSEmmanuel Vadot properties: 669d5b0e70fSEmmanuel Vadot azoteq,gpio-select: false 670d5b0e70fSEmmanuel Vadot 671d5b0e70fSEmmanuel Vadot "^slider-[0-1]$": false 672d5b0e70fSEmmanuel Vadot 673d5b0e70fSEmmanuel Vadot "^gpio-[0-2]$": false 674d5b0e70fSEmmanuel Vadot 675d5b0e70fSEmmanuel Vadot - if: 676d5b0e70fSEmmanuel Vadot properties: 677d5b0e70fSEmmanuel Vadot compatible: 678d5b0e70fSEmmanuel Vadot contains: 679d5b0e70fSEmmanuel Vadot const: azoteq,iqs7222a 680d5b0e70fSEmmanuel Vadot 681d5b0e70fSEmmanuel Vadot then: 682d5b0e70fSEmmanuel Vadot patternProperties: 683d5b0e70fSEmmanuel Vadot "^channel-([0-9]|1[0-9])$": 684d5b0e70fSEmmanuel Vadot patternProperties: 685d5b0e70fSEmmanuel Vadot "^event-(prox|touch)$": 686d5b0e70fSEmmanuel Vadot properties: 687d5b0e70fSEmmanuel Vadot azoteq,gpio-select: 688d5b0e70fSEmmanuel Vadot maxItems: 1 689d5b0e70fSEmmanuel Vadot items: 690d5b0e70fSEmmanuel Vadot maximum: 0 691d5b0e70fSEmmanuel Vadot 692d5b0e70fSEmmanuel Vadot "^slider-[0-1]$": 693d5b0e70fSEmmanuel Vadot properties: 694d5b0e70fSEmmanuel Vadot azoteq,slider-size: 695d5b0e70fSEmmanuel Vadot multipleOf: 16 696d5b0e70fSEmmanuel Vadot maximum: 4080 697d5b0e70fSEmmanuel Vadot 698d5b0e70fSEmmanuel Vadot azoteq,top-speed: 699d5b0e70fSEmmanuel Vadot multipleOf: 4 700d5b0e70fSEmmanuel Vadot maximum: 1020 701d5b0e70fSEmmanuel Vadot 702*b97ee269SEmmanuel Vadot patternProperties: 703*b97ee269SEmmanuel Vadot "^event-(press|tap|(swipe|flick)-(pos|neg))$": 704*b97ee269SEmmanuel Vadot properties: 705*b97ee269SEmmanuel Vadot azoteq,gpio-select: 706*b97ee269SEmmanuel Vadot maxItems: 1 707*b97ee269SEmmanuel Vadot items: 708*b97ee269SEmmanuel Vadot maximum: 0 709*b97ee269SEmmanuel Vadot 710d5b0e70fSEmmanuel Vadot else: 711d5b0e70fSEmmanuel Vadot patternProperties: 712d5b0e70fSEmmanuel Vadot "^channel-([0-9]|1[0-9])$": 713d5b0e70fSEmmanuel Vadot properties: 714d5b0e70fSEmmanuel Vadot azoteq,ulp-allow: false 715d5b0e70fSEmmanuel Vadot 716d5b0e70fSEmmanuel Vadot "^slider-[0-1]$": 717d5b0e70fSEmmanuel Vadot patternProperties: 718d5b0e70fSEmmanuel Vadot "^event-(press|tap|(swipe|flick)-(pos|neg))$": 719d5b0e70fSEmmanuel Vadot properties: 720d5b0e70fSEmmanuel Vadot azoteq,gesture-max-ms: false 721d5b0e70fSEmmanuel Vadot 722d5b0e70fSEmmanuel Vadot azoteq,gesture-min-ms: false 723d5b0e70fSEmmanuel Vadot 724d5b0e70fSEmmanuel Vadot azoteq,gesture-dist: false 725d5b0e70fSEmmanuel Vadot 726d5b0e70fSEmmanuel Vadotrequired: 727d5b0e70fSEmmanuel Vadot - compatible 728d5b0e70fSEmmanuel Vadot - reg 729d5b0e70fSEmmanuel Vadot - irq-gpios 730d5b0e70fSEmmanuel Vadot 731d5b0e70fSEmmanuel VadotadditionalProperties: false 732d5b0e70fSEmmanuel Vadot 733d5b0e70fSEmmanuel Vadotexamples: 734d5b0e70fSEmmanuel Vadot - | 735d5b0e70fSEmmanuel Vadot #include <dt-bindings/gpio/gpio.h> 736d5b0e70fSEmmanuel Vadot #include <dt-bindings/input/input.h> 737d5b0e70fSEmmanuel Vadot 738d5b0e70fSEmmanuel Vadot i2c { 739d5b0e70fSEmmanuel Vadot #address-cells = <1>; 740d5b0e70fSEmmanuel Vadot #size-cells = <0>; 741d5b0e70fSEmmanuel Vadot 742d5b0e70fSEmmanuel Vadot iqs7222a@44 { 743d5b0e70fSEmmanuel Vadot compatible = "azoteq,iqs7222a"; 744d5b0e70fSEmmanuel Vadot reg = <0x44>; 745d5b0e70fSEmmanuel Vadot irq-gpios = <&gpio 4 GPIO_ACTIVE_LOW>; 746d5b0e70fSEmmanuel Vadot azoteq,lta-beta-lp = <7>; 747d5b0e70fSEmmanuel Vadot azoteq,lta-beta-np = <8>; 748d5b0e70fSEmmanuel Vadot azoteq,counts-beta-lp = <2>; 749d5b0e70fSEmmanuel Vadot azoteq,counts-beta-np = <3>; 750d5b0e70fSEmmanuel Vadot azoteq,lta-fast-beta-lp = <3>; 751d5b0e70fSEmmanuel Vadot azoteq,lta-fast-beta-np = <4>; 752d5b0e70fSEmmanuel Vadot 753d5b0e70fSEmmanuel Vadot cycle-0 { 754d5b0e70fSEmmanuel Vadot azoteq,conv-period = <5>; 755d5b0e70fSEmmanuel Vadot azoteq,conv-frac = <127>; 756d5b0e70fSEmmanuel Vadot azoteq,tx-enable = <1>, <2>, <4>, <5>; 757d5b0e70fSEmmanuel Vadot azoteq,dead-time-enable; 758d5b0e70fSEmmanuel Vadot azoteq,sense-mode = <2>; 759d5b0e70fSEmmanuel Vadot }; 760d5b0e70fSEmmanuel Vadot 761d5b0e70fSEmmanuel Vadot cycle-1 { 762d5b0e70fSEmmanuel Vadot azoteq,conv-period = <5>; 763d5b0e70fSEmmanuel Vadot azoteq,conv-frac = <127>; 764d5b0e70fSEmmanuel Vadot azoteq,tx-enable = <5>; 765d5b0e70fSEmmanuel Vadot azoteq,dead-time-enable; 766d5b0e70fSEmmanuel Vadot azoteq,sense-mode = <2>; 767d5b0e70fSEmmanuel Vadot }; 768d5b0e70fSEmmanuel Vadot 769d5b0e70fSEmmanuel Vadot cycle-2 { 770d5b0e70fSEmmanuel Vadot azoteq,conv-period = <5>; 771d5b0e70fSEmmanuel Vadot azoteq,conv-frac = <127>; 772d5b0e70fSEmmanuel Vadot azoteq,tx-enable = <4>; 773d5b0e70fSEmmanuel Vadot azoteq,dead-time-enable; 774d5b0e70fSEmmanuel Vadot azoteq,sense-mode = <2>; 775d5b0e70fSEmmanuel Vadot }; 776d5b0e70fSEmmanuel Vadot 777d5b0e70fSEmmanuel Vadot cycle-3 { 778d5b0e70fSEmmanuel Vadot azoteq,conv-period = <5>; 779d5b0e70fSEmmanuel Vadot azoteq,conv-frac = <127>; 780d5b0e70fSEmmanuel Vadot azoteq,tx-enable = <2>; 781d5b0e70fSEmmanuel Vadot azoteq,dead-time-enable; 782d5b0e70fSEmmanuel Vadot azoteq,sense-mode = <2>; 783d5b0e70fSEmmanuel Vadot }; 784d5b0e70fSEmmanuel Vadot 785d5b0e70fSEmmanuel Vadot cycle-4 { 786d5b0e70fSEmmanuel Vadot azoteq,conv-period = <5>; 787d5b0e70fSEmmanuel Vadot azoteq,conv-frac = <127>; 788d5b0e70fSEmmanuel Vadot azoteq,tx-enable = <1>; 789d5b0e70fSEmmanuel Vadot azoteq,dead-time-enable; 790d5b0e70fSEmmanuel Vadot azoteq,sense-mode = <2>; 791d5b0e70fSEmmanuel Vadot }; 792d5b0e70fSEmmanuel Vadot 793d5b0e70fSEmmanuel Vadot cycle-5 { 794d5b0e70fSEmmanuel Vadot azoteq,conv-period = <2>; 795d5b0e70fSEmmanuel Vadot azoteq,conv-frac = <0>; 796d5b0e70fSEmmanuel Vadot }; 797d5b0e70fSEmmanuel Vadot 798d5b0e70fSEmmanuel Vadot cycle-6 { 799d5b0e70fSEmmanuel Vadot azoteq,conv-period = <2>; 800d5b0e70fSEmmanuel Vadot azoteq,conv-frac = <0>; 801d5b0e70fSEmmanuel Vadot }; 802d5b0e70fSEmmanuel Vadot 803d5b0e70fSEmmanuel Vadot channel-0 { 804d5b0e70fSEmmanuel Vadot azoteq,ulp-allow; 805d5b0e70fSEmmanuel Vadot azoteq,global-halt; 806d5b0e70fSEmmanuel Vadot azoteq,invert-enable; 807d5b0e70fSEmmanuel Vadot azoteq,rx-enable = <3>; 808d5b0e70fSEmmanuel Vadot azoteq,ati-target = <800>; 809d5b0e70fSEmmanuel Vadot azoteq,ati-base = <208>; 810d5b0e70fSEmmanuel Vadot azoteq,ati-mode = <5>; 811d5b0e70fSEmmanuel Vadot }; 812d5b0e70fSEmmanuel Vadot 813d5b0e70fSEmmanuel Vadot channel-1 { 814d5b0e70fSEmmanuel Vadot azoteq,global-halt; 815d5b0e70fSEmmanuel Vadot azoteq,invert-enable; 816d5b0e70fSEmmanuel Vadot azoteq,rx-enable = <3>; 817d5b0e70fSEmmanuel Vadot azoteq,ati-target = <496>; 818d5b0e70fSEmmanuel Vadot azoteq,ati-base = <208>; 819d5b0e70fSEmmanuel Vadot azoteq,ati-mode = <5>; 820d5b0e70fSEmmanuel Vadot }; 821d5b0e70fSEmmanuel Vadot 822d5b0e70fSEmmanuel Vadot channel-2 { 823d5b0e70fSEmmanuel Vadot azoteq,global-halt; 824d5b0e70fSEmmanuel Vadot azoteq,invert-enable; 825d5b0e70fSEmmanuel Vadot azoteq,rx-enable = <3>; 826d5b0e70fSEmmanuel Vadot azoteq,ati-target = <496>; 827d5b0e70fSEmmanuel Vadot azoteq,ati-base = <208>; 828d5b0e70fSEmmanuel Vadot azoteq,ati-mode = <5>; 829d5b0e70fSEmmanuel Vadot }; 830d5b0e70fSEmmanuel Vadot 831d5b0e70fSEmmanuel Vadot channel-3 { 832d5b0e70fSEmmanuel Vadot azoteq,global-halt; 833d5b0e70fSEmmanuel Vadot azoteq,invert-enable; 834d5b0e70fSEmmanuel Vadot azoteq,rx-enable = <3>; 835d5b0e70fSEmmanuel Vadot azoteq,ati-target = <496>; 836d5b0e70fSEmmanuel Vadot azoteq,ati-base = <208>; 837d5b0e70fSEmmanuel Vadot azoteq,ati-mode = <5>; 838d5b0e70fSEmmanuel Vadot }; 839d5b0e70fSEmmanuel Vadot 840d5b0e70fSEmmanuel Vadot channel-4 { 841d5b0e70fSEmmanuel Vadot azoteq,global-halt; 842d5b0e70fSEmmanuel Vadot azoteq,invert-enable; 843d5b0e70fSEmmanuel Vadot azoteq,rx-enable = <3>; 844d5b0e70fSEmmanuel Vadot azoteq,ati-target = <496>; 845d5b0e70fSEmmanuel Vadot azoteq,ati-base = <208>; 846d5b0e70fSEmmanuel Vadot azoteq,ati-mode = <5>; 847d5b0e70fSEmmanuel Vadot }; 848d5b0e70fSEmmanuel Vadot 849d5b0e70fSEmmanuel Vadot channel-5 { 850d5b0e70fSEmmanuel Vadot azoteq,ulp-allow; 851d5b0e70fSEmmanuel Vadot azoteq,global-halt; 852d5b0e70fSEmmanuel Vadot azoteq,invert-enable; 853d5b0e70fSEmmanuel Vadot azoteq,rx-enable = <6>; 854d5b0e70fSEmmanuel Vadot azoteq,ati-target = <800>; 855d5b0e70fSEmmanuel Vadot azoteq,ati-base = <144>; 856d5b0e70fSEmmanuel Vadot azoteq,ati-mode = <5>; 857d5b0e70fSEmmanuel Vadot }; 858d5b0e70fSEmmanuel Vadot 859d5b0e70fSEmmanuel Vadot channel-6 { 860d5b0e70fSEmmanuel Vadot azoteq,global-halt; 861d5b0e70fSEmmanuel Vadot azoteq,invert-enable; 862d5b0e70fSEmmanuel Vadot azoteq,rx-enable = <6>; 863d5b0e70fSEmmanuel Vadot azoteq,ati-target = <496>; 864d5b0e70fSEmmanuel Vadot azoteq,ati-base = <160>; 865d5b0e70fSEmmanuel Vadot azoteq,ati-mode = <5>; 866d5b0e70fSEmmanuel Vadot 867d5b0e70fSEmmanuel Vadot event-touch { 868d5b0e70fSEmmanuel Vadot linux,code = <KEY_MUTE>; 869d5b0e70fSEmmanuel Vadot }; 870d5b0e70fSEmmanuel Vadot }; 871d5b0e70fSEmmanuel Vadot 872d5b0e70fSEmmanuel Vadot channel-7 { 873d5b0e70fSEmmanuel Vadot azoteq,global-halt; 874d5b0e70fSEmmanuel Vadot azoteq,invert-enable; 875d5b0e70fSEmmanuel Vadot azoteq,rx-enable = <6>; 876d5b0e70fSEmmanuel Vadot azoteq,ati-target = <496>; 877d5b0e70fSEmmanuel Vadot azoteq,ati-base = <160>; 878d5b0e70fSEmmanuel Vadot azoteq,ati-mode = <5>; 879d5b0e70fSEmmanuel Vadot 880d5b0e70fSEmmanuel Vadot event-touch { 881d5b0e70fSEmmanuel Vadot linux,code = <KEY_VOLUMEDOWN>; 882d5b0e70fSEmmanuel Vadot }; 883d5b0e70fSEmmanuel Vadot }; 884d5b0e70fSEmmanuel Vadot 885d5b0e70fSEmmanuel Vadot channel-8 { 886d5b0e70fSEmmanuel Vadot azoteq,global-halt; 887d5b0e70fSEmmanuel Vadot azoteq,invert-enable; 888d5b0e70fSEmmanuel Vadot azoteq,rx-enable = <6>; 889d5b0e70fSEmmanuel Vadot azoteq,ati-target = <496>; 890d5b0e70fSEmmanuel Vadot azoteq,ati-base = <160>; 891d5b0e70fSEmmanuel Vadot azoteq,ati-mode = <5>; 892d5b0e70fSEmmanuel Vadot 893d5b0e70fSEmmanuel Vadot event-touch { 894d5b0e70fSEmmanuel Vadot linux,code = <KEY_VOLUMEUP>; 895d5b0e70fSEmmanuel Vadot }; 896d5b0e70fSEmmanuel Vadot }; 897d5b0e70fSEmmanuel Vadot 898d5b0e70fSEmmanuel Vadot channel-9 { 899d5b0e70fSEmmanuel Vadot azoteq,global-halt; 900d5b0e70fSEmmanuel Vadot azoteq,invert-enable; 901d5b0e70fSEmmanuel Vadot azoteq,rx-enable = <6>; 902d5b0e70fSEmmanuel Vadot azoteq,ati-target = <496>; 903d5b0e70fSEmmanuel Vadot azoteq,ati-base = <160>; 904d5b0e70fSEmmanuel Vadot azoteq,ati-mode = <5>; 905d5b0e70fSEmmanuel Vadot 906d5b0e70fSEmmanuel Vadot event-touch { 907d5b0e70fSEmmanuel Vadot linux,code = <KEY_POWER>; 908d5b0e70fSEmmanuel Vadot }; 909d5b0e70fSEmmanuel Vadot }; 910d5b0e70fSEmmanuel Vadot 911d5b0e70fSEmmanuel Vadot channel-10 { 912d5b0e70fSEmmanuel Vadot azoteq,ulp-allow; 913d5b0e70fSEmmanuel Vadot azoteq,ati-target = <496>; 914d5b0e70fSEmmanuel Vadot azoteq,ati-base = <112>; 915d5b0e70fSEmmanuel Vadot 916d5b0e70fSEmmanuel Vadot event-touch { 917d5b0e70fSEmmanuel Vadot linux,code = <SW_LID>; 918d5b0e70fSEmmanuel Vadot linux,input-type = <EV_SW>; 919d5b0e70fSEmmanuel Vadot }; 920d5b0e70fSEmmanuel Vadot }; 921d5b0e70fSEmmanuel Vadot 922d5b0e70fSEmmanuel Vadot channel-11 { 923d5b0e70fSEmmanuel Vadot azoteq,ati-target = <496>; 924d5b0e70fSEmmanuel Vadot azoteq,ati-base = <112>; 925d5b0e70fSEmmanuel Vadot }; 926d5b0e70fSEmmanuel Vadot 927d5b0e70fSEmmanuel Vadot slider-0 { 928d5b0e70fSEmmanuel Vadot azoteq,channel-select = <1>, <2>, <3>, <4>; 929d5b0e70fSEmmanuel Vadot azoteq,slider-size = <4080>; 930d5b0e70fSEmmanuel Vadot azoteq,upper-cal = <50>; 931d5b0e70fSEmmanuel Vadot azoteq,lower-cal = <30>; 932d5b0e70fSEmmanuel Vadot azoteq,top-speed = <200>; 933d5b0e70fSEmmanuel Vadot azoteq,bottom-speed = <1>; 934d5b0e70fSEmmanuel Vadot azoteq,bottom-beta = <3>; 935d5b0e70fSEmmanuel Vadot 936d5b0e70fSEmmanuel Vadot event-tap { 937d5b0e70fSEmmanuel Vadot linux,code = <KEY_PLAYPAUSE>; 938d5b0e70fSEmmanuel Vadot azoteq,gesture-max-ms = <600>; 939d5b0e70fSEmmanuel Vadot azoteq,gesture-min-ms = <24>; 940d5b0e70fSEmmanuel Vadot }; 941d5b0e70fSEmmanuel Vadot 942d5b0e70fSEmmanuel Vadot event-flick-pos { 943d5b0e70fSEmmanuel Vadot linux,code = <KEY_NEXTSONG>; 944d5b0e70fSEmmanuel Vadot azoteq,gesture-max-ms = <600>; 945d5b0e70fSEmmanuel Vadot azoteq,gesture-dist = <816>; 946d5b0e70fSEmmanuel Vadot }; 947d5b0e70fSEmmanuel Vadot 948d5b0e70fSEmmanuel Vadot event-flick-neg { 949d5b0e70fSEmmanuel Vadot linux,code = <KEY_PREVIOUSSONG>; 950d5b0e70fSEmmanuel Vadot }; 951d5b0e70fSEmmanuel Vadot }; 952d5b0e70fSEmmanuel Vadot }; 953d5b0e70fSEmmanuel Vadot }; 954d5b0e70fSEmmanuel Vadot 955d5b0e70fSEmmanuel Vadot... 956