Documentation / devicetree / bindings / iio / proximity / semtech,sx9310.yaml


Based on kernel version 6.11. Page generated on 2024-09-24 08:21 EST.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/iio/proximity/semtech,sx9310.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Semtech's SX9310 capacitive proximity sensor

maintainers:
  - Daniel Campello <campello@chromium.org>

description: |
  Semtech's SX9310/SX9311 capacitive proximity/button solution.
 
  Specifications about the devices can be found at:
  https://www.semtech.com/products/smart-sensing/sar-sensors/sx9310

allOf:
  - $ref: /schemas/iio/iio.yaml#

properties:
  compatible:
    enum:
      - semtech,sx9310
      - semtech,sx9311

  reg:
    maxItems: 1

  interrupts:
    description:
      The sole interrupt generated by the device used to announce the
      preceding reading request has finished and that data is
      available or that a close/far proximity event has happened.
    maxItems: 1

  vdd-supply:
    description: Main power supply

  svdd-supply:
    description: Host interface power supply
 
  "#io-channel-cells":
    const: 1

  semtech,cs0-ground:
    description: Indicates the CS0 sensor is connected to ground.
    type: boolean

  semtech,combined-sensors:
    $ref: /schemas/types.yaml#/definitions/uint32-array
    description: |
      List of which sensors are combined and represented by CS3.
      Possible values are -
      3        - CS3 (internal)
      0 1      - CS0 + CS1
      1 2      - CS1 + CS2 (default)
      0 1 2 3  - CS0 + CS1 + CS2 + CS3
    items:
      enum: [ 0, 1, 2, 3 ]
    minItems: 1
    maxItems: 4

  semtech,resolution:
    description:
      Capacitance measure resolution. Refer to datasheet for more details.
    enum:
      - coarsest
      - very-coarse
      - coarse
      - medium-coarse
      - medium
      - fine
      - very-fine
      - finest

  semtech,startup-sensor:
    $ref: /schemas/types.yaml#/definitions/uint32
    enum: [0, 1, 2, 3]
    default: 0
    description:
      Sensor used for start-up proximity detection. The combined
      sensor is represented by the value 3. This is used for initial
      compensation.

  semtech,proxraw-strength:
    $ref: /schemas/types.yaml#/definitions/uint32
    enum: [0, 2, 4, 8]
    default: 2
    description:
      PROXRAW filter strength. A value of 0 represents off, and other values
      represent 1-1/N.

  semtech,avg-pos-strength:
    $ref: /schemas/types.yaml#/definitions/uint32
    enum: [0, 16, 64, 128, 256, 512, 1024, 4294967295]
    default: 16
    description:
      Average positive filter strength. A value of 0 represents off and
      UINT_MAX (4294967295) represents infinite. Other values
      represent 1-1/N.

required:
  - compatible
  - reg
  - "#io-channel-cells"

unevaluatedProperties: false

examples:
  - |
    #include <dt-bindings/interrupt-controller/irq.h>
    i2c {
      #address-cells = <1>;
      #size-cells = <0>;
      proximity@28 {
        compatible = "semtech,sx9310";
        reg = <0x28>;
        interrupt-parent = <&pio>;
        interrupts = <5 IRQ_TYPE_LEVEL_LOW 5>;
        vdd-supply = <&pp3300_a>;
        svdd-supply = <&pp1800_prox>;
        #io-channel-cells = <1>;
        semtech,cs0-ground;
        semtech,combined-sensors = <1 2 3>;
        semtech,resolution = "fine";
        semtech,startup-sensor = <1>;
        semtech,proxraw-strength = <2>;
        semtech,avg-pos-strength = <64>;
      };
    };