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/touchscreen/azoteq,iqs7211.yaml# 562306a36Sopenharmony_ci$schema: http://devicetree.org/meta-schemas/core.yaml# 662306a36Sopenharmony_ci 762306a36Sopenharmony_cititle: Azoteq IQS7210A/7211A/E Trackpad/Touchscreen Controller 862306a36Sopenharmony_ci 962306a36Sopenharmony_cimaintainers: 1062306a36Sopenharmony_ci - Jeff LaBundy <jeff@labundy.com> 1162306a36Sopenharmony_ci 1262306a36Sopenharmony_cidescription: | 1362306a36Sopenharmony_ci The Azoteq IQS7210A, IQS7211A and IQS7211E trackpad and touchscreen control- 1462306a36Sopenharmony_ci lers employ projected-capacitance sensing and can track two contacts. 1562306a36Sopenharmony_ci 1662306a36Sopenharmony_ci Link to datasheets: https://www.azoteq.com/ 1762306a36Sopenharmony_ci 1862306a36Sopenharmony_ciproperties: 1962306a36Sopenharmony_ci compatible: 2062306a36Sopenharmony_ci enum: 2162306a36Sopenharmony_ci - azoteq,iqs7210a 2262306a36Sopenharmony_ci - azoteq,iqs7211a 2362306a36Sopenharmony_ci - azoteq,iqs7211e 2462306a36Sopenharmony_ci 2562306a36Sopenharmony_ci reg: 2662306a36Sopenharmony_ci maxItems: 1 2762306a36Sopenharmony_ci 2862306a36Sopenharmony_ci irq-gpios: 2962306a36Sopenharmony_ci maxItems: 1 3062306a36Sopenharmony_ci description: 3162306a36Sopenharmony_ci Specifies the GPIO connected to the device's active-low RDY output. The 3262306a36Sopenharmony_ci pin doubles as the IQS7211E's active-low MCLR input, in which case this 3362306a36Sopenharmony_ci GPIO must be configured as open-drain. 3462306a36Sopenharmony_ci 3562306a36Sopenharmony_ci reset-gpios: 3662306a36Sopenharmony_ci maxItems: 1 3762306a36Sopenharmony_ci description: 3862306a36Sopenharmony_ci Specifies the GPIO connected to the device's active-low MCLR input. The 3962306a36Sopenharmony_ci device is temporarily held in hardware reset prior to initialization if 4062306a36Sopenharmony_ci this property is present. 4162306a36Sopenharmony_ci 4262306a36Sopenharmony_ci azoteq,forced-comms: 4362306a36Sopenharmony_ci type: boolean 4462306a36Sopenharmony_ci description: 4562306a36Sopenharmony_ci Enables forced communication; to be used with host adapters that cannot 4662306a36Sopenharmony_ci tolerate clock stretching. 4762306a36Sopenharmony_ci 4862306a36Sopenharmony_ci azoteq,forced-comms-default: 4962306a36Sopenharmony_ci $ref: /schemas/types.yaml#/definitions/uint32 5062306a36Sopenharmony_ci enum: [0, 1] 5162306a36Sopenharmony_ci description: 5262306a36Sopenharmony_ci Indicates if the device's OTP memory enables (1) or disables (0) forced 5362306a36Sopenharmony_ci communication by default. Specifying this property can expedite startup 5462306a36Sopenharmony_ci time if the default value is known. 5562306a36Sopenharmony_ci 5662306a36Sopenharmony_ci If this property is not specified, communication is not initiated until 5762306a36Sopenharmony_ci the device asserts its RDY pin shortly after exiting hardware reset. At 5862306a36Sopenharmony_ci that point, forced communication is either enabled or disabled based on 5962306a36Sopenharmony_ci the presence or absence of the 'azoteq,forced-comms' property. 6062306a36Sopenharmony_ci 6162306a36Sopenharmony_ci azoteq,rate-active-ms: 6262306a36Sopenharmony_ci minimum: 0 6362306a36Sopenharmony_ci maximum: 65535 6462306a36Sopenharmony_ci description: Specifies the report rate (in ms) during active mode. 6562306a36Sopenharmony_ci 6662306a36Sopenharmony_ci azoteq,rate-touch-ms: 6762306a36Sopenharmony_ci minimum: 0 6862306a36Sopenharmony_ci maximum: 65535 6962306a36Sopenharmony_ci description: Specifies the report rate (in ms) during idle-touch mode. 7062306a36Sopenharmony_ci 7162306a36Sopenharmony_ci azoteq,rate-idle-ms: 7262306a36Sopenharmony_ci minimum: 0 7362306a36Sopenharmony_ci maximum: 65535 7462306a36Sopenharmony_ci description: Specifies the report rate (in ms) during idle mode. 7562306a36Sopenharmony_ci 7662306a36Sopenharmony_ci azoteq,rate-lp1-ms: 7762306a36Sopenharmony_ci minimum: 0 7862306a36Sopenharmony_ci maximum: 65535 7962306a36Sopenharmony_ci description: Specifies the report rate (in ms) during low-power mode 1. 8062306a36Sopenharmony_ci 8162306a36Sopenharmony_ci azoteq,rate-lp2-ms: 8262306a36Sopenharmony_ci minimum: 0 8362306a36Sopenharmony_ci maximum: 65535 8462306a36Sopenharmony_ci description: Specifies the report rate (in ms) during low-power mode 2. 8562306a36Sopenharmony_ci 8662306a36Sopenharmony_ci azoteq,timeout-active-ms: 8762306a36Sopenharmony_ci multipleOf: 1000 8862306a36Sopenharmony_ci minimum: 0 8962306a36Sopenharmony_ci maximum: 65535000 9062306a36Sopenharmony_ci description: 9162306a36Sopenharmony_ci Specifies the length of time (in ms) to wait for an event before moving 9262306a36Sopenharmony_ci from active mode to idle or idle-touch modes. 9362306a36Sopenharmony_ci 9462306a36Sopenharmony_ci azoteq,timeout-touch-ms: 9562306a36Sopenharmony_ci multipleOf: 1000 9662306a36Sopenharmony_ci minimum: 0 9762306a36Sopenharmony_ci maximum: 65535000 9862306a36Sopenharmony_ci description: 9962306a36Sopenharmony_ci Specifies the length of time (in ms) to wait for an event before moving 10062306a36Sopenharmony_ci from idle-touch mode to idle mode. 10162306a36Sopenharmony_ci 10262306a36Sopenharmony_ci azoteq,timeout-idle-ms: 10362306a36Sopenharmony_ci multipleOf: 1000 10462306a36Sopenharmony_ci minimum: 0 10562306a36Sopenharmony_ci maximum: 65535000 10662306a36Sopenharmony_ci description: 10762306a36Sopenharmony_ci Specifies the length of time (in ms) to wait for an event before moving 10862306a36Sopenharmony_ci from idle mode to low-power mode 1. 10962306a36Sopenharmony_ci 11062306a36Sopenharmony_ci azoteq,timeout-lp1-ms: 11162306a36Sopenharmony_ci multipleOf: 1000 11262306a36Sopenharmony_ci minimum: 0 11362306a36Sopenharmony_ci maximum: 65535000 11462306a36Sopenharmony_ci description: 11562306a36Sopenharmony_ci Specifies the length of time (in ms) to wait for an event before moving 11662306a36Sopenharmony_ci from low-power mode 1 to low-power mode 2. 11762306a36Sopenharmony_ci 11862306a36Sopenharmony_ci azoteq,timeout-lp2-ms: 11962306a36Sopenharmony_ci multipleOf: 1000 12062306a36Sopenharmony_ci minimum: 0 12162306a36Sopenharmony_ci maximum: 60000 12262306a36Sopenharmony_ci description: 12362306a36Sopenharmony_ci Specifies the rate (in ms) at which the trackpad reference values 12462306a36Sopenharmony_ci are updated during low-power modes 1 and 2. 12562306a36Sopenharmony_ci 12662306a36Sopenharmony_ci azoteq,timeout-ati-ms: 12762306a36Sopenharmony_ci multipleOf: 1000 12862306a36Sopenharmony_ci minimum: 0 12962306a36Sopenharmony_ci maximum: 60000 13062306a36Sopenharmony_ci description: 13162306a36Sopenharmony_ci Specifies the delay (in ms) before the automatic tuning implementation 13262306a36Sopenharmony_ci (ATI) is retried in the event it fails to complete. 13362306a36Sopenharmony_ci 13462306a36Sopenharmony_ci azoteq,timeout-comms-ms: 13562306a36Sopenharmony_ci minimum: 0 13662306a36Sopenharmony_ci maximum: 65535 13762306a36Sopenharmony_ci description: 13862306a36Sopenharmony_ci Specifies the delay (in ms) before a communication window is closed. 13962306a36Sopenharmony_ci 14062306a36Sopenharmony_ci azoteq,timeout-press-ms: 14162306a36Sopenharmony_ci multipleOf: 1000 14262306a36Sopenharmony_ci minimum: 0 14362306a36Sopenharmony_ci maximum: 60000 14462306a36Sopenharmony_ci description: 14562306a36Sopenharmony_ci Specifies the length of time (in ms) to wait before automatically 14662306a36Sopenharmony_ci releasing a press event. Specify zero to allow the press state to 14762306a36Sopenharmony_ci persist indefinitely. 14862306a36Sopenharmony_ci 14962306a36Sopenharmony_ci azoteq,fosc-freq: 15062306a36Sopenharmony_ci $ref: /schemas/types.yaml#/definitions/uint32 15162306a36Sopenharmony_ci enum: [0, 1] 15262306a36Sopenharmony_ci description: | 15362306a36Sopenharmony_ci Specifies the device's core clock frequency as follows: 15462306a36Sopenharmony_ci 0: 14 MHz 15562306a36Sopenharmony_ci 1: 18 MHz 15662306a36Sopenharmony_ci 15762306a36Sopenharmony_ci azoteq,fosc-trim: 15862306a36Sopenharmony_ci $ref: /schemas/types.yaml#/definitions/uint32 15962306a36Sopenharmony_ci minimum: 0 16062306a36Sopenharmony_ci maximum: 15 16162306a36Sopenharmony_ci description: Specifies the device's core clock frequency trim. 16262306a36Sopenharmony_ci 16362306a36Sopenharmony_ci azoteq,num-contacts: 16462306a36Sopenharmony_ci $ref: /schemas/types.yaml#/definitions/uint32 16562306a36Sopenharmony_ci minimum: 0 16662306a36Sopenharmony_ci maximum: 2 16762306a36Sopenharmony_ci default: 0 16862306a36Sopenharmony_ci description: Specifies the number of contacts reported by the device. 16962306a36Sopenharmony_ci 17062306a36Sopenharmony_ci azoteq,contact-split: 17162306a36Sopenharmony_ci $ref: /schemas/types.yaml#/definitions/uint32 17262306a36Sopenharmony_ci minimum: 0 17362306a36Sopenharmony_ci maximum: 255 17462306a36Sopenharmony_ci description: Specifies the contact (finger) split factor. 17562306a36Sopenharmony_ci 17662306a36Sopenharmony_ci azoteq,trim-x: 17762306a36Sopenharmony_ci $ref: /schemas/types.yaml#/definitions/uint32 17862306a36Sopenharmony_ci minimum: 0 17962306a36Sopenharmony_ci maximum: 255 18062306a36Sopenharmony_ci description: Specifies the horizontal trim width. 18162306a36Sopenharmony_ci 18262306a36Sopenharmony_ci azoteq,trim-y: 18362306a36Sopenharmony_ci $ref: /schemas/types.yaml#/definitions/uint32 18462306a36Sopenharmony_ci minimum: 0 18562306a36Sopenharmony_ci maximum: 255 18662306a36Sopenharmony_ci description: Specifies the vertical trim height. 18762306a36Sopenharmony_ci 18862306a36Sopenharmony_ci trackpad: 18962306a36Sopenharmony_ci type: object 19062306a36Sopenharmony_ci description: Represents all channels associated with the trackpad. 19162306a36Sopenharmony_ci 19262306a36Sopenharmony_ci properties: 19362306a36Sopenharmony_ci azoteq,rx-enable: 19462306a36Sopenharmony_ci $ref: /schemas/types.yaml#/definitions/uint32-array 19562306a36Sopenharmony_ci minItems: 1 19662306a36Sopenharmony_ci maxItems: 8 19762306a36Sopenharmony_ci items: 19862306a36Sopenharmony_ci minimum: 0 19962306a36Sopenharmony_ci maximum: 7 20062306a36Sopenharmony_ci description: 20162306a36Sopenharmony_ci Specifies the order of the CRx pin(s) associated with the trackpad. 20262306a36Sopenharmony_ci 20362306a36Sopenharmony_ci azoteq,tx-enable: 20462306a36Sopenharmony_ci $ref: /schemas/types.yaml#/definitions/uint32-array 20562306a36Sopenharmony_ci minItems: 1 20662306a36Sopenharmony_ci maxItems: 12 20762306a36Sopenharmony_ci items: 20862306a36Sopenharmony_ci minimum: 0 20962306a36Sopenharmony_ci maximum: 11 21062306a36Sopenharmony_ci description: 21162306a36Sopenharmony_ci Specifies the order of the CTx pin(s) associated with the trackpad. 21262306a36Sopenharmony_ci 21362306a36Sopenharmony_ci azoteq,channel-select: 21462306a36Sopenharmony_ci $ref: /schemas/types.yaml#/definitions/uint32-array 21562306a36Sopenharmony_ci minItems: 1 21662306a36Sopenharmony_ci maxItems: 36 21762306a36Sopenharmony_ci items: 21862306a36Sopenharmony_ci minimum: 0 21962306a36Sopenharmony_ci maximum: 255 22062306a36Sopenharmony_ci description: | 22162306a36Sopenharmony_ci Specifies the channels mapped to each cycle in the following order: 22262306a36Sopenharmony_ci Cycle 0, slot 0 22362306a36Sopenharmony_ci Cycle 0, slot 1 22462306a36Sopenharmony_ci Cycle 1, slot 0 22562306a36Sopenharmony_ci Cycle 1, slot 1 22662306a36Sopenharmony_ci ...and so on. Specify 255 to disable a given slot. 22762306a36Sopenharmony_ci 22862306a36Sopenharmony_ci azoteq,ati-frac-div-fine: 22962306a36Sopenharmony_ci $ref: /schemas/types.yaml#/definitions/uint32 23062306a36Sopenharmony_ci minimum: 0 23162306a36Sopenharmony_ci maximum: 31 23262306a36Sopenharmony_ci description: Specifies the trackpad's ATI fine fractional divider. 23362306a36Sopenharmony_ci 23462306a36Sopenharmony_ci azoteq,ati-frac-mult-coarse: 23562306a36Sopenharmony_ci $ref: /schemas/types.yaml#/definitions/uint32 23662306a36Sopenharmony_ci minimum: 0 23762306a36Sopenharmony_ci maximum: 15 23862306a36Sopenharmony_ci description: Specifies the trackpad's ATI coarse fractional multiplier. 23962306a36Sopenharmony_ci 24062306a36Sopenharmony_ci azoteq,ati-frac-div-coarse: 24162306a36Sopenharmony_ci $ref: /schemas/types.yaml#/definitions/uint32 24262306a36Sopenharmony_ci minimum: 0 24362306a36Sopenharmony_ci maximum: 31 24462306a36Sopenharmony_ci description: Specifies the trackpad's ATI coarse fractional divider. 24562306a36Sopenharmony_ci 24662306a36Sopenharmony_ci azoteq,ati-comp-div: 24762306a36Sopenharmony_ci $ref: /schemas/types.yaml#/definitions/uint32 24862306a36Sopenharmony_ci minimum: 0 24962306a36Sopenharmony_ci maximum: 31 25062306a36Sopenharmony_ci description: Specifies the trackpad's ATI compensation divider. 25162306a36Sopenharmony_ci 25262306a36Sopenharmony_ci azoteq,ati-target: 25362306a36Sopenharmony_ci $ref: /schemas/types.yaml#/definitions/uint32 25462306a36Sopenharmony_ci minimum: 0 25562306a36Sopenharmony_ci maximum: 65535 25662306a36Sopenharmony_ci description: Specifies the trackpad's ATI target. 25762306a36Sopenharmony_ci 25862306a36Sopenharmony_ci azoteq,touch-enter: 25962306a36Sopenharmony_ci $ref: /schemas/types.yaml#/definitions/uint32 26062306a36Sopenharmony_ci minimum: 0 26162306a36Sopenharmony_ci maximum: 255 26262306a36Sopenharmony_ci description: Specifies the trackpad's touch entrance factor. 26362306a36Sopenharmony_ci 26462306a36Sopenharmony_ci azoteq,touch-exit: 26562306a36Sopenharmony_ci $ref: /schemas/types.yaml#/definitions/uint32 26662306a36Sopenharmony_ci minimum: 0 26762306a36Sopenharmony_ci maximum: 255 26862306a36Sopenharmony_ci description: Specifies the trackpad's touch exit factor. 26962306a36Sopenharmony_ci 27062306a36Sopenharmony_ci azoteq,thresh: 27162306a36Sopenharmony_ci $ref: /schemas/types.yaml#/definitions/uint32 27262306a36Sopenharmony_ci minimum: 0 27362306a36Sopenharmony_ci maximum: 255 27462306a36Sopenharmony_ci description: Specifies the trackpad's stationary touch threshold. 27562306a36Sopenharmony_ci 27662306a36Sopenharmony_ci azoteq,conv-period: 27762306a36Sopenharmony_ci $ref: /schemas/types.yaml#/definitions/uint32 27862306a36Sopenharmony_ci minimum: 0 27962306a36Sopenharmony_ci maximum: 255 28062306a36Sopenharmony_ci description: Specifies the trackpad's conversion period. 28162306a36Sopenharmony_ci 28262306a36Sopenharmony_ci azoteq,conv-frac: 28362306a36Sopenharmony_ci $ref: /schemas/types.yaml#/definitions/uint32 28462306a36Sopenharmony_ci minimum: 0 28562306a36Sopenharmony_ci maximum: 255 28662306a36Sopenharmony_ci description: Specifies the trackpad's conversion frequency fraction. 28762306a36Sopenharmony_ci 28862306a36Sopenharmony_ci patternProperties: 28962306a36Sopenharmony_ci "^event-(tap(-double|-triple)?|hold|palm|swipe-(x|y)-(pos|neg)(-hold)?)$": 29062306a36Sopenharmony_ci type: object 29162306a36Sopenharmony_ci $ref: ../input.yaml# 29262306a36Sopenharmony_ci description: 29362306a36Sopenharmony_ci Represents a gesture event reported by the trackpad. In the case of 29462306a36Sopenharmony_ci axial gestures, the duration or distance specified in one direction 29562306a36Sopenharmony_ci applies to both directions along the same axis. 29662306a36Sopenharmony_ci 29762306a36Sopenharmony_ci properties: 29862306a36Sopenharmony_ci linux,code: true 29962306a36Sopenharmony_ci 30062306a36Sopenharmony_ci azoteq,gesture-max-ms: 30162306a36Sopenharmony_ci minimum: 0 30262306a36Sopenharmony_ci maximum: 65535 30362306a36Sopenharmony_ci description: Specifies the maximum duration of tap/swipe gestures. 30462306a36Sopenharmony_ci 30562306a36Sopenharmony_ci azoteq,gesture-mid-ms: 30662306a36Sopenharmony_ci minimum: 0 30762306a36Sopenharmony_ci maximum: 65535 30862306a36Sopenharmony_ci description: 30962306a36Sopenharmony_ci Specifies the maximum duration between subsequent tap gestures 31062306a36Sopenharmony_ci (IQS7211E only). 31162306a36Sopenharmony_ci 31262306a36Sopenharmony_ci azoteq,gesture-min-ms: 31362306a36Sopenharmony_ci minimum: 0 31462306a36Sopenharmony_ci maximum: 65535 31562306a36Sopenharmony_ci description: Specifies the minimum duration of hold gestures. 31662306a36Sopenharmony_ci 31762306a36Sopenharmony_ci azoteq,gesture-dist: 31862306a36Sopenharmony_ci $ref: /schemas/types.yaml#/definitions/uint32 31962306a36Sopenharmony_ci minimum: 0 32062306a36Sopenharmony_ci maximum: 65535 32162306a36Sopenharmony_ci description: 32262306a36Sopenharmony_ci Specifies the minimum (swipe) or maximum (tap and hold) distance 32362306a36Sopenharmony_ci a finger may travel to be considered a gesture. 32462306a36Sopenharmony_ci 32562306a36Sopenharmony_ci azoteq,gesture-dist-rep: 32662306a36Sopenharmony_ci $ref: /schemas/types.yaml#/definitions/uint32 32762306a36Sopenharmony_ci minimum: 0 32862306a36Sopenharmony_ci maximum: 65535 32962306a36Sopenharmony_ci description: 33062306a36Sopenharmony_ci Specifies the minimum distance a finger must travel to elicit a 33162306a36Sopenharmony_ci repeated swipe gesture (IQS7211E only). 33262306a36Sopenharmony_ci 33362306a36Sopenharmony_ci azoteq,gesture-angle: 33462306a36Sopenharmony_ci $ref: /schemas/types.yaml#/definitions/uint32 33562306a36Sopenharmony_ci minimum: 0 33662306a36Sopenharmony_ci maximum: 75 33762306a36Sopenharmony_ci description: 33862306a36Sopenharmony_ci Specifies the maximum angle (in degrees) a finger may travel to 33962306a36Sopenharmony_ci be considered a swipe gesture. 34062306a36Sopenharmony_ci 34162306a36Sopenharmony_ci azoteq,thresh: 34262306a36Sopenharmony_ci $ref: /schemas/types.yaml#/definitions/uint32 34362306a36Sopenharmony_ci minimum: 0 34462306a36Sopenharmony_ci maximum: 42 34562306a36Sopenharmony_ci description: Specifies the palm gesture threshold (IQS7211E only). 34662306a36Sopenharmony_ci 34762306a36Sopenharmony_ci additionalProperties: false 34862306a36Sopenharmony_ci 34962306a36Sopenharmony_ci dependencies: 35062306a36Sopenharmony_ci azoteq,rx-enable: ["azoteq,tx-enable"] 35162306a36Sopenharmony_ci azoteq,tx-enable: ["azoteq,rx-enable"] 35262306a36Sopenharmony_ci azoteq,channel-select: ["azoteq,rx-enable"] 35362306a36Sopenharmony_ci 35462306a36Sopenharmony_ci additionalProperties: false 35562306a36Sopenharmony_ci 35662306a36Sopenharmony_ci alp: 35762306a36Sopenharmony_ci type: object 35862306a36Sopenharmony_ci $ref: ../input.yaml# 35962306a36Sopenharmony_ci description: Represents the alternate low-power channel (ALP). 36062306a36Sopenharmony_ci 36162306a36Sopenharmony_ci properties: 36262306a36Sopenharmony_ci azoteq,rx-enable: 36362306a36Sopenharmony_ci $ref: /schemas/types.yaml#/definitions/uint32-array 36462306a36Sopenharmony_ci minItems: 1 36562306a36Sopenharmony_ci maxItems: 8 36662306a36Sopenharmony_ci items: 36762306a36Sopenharmony_ci minimum: 0 36862306a36Sopenharmony_ci maximum: 7 36962306a36Sopenharmony_ci description: 37062306a36Sopenharmony_ci Specifies the CRx pin(s) associated with the ALP in no particular 37162306a36Sopenharmony_ci order. 37262306a36Sopenharmony_ci 37362306a36Sopenharmony_ci azoteq,tx-enable: 37462306a36Sopenharmony_ci $ref: /schemas/types.yaml#/definitions/uint32-array 37562306a36Sopenharmony_ci minItems: 1 37662306a36Sopenharmony_ci maxItems: 12 37762306a36Sopenharmony_ci items: 37862306a36Sopenharmony_ci minimum: 0 37962306a36Sopenharmony_ci maximum: 11 38062306a36Sopenharmony_ci description: 38162306a36Sopenharmony_ci Specifies the CTx pin(s) associated with the ALP in no particular 38262306a36Sopenharmony_ci order. 38362306a36Sopenharmony_ci 38462306a36Sopenharmony_ci azoteq,ati-frac-div-fine: 38562306a36Sopenharmony_ci $ref: /schemas/types.yaml#/definitions/uint32 38662306a36Sopenharmony_ci minimum: 0 38762306a36Sopenharmony_ci maximum: 31 38862306a36Sopenharmony_ci description: Specifies the ALP's ATI fine fractional divider. 38962306a36Sopenharmony_ci 39062306a36Sopenharmony_ci azoteq,ati-frac-mult-coarse: 39162306a36Sopenharmony_ci $ref: /schemas/types.yaml#/definitions/uint32 39262306a36Sopenharmony_ci minimum: 0 39362306a36Sopenharmony_ci maximum: 15 39462306a36Sopenharmony_ci description: Specifies the ALP's ATI coarse fractional multiplier. 39562306a36Sopenharmony_ci 39662306a36Sopenharmony_ci azoteq,ati-frac-div-coarse: 39762306a36Sopenharmony_ci $ref: /schemas/types.yaml#/definitions/uint32 39862306a36Sopenharmony_ci minimum: 0 39962306a36Sopenharmony_ci maximum: 31 40062306a36Sopenharmony_ci description: Specifies the ALP's ATI coarse fractional divider. 40162306a36Sopenharmony_ci 40262306a36Sopenharmony_ci azoteq,ati-comp-div: 40362306a36Sopenharmony_ci $ref: /schemas/types.yaml#/definitions/uint32 40462306a36Sopenharmony_ci minimum: 0 40562306a36Sopenharmony_ci maximum: 31 40662306a36Sopenharmony_ci description: Specifies the ALP's ATI compensation divider. 40762306a36Sopenharmony_ci 40862306a36Sopenharmony_ci azoteq,ati-target: 40962306a36Sopenharmony_ci $ref: /schemas/types.yaml#/definitions/uint32 41062306a36Sopenharmony_ci minimum: 0 41162306a36Sopenharmony_ci maximum: 65535 41262306a36Sopenharmony_ci description: Specifies the ALP's ATI target. 41362306a36Sopenharmony_ci 41462306a36Sopenharmony_ci azoteq,ati-base: 41562306a36Sopenharmony_ci $ref: /schemas/types.yaml#/definitions/uint32 41662306a36Sopenharmony_ci multipleOf: 8 41762306a36Sopenharmony_ci minimum: 0 41862306a36Sopenharmony_ci maximum: 255 41962306a36Sopenharmony_ci description: Specifies the ALP's ATI base. 42062306a36Sopenharmony_ci 42162306a36Sopenharmony_ci azoteq,ati-mode: 42262306a36Sopenharmony_ci $ref: /schemas/types.yaml#/definitions/uint32 42362306a36Sopenharmony_ci enum: [0, 1] 42462306a36Sopenharmony_ci description: | 42562306a36Sopenharmony_ci Specifies the ALP's ATI mode as follows: 42662306a36Sopenharmony_ci 0: Partial 42762306a36Sopenharmony_ci 1: Full 42862306a36Sopenharmony_ci 42962306a36Sopenharmony_ci azoteq,sense-mode: 43062306a36Sopenharmony_ci $ref: /schemas/types.yaml#/definitions/uint32 43162306a36Sopenharmony_ci enum: [0, 1] 43262306a36Sopenharmony_ci description: | 43362306a36Sopenharmony_ci Specifies the ALP's sensing mode as follows: 43462306a36Sopenharmony_ci 0: Self capacitive 43562306a36Sopenharmony_ci 1: Mutual capacitive 43662306a36Sopenharmony_ci 43762306a36Sopenharmony_ci azoteq,debounce-enter: 43862306a36Sopenharmony_ci $ref: /schemas/types.yaml#/definitions/uint32 43962306a36Sopenharmony_ci minimum: 0 44062306a36Sopenharmony_ci maximum: 255 44162306a36Sopenharmony_ci description: Specifies the ALP's debounce entrance factor. 44262306a36Sopenharmony_ci 44362306a36Sopenharmony_ci azoteq,debounce-exit: 44462306a36Sopenharmony_ci $ref: /schemas/types.yaml#/definitions/uint32 44562306a36Sopenharmony_ci minimum: 0 44662306a36Sopenharmony_ci maximum: 255 44762306a36Sopenharmony_ci description: Specifies the ALP's debounce exit factor. 44862306a36Sopenharmony_ci 44962306a36Sopenharmony_ci azoteq,thresh: 45062306a36Sopenharmony_ci $ref: /schemas/types.yaml#/definitions/uint32 45162306a36Sopenharmony_ci minimum: 0 45262306a36Sopenharmony_ci maximum: 65535 45362306a36Sopenharmony_ci description: Specifies the ALP's proximity or touch threshold. 45462306a36Sopenharmony_ci 45562306a36Sopenharmony_ci azoteq,conv-period: 45662306a36Sopenharmony_ci $ref: /schemas/types.yaml#/definitions/uint32 45762306a36Sopenharmony_ci minimum: 0 45862306a36Sopenharmony_ci maximum: 255 45962306a36Sopenharmony_ci description: Specifies the ALP's conversion period. 46062306a36Sopenharmony_ci 46162306a36Sopenharmony_ci azoteq,conv-frac: 46262306a36Sopenharmony_ci $ref: /schemas/types.yaml#/definitions/uint32 46362306a36Sopenharmony_ci minimum: 0 46462306a36Sopenharmony_ci maximum: 255 46562306a36Sopenharmony_ci description: Specifies the ALP's conversion frequency fraction. 46662306a36Sopenharmony_ci 46762306a36Sopenharmony_ci linux,code: true 46862306a36Sopenharmony_ci 46962306a36Sopenharmony_ci additionalProperties: false 47062306a36Sopenharmony_ci 47162306a36Sopenharmony_ci button: 47262306a36Sopenharmony_ci type: object 47362306a36Sopenharmony_ci description: Represents the inductive or capacitive button. 47462306a36Sopenharmony_ci 47562306a36Sopenharmony_ci properties: 47662306a36Sopenharmony_ci azoteq,ati-frac-div-fine: 47762306a36Sopenharmony_ci $ref: /schemas/types.yaml#/definitions/uint32 47862306a36Sopenharmony_ci minimum: 0 47962306a36Sopenharmony_ci maximum: 31 48062306a36Sopenharmony_ci description: Specifies the button's ATI fine fractional divider. 48162306a36Sopenharmony_ci 48262306a36Sopenharmony_ci azoteq,ati-frac-mult-coarse: 48362306a36Sopenharmony_ci $ref: /schemas/types.yaml#/definitions/uint32 48462306a36Sopenharmony_ci minimum: 0 48562306a36Sopenharmony_ci maximum: 15 48662306a36Sopenharmony_ci description: Specifies the button's ATI coarse fractional multiplier. 48762306a36Sopenharmony_ci 48862306a36Sopenharmony_ci azoteq,ati-frac-div-coarse: 48962306a36Sopenharmony_ci $ref: /schemas/types.yaml#/definitions/uint32 49062306a36Sopenharmony_ci minimum: 0 49162306a36Sopenharmony_ci maximum: 31 49262306a36Sopenharmony_ci description: Specifies the button's ATI coarse fractional divider. 49362306a36Sopenharmony_ci 49462306a36Sopenharmony_ci azoteq,ati-comp-div: 49562306a36Sopenharmony_ci $ref: /schemas/types.yaml#/definitions/uint32 49662306a36Sopenharmony_ci minimum: 0 49762306a36Sopenharmony_ci maximum: 31 49862306a36Sopenharmony_ci description: Specifies the button's ATI compensation divider. 49962306a36Sopenharmony_ci 50062306a36Sopenharmony_ci azoteq,ati-target: 50162306a36Sopenharmony_ci $ref: /schemas/types.yaml#/definitions/uint32 50262306a36Sopenharmony_ci minimum: 0 50362306a36Sopenharmony_ci maximum: 65535 50462306a36Sopenharmony_ci description: Specifies the button's ATI target. 50562306a36Sopenharmony_ci 50662306a36Sopenharmony_ci azoteq,ati-base: 50762306a36Sopenharmony_ci $ref: /schemas/types.yaml#/definitions/uint32 50862306a36Sopenharmony_ci multipleOf: 8 50962306a36Sopenharmony_ci minimum: 0 51062306a36Sopenharmony_ci maximum: 255 51162306a36Sopenharmony_ci description: Specifies the button's ATI base. 51262306a36Sopenharmony_ci 51362306a36Sopenharmony_ci azoteq,ati-mode: 51462306a36Sopenharmony_ci $ref: /schemas/types.yaml#/definitions/uint32 51562306a36Sopenharmony_ci enum: [0, 1] 51662306a36Sopenharmony_ci description: | 51762306a36Sopenharmony_ci Specifies the button's ATI mode as follows: 51862306a36Sopenharmony_ci 0: Partial 51962306a36Sopenharmony_ci 1: Full 52062306a36Sopenharmony_ci 52162306a36Sopenharmony_ci azoteq,sense-mode: 52262306a36Sopenharmony_ci $ref: /schemas/types.yaml#/definitions/uint32 52362306a36Sopenharmony_ci enum: [0, 1, 2] 52462306a36Sopenharmony_ci description: | 52562306a36Sopenharmony_ci Specifies the button's sensing mode as follows: 52662306a36Sopenharmony_ci 0: Self capacitive 52762306a36Sopenharmony_ci 1: Mutual capacitive 52862306a36Sopenharmony_ci 2: Inductive 52962306a36Sopenharmony_ci 53062306a36Sopenharmony_ci azoteq,touch-enter: 53162306a36Sopenharmony_ci $ref: /schemas/types.yaml#/definitions/uint32 53262306a36Sopenharmony_ci minimum: 0 53362306a36Sopenharmony_ci maximum: 255 53462306a36Sopenharmony_ci description: Specifies the button's touch entrance factor. 53562306a36Sopenharmony_ci 53662306a36Sopenharmony_ci azoteq,touch-exit: 53762306a36Sopenharmony_ci $ref: /schemas/types.yaml#/definitions/uint32 53862306a36Sopenharmony_ci minimum: 0 53962306a36Sopenharmony_ci maximum: 255 54062306a36Sopenharmony_ci description: Specifies the button's touch exit factor. 54162306a36Sopenharmony_ci 54262306a36Sopenharmony_ci azoteq,debounce-enter: 54362306a36Sopenharmony_ci $ref: /schemas/types.yaml#/definitions/uint32 54462306a36Sopenharmony_ci minimum: 0 54562306a36Sopenharmony_ci maximum: 255 54662306a36Sopenharmony_ci description: Specifies the button's debounce entrance factor. 54762306a36Sopenharmony_ci 54862306a36Sopenharmony_ci azoteq,debounce-exit: 54962306a36Sopenharmony_ci $ref: /schemas/types.yaml#/definitions/uint32 55062306a36Sopenharmony_ci minimum: 0 55162306a36Sopenharmony_ci maximum: 255 55262306a36Sopenharmony_ci description: Specifies the button's debounce exit factor. 55362306a36Sopenharmony_ci 55462306a36Sopenharmony_ci azoteq,thresh: 55562306a36Sopenharmony_ci $ref: /schemas/types.yaml#/definitions/uint32 55662306a36Sopenharmony_ci minimum: 0 55762306a36Sopenharmony_ci maximum: 65535 55862306a36Sopenharmony_ci description: Specifies the button's proximity threshold. 55962306a36Sopenharmony_ci 56062306a36Sopenharmony_ci azoteq,conv-period: 56162306a36Sopenharmony_ci $ref: /schemas/types.yaml#/definitions/uint32 56262306a36Sopenharmony_ci minimum: 0 56362306a36Sopenharmony_ci maximum: 255 56462306a36Sopenharmony_ci description: Specifies the button's conversion period. 56562306a36Sopenharmony_ci 56662306a36Sopenharmony_ci azoteq,conv-frac: 56762306a36Sopenharmony_ci $ref: /schemas/types.yaml#/definitions/uint32 56862306a36Sopenharmony_ci minimum: 0 56962306a36Sopenharmony_ci maximum: 255 57062306a36Sopenharmony_ci description: Specifies the button's conversion frequency fraction. 57162306a36Sopenharmony_ci 57262306a36Sopenharmony_ci patternProperties: 57362306a36Sopenharmony_ci "^event-(prox|touch)$": 57462306a36Sopenharmony_ci type: object 57562306a36Sopenharmony_ci $ref: ../input.yaml# 57662306a36Sopenharmony_ci description: 57762306a36Sopenharmony_ci Represents a proximity or touch event reported by the button. 57862306a36Sopenharmony_ci 57962306a36Sopenharmony_ci properties: 58062306a36Sopenharmony_ci linux,code: true 58162306a36Sopenharmony_ci 58262306a36Sopenharmony_ci additionalProperties: false 58362306a36Sopenharmony_ci 58462306a36Sopenharmony_ci additionalProperties: false 58562306a36Sopenharmony_ci 58662306a36Sopenharmony_ci wakeup-source: true 58762306a36Sopenharmony_ci 58862306a36Sopenharmony_ci touchscreen-size-x: true 58962306a36Sopenharmony_ci touchscreen-size-y: true 59062306a36Sopenharmony_ci touchscreen-inverted-x: true 59162306a36Sopenharmony_ci touchscreen-inverted-y: true 59262306a36Sopenharmony_ci touchscreen-swapped-x-y: true 59362306a36Sopenharmony_ci 59462306a36Sopenharmony_cidependencies: 59562306a36Sopenharmony_ci touchscreen-size-x: ["azoteq,num-contacts"] 59662306a36Sopenharmony_ci touchscreen-size-y: ["azoteq,num-contacts"] 59762306a36Sopenharmony_ci touchscreen-inverted-x: ["azoteq,num-contacts"] 59862306a36Sopenharmony_ci touchscreen-inverted-y: ["azoteq,num-contacts"] 59962306a36Sopenharmony_ci touchscreen-swapped-x-y: ["azoteq,num-contacts"] 60062306a36Sopenharmony_ci 60162306a36Sopenharmony_cirequired: 60262306a36Sopenharmony_ci - compatible 60362306a36Sopenharmony_ci - reg 60462306a36Sopenharmony_ci - irq-gpios 60562306a36Sopenharmony_ci 60662306a36Sopenharmony_ciadditionalProperties: false 60762306a36Sopenharmony_ci 60862306a36Sopenharmony_ciallOf: 60962306a36Sopenharmony_ci - $ref: touchscreen.yaml# 61062306a36Sopenharmony_ci 61162306a36Sopenharmony_ci - if: 61262306a36Sopenharmony_ci properties: 61362306a36Sopenharmony_ci compatible: 61462306a36Sopenharmony_ci contains: 61562306a36Sopenharmony_ci const: azoteq,iqs7210a 61662306a36Sopenharmony_ci 61762306a36Sopenharmony_ci then: 61862306a36Sopenharmony_ci properties: 61962306a36Sopenharmony_ci alp: 62062306a36Sopenharmony_ci properties: 62162306a36Sopenharmony_ci azoteq,rx-enable: 62262306a36Sopenharmony_ci maxItems: 4 62362306a36Sopenharmony_ci items: 62462306a36Sopenharmony_ci minimum: 4 62562306a36Sopenharmony_ci 62662306a36Sopenharmony_ci else: 62762306a36Sopenharmony_ci properties: 62862306a36Sopenharmony_ci azoteq,timeout-press-ms: false 62962306a36Sopenharmony_ci 63062306a36Sopenharmony_ci alp: 63162306a36Sopenharmony_ci properties: 63262306a36Sopenharmony_ci azoteq,ati-mode: false 63362306a36Sopenharmony_ci 63462306a36Sopenharmony_ci button: false 63562306a36Sopenharmony_ci 63662306a36Sopenharmony_ci - if: 63762306a36Sopenharmony_ci properties: 63862306a36Sopenharmony_ci compatible: 63962306a36Sopenharmony_ci contains: 64062306a36Sopenharmony_ci const: azoteq,iqs7211e 64162306a36Sopenharmony_ci 64262306a36Sopenharmony_ci then: 64362306a36Sopenharmony_ci properties: 64462306a36Sopenharmony_ci reset-gpios: false 64562306a36Sopenharmony_ci 64662306a36Sopenharmony_ci trackpad: 64762306a36Sopenharmony_ci properties: 64862306a36Sopenharmony_ci azoteq,tx-enable: 64962306a36Sopenharmony_ci maxItems: 13 65062306a36Sopenharmony_ci items: 65162306a36Sopenharmony_ci maximum: 12 65262306a36Sopenharmony_ci 65362306a36Sopenharmony_ci alp: 65462306a36Sopenharmony_ci properties: 65562306a36Sopenharmony_ci azoteq,tx-enable: 65662306a36Sopenharmony_ci maxItems: 13 65762306a36Sopenharmony_ci items: 65862306a36Sopenharmony_ci maximum: 12 65962306a36Sopenharmony_ci 66062306a36Sopenharmony_ciexamples: 66162306a36Sopenharmony_ci - | 66262306a36Sopenharmony_ci #include <dt-bindings/gpio/gpio.h> 66362306a36Sopenharmony_ci #include <dt-bindings/input/input.h> 66462306a36Sopenharmony_ci 66562306a36Sopenharmony_ci i2c { 66662306a36Sopenharmony_ci #address-cells = <1>; 66762306a36Sopenharmony_ci #size-cells = <0>; 66862306a36Sopenharmony_ci 66962306a36Sopenharmony_ci touch@56 { 67062306a36Sopenharmony_ci compatible = "azoteq,iqs7210a"; 67162306a36Sopenharmony_ci reg = <0x56>; 67262306a36Sopenharmony_ci irq-gpios = <&gpio 4 GPIO_ACTIVE_LOW>; 67362306a36Sopenharmony_ci reset-gpios = <&gpio 17 (GPIO_ACTIVE_LOW | 67462306a36Sopenharmony_ci GPIO_PUSH_PULL)>; 67562306a36Sopenharmony_ci azoteq,num-contacts = <2>; 67662306a36Sopenharmony_ci 67762306a36Sopenharmony_ci trackpad { 67862306a36Sopenharmony_ci azoteq,rx-enable = <6>, <5>, <4>, <3>, <2>; 67962306a36Sopenharmony_ci azoteq,tx-enable = <1>, <7>, <8>, <9>, <10>; 68062306a36Sopenharmony_ci }; 68162306a36Sopenharmony_ci 68262306a36Sopenharmony_ci button { 68362306a36Sopenharmony_ci azoteq,sense-mode = <2>; 68462306a36Sopenharmony_ci azoteq,touch-enter = <40>; 68562306a36Sopenharmony_ci azoteq,touch-exit = <36>; 68662306a36Sopenharmony_ci 68762306a36Sopenharmony_ci event-touch { 68862306a36Sopenharmony_ci linux,code = <KEY_HOME>; 68962306a36Sopenharmony_ci }; 69062306a36Sopenharmony_ci }; 69162306a36Sopenharmony_ci 69262306a36Sopenharmony_ci alp { 69362306a36Sopenharmony_ci azoteq,sense-mode = <1>; 69462306a36Sopenharmony_ci linux,code = <KEY_POWER>; 69562306a36Sopenharmony_ci }; 69662306a36Sopenharmony_ci }; 69762306a36Sopenharmony_ci }; 69862306a36Sopenharmony_ci 69962306a36Sopenharmony_ci - | 70062306a36Sopenharmony_ci #include <dt-bindings/gpio/gpio.h> 70162306a36Sopenharmony_ci #include <dt-bindings/input/input.h> 70262306a36Sopenharmony_ci 70362306a36Sopenharmony_ci i2c { 70462306a36Sopenharmony_ci #address-cells = <1>; 70562306a36Sopenharmony_ci #size-cells = <0>; 70662306a36Sopenharmony_ci 70762306a36Sopenharmony_ci touch@56 { 70862306a36Sopenharmony_ci compatible = "azoteq,iqs7211e"; 70962306a36Sopenharmony_ci reg = <0x56>; 71062306a36Sopenharmony_ci irq-gpios = <&gpio 4 (GPIO_ACTIVE_LOW | 71162306a36Sopenharmony_ci GPIO_OPEN_DRAIN)>; 71262306a36Sopenharmony_ci 71362306a36Sopenharmony_ci trackpad { 71462306a36Sopenharmony_ci event-tap { 71562306a36Sopenharmony_ci linux,code = <KEY_PLAYPAUSE>; 71662306a36Sopenharmony_ci }; 71762306a36Sopenharmony_ci 71862306a36Sopenharmony_ci event-tap-double { 71962306a36Sopenharmony_ci linux,code = <KEY_SHUFFLE>; 72062306a36Sopenharmony_ci }; 72162306a36Sopenharmony_ci 72262306a36Sopenharmony_ci event-tap-triple { 72362306a36Sopenharmony_ci linux,code = <KEY_AGAIN>; 72462306a36Sopenharmony_ci }; 72562306a36Sopenharmony_ci 72662306a36Sopenharmony_ci event-hold { 72762306a36Sopenharmony_ci linux,code = <KEY_STOP>; 72862306a36Sopenharmony_ci }; 72962306a36Sopenharmony_ci 73062306a36Sopenharmony_ci event-palm { 73162306a36Sopenharmony_ci linux,code = <KEY_EXIT>; 73262306a36Sopenharmony_ci }; 73362306a36Sopenharmony_ci 73462306a36Sopenharmony_ci event-swipe-x-pos { 73562306a36Sopenharmony_ci linux,code = <KEY_REWIND>; 73662306a36Sopenharmony_ci }; 73762306a36Sopenharmony_ci 73862306a36Sopenharmony_ci event-swipe-x-pos-hold { 73962306a36Sopenharmony_ci linux,code = <KEY_PREVIOUS>; 74062306a36Sopenharmony_ci }; 74162306a36Sopenharmony_ci 74262306a36Sopenharmony_ci event-swipe-x-neg { 74362306a36Sopenharmony_ci linux,code = <KEY_FASTFORWARD>; 74462306a36Sopenharmony_ci }; 74562306a36Sopenharmony_ci 74662306a36Sopenharmony_ci event-swipe-x-neg-hold { 74762306a36Sopenharmony_ci linux,code = <KEY_NEXT>; 74862306a36Sopenharmony_ci }; 74962306a36Sopenharmony_ci 75062306a36Sopenharmony_ci event-swipe-y-pos { 75162306a36Sopenharmony_ci linux,code = <KEY_VOLUMEUP>; 75262306a36Sopenharmony_ci }; 75362306a36Sopenharmony_ci 75462306a36Sopenharmony_ci event-swipe-y-pos-hold { 75562306a36Sopenharmony_ci linux,code = <KEY_MUTE>; 75662306a36Sopenharmony_ci }; 75762306a36Sopenharmony_ci 75862306a36Sopenharmony_ci event-swipe-y-neg { 75962306a36Sopenharmony_ci linux,code = <KEY_VOLUMEDOWN>; 76062306a36Sopenharmony_ci }; 76162306a36Sopenharmony_ci 76262306a36Sopenharmony_ci event-swipe-y-neg-hold { 76362306a36Sopenharmony_ci linux,code = <KEY_MUTE>; 76462306a36Sopenharmony_ci }; 76562306a36Sopenharmony_ci }; 76662306a36Sopenharmony_ci }; 76762306a36Sopenharmony_ci }; 76862306a36Sopenharmony_ci 76962306a36Sopenharmony_ci... 770