Documentation / devicetree / bindings / iio / proximity / semtech,sx9324.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 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/iio/proximity/semtech,sx9324.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Semtech's SX9324 capacitive proximity sensor

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

description: |
  Semtech's SX9324 proximity sensor.

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

properties:
  compatible:
    const: semtech,sx9324

  reg:
    maxItems: 1

  interrupts:
    description:
      Generated by device to announce preceding read request has finished
      and 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,ph0-pin:
    $ref: /schemas/types.yaml#/definitions/uint32-array
    description: |
      Array of 3 entries. Index represent the id of the CS pin.
      Value indicates how each CS pin is used during phase 0.
      Each of the 3 pins have the following value -
      0 : unused (high impedance)
      1 : measured input
      2 : dynamic shield
      3 : grounded.
      For instance, CS0 measured, CS1 shield and CS2 ground is [1, 2, 3]
    items:
      enum: [ 0, 1, 2, 3 ]
    minItems: 3
    maxItems: 3

  semtech,ph1-pin:
    $ref: /schemas/types.yaml#/definitions/uint32-array
    description: Same as ph0-pin for phase 1.
    items:
      enum: [ 0, 1, 2, 3 ]
    minItems: 3
    maxItems: 3

  semtech,ph2-pin:
    $ref: /schemas/types.yaml#/definitions/uint32-array
    description: Same as ph0-pin for phase 2.
    items:
      enum: [ 0, 1, 2, 3 ]
    minItems: 3
    maxItems: 3

  semtech,ph3-pin:
    $ref: /schemas/types.yaml#/definitions/uint32-array
    description: Same as ph0-pin for phase 3.
    items:
      enum: [ 0, 1, 2, 3 ]
    minItems: 3
    maxItems: 3
 

  semtech,ph01-resolution:
    $ref: /schemas/types.yaml#/definitions/uint32
    enum: [8, 16, 32, 64, 128, 256, 512, 1024]
    description:
      Capacitance measurement resolution. For phase 0 and 1.
      Higher the number, higher the resolution.
    default: 128

  semtech,ph23-resolution:
    $ref: /schemas/types.yaml#/definitions/uint32
    enum: [8, 16, 32, 64, 128, 256, 512, 1024]
    description:
      Capacitance measurement resolution. For phase 2 and 3
    default: 128

  semtech,startup-sensor:
    $ref: /schemas/types.yaml#/definitions/uint32
    enum: [0, 1, 2, 3]
    default: 0
    description: |
      Phase used for start-up proximity detection.
      It is used when we enable a phase to remove static offset and measure
      only capacitance changes introduced by the user.

  semtech,ph01-proxraw-strength:
    $ref: /schemas/types.yaml#/definitions/uint32
    minimum: 0
    maximum: 7
    default: 1
    description:
      PROXRAW filter strength for phase 0 and 1. A value of 0 represents off,
      and other values represent 1-1/2^N.

  semtech,ph23-proxraw-strength:
    $ref: /schemas/types.yaml#/definitions/uint32
    minimum: 0
    maximum: 7
    default: 1
    description:
      Same as proxraw-strength01, for phase 2 and 3.

  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.

  semtech,cs-idle-sleep:
    description:
      State of CS pins during sleep mode and idle time.
    enum:
      - hi-z
      - gnd
      - vdd

  semtech,int-comp-resistor:
    description:
      Internal resistor setting for compensation.
    enum:
      - lowest
      - low
      - high
      - highest

  semtech,input-precharge-resistor-ohms:
    default: 4000
    multipleOf: 2000
    minimum: 0
    maximum: 30000
    description:
      Pre-charge input resistance in Ohm.

  semtech,input-analog-gain:
    $ref: /schemas/types.yaml#/definitions/uint32
    minimum: 0
    maximum: 3
    description: |
      Defines the input antenna analog gain
      0: x1.247
      1: x1 (default)
      2: x0.768
      3: x0.552

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,sx9324";
        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,ph0-pin = <1 2 3>;
        semtech,ph1-pin = <3 2 1>;
        semtech,ph2-pin = <1 2 3>;
        semtech,ph3-pin = <3 2 1>;
        semtech,ph01-resolution = <256>;
        semtech,ph23-resolution = <256>;
        semtech,startup-sensor = <1>;
        semtech,ph01-proxraw-strength = <2>;
        semtech,ph23-proxraw-strength = <2>;
        semtech,avg-pos-strength = <64>;
        semtech,int-comp-resistor = "lowest";
        semtech,input-precharge-resistor-ohms = <2000>;
        semtech,cs-idle-sleep = "gnd";
      };
    };