162306a36Sopenharmony_ci# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
262306a36Sopenharmony_ci%YAML 1.2
362306a36Sopenharmony_ci---
462306a36Sopenharmony_ci$id: http://devicetree.org/schemas/iio/light/sharp,gp2ap002.yaml#
562306a36Sopenharmony_ci$schema: http://devicetree.org/meta-schemas/core.yaml#
662306a36Sopenharmony_ci
762306a36Sopenharmony_cititle: Sharp GP2AP002A00F and GP2AP002S00F proximity and ambient light sensors
862306a36Sopenharmony_ci
962306a36Sopenharmony_cimaintainers:
1062306a36Sopenharmony_ci  - Linus Walleij <linus.walleij@linaro.org>
1162306a36Sopenharmony_ci
1262306a36Sopenharmony_cidescription: |
1362306a36Sopenharmony_ci  Proximity and ambient light sensor with IR LED for the proximity
1462306a36Sopenharmony_ci  sensing and an analog output for light intensity. The ambient light
1562306a36Sopenharmony_ci  sensor output is not available on the GP2AP002S00F variant.
1662306a36Sopenharmony_ci
1762306a36Sopenharmony_ciproperties:
1862306a36Sopenharmony_ci  compatible:
1962306a36Sopenharmony_ci    enum:
2062306a36Sopenharmony_ci      - sharp,gp2ap002a00f
2162306a36Sopenharmony_ci      - sharp,gp2ap002s00f
2262306a36Sopenharmony_ci
2362306a36Sopenharmony_ci  reg:
2462306a36Sopenharmony_ci    maxItems: 1
2562306a36Sopenharmony_ci
2662306a36Sopenharmony_ci  interrupts:
2762306a36Sopenharmony_ci    maxItems: 1
2862306a36Sopenharmony_ci    description: an interrupt for proximity, usually a GPIO line
2962306a36Sopenharmony_ci
3062306a36Sopenharmony_ci  vdd-supply:
3162306a36Sopenharmony_ci    description: VDD power supply a phandle to a regulator
3262306a36Sopenharmony_ci
3362306a36Sopenharmony_ci  vio-supply:
3462306a36Sopenharmony_ci    description: VIO power supply a phandle to a regulator
3562306a36Sopenharmony_ci
3662306a36Sopenharmony_ci  io-channels:
3762306a36Sopenharmony_ci    maxItems: 1
3862306a36Sopenharmony_ci    description: ALSOUT ADC channel to read the ambient light
3962306a36Sopenharmony_ci
4062306a36Sopenharmony_ci  io-channel-names:
4162306a36Sopenharmony_ci    const: alsout
4262306a36Sopenharmony_ci
4362306a36Sopenharmony_ci  sharp,proximity-far-hysteresis:
4462306a36Sopenharmony_ci    $ref: /schemas/types.yaml#/definitions/uint8
4562306a36Sopenharmony_ci    description: |
4662306a36Sopenharmony_ci      Hysteresis setting for "far" object detection, this setting is
4762306a36Sopenharmony_ci      device-unique and adjust the optical setting for proximity detection
4862306a36Sopenharmony_ci      of a "far away" object in front of the sensor.
4962306a36Sopenharmony_ci
5062306a36Sopenharmony_ci  sharp,proximity-close-hysteresis:
5162306a36Sopenharmony_ci    $ref: /schemas/types.yaml#/definitions/uint8
5262306a36Sopenharmony_ci    description: |
5362306a36Sopenharmony_ci      Hysteresis setting for "close" object detection, this setting is
5462306a36Sopenharmony_ci      device-unique and adjust the optical setting for proximity detection
5562306a36Sopenharmony_ci      of a "close" object in front of the sensor.
5662306a36Sopenharmony_ci
5762306a36Sopenharmony_cirequired:
5862306a36Sopenharmony_ci  - compatible
5962306a36Sopenharmony_ci  - reg
6062306a36Sopenharmony_ci  - interrupts
6162306a36Sopenharmony_ci  - sharp,proximity-far-hysteresis
6262306a36Sopenharmony_ci  - sharp,proximity-close-hysteresis
6362306a36Sopenharmony_ci
6462306a36Sopenharmony_ciadditionalProperties: false
6562306a36Sopenharmony_ci
6662306a36Sopenharmony_ciexamples:
6762306a36Sopenharmony_ci  - |
6862306a36Sopenharmony_ci    #include <dt-bindings/interrupt-controller/irq.h>
6962306a36Sopenharmony_ci
7062306a36Sopenharmony_ci    i2c {
7162306a36Sopenharmony_ci      #address-cells = <1>;
7262306a36Sopenharmony_ci      #size-cells = <0>;
7362306a36Sopenharmony_ci
7462306a36Sopenharmony_ci      light-sensor@44 {
7562306a36Sopenharmony_ci        compatible = "sharp,gp2ap002a00f";
7662306a36Sopenharmony_ci        reg = <0x44>;
7762306a36Sopenharmony_ci        interrupts = <18 IRQ_TYPE_EDGE_FALLING>;
7862306a36Sopenharmony_ci        vdd-supply = <&vdd_regulator>;
7962306a36Sopenharmony_ci        vio-supply = <&vio_regulator>;
8062306a36Sopenharmony_ci        io-channels = <&adc_channel>;
8162306a36Sopenharmony_ci        io-channel-names = "alsout";
8262306a36Sopenharmony_ci        sharp,proximity-far-hysteresis = /bits/ 8 <0x2f>;
8362306a36Sopenharmony_ci        sharp,proximity-close-hysteresis = /bits/ 8 <0x0f>;
8462306a36Sopenharmony_ci      };
8562306a36Sopenharmony_ci    };
8662306a36Sopenharmony_ci
8762306a36Sopenharmony_ci...
88