summaryrefslogtreecommitdiffstats
path: root/dts/Bindings/iio/proximity/semtech,sx9310.yaml
blob: 775555d147bf0ccaf17791e70213214277720bc4 (plain)
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>;
      };
    };