hc
2024-02-20 102a0743326a03cd1a1202ceda21e175b7d3575c
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
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/iio/light/sharp,gp2ap002.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
 
title: Sharp GP2AP002A00F and GP2AP002S00F proximity and ambient light sensors
 
maintainers:
  - Linus Walleij <linus.walleij@linaro.org>
 
description: |
  Proximity and ambient light sensor with IR LED for the proximity
  sensing and an analog output for light intensity. The ambient light
  sensor output is not available on the GP2AP002S00F variant.
 
properties:
  compatible:
    enum:
      - sharp,gp2ap002a00f
      - sharp,gp2ap002s00f
 
  reg:
    maxItems: 1
 
  interrupts:
    maxItems: 1
    description: an interrupt for proximity, usually a GPIO line
 
  vdd-supply:
    description: VDD power supply a phandle to a regulator
 
  vio-supply:
    description: VIO power supply a phandle to a regulator
 
  io-channels:
    maxItems: 1
    description: ALSOUT ADC channel to read the ambient light
 
  io-channel-names:
    const: alsout
 
  sharp,proximity-far-hysteresis:
    $ref: /schemas/types.yaml#/definitions/uint8
    description: |
      Hysteresis setting for "far" object detection, this setting is
      device-unique and adjust the optical setting for proximity detection
      of a "far away" object in front of the sensor.
 
  sharp,proximity-close-hysteresis:
    $ref: /schemas/types.yaml#/definitions/uint8
    description: |
      Hysteresis setting for "close" object detection, this setting is
      device-unique and adjust the optical setting for proximity detection
      of a "close" object in front of the sensor.
 
required:
  - compatible
  - reg
  - interrupts
  - sharp,proximity-far-hysteresis
  - sharp,proximity-close-hysteresis
 
additionalProperties: false
 
examples:
  - |
    #include <dt-bindings/interrupt-controller/irq.h>
 
    i2c {
      #address-cells = <1>;
      #size-cells = <0>;
 
      light-sensor@44 {
        compatible = "sharp,gp2ap002a00f";
        reg = <0x44>;
        interrupts = <18 IRQ_TYPE_EDGE_FALLING>;
        vdd-supply = <&vdd_regulator>;
        vio-supply = <&vio_regulator>;
        io-channels = <&adc_channel>;
        io-channel-names = "alsout";
        sharp,proximity-far-hysteresis = /bits/ 8 <0x2f>;
        sharp,proximity-close-hysteresis = /bits/ 8 <0x0f>;
      };
    };
 
...