GNU Linux-libre 6.8.9-gnu
[releases.git] / Documentation / devicetree / bindings / iio / proximity / semtech,sx9310.yaml
1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2 %YAML 1.2
3 ---
4 $id: http://devicetree.org/schemas/iio/proximity/semtech,sx9310.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
6
7 title: Semtech's SX9310 capacitive proximity sensor
8
9 maintainers:
10   - Daniel Campello <campello@chromium.org>
11
12 description: |
13   Semtech's SX9310/SX9311 capacitive proximity/button solution.
14
15   Specifications about the devices can be found at:
16   https://www.semtech.com/products/smart-sensing/sar-sensors/sx9310
17
18 allOf:
19   - $ref: /schemas/iio/iio.yaml#
20
21 properties:
22   compatible:
23     enum:
24       - semtech,sx9310
25       - semtech,sx9311
26
27   reg:
28     maxItems: 1
29
30   interrupts:
31     description:
32       The sole interrupt generated by the device used to announce the
33       preceding reading request has finished and that data is
34       available or that a close/far proximity event has happened.
35     maxItems: 1
36
37   vdd-supply:
38     description: Main power supply
39
40   svdd-supply:
41     description: Host interface power supply
42
43   "#io-channel-cells":
44     const: 1
45
46   semtech,cs0-ground:
47     description: Indicates the CS0 sensor is connected to ground.
48     type: boolean
49
50   semtech,combined-sensors:
51     $ref: /schemas/types.yaml#/definitions/uint32-array
52     description: |
53       List of which sensors are combined and represented by CS3.
54       Possible values are -
55       3        - CS3 (internal)
56       0 1      - CS0 + CS1
57       1 2      - CS1 + CS2 (default)
58       0 1 2 3  - CS0 + CS1 + CS2 + CS3
59     items:
60       enum: [ 0, 1, 2, 3 ]
61     minItems: 1
62     maxItems: 4
63
64   semtech,resolution:
65     description:
66       Capacitance measure resolution. Refer to datasheet for more details.
67     enum:
68       - coarsest
69       - very-coarse
70       - coarse
71       - medium-coarse
72       - medium
73       - fine
74       - very-fine
75       - finest
76
77   semtech,startup-sensor:
78     $ref: /schemas/types.yaml#/definitions/uint32
79     enum: [0, 1, 2, 3]
80     default: 0
81     description:
82       Sensor used for start-up proximity detection. The combined
83       sensor is represented by the value 3. This is used for initial
84       compensation.
85
86   semtech,proxraw-strength:
87     $ref: /schemas/types.yaml#/definitions/uint32
88     enum: [0, 2, 4, 8]
89     default: 2
90     description:
91       PROXRAW filter strength. A value of 0 represents off, and other values
92       represent 1-1/N.
93
94   semtech,avg-pos-strength:
95     $ref: /schemas/types.yaml#/definitions/uint32
96     enum: [0, 16, 64, 128, 256, 512, 1024, 4294967295]
97     default: 16
98     description:
99       Average positive filter strength. A value of 0 represents off and
100       UINT_MAX (4294967295) represents infinite. Other values
101       represent 1-1/N.
102
103 required:
104   - compatible
105   - reg
106   - "#io-channel-cells"
107
108 unevaluatedProperties: false
109
110 examples:
111   - |
112     #include <dt-bindings/interrupt-controller/irq.h>
113     i2c {
114       #address-cells = <1>;
115       #size-cells = <0>;
116       proximity@28 {
117         compatible = "semtech,sx9310";
118         reg = <0x28>;
119         interrupt-parent = <&pio>;
120         interrupts = <5 IRQ_TYPE_LEVEL_LOW 5>;
121         vdd-supply = <&pp3300_a>;
122         svdd-supply = <&pp1800_prox>;
123         #io-channel-cells = <1>;
124         semtech,cs0-ground;
125         semtech,combined-sensors = <1 2 3>;
126         semtech,resolution = "fine";
127         semtech,startup-sensor = <1>;
128         semtech,proxraw-strength = <2>;
129         semtech,avg-pos-strength = <64>;
130       };
131     };