Documentation / devicetree / bindings / iio / proximity / tyhx,hx9023s.yaml


Based on kernel version 6.12.4. Page generated on 2024-12-12 21:01 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
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/iio/proximity/tyhx,hx9023s.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: TYHX HX9023S capacitive proximity sensor

maintainers:
  - Yasin Lee <yasin.lee.x@gmail.com>

description: |
  TYHX HX9023S proximity sensor. Datasheet can be found here:
    http://www.tianyihexin.com/ueditor/php/upload/file/20240614/1718336303992081.pdf

properties:
  compatible:
    const: tyhx,hx9023s

  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: true
 
  "#address-cells":
    const: 1
 
  "#size-cells":
    const: 0

patternProperties:
  "^channel@[0-4]$":
    $ref: /schemas/iio/adc/adc.yaml
    type: object
    unevaluatedProperties: false

    properties:
      reg:
        minimum: 0
        maximum: 4
        description: The channel number.

required:
  - compatible
  - reg
  - vdd-supply

unevaluatedProperties: false

examples:
  - |
    #include <dt-bindings/interrupt-controller/irq.h>
    i2c {
      #address-cells = <1>;
      #size-cells = <0>;
      proximity@2a {
        compatible = "tyhx,hx9023s";
        reg = <0x2a>;
        interrupt-parent = <&pio>;
        interrupts = <16 IRQ_TYPE_EDGE_FALLING>;
        vdd-supply = <&pp1800_prox>;
 
        #address-cells = <1>;
        #size-cells = <0>;
 
        channel@0 {
          reg = <0>;
          single-channel = <0>;
        };
        channel@1 {
          reg = <1>;
          single-channel = <1>;
        };
        channel@2 {
          reg = <2>;
          single-channel = <2>;
        };
        channel@3 {
          reg = <3>;
          diff-channels = <1 0>;
        };
        channel@4 {
          reg = <4>;
          diff-channels = <2 0>;
        };
      };
    };