xref: /linux/Documentation/devicetree/bindings/iio/proximity/tyhx,hx9023s.yaml (revision 3a39d672e7f48b8d6b91a09afa4b55352773b4b5)
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/tyhx,hx9023s.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: TYHX HX9023S capacitive proximity sensor
8
9maintainers:
10  - Yasin Lee <yasin.lee.x@gmail.com>
11
12description: |
13  TYHX HX9023S proximity sensor. Datasheet can be found here:
14    http://www.tianyihexin.com/ueditor/php/upload/file/20240614/1718336303992081.pdf
15
16properties:
17  compatible:
18    const: tyhx,hx9023s
19
20  reg:
21    maxItems: 1
22
23  interrupts:
24    description:
25      Generated by device to announce preceding read request has finished
26      and data is available or that a close/far proximity event has happened.
27    maxItems: 1
28
29  vdd-supply: true
30
31  "#address-cells":
32    const: 1
33
34  "#size-cells":
35    const: 0
36
37patternProperties:
38  "^channel@[0-4]$":
39    $ref: /schemas/iio/adc/adc.yaml
40    type: object
41    unevaluatedProperties: false
42
43    properties:
44      reg:
45        minimum: 0
46        maximum: 4
47        description: The channel number.
48
49required:
50  - compatible
51  - reg
52  - vdd-supply
53
54unevaluatedProperties: false
55
56examples:
57  - |
58    #include <dt-bindings/interrupt-controller/irq.h>
59    i2c {
60      #address-cells = <1>;
61      #size-cells = <0>;
62      proximity@2a {
63        compatible = "tyhx,hx9023s";
64        reg = <0x2a>;
65        interrupt-parent = <&pio>;
66        interrupts = <16 IRQ_TYPE_EDGE_FALLING>;
67        vdd-supply = <&pp1800_prox>;
68
69        #address-cells = <1>;
70        #size-cells = <0>;
71
72        channel@0 {
73          reg = <0>;
74          single-channel = <0>;
75        };
76        channel@1 {
77          reg = <1>;
78          single-channel = <1>;
79        };
80        channel@2 {
81          reg = <2>;
82          single-channel = <2>;
83        };
84        channel@3 {
85          reg = <3>;
86          diff-channels = <1 0>;
87        };
88        channel@4 {
89          reg = <4>;
90          diff-channels = <2 0>;
91        };
92      };
93    };
94