The Design and Implementation of the FreeBSD Operating System, Second Edition
Now available: The Design and Implementation of the FreeBSD Operating System (Second Edition)


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]

FreeBSD/Linux Kernel Cross Reference
sys/contrib/device-tree/Bindings/input/iqs269a.yaml

Version: -  FREEBSD  -  FREEBSD-13-STABLE  -  FREEBSD-13-0  -  FREEBSD-12-STABLE  -  FREEBSD-12-0  -  FREEBSD-11-STABLE  -  FREEBSD-11-0  -  FREEBSD-10-STABLE  -  FREEBSD-10-0  -  FREEBSD-9-STABLE  -  FREEBSD-9-0  -  FREEBSD-8-STABLE  -  FREEBSD-8-0  -  FREEBSD-7-STABLE  -  FREEBSD-7-0  -  FREEBSD-6-STABLE  -  FREEBSD-6-0  -  FREEBSD-5-STABLE  -  FREEBSD-5-0  -  FREEBSD-4-STABLE  -  FREEBSD-3-STABLE  -  FREEBSD22  -  l41  -  OPENBSD  -  linux-2.6  -  MK84  -  PLAN9  -  xnu-8792 
SearchContext: -  none  -  3  -  10 

    1 # SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
    2 %YAML 1.2
    3 ---
    4 $id: http://devicetree.org/schemas/input/iqs269a.yaml#
    5 $schema: http://devicetree.org/meta-schemas/core.yaml#
    6 
    7 title: Azoteq IQS269A Capacitive Touch Controller
    8 
    9 maintainers:
   10   - Jeff LaBundy <jeff@labundy.com>
   11 
   12 description: |
   13   The Azoteq IQS269A is an 8-channel capacitive touch controller that features
   14   additional Hall-effect and inductive sensing capabilities.
   15 
   16   Link to datasheet: https://www.azoteq.com/
   17 
   18 properties:
   19   compatible:
   20     const: azoteq,iqs269a
   21 
   22   reg:
   23     maxItems: 1
   24 
   25   interrupts:
   26     maxItems: 1
   27 
   28   "#address-cells":
   29     const: 1
   30 
   31   "#size-cells":
   32     const: 0
   33 
   34   azoteq,hall-enable:
   35     type: boolean
   36     description:
   37       Enables Hall-effect sensing on channels 6 and 7. In this case, keycodes
   38       assigned to channel 6 are ignored and keycodes assigned to channel 7 are
   39       interpreted as switch codes. Refer to the datasheet for requirements im-
   40       posed on channels 6 and 7 by Hall-effect sensing.
   41 
   42   azoteq,suspend-mode:
   43     $ref: /schemas/types.yaml#/definitions/uint32
   44     enum: [0, 1, 2, 3]
   45     default: 0
   46     description: |
   47       Specifies the power mode during suspend as follows:
   48       0: Automatic (same as normal runtime, i.e. suspend/resume disabled)
   49       1: Low power (all sensing at a reduced reporting rate)
   50       2: Ultra-low power (channel 0 proximity sensing)
   51       3: Halt (no sensing)
   52 
   53   azoteq,clk-div:
   54     type: boolean
   55     description: Divides the device's core clock by a factor of 4.
   56 
   57   azoteq,ulp-update:
   58     $ref: /schemas/types.yaml#/definitions/uint32
   59     minimum: 0
   60     maximum: 7
   61     default: 3
   62     description: Specifies the ultra-low-power mode update rate.
   63 
   64   azoteq,reseed-offset:
   65     type: boolean
   66     description:
   67       Applies an 8-count offset to all long-term averages upon either ATI or
   68       reseed events.
   69 
   70   azoteq,filt-str-lp-lta:
   71     $ref: /schemas/types.yaml#/definitions/uint32
   72     enum: [0, 1, 2, 3]
   73     default: 0
   74     description:
   75       Specifies the long-term average filter strength during low-power mode.
   76 
   77   azoteq,filt-str-lp-cnt:
   78     $ref: /schemas/types.yaml#/definitions/uint32
   79     enum: [0, 1, 2, 3]
   80     default: 0
   81     description:
   82       Specifies the raw count filter strength during low-power mode.
   83 
   84   azoteq,filt-str-np-lta:
   85     $ref: /schemas/types.yaml#/definitions/uint32
   86     enum: [0, 1, 2, 3]
   87     default: 0
   88     description:
   89       Specifies the long-term average filter strength during normal-power mode.
   90 
   91   azoteq,filt-str-np-cnt:
   92     $ref: /schemas/types.yaml#/definitions/uint32
   93     enum: [0, 1, 2, 3]
   94     default: 0
   95     description:
   96       Specifies the raw count filter strength during normal-power mode.
   97 
   98   azoteq,rate-np-ms:
   99     minimum: 0
  100     maximum: 255
  101     default: 16
  102     description: Specifies the report rate (in ms) during normal-power mode.
  103 
  104   azoteq,rate-lp-ms:
  105     minimum: 0
  106     maximum: 255
  107     default: 160
  108     description: Specifies the report rate (in ms) during low-power mode.
  109 
  110   azoteq,rate-ulp-ms:
  111     multipleOf: 16
  112     minimum: 0
  113     maximum: 4080
  114     default: 160
  115     description: Specifies the report rate (in ms) during ultra-low-power mode.
  116 
  117   azoteq,timeout-pwr-ms:
  118     multipleOf: 512
  119     minimum: 0
  120     maximum: 130560
  121     default: 2560
  122     description:
  123       Specifies the length of time (in ms) to wait for an event during normal-
  124       power mode before transitioning to low-power mode.
  125 
  126   azoteq,timeout-lta-ms:
  127     multipleOf: 512
  128     minimum: 0
  129     maximum: 130560
  130     default: 32768
  131     description:
  132       Specifies the length of time (in ms) to wait before resetting the long-
  133       term average of all channels. Specify the maximum timeout to disable it
  134       altogether.
  135 
  136   azoteq,ati-band-disable:
  137     type: boolean
  138     description: Disables the ATI band check.
  139 
  140   azoteq,ati-lp-only:
  141     type: boolean
  142     description: Limits automatic ATI to low-power mode.
  143 
  144   azoteq,ati-band-tighten:
  145     type: boolean
  146     description: Tightens the ATI band from 1/8 to 1/16 of the desired target.
  147 
  148   azoteq,filt-disable:
  149     type: boolean
  150     description: Disables all raw count filtering.
  151 
  152   azoteq,gpio3-select:
  153     $ref: /schemas/types.yaml#/definitions/uint32
  154     minimum: 0
  155     maximum: 7
  156     default: 0
  157     description:
  158       Selects the channel for which the GPIO3 pin represents touch state.
  159 
  160   azoteq,dual-direction:
  161     type: boolean
  162     description:
  163       Specifies that long-term averages are to freeze in the presence of either
  164       increasing or decreasing counts, thereby permitting events to be reported
  165       in either direction.
  166 
  167   azoteq,tx-freq:
  168     $ref: /schemas/types.yaml#/definitions/uint32
  169     enum: [0, 1, 2, 3]
  170     default: 0
  171     description: |
  172       Specifies the inductive sensing excitation frequency as follows (paren-
  173       thesized numbers represent the frequency if 'azoteq,clk-div' is present):
  174       0: 16 MHz (4 MHz)
  175       1: 8 MHz (2 MHz)
  176       2: 4 MHz (1 MHz)
  177       3: 2 MHz (500 kHz)
  178 
  179   azoteq,global-cap-increase:
  180     type: boolean
  181     description: Increases the global capacitance adder from 0.5 pF to 1.5 pF.
  182 
  183   azoteq,reseed-select:
  184     $ref: /schemas/types.yaml#/definitions/uint32
  185     enum: [0, 1, 2, 3]
  186     default: 0
  187     description: |
  188       Specifies the event(s) that prompt the device to reseed (i.e. reset the
  189       long-term average) of an associated channel as follows:
  190       0: None
  191       1: Proximity
  192       2: Proximity or touch
  193       3: Proximity, touch or deep touch
  194 
  195   azoteq,tracking-enable:
  196     type: boolean
  197     description:
  198       Enables all associated channels to track their respective reference
  199       channels.
  200 
  201   azoteq,filt-str-slider:
  202     $ref: /schemas/types.yaml#/definitions/uint32
  203     enum: [0, 1, 2, 3]
  204     default: 1
  205     description: Specifies the slider coordinate filter strength.
  206 
  207 patternProperties:
  208   "^channel@[0-7]$":
  209     type: object
  210     description:
  211       Represents a single sensing channel. A channel is active if defined and
  212       inactive otherwise.
  213 
  214     properties:
  215       reg:
  216         minimum: 0
  217         maximum: 7
  218         description: Index of the channel.
  219 
  220       azoteq,reseed-disable:
  221         type: boolean
  222         description:
  223           Prevents the channel from being reseeded if the long-term average
  224           timeout (defined in 'azoteq,timeout-lta') expires.
  225 
  226       azoteq,blocking-enable:
  227         type: boolean
  228         description: Specifies that the channel is a blocking channel.
  229 
  230       azoteq,slider0-select:
  231         type: boolean
  232         description: Specifies that the channel participates in slider 0.
  233 
  234       azoteq,slider1-select:
  235         type: boolean
  236         description: Specifies that the channel participates in slider 1.
  237 
  238       azoteq,rx-enable:
  239         $ref: /schemas/types.yaml#/definitions/uint32-array
  240         minItems: 1
  241         maxItems: 8
  242         items:
  243           minimum: 0
  244           maximum: 7
  245         description:
  246           Specifies the CRX pin(s) associated with the channel. By default, only
  247           the CRX pin corresponding to the channel's index is enabled (e.g. CRX0
  248           for channel 0).
  249 
  250       azoteq,tx-enable:
  251         $ref: /schemas/types.yaml#/definitions/uint32-array
  252         minItems: 1
  253         maxItems: 8
  254         items:
  255           minimum: 0
  256           maximum: 7
  257         default: [0, 1, 2, 3, 4, 5, 6, 7]
  258         description: Specifies the TX pin(s) associated with the channel.
  259 
  260       azoteq,meas-cap-decrease:
  261         type: boolean
  262         description:
  263           Decreases the internal measurement capacitance from 60 pF to 15 pF.
  264 
  265       azoteq,rx-float-inactive:
  266         type: boolean
  267         description: Floats any inactive CRX pins instead of grounding them.
  268 
  269       azoteq,local-cap-size:
  270         $ref: /schemas/types.yaml#/definitions/uint32
  271         enum: [0, 1, 2]
  272         default: 0
  273         description: |
  274           Specifies the capacitance to be added to the channel as follows:
  275           0: None
  276           1: Global adder (based on 'azoteq,global-cap-increase')
  277           2: Global adder + 0.5 pF
  278 
  279       azoteq,invert-enable:
  280         type: boolean
  281         description:
  282           Inverts the polarity of the states reported for proximity, touch and
  283           deep-touch events relative to their respective thresholds.
  284 
  285       azoteq,proj-bias:
  286         $ref: /schemas/types.yaml#/definitions/uint32
  287         enum: [0, 1, 2, 3]
  288         default: 2
  289         description: |
  290           Specifies the bias current applied during projected-capacitance
  291           sensing as follows:
  292           0: 2.5 uA
  293           1: 5 uA
  294           2: 10 uA
  295           3: 20 uA
  296 
  297       azoteq,sense-mode:
  298         $ref: /schemas/types.yaml#/definitions/uint32
  299         enum: [0, 1, 9, 14, 15]
  300         default: 0
  301         description: |
  302           Specifies the channel's sensing mode as follows:
  303           0:  Self capacitance
  304           1:  Projected capacitance
  305           9:  Self or mutual inductance
  306           14: Hall effect
  307           15: Temperature
  308 
  309       azoteq,sense-freq:
  310         $ref: /schemas/types.yaml#/definitions/uint32
  311         enum: [0, 1, 2, 3]
  312         default: 1
  313         description: |
  314           Specifies the channel's sensing frequency as follows (parenthesized
  315           numbers represent the frequency if 'azoteq,clk-div' is present):
  316           0: 4 MHz (1 MHz)
  317           1: 2 MHz (500 kHz)
  318           2: 1 MHz (250 kHz)
  319           3: 500 kHz (125 kHz)
  320 
  321       azoteq,static-enable:
  322         type: boolean
  323         description: Enables the static front-end for the channel.
  324 
  325       azoteq,ati-mode:
  326         $ref: /schemas/types.yaml#/definitions/uint32
  327         enum: [0, 1, 2, 3]
  328         default: 3
  329         description: |
  330           Specifies the channel's ATI mode as follows:
  331           0: Disabled
  332           1: Semi-partial
  333           2: Partial
  334           3: Full
  335 
  336       azoteq,ati-base:
  337         $ref: /schemas/types.yaml#/definitions/uint32
  338         enum: [75, 100, 150, 200]
  339         default: 100
  340         description: Specifies the channel's ATI base.
  341 
  342       azoteq,ati-target:
  343         $ref: /schemas/types.yaml#/definitions/uint32
  344         multipleOf: 32
  345         minimum: 0
  346         maximum: 2016
  347         default: 512
  348         description: Specifies the channel's ATI target.
  349 
  350       azoteq,assoc-select:
  351         $ref: /schemas/types.yaml#/definitions/uint32-array
  352         minItems: 1
  353         maxItems: 8
  354         items:
  355           minimum: 0
  356           maximum: 7
  357         description:
  358           Specifies the associated channels for which the channel serves as a
  359           reference channel. By default, no channels are selected.
  360 
  361       azoteq,assoc-weight:
  362         $ref: /schemas/types.yaml#/definitions/uint32
  363         minimum: 0
  364         maximum: 255
  365         default: 0
  366         description:
  367           Specifies the channel's impact weight if it acts as an associated
  368           channel (0 = 0% impact, 255 = 200% impact).
  369 
  370     patternProperties:
  371       "^event-prox(-alt)?$":
  372         type: object
  373         $ref: input.yaml#
  374         description:
  375           Represents a proximity event reported by the channel in response to
  376           a decrease in counts. Node names suffixed with '-alt' instead corre-
  377           spond to an increase in counts.
  378 
  379           By default, the long-term average tracks an increase in counts such
  380           that only events corresponding to a decrease in counts are reported
  381           (refer to the datasheet for more information).
  382 
  383           Specify 'azoteq,dual-direction' to freeze the long-term average when
  384           the counts increase or decrease such that events of either direction
  385           can be reported. Alternatively, specify 'azoteq,invert-enable' to in-
  386           vert the polarity of the states reported by the channel.
  387 
  388           Complementary events (e.g. event-touch and event-touch-alt) can both
  389           be present and specify different key or switch codes, but not differ-
  390           ent thresholds or hysteresis (if applicable).
  391 
  392         properties:
  393           azoteq,thresh:
  394             $ref: /schemas/types.yaml#/definitions/uint32
  395             minimum: 0
  396             maximum: 255
  397             default: 10
  398             description: Specifies the threshold for the event.
  399 
  400           linux,code: true
  401 
  402         additionalProperties: false
  403 
  404       "^event-touch(-alt)?$":
  405         type: object
  406         $ref: input.yaml#
  407         description: Represents a touch event reported by the channel.
  408 
  409         properties:
  410           azoteq,thresh:
  411             $ref: /schemas/types.yaml#/definitions/uint32
  412             minimum: 0
  413             maximum: 255
  414             default: 8
  415             description: Specifies the threshold for the event.
  416 
  417           azoteq,hyst:
  418             $ref: /schemas/types.yaml#/definitions/uint32
  419             minimum: 0
  420             maximum: 15
  421             default: 4
  422             description: Specifies the hysteresis for the event.
  423 
  424           linux,code: true
  425 
  426         additionalProperties: false
  427 
  428       "^event-deep(-alt)?$":
  429         type: object
  430         $ref: input.yaml#
  431         description: Represents a deep-touch event reported by the channel.
  432 
  433         properties:
  434           azoteq,thresh:
  435             $ref: /schemas/types.yaml#/definitions/uint32
  436             minimum: 0
  437             maximum: 255
  438             default: 26
  439             description: Specifies the threshold for the event.
  440 
  441           azoteq,hyst:
  442             $ref: /schemas/types.yaml#/definitions/uint32
  443             minimum: 0
  444             maximum: 15
  445             default: 0
  446             description: Specifies the hysteresis for the event.
  447 
  448           linux,code: true
  449 
  450         additionalProperties: false
  451 
  452     required:
  453       - reg
  454 
  455     additionalProperties: false
  456 
  457 required:
  458   - compatible
  459   - reg
  460   - interrupts
  461   - "#address-cells"
  462   - "#size-cells"
  463 
  464 additionalProperties: false
  465 
  466 examples:
  467   - |
  468     #include <dt-bindings/input/input.h>
  469     #include <dt-bindings/interrupt-controller/irq.h>
  470 
  471     i2c {
  472             #address-cells = <1>;
  473             #size-cells = <0>;
  474 
  475             touch@44 {
  476                     #address-cells = <1>;
  477                     #size-cells = <0>;
  478 
  479                     compatible = "azoteq,iqs269a";
  480                     reg = <0x44>;
  481                     interrupt-parent = <&gpio>;
  482                     interrupts = <17 IRQ_TYPE_LEVEL_LOW>;
  483 
  484                     azoteq,hall-enable;
  485                     azoteq,suspend-mode = <2>;
  486 
  487                     channel@0 {
  488                             reg = <0x0>;
  489 
  490                             event-prox {
  491                                     linux,code = <KEY_POWER>;
  492                             };
  493                     };
  494 
  495                     channel@1 {
  496                             reg = <0x1>;
  497                             azoteq,slider0-select;
  498                     };
  499 
  500                     channel@2 {
  501                             reg = <0x2>;
  502                             azoteq,slider0-select;
  503                     };
  504 
  505                     channel@3 {
  506                             reg = <0x3>;
  507                             azoteq,slider0-select;
  508                     };
  509 
  510                     channel@4 {
  511                             reg = <0x4>;
  512                             azoteq,slider0-select;
  513                     };
  514 
  515                     channel@5 {
  516                             reg = <0x5>;
  517                             azoteq,slider0-select;
  518                     };
  519 
  520                     channel@6 {
  521                             reg = <0x6>;
  522                             azoteq,invert-enable;
  523                             azoteq,static-enable;
  524                             azoteq,reseed-disable;
  525                             azoteq,rx-enable = <0>;
  526                             azoteq,sense-freq = <0x0>;
  527                             azoteq,sense-mode = <0xE>;
  528                             azoteq,ati-mode = <0x0>;
  529                             azoteq,ati-base = <200>;
  530                             azoteq,ati-target = <320>;
  531                     };
  532 
  533                     channel@7 {
  534                             reg = <0x7>;
  535                             azoteq,invert-enable;
  536                             azoteq,static-enable;
  537                             azoteq,reseed-disable;
  538                             azoteq,rx-enable = <0>, <6>;
  539                             azoteq,sense-freq = <0x0>;
  540                             azoteq,sense-mode = <0xE>;
  541                             azoteq,ati-mode = <0x3>;
  542                             azoteq,ati-base = <200>;
  543                             azoteq,ati-target = <320>;
  544 
  545                             event-touch {
  546                                     linux,code = <SW_LID>;
  547                             };
  548                     };
  549             };
  550     };
  551 
  552 ...

Cache object: 810fda9ed2de03002febf8470d7598ac


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]


This page is part of the FreeBSD/Linux Linux Kernel Cross-Reference, and was automatically generated using a modified version of the LXR engine.