185004Sdfr# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 285004Sdfr%YAML 1.2 385004Sdfr--- 485004Sdfr$id: http://devicetree.org/schemas/input/touchscreen/azoteq,iqs7211.yaml# 585004Sdfr$schema: http://devicetree.org/meta-schemas/core.yaml# 685004Sdfr 785004Sdfrtitle: Azoteq IQS7210A/7211A/E Trackpad/Touchscreen Controller 885004Sdfr 985004Sdfrmaintainers: 1085004Sdfr - Jeff LaBundy <jeff@labundy.com> 1185004Sdfr 1285004Sdfrdescription: | 1385004Sdfr The Azoteq IQS7210A, IQS7211A and IQS7211E trackpad and touchscreen control- 1485004Sdfr lers employ projected-capacitance sensing and can track two contacts. 1585004Sdfr 1685004Sdfr Link to datasheets: https://www.azoteq.com/ 1785004Sdfr 1885004Sdfrproperties: 1985004Sdfr compatible: 2085004Sdfr enum: 2185004Sdfr - azoteq,iqs7210a 2285004Sdfr - azoteq,iqs7211a 2385004Sdfr - azoteq,iqs7211e 2485004Sdfr 2585004Sdfr reg: 2685004Sdfr maxItems: 1 2785004Sdfr 2885004Sdfr irq-gpios: 2985004Sdfr maxItems: 1 3085004Sdfr description: 3185004Sdfr Specifies the GPIO connected to the device's active-low RDY output. The 3285004Sdfr pin doubles as the IQS7211E's active-low MCLR input, in which case this 3385004Sdfr GPIO must be configured as open-drain. 3485004Sdfr 3585004Sdfr reset-gpios: 3697026Smarcel maxItems: 1 3785004Sdfr description: 3885004Sdfr Specifies the GPIO connected to the device's active-low MCLR input. The 3985004Sdfr device is temporarily held in hardware reset prior to initialization if 4085004Sdfr this property is present. 4185004Sdfr 4285004Sdfr azoteq,forced-comms: 4385004Sdfr type: boolean 4485004Sdfr description: 4585004Sdfr Enables forced communication; to be used with host adapters that cannot 4685004Sdfr tolerate clock stretching. 4785004Sdfr 4885004Sdfr azoteq,forced-comms-default: 4985004Sdfr $ref: /schemas/types.yaml#/definitions/uint32 5085004Sdfr enum: [0, 1] 5185004Sdfr description: 5285004Sdfr Indicates if the device's OTP memory enables (1) or disables (0) forced 5385004Sdfr communication by default. Specifying this property can expedite startup 5485004Sdfr time if the default value is known. 5585004Sdfr 5685004Sdfr If this property is not specified, communication is not initiated until 5785004Sdfr the device asserts its RDY pin shortly after exiting hardware reset. At 5885004Sdfr that point, forced communication is either enabled or disabled based on 5985004Sdfr the presence or absence of the 'azoteq,forced-comms' property. 6085004Sdfr 6185004Sdfr azoteq,rate-active-ms: 6285004Sdfr minimum: 0 6385004Sdfr maximum: 65535 6485004Sdfr description: Specifies the report rate (in ms) during active mode. 6585004Sdfr 6685004Sdfr azoteq,rate-touch-ms: 6785004Sdfr minimum: 0 6885004Sdfr maximum: 65535 6985004Sdfr description: Specifies the report rate (in ms) during idle-touch mode. 7085004Sdfr 7185004Sdfr azoteq,rate-idle-ms: 7285004Sdfr minimum: 0 7385004Sdfr maximum: 65535 7485004Sdfr description: Specifies the report rate (in ms) during idle mode. 7585004Sdfr 7685004Sdfr azoteq,rate-lp1-ms: 7785004Sdfr minimum: 0 7885004Sdfr maximum: 65535 7985004Sdfr description: Specifies the report rate (in ms) during low-power mode 1. 8085004Sdfr 8185004Sdfr azoteq,rate-lp2-ms: 8285004Sdfr minimum: 0 8385004Sdfr maximum: 65535 8485004Sdfr description: Specifies the report rate (in ms) during low-power mode 2. 8585004Sdfr 8685004Sdfr azoteq,timeout-active-ms: 8785004Sdfr multipleOf: 1000 8885004Sdfr minimum: 0 8985004Sdfr maximum: 65535000 9085004Sdfr description: 9185004Sdfr Specifies the length of time (in ms) to wait for an event before moving 9285004Sdfr from active mode to idle or idle-touch modes. 9385004Sdfr 9485004Sdfr azoteq,timeout-touch-ms: 9585004Sdfr multipleOf: 1000 9685004Sdfr minimum: 0 9785004Sdfr maximum: 65535000 9885004Sdfr description: 9985004Sdfr Specifies the length of time (in ms) to wait for an event before moving 10085004Sdfr from idle-touch mode to idle mode. 101112419Sarun 102112419Sarun azoteq,timeout-idle-ms: 103112419Sarun multipleOf: 1000 104112419Sarun minimum: 0 105112419Sarun maximum: 65535000 106112419Sarun description: 107112419Sarun Specifies the length of time (in ms) to wait for an event before moving 108112419Sarun from idle mode to low-power mode 1. 109112419Sarun 110112419Sarun azoteq,timeout-lp1-ms: 111112419Sarun multipleOf: 1000 112112419Sarun minimum: 0 113112419Sarun maximum: 65535000 114112419Sarun description: 115112419Sarun Specifies the length of time (in ms) to wait for an event before moving 116112419Sarun from low-power mode 1 to low-power mode 2. 117112419Sarun 118112419Sarun azoteq,timeout-lp2-ms: 119112419Sarun multipleOf: 1000 120112419Sarun minimum: 0 121112419Sarun maximum: 60000 122112419Sarun description: 123112419Sarun Specifies the rate (in ms) at which the trackpad reference values 124112419Sarun are updated during low-power modes 1 and 2. 125115396Skan 126115396Skan azoteq,timeout-ati-ms: 127112419Sarun multipleOf: 1000 128112419Sarun minimum: 0 129112419Sarun maximum: 60000 130112419Sarun description: 131112419Sarun Specifies the delay (in ms) before the automatic tuning implementation 132112419Sarun (ATI) is retried in the event it fails to complete. 133112419Sarun 134112419Sarun azoteq,timeout-comms-ms: 135112419Sarun minimum: 0 136112419Sarun maximum: 65535 137112419Sarun description: 138112419Sarun Specifies the delay (in ms) before a communication window is closed. 139115396Skan 140112419Sarun azoteq,timeout-press-ms: 141112419Sarun multipleOf: 1000 142112419Sarun minimum: 0 143112419Sarun maximum: 60000 144115396Skan description: 145112419Sarun Specifies the length of time (in ms) to wait before automatically 146112419Sarun releasing a press event. Specify zero to allow the press state to 147112419Sarun persist indefinitely. 148112419Sarun 149112419Sarun azoteq,fosc-freq: 150112419Sarun $ref: /schemas/types.yaml#/definitions/uint32 15185004Sdfr enum: [0, 1] 15285004Sdfr description: | 15385004Sdfr Specifies the device's core clock frequency as follows: 154112419Sarun 0: 14 MHz 15585004Sdfr 1: 18 MHz 156112419Sarun 15785004Sdfr azoteq,fosc-trim: 15885004Sdfr $ref: /schemas/types.yaml#/definitions/uint32 15985004Sdfr minimum: 0 160154491Smarcel maximum: 15 16185004Sdfr description: Specifies the device's core clock frequency trim. 16285004Sdfr 16385004Sdfr azoteq,num-contacts: 16485004Sdfr $ref: /schemas/types.yaml#/definitions/uint32 16585004Sdfr minimum: 0 16685004Sdfr maximum: 2 16785004Sdfr default: 0 16885004Sdfr description: Specifies the number of contacts reported by the device. 169154491Smarcel 17085004Sdfr azoteq,contact-split: 17185004Sdfr $ref: /schemas/types.yaml#/definitions/uint32 17285004Sdfr minimum: 0 17385004Sdfr maximum: 255 17485004Sdfr description: Specifies the contact (finger) split factor. 17585004Sdfr 17685004Sdfr azoteq,trim-x: 17785004Sdfr $ref: /schemas/types.yaml#/definitions/uint32 17895544Smarcel minimum: 0 17995544Smarcel maximum: 255 18095544Smarcel description: Specifies the horizontal trim width. 18185004Sdfr 18285004Sdfr azoteq,trim-y: 18385004Sdfr $ref: /schemas/types.yaml#/definitions/uint32 18485004Sdfr minimum: 0 185154491Smarcel maximum: 255 18685004Sdfr description: Specifies the vertical trim height. 18785004Sdfr 18885004Sdfr trackpad: 189115396Skan type: object 19085004Sdfr description: Represents all channels associated with the trackpad. 19195544Smarcel 19285004Sdfr properties: 19385004Sdfr azoteq,rx-enable: 19485004Sdfr $ref: /schemas/types.yaml#/definitions/uint32-array 195112419Sarun minItems: 1 19685004Sdfr maxItems: 8 19785004Sdfr items: 19885004Sdfr minimum: 0 19995540Smarcel maximum: 7 20095540Smarcel description: 20195540Smarcel Specifies the order of the CRx pin(s) associated with the trackpad. 20295544Smarcel 20395544Smarcel azoteq,tx-enable: 20495544Smarcel $ref: /schemas/types.yaml#/definitions/uint32-array 20585004Sdfr minItems: 1 206112419Sarun maxItems: 12 207112419Sarun items: 208112419Sarun minimum: 0 209112419Sarun maximum: 11 210112419Sarun description: 211112419Sarun Specifies the order of the CTx pin(s) associated with the trackpad. 212112419Sarun 213112419Sarun azoteq,channel-select: 214112419Sarun $ref: /schemas/types.yaml#/definitions/uint32-array 21595544Smarcel minItems: 1 21695544Smarcel maxItems: 36 21795544Smarcel items: 21885004Sdfr minimum: 0 219112419Sarun maximum: 255 22095544Smarcel description: | 22195544Smarcel Specifies the channels mapped to each cycle in the following order: 22295544Smarcel Cycle 0, slot 0 223112419Sarun Cycle 0, slot 1 22495544Smarcel Cycle 1, slot 0 22595544Smarcel Cycle 1, slot 1 22695544Smarcel ...and so on. Specify 255 to disable a given slot. 22795544Smarcel 22895544Smarcel azoteq,ati-frac-div-fine: 22985004Sdfr $ref: /schemas/types.yaml#/definitions/uint32 23085004Sdfr minimum: 0 23185004Sdfr maximum: 31 232154491Smarcel description: Specifies the trackpad's ATI fine fractional divider. 233102155Smarcel 234102155Smarcel azoteq,ati-frac-mult-coarse: 235102155Smarcel $ref: /schemas/types.yaml#/definitions/uint32 236102155Smarcel minimum: 0 237102155Smarcel maximum: 15 238102155Smarcel description: Specifies the trackpad's ATI coarse fractional multiplier. 239102155Smarcel 240102155Smarcel azoteq,ati-frac-div-coarse: 241102155Smarcel $ref: /schemas/types.yaml#/definitions/uint32 242102155Smarcel minimum: 0 243102155Smarcel maximum: 31 244102155Smarcel description: Specifies the trackpad's ATI coarse fractional divider. 245102155Smarcel 246102155Smarcel azoteq,ati-comp-div: 247102155Smarcel $ref: /schemas/types.yaml#/definitions/uint32 248102155Smarcel minimum: 0 249102155Smarcel maximum: 31 250102155Smarcel description: Specifies the trackpad's ATI compensation divider. 251102155Smarcel 252102155Smarcel azoteq,ati-target: 253102155Smarcel $ref: /schemas/types.yaml#/definitions/uint32 254102155Smarcel minimum: 0 255102155Smarcel maximum: 65535 256102155Smarcel description: Specifies the trackpad's ATI target. 257102155Smarcel 258102155Smarcel azoteq,touch-enter: 259102155Smarcel $ref: /schemas/types.yaml#/definitions/uint32 260102155Smarcel minimum: 0 261102155Smarcel maximum: 255 262154491Smarcel description: Specifies the trackpad's touch entrance factor. 263133063Sdfr 264133063Sdfr azoteq,touch-exit: 265133063Sdfr $ref: /schemas/types.yaml#/definitions/uint32 266133063Sdfr minimum: 0 267133063Sdfr maximum: 255 268133063Sdfr description: Specifies the trackpad's touch exit factor. 269133063Sdfr 270133063Sdfr azoteq,thresh: 271133063Sdfr $ref: /schemas/types.yaml#/definitions/uint32 272133063Sdfr minimum: 0 273133063Sdfr maximum: 255 274133063Sdfr description: Specifies the trackpad's stationary touch threshold. 275154491Smarcel 276133063Sdfr azoteq,conv-period: 277133063Sdfr $ref: /schemas/types.yaml#/definitions/uint32 278133063Sdfr minimum: 0 279133063Sdfr maximum: 255 280133063Sdfr description: Specifies the trackpad's conversion period. 281133063Sdfr 282133063Sdfr azoteq,conv-frac: 283133063Sdfr $ref: /schemas/types.yaml#/definitions/uint32 284133063Sdfr minimum: 0 285133063Sdfr maximum: 255 286133063Sdfr description: Specifies the trackpad's conversion frequency fraction. 287133063Sdfr 288154491Smarcel patternProperties: 289133063Sdfr "^event-(tap(-double|-triple)?|hold|palm|swipe-(x|y)-(pos|neg)(-hold)?)$": 290133063Sdfr type: object 291133063Sdfr $ref: ../input.yaml# 292133063Sdfr description: 293133063Sdfr Represents a gesture event reported by the trackpad. In the case of 294133063Sdfr axial gestures, the duration or distance specified in one direction 295133063Sdfr applies to both directions along the same axis. 296133063Sdfr 297133063Sdfr properties: 298133063Sdfr linux,code: true 299133063Sdfr 300133063Sdfr azoteq,gesture-max-ms: 301133063Sdfr minimum: 0 302133063Sdfr maximum: 65535 303133063Sdfr description: Specifies the maximum duration of tap/swipe gestures. 304133063Sdfr 305133063Sdfr azoteq,gesture-mid-ms: 306133063Sdfr minimum: 0 307133063Sdfr maximum: 65535 308133063Sdfr description: 309133063Sdfr Specifies the maximum duration between subsequent tap gestures 310133063Sdfr (IQS7211E only). 311133063Sdfr 312133063Sdfr azoteq,gesture-min-ms: 313133063Sdfr minimum: 0 314133063Sdfr maximum: 65535 315133063Sdfr description: Specifies the minimum duration of hold gestures. 316133063Sdfr 317154491Smarcel azoteq,gesture-dist: 318115940Smarcel $ref: /schemas/types.yaml#/definitions/uint32 319115940Smarcel minimum: 0 32085004Sdfr maximum: 65535 321153503Smarcel description: 32285004Sdfr Specifies the minimum (swipe) or maximum (tap and hold) distance 323153503Smarcel a finger may travel to be considered a gesture. 32485004Sdfr 32585004Sdfr azoteq,gesture-dist-rep: 32685004Sdfr $ref: /schemas/types.yaml#/definitions/uint32 32785004Sdfr minimum: 0 32885004Sdfr maximum: 65535 32985004Sdfr description: 33085004Sdfr Specifies the minimum distance a finger must travel to elicit a 33185004Sdfr repeated swipe gesture (IQS7211E only). 33285004Sdfr 33385004Sdfr azoteq,gesture-angle: 33485004Sdfr $ref: /schemas/types.yaml#/definitions/uint32 33585004Sdfr minimum: 0 33685004Sdfr maximum: 75 33785004Sdfr description: 33885004Sdfr Specifies the maximum angle (in degrees) a finger may travel to 33998629Sdillon be considered a swipe gesture. 34098629Sdillon 34185004Sdfr azoteq,thresh: 34298629Sdillon $ref: /schemas/types.yaml#/definitions/uint32 34398629Sdillon minimum: 0 34498629Sdillon maximum: 42 34598629Sdillon description: Specifies the palm gesture threshold (IQS7211E only). 34698629Sdillon 34798629Sdillon additionalProperties: false 34898629Sdillon 34985004Sdfr dependencies: 35085004Sdfr azoteq,rx-enable: ["azoteq,tx-enable"] 35185004Sdfr azoteq,tx-enable: ["azoteq,rx-enable"] 35285004Sdfr azoteq,channel-select: ["azoteq,rx-enable"] 35385004Sdfr 35485004Sdfr additionalProperties: false 35585004Sdfr 35685004Sdfr alp: 35785004Sdfr type: object 358112419Sarun $ref: ../input.yaml# 35998629Sdillon description: Represents the alternate low-power channel (ALP). 36085004Sdfr 36185004Sdfr properties: 36285004Sdfr azoteq,rx-enable: 36385004Sdfr $ref: /schemas/types.yaml#/definitions/uint32-array 36485004Sdfr minItems: 1 365112419Sarun maxItems: 8 36698629Sdillon items: 36785004Sdfr minimum: 0 36885004Sdfr maximum: 7 36998629Sdillon description: 37098629Sdillon Specifies the CRx pin(s) associated with the ALP in no particular 37198629Sdillon order. 37298629Sdillon 373112419Sarun azoteq,tx-enable: 374115396Skan $ref: /schemas/types.yaml#/definitions/uint32-array 375115396Skan minItems: 1 376112419Sarun maxItems: 12 377112419Sarun items: 378112419Sarun minimum: 0 379112419Sarun maximum: 11 380112419Sarun description: 381112419Sarun Specifies the CTx pin(s) associated with the ALP in no particular 38298629Sdillon order. 38385004Sdfr 38485004Sdfr azoteq,ati-frac-div-fine: 38585004Sdfr $ref: /schemas/types.yaml#/definitions/uint32 38685004Sdfr minimum: 0 38785004Sdfr maximum: 31 38885004Sdfr description: Specifies the ALP's ATI fine fractional divider. 38985004Sdfr 39085004Sdfr azoteq,ati-frac-mult-coarse: 39185004Sdfr $ref: /schemas/types.yaml#/definitions/uint32 39285004Sdfr minimum: 0 39385004Sdfr maximum: 15 39485004Sdfr description: Specifies the ALP's ATI coarse fractional multiplier. 39585004Sdfr 39685004Sdfr azoteq,ati-frac-div-coarse: 39785004Sdfr $ref: /schemas/types.yaml#/definitions/uint32 39885004Sdfr minimum: 0 399154491Smarcel maximum: 31 40085004Sdfr description: Specifies the ALP's ATI coarse fractional divider. 40185004Sdfr 40285004Sdfr azoteq,ati-comp-div: 40385004Sdfr $ref: /schemas/types.yaml#/definitions/uint32 40485004Sdfr minimum: 0 40585004Sdfr maximum: 31 40685004Sdfr description: Specifies the ALP's ATI compensation divider. 40785004Sdfr 40885004Sdfr azoteq,ati-target: 40985004Sdfr $ref: /schemas/types.yaml#/definitions/uint32 41085004Sdfr minimum: 0 41185004Sdfr maximum: 65535 41285004Sdfr description: Specifies the ALP's ATI target. 41385004Sdfr 414154491Smarcel azoteq,ati-base: 41585004Sdfr $ref: /schemas/types.yaml#/definitions/uint32 41685004Sdfr multipleOf: 8 41785004Sdfr minimum: 0 41885004Sdfr maximum: 255 41985004Sdfr description: Specifies the ALP's ATI base. 42085004Sdfr 42185004Sdfr azoteq,ati-mode: 42285004Sdfr $ref: /schemas/types.yaml#/definitions/uint32 42385004Sdfr enum: [0, 1] 42485004Sdfr description: | 42585004Sdfr Specifies the ALP's ATI mode as follows: 42685004Sdfr 0: Partial 42785004Sdfr 1: Full 42885004Sdfr 42985004Sdfr azoteq,sense-mode: 43085004Sdfr $ref: /schemas/types.yaml#/definitions/uint32 43185004Sdfr enum: [0, 1] 43285004Sdfr description: | 43385004Sdfr Specifies the ALP's sensing mode as follows: 43485004Sdfr 0: Self capacitive 43585004Sdfr 1: Mutual capacitive 43685004Sdfr 43785004Sdfr azoteq,debounce-enter: 43885004Sdfr $ref: /schemas/types.yaml#/definitions/uint32 43985004Sdfr minimum: 0 44085004Sdfr maximum: 255 44185004Sdfr description: Specifies the ALP's debounce entrance factor. 442154491Smarcel 44385004Sdfr azoteq,debounce-exit: 44485004Sdfr $ref: /schemas/types.yaml#/definitions/uint32 44585004Sdfr minimum: 0 44685004Sdfr maximum: 255 44785004Sdfr description: Specifies the ALP's debounce exit factor. 44885004Sdfr 44985004Sdfr azoteq,thresh: 45085004Sdfr $ref: /schemas/types.yaml#/definitions/uint32 451107071Stmm minimum: 0 45285004Sdfr maximum: 65535 45385004Sdfr description: Specifies the ALP's proximity or touch threshold. 45485004Sdfr 45585004Sdfr azoteq,conv-period: 45685004Sdfr $ref: /schemas/types.yaml#/definitions/uint32 45785004Sdfr minimum: 0 45885004Sdfr maximum: 255 45985004Sdfr description: Specifies the ALP's conversion period. 46085004Sdfr 46185004Sdfr azoteq,conv-frac: 46285004Sdfr $ref: /schemas/types.yaml#/definitions/uint32 46385004Sdfr minimum: 0 46485004Sdfr maximum: 255 46585004Sdfr description: Specifies the ALP's conversion frequency fraction. 46685004Sdfr 46785004Sdfr linux,code: true 46885004Sdfr 46985004Sdfr additionalProperties: false 47085004Sdfr 47185004Sdfr button: 472107071Stmm type: object 47385004Sdfr description: Represents the inductive or capacitive button. 47485004Sdfr 47585004Sdfr properties: 47685004Sdfr azoteq,ati-frac-div-fine: 47785004Sdfr $ref: /schemas/types.yaml#/definitions/uint32 47885004Sdfr minimum: 0 47985004Sdfr maximum: 31 48085004Sdfr description: Specifies the button's ATI fine fractional divider. 481107071Stmm 482107071Stmm azoteq,ati-frac-mult-coarse: 48385004Sdfr $ref: /schemas/types.yaml#/definitions/uint32 48485004Sdfr minimum: 0 48585004Sdfr maximum: 15 48685004Sdfr description: Specifies the button's ATI coarse fractional multiplier. 48785004Sdfr 48885004Sdfr azoteq,ati-frac-div-coarse: 48985004Sdfr $ref: /schemas/types.yaml#/definitions/uint32 49085004Sdfr minimum: 0 49185004Sdfr maximum: 31 49285004Sdfr description: Specifies the button's ATI coarse fractional divider. 49385004Sdfr 49485004Sdfr azoteq,ati-comp-div: 49585004Sdfr $ref: /schemas/types.yaml#/definitions/uint32 49685004Sdfr minimum: 0 49785004Sdfr maximum: 31 49885004Sdfr description: Specifies the button's ATI compensation divider. 49985004Sdfr 50085004Sdfr azoteq,ati-target: 50185004Sdfr $ref: /schemas/types.yaml#/definitions/uint32 50285004Sdfr minimum: 0 50385004Sdfr maximum: 65535 50485004Sdfr description: Specifies the button's ATI target. 50585004Sdfr 50685004Sdfr azoteq,ati-base: 50785004Sdfr $ref: /schemas/types.yaml#/definitions/uint32 50885004Sdfr multipleOf: 8 50985004Sdfr minimum: 0 51085004Sdfr maximum: 255 51185004Sdfr description: Specifies the button's ATI base. 51285004Sdfr 51385004Sdfr azoteq,ati-mode: 51485004Sdfr $ref: /schemas/types.yaml#/definitions/uint32 51585004Sdfr enum: [0, 1] 51685004Sdfr description: | 51785004Sdfr Specifies the button's ATI mode as follows: 51885004Sdfr 0: Partial 51985004Sdfr 1: Full 52085004Sdfr 52185004Sdfr azoteq,sense-mode: 52285004Sdfr $ref: /schemas/types.yaml#/definitions/uint32 52385004Sdfr enum: [0, 1, 2] 52485004Sdfr description: | 52585004Sdfr Specifies the button's sensing mode as follows: 52685004Sdfr 0: Self capacitive 52785004Sdfr 1: Mutual capacitive 52885004Sdfr 2: Inductive 52985004Sdfr 53085004Sdfr azoteq,touch-enter: 53185004Sdfr $ref: /schemas/types.yaml#/definitions/uint32 53285004Sdfr minimum: 0 53385004Sdfr maximum: 255 53485004Sdfr description: Specifies the button's touch entrance factor. 53585004Sdfr 536112419Sarun azoteq,touch-exit: 53785004Sdfr $ref: /schemas/types.yaml#/definitions/uint32 53885004Sdfr minimum: 0 53985004Sdfr maximum: 255 54085004Sdfr description: Specifies the button's touch exit factor. 54185004Sdfr 54285004Sdfr azoteq,debounce-enter: 54385004Sdfr $ref: /schemas/types.yaml#/definitions/uint32 54485004Sdfr minimum: 0 54585004Sdfr maximum: 255 54685004Sdfr description: Specifies the button's debounce entrance factor. 54785677Speter 54885677Speter azoteq,debounce-exit: 54985677Speter $ref: /schemas/types.yaml#/definitions/uint32 55085677Speter minimum: 0 55185677Speter maximum: 255 55285677Speter description: Specifies the button's debounce exit factor. 55385677Speter 55485677Speter azoteq,thresh: 55585677Speter $ref: /schemas/types.yaml#/definitions/uint32 55685677Speter minimum: 0 55785677Speter maximum: 65535 55885677Speter description: Specifies the button's proximity threshold. 55985004Sdfr 56085004Sdfr azoteq,conv-period: 56185004Sdfr $ref: /schemas/types.yaml#/definitions/uint32 56285004Sdfr minimum: 0 56385004Sdfr maximum: 255 56485004Sdfr description: Specifies the button's conversion period. 56585004Sdfr 56685004Sdfr azoteq,conv-frac: 567154958Smarcel $ref: /schemas/types.yaml#/definitions/uint32 568102249Smarcel minimum: 0 569102249Smarcel maximum: 255 570102249Smarcel description: Specifies the button's conversion frequency fraction. 571102249Smarcel 572102249Smarcel patternProperties: 573102249Smarcel "^event-(prox|touch)$": 574102249Smarcel type: object 57585004Sdfr $ref: ../input.yaml# 57685004Sdfr description: 57785004Sdfr Represents a proximity or touch event reported by the button. 578154958Smarcel 57985004Sdfr properties: 58085004Sdfr linux,code: true 58185004Sdfr 58285004Sdfr additionalProperties: false 583154958Smarcel 58485004Sdfr additionalProperties: false 58585004Sdfr 58685004Sdfr wakeup-source: true 58785004Sdfr 58885004Sdfr touchscreen-size-x: true 58985004Sdfr touchscreen-size-y: true 59085004Sdfr touchscreen-inverted-x: true 59185004Sdfr touchscreen-inverted-y: true 59285004Sdfr touchscreen-swapped-x-y: true 593133063Sdfr 594133063Sdfrdependencies: 595133063Sdfr touchscreen-size-x: ["azoteq,num-contacts"] 596133063Sdfr touchscreen-size-y: ["azoteq,num-contacts"] 597161728Smarcel touchscreen-inverted-x: ["azoteq,num-contacts"] 598133063Sdfr touchscreen-inverted-y: ["azoteq,num-contacts"] 599133063Sdfr touchscreen-swapped-x-y: ["azoteq,num-contacts"] 600133063Sdfr 601133063Sdfrrequired: 602133063Sdfr - compatible 603133063Sdfr - reg 604133063Sdfr - irq-gpios 605133063Sdfr 606161798SmarceladditionalProperties: false 607161728Smarcel 608133063SdfrallOf: 609133063Sdfr - $ref: touchscreen.yaml# 610133063Sdfr 611133063Sdfr - if: 612133063Sdfr properties: 613133063Sdfr compatible: 614133063Sdfr contains: 615133063Sdfr const: azoteq,iqs7210a 616 617 then: 618 properties: 619 alp: 620 properties: 621 azoteq,rx-enable: 622 maxItems: 4 623 items: 624 minimum: 4 625 626 else: 627 properties: 628 azoteq,timeout-press-ms: false 629 630 alp: 631 properties: 632 azoteq,ati-mode: false 633 634 button: false 635 636 - if: 637 properties: 638 compatible: 639 contains: 640 const: azoteq,iqs7211e 641 642 then: 643 properties: 644 reset-gpios: false 645 646 trackpad: 647 properties: 648 azoteq,tx-enable: 649 maxItems: 13 650 items: 651 maximum: 12 652 653 alp: 654 properties: 655 azoteq,tx-enable: 656 maxItems: 13 657 items: 658 maximum: 12 659 660examples: 661 - | 662 #include <dt-bindings/gpio/gpio.h> 663 #include <dt-bindings/input/input.h> 664 665 i2c { 666 #address-cells = <1>; 667 #size-cells = <0>; 668 669 touch@56 { 670 compatible = "azoteq,iqs7210a"; 671 reg = <0x56>; 672 irq-gpios = <&gpio 4 GPIO_ACTIVE_LOW>; 673 reset-gpios = <&gpio 17 (GPIO_ACTIVE_LOW | 674 GPIO_PUSH_PULL)>; 675 azoteq,num-contacts = <2>; 676 677 trackpad { 678 azoteq,rx-enable = <6>, <5>, <4>, <3>, <2>; 679 azoteq,tx-enable = <1>, <7>, <8>, <9>, <10>; 680 }; 681 682 button { 683 azoteq,sense-mode = <2>; 684 azoteq,touch-enter = <40>; 685 azoteq,touch-exit = <36>; 686 687 event-touch { 688 linux,code = <KEY_HOME>; 689 }; 690 }; 691 692 alp { 693 azoteq,sense-mode = <1>; 694 linux,code = <KEY_POWER>; 695 }; 696 }; 697 }; 698 699 - | 700 #include <dt-bindings/gpio/gpio.h> 701 #include <dt-bindings/input/input.h> 702 703 i2c { 704 #address-cells = <1>; 705 #size-cells = <0>; 706 707 touch@56 { 708 compatible = "azoteq,iqs7211e"; 709 reg = <0x56>; 710 irq-gpios = <&gpio 4 (GPIO_ACTIVE_LOW | 711 GPIO_OPEN_DRAIN)>; 712 713 trackpad { 714 event-tap { 715 linux,code = <KEY_PLAYPAUSE>; 716 }; 717 718 event-tap-double { 719 linux,code = <KEY_SHUFFLE>; 720 }; 721 722 event-tap-triple { 723 linux,code = <KEY_AGAIN>; 724 }; 725 726 event-hold { 727 linux,code = <KEY_STOP>; 728 }; 729 730 event-palm { 731 linux,code = <KEY_EXIT>; 732 }; 733 734 event-swipe-x-pos { 735 linux,code = <KEY_REWIND>; 736 }; 737 738 event-swipe-x-pos-hold { 739 linux,code = <KEY_PREVIOUS>; 740 }; 741 742 event-swipe-x-neg { 743 linux,code = <KEY_FASTFORWARD>; 744 }; 745 746 event-swipe-x-neg-hold { 747 linux,code = <KEY_NEXT>; 748 }; 749 750 event-swipe-y-pos { 751 linux,code = <KEY_VOLUMEUP>; 752 }; 753 754 event-swipe-y-pos-hold { 755 linux,code = <KEY_MUTE>; 756 }; 757 758 event-swipe-y-neg { 759 linux,code = <KEY_VOLUMEDOWN>; 760 }; 761 762 event-swipe-y-neg-hold { 763 linux,code = <KEY_MUTE>; 764 }; 765 }; 766 }; 767 }; 768 769... 770