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
|
# 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.
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.
required:
- compatible
- reg
- "#io-channel-cells"
additionalProperties: 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>;
};
};
|