162306a36Sopenharmony_ci# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 262306a36Sopenharmony_ci%YAML 1.2 362306a36Sopenharmony_ci--- 462306a36Sopenharmony_ci$id: http://devicetree.org/schemas/input/azoteq,iqs7222.yaml# 562306a36Sopenharmony_ci$schema: http://devicetree.org/meta-schemas/core.yaml# 662306a36Sopenharmony_ci 762306a36Sopenharmony_cititle: Azoteq IQS7222A/B/C/D Capacitive Touch Controller 862306a36Sopenharmony_ci 962306a36Sopenharmony_cimaintainers: 1062306a36Sopenharmony_ci - Jeff LaBundy <jeff@labundy.com> 1162306a36Sopenharmony_ci 1262306a36Sopenharmony_cidescription: | 1362306a36Sopenharmony_ci The Azoteq IQS7222A, IQS7222B, IQS7222C and IQS7222D are multichannel 1462306a36Sopenharmony_ci capacitive touch controllers that feature additional sensing capabilities. 1562306a36Sopenharmony_ci 1662306a36Sopenharmony_ci Link to datasheets: https://www.azoteq.com/ 1762306a36Sopenharmony_ci 1862306a36Sopenharmony_ciproperties: 1962306a36Sopenharmony_ci compatible: 2062306a36Sopenharmony_ci enum: 2162306a36Sopenharmony_ci - azoteq,iqs7222a 2262306a36Sopenharmony_ci - azoteq,iqs7222b 2362306a36Sopenharmony_ci - azoteq,iqs7222c 2462306a36Sopenharmony_ci - azoteq,iqs7222d 2562306a36Sopenharmony_ci 2662306a36Sopenharmony_ci reg: 2762306a36Sopenharmony_ci maxItems: 1 2862306a36Sopenharmony_ci 2962306a36Sopenharmony_ci irq-gpios: 3062306a36Sopenharmony_ci maxItems: 1 3162306a36Sopenharmony_ci description: 3262306a36Sopenharmony_ci Specifies the GPIO connected to the device's active-low RDY output. 3362306a36Sopenharmony_ci 3462306a36Sopenharmony_ci reset-gpios: 3562306a36Sopenharmony_ci maxItems: 1 3662306a36Sopenharmony_ci description: 3762306a36Sopenharmony_ci Specifies the GPIO connected to the device's active-low MCLR input. The 3862306a36Sopenharmony_ci device is temporarily held in hardware reset prior to initialization if 3962306a36Sopenharmony_ci this property is present. 4062306a36Sopenharmony_ci 4162306a36Sopenharmony_ci azoteq,max-counts: 4262306a36Sopenharmony_ci $ref: /schemas/types.yaml#/definitions/uint32 4362306a36Sopenharmony_ci enum: [0, 1, 2, 3] 4462306a36Sopenharmony_ci description: | 4562306a36Sopenharmony_ci Specifies the maximum number of conversion periods (counts) that can be 4662306a36Sopenharmony_ci reported as follows: 4762306a36Sopenharmony_ci 0: 1023 4862306a36Sopenharmony_ci 1: 2047 4962306a36Sopenharmony_ci 2: 4095 5062306a36Sopenharmony_ci 3: 16384 5162306a36Sopenharmony_ci 5262306a36Sopenharmony_ci azoteq,auto-mode: 5362306a36Sopenharmony_ci $ref: /schemas/types.yaml#/definitions/uint32 5462306a36Sopenharmony_ci enum: [0, 1, 2, 3] 5562306a36Sopenharmony_ci description: | 5662306a36Sopenharmony_ci Specifies the number of conversions to occur before an interrupt is 5762306a36Sopenharmony_ci generated as follows: 5862306a36Sopenharmony_ci 0: 4 5962306a36Sopenharmony_ci 1: 8 6062306a36Sopenharmony_ci 2: 16 6162306a36Sopenharmony_ci 3: 32 6262306a36Sopenharmony_ci 6362306a36Sopenharmony_ci azoteq,ati-frac-div-fine: 6462306a36Sopenharmony_ci $ref: /schemas/types.yaml#/definitions/uint32 6562306a36Sopenharmony_ci minimum: 0 6662306a36Sopenharmony_ci maximum: 31 6762306a36Sopenharmony_ci description: Specifies the preloaded ATI fine fractional divider. 6862306a36Sopenharmony_ci 6962306a36Sopenharmony_ci azoteq,ati-frac-div-coarse: 7062306a36Sopenharmony_ci $ref: /schemas/types.yaml#/definitions/uint32 7162306a36Sopenharmony_ci minimum: 0 7262306a36Sopenharmony_ci maximum: 31 7362306a36Sopenharmony_ci description: Specifies the preloaded ATI coarse fractional divider. 7462306a36Sopenharmony_ci 7562306a36Sopenharmony_ci azoteq,ati-comp-select: 7662306a36Sopenharmony_ci $ref: /schemas/types.yaml#/definitions/uint32 7762306a36Sopenharmony_ci minimum: 0 7862306a36Sopenharmony_ci maximum: 1023 7962306a36Sopenharmony_ci description: Specifies the preloaded ATI compensation selection. 8062306a36Sopenharmony_ci 8162306a36Sopenharmony_ci azoteq,lta-beta-lp: 8262306a36Sopenharmony_ci $ref: /schemas/types.yaml#/definitions/uint32 8362306a36Sopenharmony_ci minimum: 0 8462306a36Sopenharmony_ci maximum: 15 8562306a36Sopenharmony_ci description: 8662306a36Sopenharmony_ci Specifies the long-term average filter damping factor to be applied during 8762306a36Sopenharmony_ci low-power mode. 8862306a36Sopenharmony_ci 8962306a36Sopenharmony_ci azoteq,lta-beta-np: 9062306a36Sopenharmony_ci $ref: /schemas/types.yaml#/definitions/uint32 9162306a36Sopenharmony_ci minimum: 0 9262306a36Sopenharmony_ci maximum: 15 9362306a36Sopenharmony_ci description: 9462306a36Sopenharmony_ci Specifies the long-term average filter damping factor to be applied during 9562306a36Sopenharmony_ci normal-power mode. 9662306a36Sopenharmony_ci 9762306a36Sopenharmony_ci azoteq,counts-beta-lp: 9862306a36Sopenharmony_ci $ref: /schemas/types.yaml#/definitions/uint32 9962306a36Sopenharmony_ci minimum: 0 10062306a36Sopenharmony_ci maximum: 15 10162306a36Sopenharmony_ci description: 10262306a36Sopenharmony_ci Specifies the counts filter damping factor to be applied during low-power 10362306a36Sopenharmony_ci mode. 10462306a36Sopenharmony_ci 10562306a36Sopenharmony_ci azoteq,counts-beta-np: 10662306a36Sopenharmony_ci $ref: /schemas/types.yaml#/definitions/uint32 10762306a36Sopenharmony_ci minimum: 0 10862306a36Sopenharmony_ci maximum: 15 10962306a36Sopenharmony_ci description: 11062306a36Sopenharmony_ci Specifies the counts filter damping factor to be applied during normal- 11162306a36Sopenharmony_ci power mode. 11262306a36Sopenharmony_ci 11362306a36Sopenharmony_ci azoteq,lta-fast-beta-lp: 11462306a36Sopenharmony_ci $ref: /schemas/types.yaml#/definitions/uint32 11562306a36Sopenharmony_ci minimum: 0 11662306a36Sopenharmony_ci maximum: 15 11762306a36Sopenharmony_ci description: 11862306a36Sopenharmony_ci Specifies the long-term average filter fast damping factor to be applied 11962306a36Sopenharmony_ci during low-power mode. 12062306a36Sopenharmony_ci 12162306a36Sopenharmony_ci azoteq,lta-fast-beta-np: 12262306a36Sopenharmony_ci $ref: /schemas/types.yaml#/definitions/uint32 12362306a36Sopenharmony_ci minimum: 0 12462306a36Sopenharmony_ci maximum: 15 12562306a36Sopenharmony_ci description: 12662306a36Sopenharmony_ci Specifies the long-term average filter fast damping factor to be applied 12762306a36Sopenharmony_ci during normal-power mode. 12862306a36Sopenharmony_ci 12962306a36Sopenharmony_ci azoteq,timeout-ati-ms: 13062306a36Sopenharmony_ci multipleOf: 500 13162306a36Sopenharmony_ci minimum: 0 13262306a36Sopenharmony_ci maximum: 32767500 13362306a36Sopenharmony_ci description: 13462306a36Sopenharmony_ci Specifies the delay (in ms) before ATI is retried following an ATI error. 13562306a36Sopenharmony_ci 13662306a36Sopenharmony_ci azoteq,rate-ati-ms: 13762306a36Sopenharmony_ci minimum: 0 13862306a36Sopenharmony_ci maximum: 65535 13962306a36Sopenharmony_ci description: Specifies the rate (in ms) at which ATI status is evaluated. 14062306a36Sopenharmony_ci 14162306a36Sopenharmony_ci azoteq,timeout-np-ms: 14262306a36Sopenharmony_ci minimum: 0 14362306a36Sopenharmony_ci maximum: 65535 14462306a36Sopenharmony_ci description: 14562306a36Sopenharmony_ci Specifies the length of time (in ms) to wait for an event before moving 14662306a36Sopenharmony_ci from normal-power mode to low-power mode. 14762306a36Sopenharmony_ci 14862306a36Sopenharmony_ci azoteq,rate-np-ms: 14962306a36Sopenharmony_ci minimum: 0 15062306a36Sopenharmony_ci maximum: 3000 15162306a36Sopenharmony_ci description: Specifies the report rate (in ms) during normal-power mode. 15262306a36Sopenharmony_ci 15362306a36Sopenharmony_ci azoteq,timeout-lp-ms: 15462306a36Sopenharmony_ci minimum: 0 15562306a36Sopenharmony_ci maximum: 65535 15662306a36Sopenharmony_ci description: 15762306a36Sopenharmony_ci Specifies the length of time (in ms) to wait for an event before moving 15862306a36Sopenharmony_ci from low-power mode to ultra-low-power mode. 15962306a36Sopenharmony_ci 16062306a36Sopenharmony_ci azoteq,rate-lp-ms: 16162306a36Sopenharmony_ci minimum: 0 16262306a36Sopenharmony_ci maximum: 3000 16362306a36Sopenharmony_ci description: Specifies the report rate (in ms) during low-power mode. 16462306a36Sopenharmony_ci 16562306a36Sopenharmony_ci azoteq,timeout-ulp-ms: 16662306a36Sopenharmony_ci minimum: 0 16762306a36Sopenharmony_ci maximum: 65535 16862306a36Sopenharmony_ci description: 16962306a36Sopenharmony_ci Specifies the rate (in ms) at which channels not regularly sampled during 17062306a36Sopenharmony_ci ultra-low-power mode are updated. 17162306a36Sopenharmony_ci 17262306a36Sopenharmony_ci azoteq,rate-ulp-ms: 17362306a36Sopenharmony_ci minimum: 0 17462306a36Sopenharmony_ci maximum: 3000 17562306a36Sopenharmony_ci description: Specifies the report rate (in ms) during ultra-low-power mode. 17662306a36Sopenharmony_ci 17762306a36Sopenharmony_ci touchscreen-size-x: true 17862306a36Sopenharmony_ci touchscreen-size-y: true 17962306a36Sopenharmony_ci touchscreen-inverted-x: true 18062306a36Sopenharmony_ci touchscreen-inverted-y: true 18162306a36Sopenharmony_ci touchscreen-swapped-x-y: true 18262306a36Sopenharmony_ci 18362306a36Sopenharmony_ci trackpad: 18462306a36Sopenharmony_ci type: object 18562306a36Sopenharmony_ci description: Represents all channels associated with the trackpad. 18662306a36Sopenharmony_ci 18762306a36Sopenharmony_ci properties: 18862306a36Sopenharmony_ci azoteq,channel-select: 18962306a36Sopenharmony_ci $ref: /schemas/types.yaml#/definitions/uint32-array 19062306a36Sopenharmony_ci minItems: 1 19162306a36Sopenharmony_ci maxItems: 12 19262306a36Sopenharmony_ci items: 19362306a36Sopenharmony_ci minimum: 0 19462306a36Sopenharmony_ci maximum: 13 19562306a36Sopenharmony_ci description: 19662306a36Sopenharmony_ci Specifies the order of the channels that participate in the trackpad. 19762306a36Sopenharmony_ci Specify 255 to omit a given channel for the purpose of mapping a non- 19862306a36Sopenharmony_ci rectangular trackpad. 19962306a36Sopenharmony_ci 20062306a36Sopenharmony_ci azoteq,num-rows: 20162306a36Sopenharmony_ci $ref: /schemas/types.yaml#/definitions/uint32 20262306a36Sopenharmony_ci minimum: 1 20362306a36Sopenharmony_ci maximum: 12 20462306a36Sopenharmony_ci description: Specifies the number of rows that comprise the trackpad. 20562306a36Sopenharmony_ci 20662306a36Sopenharmony_ci azoteq,num-cols: 20762306a36Sopenharmony_ci $ref: /schemas/types.yaml#/definitions/uint32 20862306a36Sopenharmony_ci minimum: 1 20962306a36Sopenharmony_ci maximum: 12 21062306a36Sopenharmony_ci description: Specifies the number of columns that comprise the trackpad. 21162306a36Sopenharmony_ci 21262306a36Sopenharmony_ci azoteq,top-speed: 21362306a36Sopenharmony_ci $ref: /schemas/types.yaml#/definitions/uint32 21462306a36Sopenharmony_ci multipleOf: 4 21562306a36Sopenharmony_ci minimum: 0 21662306a36Sopenharmony_ci maximum: 1020 21762306a36Sopenharmony_ci description: 21862306a36Sopenharmony_ci Specifies the speed (in coordinates traveled per conversion) after 21962306a36Sopenharmony_ci which coordinate filtering is no longer applied. 22062306a36Sopenharmony_ci 22162306a36Sopenharmony_ci azoteq,bottom-speed: 22262306a36Sopenharmony_ci $ref: /schemas/types.yaml#/definitions/uint32 22362306a36Sopenharmony_ci minimum: 0 22462306a36Sopenharmony_ci maximum: 255 22562306a36Sopenharmony_ci description: 22662306a36Sopenharmony_ci Specifies the speed (in coordinates traveled per conversion) after 22762306a36Sopenharmony_ci which coordinate filtering is linearly reduced. 22862306a36Sopenharmony_ci 22962306a36Sopenharmony_ci azoteq,use-prox: 23062306a36Sopenharmony_ci type: boolean 23162306a36Sopenharmony_ci description: 23262306a36Sopenharmony_ci Directs the trackpad to respond to the proximity states of the 23362306a36Sopenharmony_ci selected channels instead of their corresponding touch states. 23462306a36Sopenharmony_ci Note the trackpad cannot report granular coordinates during a 23562306a36Sopenharmony_ci state of proximity. 23662306a36Sopenharmony_ci 23762306a36Sopenharmony_ci patternProperties: 23862306a36Sopenharmony_ci "^azoteq,lower-cal-(x|y)$": 23962306a36Sopenharmony_ci $ref: /schemas/types.yaml#/definitions/uint32 24062306a36Sopenharmony_ci minimum: 0 24162306a36Sopenharmony_ci maximum: 255 24262306a36Sopenharmony_ci description: Specifies the trackpad's lower starting points. 24362306a36Sopenharmony_ci 24462306a36Sopenharmony_ci "^azoteq,upper-cal-(x|y)$": 24562306a36Sopenharmony_ci $ref: /schemas/types.yaml#/definitions/uint32 24662306a36Sopenharmony_ci minimum: 0 24762306a36Sopenharmony_ci maximum: 255 24862306a36Sopenharmony_ci description: Specifies the trackpad's upper starting points. 24962306a36Sopenharmony_ci 25062306a36Sopenharmony_ci "^event-(press|tap|(swipe|flick)-(x|y)-(pos|neg))$": 25162306a36Sopenharmony_ci type: object 25262306a36Sopenharmony_ci $ref: input.yaml# 25362306a36Sopenharmony_ci description: 25462306a36Sopenharmony_ci Represents a press or gesture event reported by the trackpad. Specify 25562306a36Sopenharmony_ci 'linux,code' under the press event to report absolute coordinates. 25662306a36Sopenharmony_ci 25762306a36Sopenharmony_ci properties: 25862306a36Sopenharmony_ci linux,code: true 25962306a36Sopenharmony_ci 26062306a36Sopenharmony_ci azoteq,gesture-angle-tighten: 26162306a36Sopenharmony_ci type: boolean 26262306a36Sopenharmony_ci description: 26362306a36Sopenharmony_ci Limits the tangent of the gesture angle to 0.5 (axial gestures 26462306a36Sopenharmony_ci only). If specified in one direction, the effect is applied in 26562306a36Sopenharmony_ci either direction. 26662306a36Sopenharmony_ci 26762306a36Sopenharmony_ci azoteq,gesture-max-ms: 26862306a36Sopenharmony_ci multipleOf: 16 26962306a36Sopenharmony_ci minimum: 0 27062306a36Sopenharmony_ci maximum: 4080 27162306a36Sopenharmony_ci description: 27262306a36Sopenharmony_ci Specifies the length of time (in ms) within which a tap, swipe 27362306a36Sopenharmony_ci or flick gesture must be completed in order to be acknowledged 27462306a36Sopenharmony_ci by the device. The number specified for any one swipe or flick 27562306a36Sopenharmony_ci gesture applies to all other swipe or flick gestures. 27662306a36Sopenharmony_ci 27762306a36Sopenharmony_ci azoteq,gesture-min-ms: 27862306a36Sopenharmony_ci multipleOf: 16 27962306a36Sopenharmony_ci minimum: 0 28062306a36Sopenharmony_ci maximum: 4080 28162306a36Sopenharmony_ci description: 28262306a36Sopenharmony_ci Specifies the length of time (in ms) for which a tap gesture must 28362306a36Sopenharmony_ci be held in order to be acknowledged by the device. 28462306a36Sopenharmony_ci 28562306a36Sopenharmony_ci azoteq,gesture-dist: 28662306a36Sopenharmony_ci $ref: /schemas/types.yaml#/definitions/uint32 28762306a36Sopenharmony_ci minimum: 0 28862306a36Sopenharmony_ci maximum: 65535 28962306a36Sopenharmony_ci description: 29062306a36Sopenharmony_ci Specifies the distance (in coordinates) across which a swipe or 29162306a36Sopenharmony_ci flick gesture must travel in order to be acknowledged by the 29262306a36Sopenharmony_ci device. The number specified for any one swipe or flick gesture 29362306a36Sopenharmony_ci applies to all remaining swipe or flick gestures. 29462306a36Sopenharmony_ci 29562306a36Sopenharmony_ci For tap gestures, this property specifies the distance from the 29662306a36Sopenharmony_ci original point of contact across which the contact is permitted 29762306a36Sopenharmony_ci to travel before the gesture is rejected by the device. 29862306a36Sopenharmony_ci 29962306a36Sopenharmony_ci azoteq,gpio-select: 30062306a36Sopenharmony_ci $ref: /schemas/types.yaml#/definitions/uint32-array 30162306a36Sopenharmony_ci minItems: 1 30262306a36Sopenharmony_ci maxItems: 3 30362306a36Sopenharmony_ci items: 30462306a36Sopenharmony_ci minimum: 0 30562306a36Sopenharmony_ci maximum: 2 30662306a36Sopenharmony_ci description: | 30762306a36Sopenharmony_ci Specifies one or more GPIO mapped to the event as follows: 30862306a36Sopenharmony_ci 0: GPIO0 30962306a36Sopenharmony_ci 1: GPIO3 31062306a36Sopenharmony_ci 2: GPIO4 31162306a36Sopenharmony_ci 31262306a36Sopenharmony_ci Note that although multiple events can be mapped to a single 31362306a36Sopenharmony_ci GPIO, they must all be of the same type (proximity, touch or 31462306a36Sopenharmony_ci trackpad gesture). 31562306a36Sopenharmony_ci 31662306a36Sopenharmony_ci additionalProperties: false 31762306a36Sopenharmony_ci 31862306a36Sopenharmony_ci required: 31962306a36Sopenharmony_ci - azoteq,channel-select 32062306a36Sopenharmony_ci 32162306a36Sopenharmony_ci additionalProperties: false 32262306a36Sopenharmony_ci 32362306a36Sopenharmony_cipatternProperties: 32462306a36Sopenharmony_ci "^cycle-[0-9]$": 32562306a36Sopenharmony_ci type: object 32662306a36Sopenharmony_ci description: Represents a conversion cycle serving two sensing channels. 32762306a36Sopenharmony_ci 32862306a36Sopenharmony_ci properties: 32962306a36Sopenharmony_ci azoteq,conv-period: 33062306a36Sopenharmony_ci $ref: /schemas/types.yaml#/definitions/uint32 33162306a36Sopenharmony_ci minimum: 0 33262306a36Sopenharmony_ci maximum: 255 33362306a36Sopenharmony_ci description: Specifies the cycle's conversion period. 33462306a36Sopenharmony_ci 33562306a36Sopenharmony_ci azoteq,conv-frac: 33662306a36Sopenharmony_ci $ref: /schemas/types.yaml#/definitions/uint32 33762306a36Sopenharmony_ci minimum: 0 33862306a36Sopenharmony_ci maximum: 255 33962306a36Sopenharmony_ci description: Specifies the cycle's conversion frequency fraction. 34062306a36Sopenharmony_ci 34162306a36Sopenharmony_ci azoteq,tx-enable: 34262306a36Sopenharmony_ci $ref: /schemas/types.yaml#/definitions/uint32-array 34362306a36Sopenharmony_ci minItems: 1 34462306a36Sopenharmony_ci maxItems: 9 34562306a36Sopenharmony_ci items: 34662306a36Sopenharmony_ci minimum: 0 34762306a36Sopenharmony_ci maximum: 8 34862306a36Sopenharmony_ci description: Specifies the CTx pin(s) associated with the cycle. 34962306a36Sopenharmony_ci 35062306a36Sopenharmony_ci azoteq,rx-float-inactive: 35162306a36Sopenharmony_ci type: boolean 35262306a36Sopenharmony_ci description: Floats any inactive CRx pins instead of grounding them. 35362306a36Sopenharmony_ci 35462306a36Sopenharmony_ci azoteq,dead-time-enable: 35562306a36Sopenharmony_ci type: boolean 35662306a36Sopenharmony_ci description: 35762306a36Sopenharmony_ci Increases the denominator of the conversion frequency formula by one. 35862306a36Sopenharmony_ci 35962306a36Sopenharmony_ci azoteq,tx-freq-fosc: 36062306a36Sopenharmony_ci type: boolean 36162306a36Sopenharmony_ci description: 36262306a36Sopenharmony_ci Fixes the conversion frequency to that of the device's core clock. 36362306a36Sopenharmony_ci 36462306a36Sopenharmony_ci azoteq,vbias-enable: 36562306a36Sopenharmony_ci type: boolean 36662306a36Sopenharmony_ci description: Enables the bias voltage for use during inductive sensing. 36762306a36Sopenharmony_ci 36862306a36Sopenharmony_ci azoteq,sense-mode: 36962306a36Sopenharmony_ci $ref: /schemas/types.yaml#/definitions/uint32 37062306a36Sopenharmony_ci enum: [0, 1, 2, 3] 37162306a36Sopenharmony_ci description: | 37262306a36Sopenharmony_ci Specifies the cycle's sensing mode as follows: 37362306a36Sopenharmony_ci 0: None 37462306a36Sopenharmony_ci 1: Self capacitive 37562306a36Sopenharmony_ci 2: Mutual capacitive 37662306a36Sopenharmony_ci 3: Inductive 37762306a36Sopenharmony_ci 37862306a36Sopenharmony_ci Note that in the case of IQS7222A, cycles 5 and 6 are restricted to 37962306a36Sopenharmony_ci Hall-effect sensing. 38062306a36Sopenharmony_ci 38162306a36Sopenharmony_ci azoteq,iref-enable: 38262306a36Sopenharmony_ci type: boolean 38362306a36Sopenharmony_ci description: 38462306a36Sopenharmony_ci Enables the current reference for use during various sensing modes. 38562306a36Sopenharmony_ci 38662306a36Sopenharmony_ci azoteq,iref-level: 38762306a36Sopenharmony_ci $ref: /schemas/types.yaml#/definitions/uint32 38862306a36Sopenharmony_ci minimum: 0 38962306a36Sopenharmony_ci maximum: 15 39062306a36Sopenharmony_ci description: Specifies the cycle's current reference level. 39162306a36Sopenharmony_ci 39262306a36Sopenharmony_ci azoteq,iref-trim: 39362306a36Sopenharmony_ci $ref: /schemas/types.yaml#/definitions/uint32 39462306a36Sopenharmony_ci minimum: 0 39562306a36Sopenharmony_ci maximum: 15 39662306a36Sopenharmony_ci description: Specifies the cycle's current reference trim. 39762306a36Sopenharmony_ci 39862306a36Sopenharmony_ci dependencies: 39962306a36Sopenharmony_ci azoteq,iref-level: ["azoteq,iref-enable"] 40062306a36Sopenharmony_ci azoteq,iref-trim: ["azoteq,iref-enable"] 40162306a36Sopenharmony_ci 40262306a36Sopenharmony_ci additionalProperties: false 40362306a36Sopenharmony_ci 40462306a36Sopenharmony_ci "^channel-([0-9]|1[0-9])$": 40562306a36Sopenharmony_ci type: object 40662306a36Sopenharmony_ci description: 40762306a36Sopenharmony_ci Represents a single sensing channel. A channel is active if defined and 40862306a36Sopenharmony_ci inactive otherwise. 40962306a36Sopenharmony_ci 41062306a36Sopenharmony_ci Note that in the case of IQS7222A, channels 10 and 11 are restricted to 41162306a36Sopenharmony_ci Hall-effect sensing with events reported on channel 10 only. 41262306a36Sopenharmony_ci 41362306a36Sopenharmony_ci properties: 41462306a36Sopenharmony_ci azoteq,ulp-allow: 41562306a36Sopenharmony_ci type: boolean 41662306a36Sopenharmony_ci description: 41762306a36Sopenharmony_ci Permits the device to enter ultra-low-power mode while the channel 41862306a36Sopenharmony_ci lies in a state of touch or proximity. 41962306a36Sopenharmony_ci 42062306a36Sopenharmony_ci azoteq,ref-select: 42162306a36Sopenharmony_ci $ref: /schemas/types.yaml#/definitions/uint32 42262306a36Sopenharmony_ci minimum: 0 42362306a36Sopenharmony_ci maximum: 9 42462306a36Sopenharmony_ci description: Specifies a separate reference channel to be followed. 42562306a36Sopenharmony_ci 42662306a36Sopenharmony_ci azoteq,ref-weight: 42762306a36Sopenharmony_ci $ref: /schemas/types.yaml#/definitions/uint32 42862306a36Sopenharmony_ci minimum: 0 42962306a36Sopenharmony_ci maximum: 65535 43062306a36Sopenharmony_ci description: Specifies the relative weight of the reference channel. 43162306a36Sopenharmony_ci 43262306a36Sopenharmony_ci azoteq,use-prox: 43362306a36Sopenharmony_ci type: boolean 43462306a36Sopenharmony_ci description: 43562306a36Sopenharmony_ci Activates the reference channel in response to proximity events 43662306a36Sopenharmony_ci instead of touch events. 43762306a36Sopenharmony_ci 43862306a36Sopenharmony_ci azoteq,counts-filt-enable: 43962306a36Sopenharmony_ci type: boolean 44062306a36Sopenharmony_ci description: Applies counts filtering to the channel. 44162306a36Sopenharmony_ci 44262306a36Sopenharmony_ci azoteq,ati-band: 44362306a36Sopenharmony_ci $ref: /schemas/types.yaml#/definitions/uint32 44462306a36Sopenharmony_ci enum: [0, 1, 2, 3] 44562306a36Sopenharmony_ci description: | 44662306a36Sopenharmony_ci Specifies the channel's ATI band as a fraction of its ATI target as 44762306a36Sopenharmony_ci follows: 44862306a36Sopenharmony_ci 0: 1/16 44962306a36Sopenharmony_ci 1: 1/8 45062306a36Sopenharmony_ci 2: 1/4 45162306a36Sopenharmony_ci 3: 1/2 45262306a36Sopenharmony_ci 45362306a36Sopenharmony_ci azoteq,global-halt: 45462306a36Sopenharmony_ci type: boolean 45562306a36Sopenharmony_ci description: 45662306a36Sopenharmony_ci Specifies that the channel's long-term average is to freeze if any 45762306a36Sopenharmony_ci other participating channel lies in a proximity or touch state. 45862306a36Sopenharmony_ci 45962306a36Sopenharmony_ci azoteq,invert-enable: 46062306a36Sopenharmony_ci type: boolean 46162306a36Sopenharmony_ci description: 46262306a36Sopenharmony_ci Inverts the polarity of the states reported for proximity and touch 46362306a36Sopenharmony_ci events relative to their respective thresholds. 46462306a36Sopenharmony_ci 46562306a36Sopenharmony_ci azoteq,dual-direction: 46662306a36Sopenharmony_ci type: boolean 46762306a36Sopenharmony_ci description: 46862306a36Sopenharmony_ci Specifies that the channel's long-term average is to freeze in the 46962306a36Sopenharmony_ci presence of either increasing or decreasing counts, thereby permit- 47062306a36Sopenharmony_ci ting events to be reported in either direction. 47162306a36Sopenharmony_ci 47262306a36Sopenharmony_ci azoteq,rx-enable: 47362306a36Sopenharmony_ci $ref: /schemas/types.yaml#/definitions/uint32-array 47462306a36Sopenharmony_ci minItems: 1 47562306a36Sopenharmony_ci maxItems: 4 47662306a36Sopenharmony_ci items: 47762306a36Sopenharmony_ci minimum: 0 47862306a36Sopenharmony_ci maximum: 7 47962306a36Sopenharmony_ci description: Specifies the CRx pin(s) associated with the channel. 48062306a36Sopenharmony_ci 48162306a36Sopenharmony_ci azoteq,samp-cap-double: 48262306a36Sopenharmony_ci type: boolean 48362306a36Sopenharmony_ci description: Doubles the sampling capacitance from 40 pF to 80 pF. 48462306a36Sopenharmony_ci 48562306a36Sopenharmony_ci azoteq,vref-half: 48662306a36Sopenharmony_ci type: boolean 48762306a36Sopenharmony_ci description: Halves the discharge threshold from 1.0 V to 0.5 V. 48862306a36Sopenharmony_ci 48962306a36Sopenharmony_ci azoteq,proj-bias: 49062306a36Sopenharmony_ci $ref: /schemas/types.yaml#/definitions/uint32 49162306a36Sopenharmony_ci enum: [0, 1, 2, 3] 49262306a36Sopenharmony_ci description: | 49362306a36Sopenharmony_ci Specifies the bias current applied during mutual (projected) 49462306a36Sopenharmony_ci capacitive sensing as follows: 49562306a36Sopenharmony_ci 0: 2 uA 49662306a36Sopenharmony_ci 1: 5 uA 49762306a36Sopenharmony_ci 2: 7 uA 49862306a36Sopenharmony_ci 3: 10 uA 49962306a36Sopenharmony_ci 50062306a36Sopenharmony_ci azoteq,ati-target: 50162306a36Sopenharmony_ci $ref: /schemas/types.yaml#/definitions/uint32 50262306a36Sopenharmony_ci multipleOf: 8 50362306a36Sopenharmony_ci minimum: 0 50462306a36Sopenharmony_ci maximum: 2040 50562306a36Sopenharmony_ci description: Specifies the channel's ATI target. 50662306a36Sopenharmony_ci 50762306a36Sopenharmony_ci azoteq,ati-base: 50862306a36Sopenharmony_ci $ref: /schemas/types.yaml#/definitions/uint32 50962306a36Sopenharmony_ci multipleOf: 16 51062306a36Sopenharmony_ci minimum: 0 51162306a36Sopenharmony_ci maximum: 496 51262306a36Sopenharmony_ci description: Specifies the channel's ATI base. 51362306a36Sopenharmony_ci 51462306a36Sopenharmony_ci azoteq,ati-mode: 51562306a36Sopenharmony_ci $ref: /schemas/types.yaml#/definitions/uint32 51662306a36Sopenharmony_ci enum: [0, 1, 2, 3, 4, 5] 51762306a36Sopenharmony_ci description: | 51862306a36Sopenharmony_ci Specifies the channel's ATI mode as follows: 51962306a36Sopenharmony_ci 0: Disabled 52062306a36Sopenharmony_ci 1: Compensation 52162306a36Sopenharmony_ci 2: Compensation divider 52262306a36Sopenharmony_ci 3: Fine fractional divider 52362306a36Sopenharmony_ci 4: Coarse fractional divider 52462306a36Sopenharmony_ci 5: Full 52562306a36Sopenharmony_ci 52662306a36Sopenharmony_ci azoteq,ati-frac-div-fine: 52762306a36Sopenharmony_ci $ref: /schemas/types.yaml#/definitions/uint32 52862306a36Sopenharmony_ci minimum: 0 52962306a36Sopenharmony_ci maximum: 31 53062306a36Sopenharmony_ci description: Specifies the channel's ATI fine fractional divider. 53162306a36Sopenharmony_ci 53262306a36Sopenharmony_ci azoteq,ati-frac-mult-coarse: 53362306a36Sopenharmony_ci $ref: /schemas/types.yaml#/definitions/uint32 53462306a36Sopenharmony_ci minimum: 0 53562306a36Sopenharmony_ci maximum: 15 53662306a36Sopenharmony_ci description: Specifies the channel's ATI coarse fractional multiplier. 53762306a36Sopenharmony_ci 53862306a36Sopenharmony_ci azoteq,ati-frac-div-coarse: 53962306a36Sopenharmony_ci $ref: /schemas/types.yaml#/definitions/uint32 54062306a36Sopenharmony_ci minimum: 0 54162306a36Sopenharmony_ci maximum: 31 54262306a36Sopenharmony_ci description: Specifies the channel's ATI coarse fractional divider. 54362306a36Sopenharmony_ci 54462306a36Sopenharmony_ci azoteq,ati-comp-div: 54562306a36Sopenharmony_ci $ref: /schemas/types.yaml#/definitions/uint32 54662306a36Sopenharmony_ci minimum: 0 54762306a36Sopenharmony_ci maximum: 31 54862306a36Sopenharmony_ci description: Specifies the channel's ATI compensation divider. 54962306a36Sopenharmony_ci 55062306a36Sopenharmony_ci azoteq,ati-comp-select: 55162306a36Sopenharmony_ci $ref: /schemas/types.yaml#/definitions/uint32 55262306a36Sopenharmony_ci minimum: 0 55362306a36Sopenharmony_ci maximum: 1023 55462306a36Sopenharmony_ci description: Specifies the channel's ATI compensation selection. 55562306a36Sopenharmony_ci 55662306a36Sopenharmony_ci azoteq,debounce-enter: 55762306a36Sopenharmony_ci $ref: /schemas/types.yaml#/definitions/uint32 55862306a36Sopenharmony_ci minimum: 0 55962306a36Sopenharmony_ci maximum: 15 56062306a36Sopenharmony_ci description: Specifies the channel's debounce entrance factor. 56162306a36Sopenharmony_ci 56262306a36Sopenharmony_ci azoteq,debounce-exit: 56362306a36Sopenharmony_ci $ref: /schemas/types.yaml#/definitions/uint32 56462306a36Sopenharmony_ci minimum: 0 56562306a36Sopenharmony_ci maximum: 15 56662306a36Sopenharmony_ci description: Specifies the channel's debounce exit factor. 56762306a36Sopenharmony_ci 56862306a36Sopenharmony_ci patternProperties: 56962306a36Sopenharmony_ci "^event-(prox|touch)$": 57062306a36Sopenharmony_ci type: object 57162306a36Sopenharmony_ci $ref: input.yaml# 57262306a36Sopenharmony_ci description: 57362306a36Sopenharmony_ci Represents a proximity or touch event reported by the channel. 57462306a36Sopenharmony_ci 57562306a36Sopenharmony_ci properties: 57662306a36Sopenharmony_ci azoteq,gpio-select: 57762306a36Sopenharmony_ci $ref: /schemas/types.yaml#/definitions/uint32-array 57862306a36Sopenharmony_ci minItems: 1 57962306a36Sopenharmony_ci maxItems: 3 58062306a36Sopenharmony_ci items: 58162306a36Sopenharmony_ci minimum: 0 58262306a36Sopenharmony_ci maximum: 2 58362306a36Sopenharmony_ci description: | 58462306a36Sopenharmony_ci Specifies one or more GPIO mapped to the event as follows: 58562306a36Sopenharmony_ci 0: GPIO0 58662306a36Sopenharmony_ci 1: GPIO3 58762306a36Sopenharmony_ci 2: GPIO4 58862306a36Sopenharmony_ci 58962306a36Sopenharmony_ci Note that although multiple events can be mapped to a single 59062306a36Sopenharmony_ci GPIO, they must all be of the same type (proximity, touch or 59162306a36Sopenharmony_ci slider/trackpad gesture). 59262306a36Sopenharmony_ci 59362306a36Sopenharmony_ci azoteq,thresh: 59462306a36Sopenharmony_ci $ref: /schemas/types.yaml#/definitions/uint32 59562306a36Sopenharmony_ci description: 59662306a36Sopenharmony_ci Specifies the threshold for the event. Valid entries range from 59762306a36Sopenharmony_ci 0-127 and 0-255 for proximity and touch events, respectively. 59862306a36Sopenharmony_ci 59962306a36Sopenharmony_ci azoteq,hyst: 60062306a36Sopenharmony_ci $ref: /schemas/types.yaml#/definitions/uint32 60162306a36Sopenharmony_ci minimum: 0 60262306a36Sopenharmony_ci maximum: 255 60362306a36Sopenharmony_ci description: 60462306a36Sopenharmony_ci Specifies the hysteresis for the event (touch events only). 60562306a36Sopenharmony_ci 60662306a36Sopenharmony_ci azoteq,timeout-press-ms: 60762306a36Sopenharmony_ci multipleOf: 500 60862306a36Sopenharmony_ci minimum: 0 60962306a36Sopenharmony_ci maximum: 127500 61062306a36Sopenharmony_ci description: 61162306a36Sopenharmony_ci Specifies the length of time (in ms) to wait before automatically 61262306a36Sopenharmony_ci releasing a press event. Specify zero to allow the press state to 61362306a36Sopenharmony_ci persist indefinitely. 61462306a36Sopenharmony_ci 61562306a36Sopenharmony_ci The IQS7222B does not feature channel-specific timeouts; the time- 61662306a36Sopenharmony_ci out specified for any one channel applies to all channels. 61762306a36Sopenharmony_ci 61862306a36Sopenharmony_ci linux,code: true 61962306a36Sopenharmony_ci 62062306a36Sopenharmony_ci linux,input-type: 62162306a36Sopenharmony_ci enum: [1, 5] 62262306a36Sopenharmony_ci default: 1 62362306a36Sopenharmony_ci description: 62462306a36Sopenharmony_ci Specifies whether the event is to be interpreted as a key (1) 62562306a36Sopenharmony_ci or a switch (5). 62662306a36Sopenharmony_ci 62762306a36Sopenharmony_ci additionalProperties: false 62862306a36Sopenharmony_ci 62962306a36Sopenharmony_ci dependencies: 63062306a36Sopenharmony_ci azoteq,ref-weight: ["azoteq,ref-select"] 63162306a36Sopenharmony_ci azoteq,use-prox: ["azoteq,ref-select"] 63262306a36Sopenharmony_ci 63362306a36Sopenharmony_ci additionalProperties: false 63462306a36Sopenharmony_ci 63562306a36Sopenharmony_ci "^slider-[0-1]$": 63662306a36Sopenharmony_ci type: object 63762306a36Sopenharmony_ci description: Represents a slider comprising three or four channels. 63862306a36Sopenharmony_ci 63962306a36Sopenharmony_ci properties: 64062306a36Sopenharmony_ci azoteq,channel-select: 64162306a36Sopenharmony_ci $ref: /schemas/types.yaml#/definitions/uint32-array 64262306a36Sopenharmony_ci minItems: 3 64362306a36Sopenharmony_ci maxItems: 4 64462306a36Sopenharmony_ci items: 64562306a36Sopenharmony_ci minimum: 0 64662306a36Sopenharmony_ci maximum: 9 64762306a36Sopenharmony_ci description: 64862306a36Sopenharmony_ci Specifies the order of the channels that participate in the slider. 64962306a36Sopenharmony_ci 65062306a36Sopenharmony_ci azoteq,slider-size: 65162306a36Sopenharmony_ci $ref: /schemas/types.yaml#/definitions/uint32 65262306a36Sopenharmony_ci minimum: 1 65362306a36Sopenharmony_ci maximum: 65535 65462306a36Sopenharmony_ci description: 65562306a36Sopenharmony_ci Specifies the slider's one-dimensional resolution, equal to the 65662306a36Sopenharmony_ci maximum coordinate plus one. 65762306a36Sopenharmony_ci 65862306a36Sopenharmony_ci azoteq,lower-cal: 65962306a36Sopenharmony_ci $ref: /schemas/types.yaml#/definitions/uint32 66062306a36Sopenharmony_ci minimum: 0 66162306a36Sopenharmony_ci maximum: 255 66262306a36Sopenharmony_ci description: Specifies the slider's lower starting point. 66362306a36Sopenharmony_ci 66462306a36Sopenharmony_ci azoteq,upper-cal: 66562306a36Sopenharmony_ci $ref: /schemas/types.yaml#/definitions/uint32 66662306a36Sopenharmony_ci minimum: 0 66762306a36Sopenharmony_ci maximum: 255 66862306a36Sopenharmony_ci description: Specifies the slider's upper starting point. 66962306a36Sopenharmony_ci 67062306a36Sopenharmony_ci azoteq,top-speed: 67162306a36Sopenharmony_ci $ref: /schemas/types.yaml#/definitions/uint32 67262306a36Sopenharmony_ci minimum: 0 67362306a36Sopenharmony_ci maximum: 65535 67462306a36Sopenharmony_ci description: 67562306a36Sopenharmony_ci Specifies the speed (in coordinates traveled per conversion) after 67662306a36Sopenharmony_ci which coordinate filtering is no longer applied. 67762306a36Sopenharmony_ci 67862306a36Sopenharmony_ci azoteq,bottom-speed: 67962306a36Sopenharmony_ci $ref: /schemas/types.yaml#/definitions/uint32 68062306a36Sopenharmony_ci minimum: 0 68162306a36Sopenharmony_ci maximum: 255 68262306a36Sopenharmony_ci description: 68362306a36Sopenharmony_ci Specifies the speed (in coordinates traveled per conversion) after 68462306a36Sopenharmony_ci which coordinate filtering is linearly reduced. 68562306a36Sopenharmony_ci 68662306a36Sopenharmony_ci azoteq,bottom-beta: 68762306a36Sopenharmony_ci $ref: /schemas/types.yaml#/definitions/uint32 68862306a36Sopenharmony_ci minimum: 0 68962306a36Sopenharmony_ci maximum: 7 69062306a36Sopenharmony_ci description: 69162306a36Sopenharmony_ci Specifies the coordinate filter damping factor to be applied 69262306a36Sopenharmony_ci while the speed of movement is below that which is specified 69362306a36Sopenharmony_ci by azoteq,bottom-speed. 69462306a36Sopenharmony_ci 69562306a36Sopenharmony_ci azoteq,static-beta: 69662306a36Sopenharmony_ci type: boolean 69762306a36Sopenharmony_ci description: 69862306a36Sopenharmony_ci Applies the coordinate filter damping factor specified by 69962306a36Sopenharmony_ci azoteq,bottom-beta regardless of the speed of movement. 70062306a36Sopenharmony_ci 70162306a36Sopenharmony_ci azoteq,use-prox: 70262306a36Sopenharmony_ci type: boolean 70362306a36Sopenharmony_ci description: 70462306a36Sopenharmony_ci Directs the slider to respond to the proximity states of the selected 70562306a36Sopenharmony_ci channels instead of their corresponding touch states. Note the slider 70662306a36Sopenharmony_ci cannot report granular coordinates during a state of proximity. 70762306a36Sopenharmony_ci 70862306a36Sopenharmony_ci linux,axis: 70962306a36Sopenharmony_ci $ref: /schemas/types.yaml#/definitions/uint32 71062306a36Sopenharmony_ci description: 71162306a36Sopenharmony_ci Specifies the absolute axis to which coordinates are mapped. Specify 71262306a36Sopenharmony_ci ABS_WHEEL to operate the slider as a wheel (IQS7222C only). 71362306a36Sopenharmony_ci 71462306a36Sopenharmony_ci patternProperties: 71562306a36Sopenharmony_ci "^event-(press|tap|(swipe|flick)-(pos|neg))$": 71662306a36Sopenharmony_ci type: object 71762306a36Sopenharmony_ci $ref: input.yaml# 71862306a36Sopenharmony_ci description: 71962306a36Sopenharmony_ci Represents a press or gesture (IQS7222A only) event reported by 72062306a36Sopenharmony_ci the slider. 72162306a36Sopenharmony_ci 72262306a36Sopenharmony_ci properties: 72362306a36Sopenharmony_ci linux,code: true 72462306a36Sopenharmony_ci 72562306a36Sopenharmony_ci azoteq,gesture-max-ms: 72662306a36Sopenharmony_ci multipleOf: 16 72762306a36Sopenharmony_ci minimum: 0 72862306a36Sopenharmony_ci maximum: 4080 72962306a36Sopenharmony_ci description: 73062306a36Sopenharmony_ci Specifies the length of time (in ms) within which a tap, swipe 73162306a36Sopenharmony_ci or flick gesture must be completed in order to be acknowledged 73262306a36Sopenharmony_ci by the device. The number specified for any one swipe or flick 73362306a36Sopenharmony_ci gesture applies to all remaining swipe or flick gestures. 73462306a36Sopenharmony_ci 73562306a36Sopenharmony_ci azoteq,gesture-min-ms: 73662306a36Sopenharmony_ci multipleOf: 16 73762306a36Sopenharmony_ci minimum: 0 73862306a36Sopenharmony_ci maximum: 496 73962306a36Sopenharmony_ci description: 74062306a36Sopenharmony_ci Specifies the length of time (in ms) for which a tap gesture must 74162306a36Sopenharmony_ci be held in order to be acknowledged by the device. 74262306a36Sopenharmony_ci 74362306a36Sopenharmony_ci azoteq,gesture-dist: 74462306a36Sopenharmony_ci $ref: /schemas/types.yaml#/definitions/uint32 74562306a36Sopenharmony_ci multipleOf: 16 74662306a36Sopenharmony_ci minimum: 0 74762306a36Sopenharmony_ci maximum: 4080 74862306a36Sopenharmony_ci description: 74962306a36Sopenharmony_ci Specifies the distance (in coordinates) across which a swipe or 75062306a36Sopenharmony_ci flick gesture must travel in order to be acknowledged by the 75162306a36Sopenharmony_ci device. The number specified for any one swipe or flick gesture 75262306a36Sopenharmony_ci applies to all remaining swipe or flick gestures. 75362306a36Sopenharmony_ci 75462306a36Sopenharmony_ci azoteq,gpio-select: 75562306a36Sopenharmony_ci $ref: /schemas/types.yaml#/definitions/uint32-array 75662306a36Sopenharmony_ci minItems: 1 75762306a36Sopenharmony_ci maxItems: 3 75862306a36Sopenharmony_ci items: 75962306a36Sopenharmony_ci minimum: 0 76062306a36Sopenharmony_ci maximum: 2 76162306a36Sopenharmony_ci description: | 76262306a36Sopenharmony_ci Specifies one or more GPIO mapped to the event as follows: 76362306a36Sopenharmony_ci 0: GPIO0 76462306a36Sopenharmony_ci 1: GPIO3 76562306a36Sopenharmony_ci 2: GPIO4 76662306a36Sopenharmony_ci 76762306a36Sopenharmony_ci Note that although multiple events can be mapped to a single 76862306a36Sopenharmony_ci GPIO, they must all be of the same type (proximity, touch or 76962306a36Sopenharmony_ci slider gesture). 77062306a36Sopenharmony_ci 77162306a36Sopenharmony_ci additionalProperties: false 77262306a36Sopenharmony_ci 77362306a36Sopenharmony_ci required: 77462306a36Sopenharmony_ci - azoteq,channel-select 77562306a36Sopenharmony_ci 77662306a36Sopenharmony_ci additionalProperties: false 77762306a36Sopenharmony_ci 77862306a36Sopenharmony_ci "^gpio-[0-2]$": 77962306a36Sopenharmony_ci type: object 78062306a36Sopenharmony_ci description: | 78162306a36Sopenharmony_ci Represents a GPIO mapped to one or more events as follows: 78262306a36Sopenharmony_ci gpio-0: GPIO0 78362306a36Sopenharmony_ci gpio-1: GPIO3 78462306a36Sopenharmony_ci gpio-2: GPIO4 78562306a36Sopenharmony_ci 78662306a36Sopenharmony_ci allOf: 78762306a36Sopenharmony_ci - $ref: ../pinctrl/pincfg-node.yaml# 78862306a36Sopenharmony_ci 78962306a36Sopenharmony_ci properties: 79062306a36Sopenharmony_ci drive-open-drain: true 79162306a36Sopenharmony_ci 79262306a36Sopenharmony_ci additionalProperties: false 79362306a36Sopenharmony_ci 79462306a36Sopenharmony_ciallOf: 79562306a36Sopenharmony_ci - $ref: touchscreen/touchscreen.yaml# 79662306a36Sopenharmony_ci 79762306a36Sopenharmony_ci - if: 79862306a36Sopenharmony_ci properties: 79962306a36Sopenharmony_ci compatible: 80062306a36Sopenharmony_ci contains: 80162306a36Sopenharmony_ci enum: 80262306a36Sopenharmony_ci - azoteq,iqs7222a 80362306a36Sopenharmony_ci - azoteq,iqs7222b 80462306a36Sopenharmony_ci - azoteq,iqs7222c 80562306a36Sopenharmony_ci 80662306a36Sopenharmony_ci then: 80762306a36Sopenharmony_ci properties: 80862306a36Sopenharmony_ci touchscreen-size-x: false 80962306a36Sopenharmony_ci touchscreen-size-y: false 81062306a36Sopenharmony_ci touchscreen-inverted-x: false 81162306a36Sopenharmony_ci touchscreen-inverted-y: false 81262306a36Sopenharmony_ci touchscreen-swapped-x-y: false 81362306a36Sopenharmony_ci 81462306a36Sopenharmony_ci trackpad: false 81562306a36Sopenharmony_ci 81662306a36Sopenharmony_ci patternProperties: 81762306a36Sopenharmony_ci "^channel-([0-9]|1[0-9])$": 81862306a36Sopenharmony_ci properties: 81962306a36Sopenharmony_ci azoteq,counts-filt-enable: false 82062306a36Sopenharmony_ci 82162306a36Sopenharmony_ci - if: 82262306a36Sopenharmony_ci properties: 82362306a36Sopenharmony_ci compatible: 82462306a36Sopenharmony_ci contains: 82562306a36Sopenharmony_ci enum: 82662306a36Sopenharmony_ci - azoteq,iqs7222b 82762306a36Sopenharmony_ci - azoteq,iqs7222c 82862306a36Sopenharmony_ci 82962306a36Sopenharmony_ci then: 83062306a36Sopenharmony_ci patternProperties: 83162306a36Sopenharmony_ci "^channel-([0-9]|1[0-9])$": 83262306a36Sopenharmony_ci properties: 83362306a36Sopenharmony_ci azoteq,ulp-allow: false 83462306a36Sopenharmony_ci 83562306a36Sopenharmony_ci - if: 83662306a36Sopenharmony_ci properties: 83762306a36Sopenharmony_ci compatible: 83862306a36Sopenharmony_ci contains: 83962306a36Sopenharmony_ci enum: 84062306a36Sopenharmony_ci - azoteq,iqs7222b 84162306a36Sopenharmony_ci - azoteq,iqs7222d 84262306a36Sopenharmony_ci 84362306a36Sopenharmony_ci then: 84462306a36Sopenharmony_ci patternProperties: 84562306a36Sopenharmony_ci "^cycle-[0-9]$": 84662306a36Sopenharmony_ci properties: 84762306a36Sopenharmony_ci azoteq,iref-enable: false 84862306a36Sopenharmony_ci 84962306a36Sopenharmony_ci "^channel-([0-9]|1[0-9])$": 85062306a36Sopenharmony_ci properties: 85162306a36Sopenharmony_ci azoteq,ref-select: false 85262306a36Sopenharmony_ci 85362306a36Sopenharmony_ci "^slider-[0-1]$": false 85462306a36Sopenharmony_ci 85562306a36Sopenharmony_ci - if: 85662306a36Sopenharmony_ci properties: 85762306a36Sopenharmony_ci compatible: 85862306a36Sopenharmony_ci contains: 85962306a36Sopenharmony_ci const: azoteq,iqs7222b 86062306a36Sopenharmony_ci 86162306a36Sopenharmony_ci then: 86262306a36Sopenharmony_ci patternProperties: 86362306a36Sopenharmony_ci "^channel-([0-9]|1[0-9])$": 86462306a36Sopenharmony_ci patternProperties: 86562306a36Sopenharmony_ci "^event-(prox|touch)$": 86662306a36Sopenharmony_ci properties: 86762306a36Sopenharmony_ci azoteq,gpio-select: false 86862306a36Sopenharmony_ci 86962306a36Sopenharmony_ci "^gpio-[0-2]$": false 87062306a36Sopenharmony_ci 87162306a36Sopenharmony_ci - if: 87262306a36Sopenharmony_ci properties: 87362306a36Sopenharmony_ci compatible: 87462306a36Sopenharmony_ci contains: 87562306a36Sopenharmony_ci const: azoteq,iqs7222a 87662306a36Sopenharmony_ci 87762306a36Sopenharmony_ci then: 87862306a36Sopenharmony_ci patternProperties: 87962306a36Sopenharmony_ci "^channel-([0-9]|1[0-9])$": 88062306a36Sopenharmony_ci patternProperties: 88162306a36Sopenharmony_ci "^event-(prox|touch)$": 88262306a36Sopenharmony_ci properties: 88362306a36Sopenharmony_ci azoteq,gpio-select: 88462306a36Sopenharmony_ci maxItems: 1 88562306a36Sopenharmony_ci items: 88662306a36Sopenharmony_ci maximum: 0 88762306a36Sopenharmony_ci 88862306a36Sopenharmony_ci "^slider-[0-1]$": 88962306a36Sopenharmony_ci properties: 89062306a36Sopenharmony_ci azoteq,slider-size: 89162306a36Sopenharmony_ci multipleOf: 16 89262306a36Sopenharmony_ci minimum: 16 89362306a36Sopenharmony_ci maximum: 4080 89462306a36Sopenharmony_ci 89562306a36Sopenharmony_ci azoteq,top-speed: 89662306a36Sopenharmony_ci multipleOf: 4 89762306a36Sopenharmony_ci maximum: 1020 89862306a36Sopenharmony_ci 89962306a36Sopenharmony_ci patternProperties: 90062306a36Sopenharmony_ci "^event-(press|tap|(swipe|flick)-(pos|neg))$": 90162306a36Sopenharmony_ci properties: 90262306a36Sopenharmony_ci azoteq,gpio-select: 90362306a36Sopenharmony_ci maxItems: 1 90462306a36Sopenharmony_ci items: 90562306a36Sopenharmony_ci maximum: 0 90662306a36Sopenharmony_ci 90762306a36Sopenharmony_ci else: 90862306a36Sopenharmony_ci patternProperties: 90962306a36Sopenharmony_ci "^slider-[0-1]$": 91062306a36Sopenharmony_ci patternProperties: 91162306a36Sopenharmony_ci "^event-(press|tap|(swipe|flick)-(pos|neg))$": 91262306a36Sopenharmony_ci properties: 91362306a36Sopenharmony_ci azoteq,gesture-max-ms: false 91462306a36Sopenharmony_ci 91562306a36Sopenharmony_ci azoteq,gesture-min-ms: false 91662306a36Sopenharmony_ci 91762306a36Sopenharmony_ci azoteq,gesture-dist: false 91862306a36Sopenharmony_ci 91962306a36Sopenharmony_cirequired: 92062306a36Sopenharmony_ci - compatible 92162306a36Sopenharmony_ci - reg 92262306a36Sopenharmony_ci - irq-gpios 92362306a36Sopenharmony_ci 92462306a36Sopenharmony_ciadditionalProperties: false 92562306a36Sopenharmony_ci 92662306a36Sopenharmony_ciexamples: 92762306a36Sopenharmony_ci - | 92862306a36Sopenharmony_ci #include <dt-bindings/gpio/gpio.h> 92962306a36Sopenharmony_ci #include <dt-bindings/input/input.h> 93062306a36Sopenharmony_ci 93162306a36Sopenharmony_ci i2c { 93262306a36Sopenharmony_ci #address-cells = <1>; 93362306a36Sopenharmony_ci #size-cells = <0>; 93462306a36Sopenharmony_ci 93562306a36Sopenharmony_ci iqs7222a@44 { 93662306a36Sopenharmony_ci compatible = "azoteq,iqs7222a"; 93762306a36Sopenharmony_ci reg = <0x44>; 93862306a36Sopenharmony_ci irq-gpios = <&gpio 4 GPIO_ACTIVE_LOW>; 93962306a36Sopenharmony_ci azoteq,lta-beta-lp = <7>; 94062306a36Sopenharmony_ci azoteq,lta-beta-np = <8>; 94162306a36Sopenharmony_ci azoteq,counts-beta-lp = <2>; 94262306a36Sopenharmony_ci azoteq,counts-beta-np = <3>; 94362306a36Sopenharmony_ci azoteq,lta-fast-beta-lp = <3>; 94462306a36Sopenharmony_ci azoteq,lta-fast-beta-np = <4>; 94562306a36Sopenharmony_ci 94662306a36Sopenharmony_ci cycle-0 { 94762306a36Sopenharmony_ci azoteq,conv-period = <5>; 94862306a36Sopenharmony_ci azoteq,conv-frac = <127>; 94962306a36Sopenharmony_ci azoteq,tx-enable = <1>, <2>, <4>, <5>; 95062306a36Sopenharmony_ci azoteq,dead-time-enable; 95162306a36Sopenharmony_ci azoteq,sense-mode = <2>; 95262306a36Sopenharmony_ci }; 95362306a36Sopenharmony_ci 95462306a36Sopenharmony_ci cycle-1 { 95562306a36Sopenharmony_ci azoteq,conv-period = <5>; 95662306a36Sopenharmony_ci azoteq,conv-frac = <127>; 95762306a36Sopenharmony_ci azoteq,tx-enable = <5>; 95862306a36Sopenharmony_ci azoteq,dead-time-enable; 95962306a36Sopenharmony_ci azoteq,sense-mode = <2>; 96062306a36Sopenharmony_ci }; 96162306a36Sopenharmony_ci 96262306a36Sopenharmony_ci cycle-2 { 96362306a36Sopenharmony_ci azoteq,conv-period = <5>; 96462306a36Sopenharmony_ci azoteq,conv-frac = <127>; 96562306a36Sopenharmony_ci azoteq,tx-enable = <4>; 96662306a36Sopenharmony_ci azoteq,dead-time-enable; 96762306a36Sopenharmony_ci azoteq,sense-mode = <2>; 96862306a36Sopenharmony_ci }; 96962306a36Sopenharmony_ci 97062306a36Sopenharmony_ci cycle-3 { 97162306a36Sopenharmony_ci azoteq,conv-period = <5>; 97262306a36Sopenharmony_ci azoteq,conv-frac = <127>; 97362306a36Sopenharmony_ci azoteq,tx-enable = <2>; 97462306a36Sopenharmony_ci azoteq,dead-time-enable; 97562306a36Sopenharmony_ci azoteq,sense-mode = <2>; 97662306a36Sopenharmony_ci }; 97762306a36Sopenharmony_ci 97862306a36Sopenharmony_ci cycle-4 { 97962306a36Sopenharmony_ci azoteq,conv-period = <5>; 98062306a36Sopenharmony_ci azoteq,conv-frac = <127>; 98162306a36Sopenharmony_ci azoteq,tx-enable = <1>; 98262306a36Sopenharmony_ci azoteq,dead-time-enable; 98362306a36Sopenharmony_ci azoteq,sense-mode = <2>; 98462306a36Sopenharmony_ci }; 98562306a36Sopenharmony_ci 98662306a36Sopenharmony_ci cycle-5 { 98762306a36Sopenharmony_ci azoteq,conv-period = <2>; 98862306a36Sopenharmony_ci azoteq,conv-frac = <0>; 98962306a36Sopenharmony_ci }; 99062306a36Sopenharmony_ci 99162306a36Sopenharmony_ci cycle-6 { 99262306a36Sopenharmony_ci azoteq,conv-period = <2>; 99362306a36Sopenharmony_ci azoteq,conv-frac = <0>; 99462306a36Sopenharmony_ci }; 99562306a36Sopenharmony_ci 99662306a36Sopenharmony_ci channel-0 { 99762306a36Sopenharmony_ci azoteq,ulp-allow; 99862306a36Sopenharmony_ci azoteq,global-halt; 99962306a36Sopenharmony_ci azoteq,invert-enable; 100062306a36Sopenharmony_ci azoteq,rx-enable = <3>; 100162306a36Sopenharmony_ci azoteq,ati-target = <800>; 100262306a36Sopenharmony_ci azoteq,ati-base = <208>; 100362306a36Sopenharmony_ci azoteq,ati-mode = <5>; 100462306a36Sopenharmony_ci }; 100562306a36Sopenharmony_ci 100662306a36Sopenharmony_ci channel-1 { 100762306a36Sopenharmony_ci azoteq,global-halt; 100862306a36Sopenharmony_ci azoteq,invert-enable; 100962306a36Sopenharmony_ci azoteq,rx-enable = <3>; 101062306a36Sopenharmony_ci azoteq,ati-target = <496>; 101162306a36Sopenharmony_ci azoteq,ati-base = <208>; 101262306a36Sopenharmony_ci azoteq,ati-mode = <5>; 101362306a36Sopenharmony_ci }; 101462306a36Sopenharmony_ci 101562306a36Sopenharmony_ci channel-2 { 101662306a36Sopenharmony_ci azoteq,global-halt; 101762306a36Sopenharmony_ci azoteq,invert-enable; 101862306a36Sopenharmony_ci azoteq,rx-enable = <3>; 101962306a36Sopenharmony_ci azoteq,ati-target = <496>; 102062306a36Sopenharmony_ci azoteq,ati-base = <208>; 102162306a36Sopenharmony_ci azoteq,ati-mode = <5>; 102262306a36Sopenharmony_ci }; 102362306a36Sopenharmony_ci 102462306a36Sopenharmony_ci channel-3 { 102562306a36Sopenharmony_ci azoteq,global-halt; 102662306a36Sopenharmony_ci azoteq,invert-enable; 102762306a36Sopenharmony_ci azoteq,rx-enable = <3>; 102862306a36Sopenharmony_ci azoteq,ati-target = <496>; 102962306a36Sopenharmony_ci azoteq,ati-base = <208>; 103062306a36Sopenharmony_ci azoteq,ati-mode = <5>; 103162306a36Sopenharmony_ci }; 103262306a36Sopenharmony_ci 103362306a36Sopenharmony_ci channel-4 { 103462306a36Sopenharmony_ci azoteq,global-halt; 103562306a36Sopenharmony_ci azoteq,invert-enable; 103662306a36Sopenharmony_ci azoteq,rx-enable = <3>; 103762306a36Sopenharmony_ci azoteq,ati-target = <496>; 103862306a36Sopenharmony_ci azoteq,ati-base = <208>; 103962306a36Sopenharmony_ci azoteq,ati-mode = <5>; 104062306a36Sopenharmony_ci }; 104162306a36Sopenharmony_ci 104262306a36Sopenharmony_ci channel-5 { 104362306a36Sopenharmony_ci azoteq,ulp-allow; 104462306a36Sopenharmony_ci azoteq,global-halt; 104562306a36Sopenharmony_ci azoteq,invert-enable; 104662306a36Sopenharmony_ci azoteq,rx-enable = <6>; 104762306a36Sopenharmony_ci azoteq,ati-target = <800>; 104862306a36Sopenharmony_ci azoteq,ati-base = <144>; 104962306a36Sopenharmony_ci azoteq,ati-mode = <5>; 105062306a36Sopenharmony_ci }; 105162306a36Sopenharmony_ci 105262306a36Sopenharmony_ci channel-6 { 105362306a36Sopenharmony_ci azoteq,global-halt; 105462306a36Sopenharmony_ci azoteq,invert-enable; 105562306a36Sopenharmony_ci azoteq,rx-enable = <6>; 105662306a36Sopenharmony_ci azoteq,ati-target = <496>; 105762306a36Sopenharmony_ci azoteq,ati-base = <160>; 105862306a36Sopenharmony_ci azoteq,ati-mode = <5>; 105962306a36Sopenharmony_ci 106062306a36Sopenharmony_ci event-touch { 106162306a36Sopenharmony_ci linux,code = <KEY_MUTE>; 106262306a36Sopenharmony_ci }; 106362306a36Sopenharmony_ci }; 106462306a36Sopenharmony_ci 106562306a36Sopenharmony_ci channel-7 { 106662306a36Sopenharmony_ci azoteq,global-halt; 106762306a36Sopenharmony_ci azoteq,invert-enable; 106862306a36Sopenharmony_ci azoteq,rx-enable = <6>; 106962306a36Sopenharmony_ci azoteq,ati-target = <496>; 107062306a36Sopenharmony_ci azoteq,ati-base = <160>; 107162306a36Sopenharmony_ci azoteq,ati-mode = <5>; 107262306a36Sopenharmony_ci 107362306a36Sopenharmony_ci event-touch { 107462306a36Sopenharmony_ci linux,code = <KEY_VOLUMEDOWN>; 107562306a36Sopenharmony_ci }; 107662306a36Sopenharmony_ci }; 107762306a36Sopenharmony_ci 107862306a36Sopenharmony_ci channel-8 { 107962306a36Sopenharmony_ci azoteq,global-halt; 108062306a36Sopenharmony_ci azoteq,invert-enable; 108162306a36Sopenharmony_ci azoteq,rx-enable = <6>; 108262306a36Sopenharmony_ci azoteq,ati-target = <496>; 108362306a36Sopenharmony_ci azoteq,ati-base = <160>; 108462306a36Sopenharmony_ci azoteq,ati-mode = <5>; 108562306a36Sopenharmony_ci 108662306a36Sopenharmony_ci event-touch { 108762306a36Sopenharmony_ci linux,code = <KEY_VOLUMEUP>; 108862306a36Sopenharmony_ci }; 108962306a36Sopenharmony_ci }; 109062306a36Sopenharmony_ci 109162306a36Sopenharmony_ci channel-9 { 109262306a36Sopenharmony_ci azoteq,global-halt; 109362306a36Sopenharmony_ci azoteq,invert-enable; 109462306a36Sopenharmony_ci azoteq,rx-enable = <6>; 109562306a36Sopenharmony_ci azoteq,ati-target = <496>; 109662306a36Sopenharmony_ci azoteq,ati-base = <160>; 109762306a36Sopenharmony_ci azoteq,ati-mode = <5>; 109862306a36Sopenharmony_ci 109962306a36Sopenharmony_ci event-touch { 110062306a36Sopenharmony_ci linux,code = <KEY_POWER>; 110162306a36Sopenharmony_ci }; 110262306a36Sopenharmony_ci }; 110362306a36Sopenharmony_ci 110462306a36Sopenharmony_ci channel-10 { 110562306a36Sopenharmony_ci azoteq,ulp-allow; 110662306a36Sopenharmony_ci azoteq,ati-target = <496>; 110762306a36Sopenharmony_ci azoteq,ati-base = <112>; 110862306a36Sopenharmony_ci 110962306a36Sopenharmony_ci event-touch { 111062306a36Sopenharmony_ci linux,code = <SW_LID>; 111162306a36Sopenharmony_ci linux,input-type = <EV_SW>; 111262306a36Sopenharmony_ci }; 111362306a36Sopenharmony_ci }; 111462306a36Sopenharmony_ci 111562306a36Sopenharmony_ci channel-11 { 111662306a36Sopenharmony_ci azoteq,ati-target = <496>; 111762306a36Sopenharmony_ci azoteq,ati-base = <112>; 111862306a36Sopenharmony_ci }; 111962306a36Sopenharmony_ci 112062306a36Sopenharmony_ci slider-0 { 112162306a36Sopenharmony_ci azoteq,channel-select = <1>, <2>, <3>, <4>; 112262306a36Sopenharmony_ci azoteq,slider-size = <4080>; 112362306a36Sopenharmony_ci azoteq,upper-cal = <50>; 112462306a36Sopenharmony_ci azoteq,lower-cal = <30>; 112562306a36Sopenharmony_ci azoteq,top-speed = <200>; 112662306a36Sopenharmony_ci azoteq,bottom-speed = <1>; 112762306a36Sopenharmony_ci azoteq,bottom-beta = <3>; 112862306a36Sopenharmony_ci 112962306a36Sopenharmony_ci event-tap { 113062306a36Sopenharmony_ci linux,code = <KEY_PLAYPAUSE>; 113162306a36Sopenharmony_ci azoteq,gesture-max-ms = <400>; 113262306a36Sopenharmony_ci azoteq,gesture-min-ms = <32>; 113362306a36Sopenharmony_ci }; 113462306a36Sopenharmony_ci 113562306a36Sopenharmony_ci event-flick-pos { 113662306a36Sopenharmony_ci linux,code = <KEY_NEXTSONG>; 113762306a36Sopenharmony_ci azoteq,gesture-max-ms = <800>; 113862306a36Sopenharmony_ci azoteq,gesture-dist = <800>; 113962306a36Sopenharmony_ci }; 114062306a36Sopenharmony_ci 114162306a36Sopenharmony_ci event-flick-neg { 114262306a36Sopenharmony_ci linux,code = <KEY_PREVIOUSSONG>; 114362306a36Sopenharmony_ci }; 114462306a36Sopenharmony_ci }; 114562306a36Sopenharmony_ci }; 114662306a36Sopenharmony_ci }; 114762306a36Sopenharmony_ci 114862306a36Sopenharmony_ci... 1149