Commit a2ff6e03 authored by Linus Walleij's avatar Linus Walleij Committed by Jonathan Cameron
Browse files

iio: light: Add DT bindings for GP2AP002



This adds device tree bindings for the GP2AP002 light
and proximity sensor.

As with other early proximity sensors (~2010) the light
sensor and proximity sensors were combined into a single
component.

Cc: Stephan Gerhold <stephan@gerhold.net>
Cc: Minkyu Kang <mk7.kang@samsung.com>
Cc: Paweł Chmiel <pawel.mikolaj.chmiel@gmail.com>
Cc: Jonathan Bakker <xc-racer2@live.ca>
Cc: Oskar Andero <oskar.andero@gmail.com>
Cc: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Cc: devicetree@vger.kernel.org
Reviewed-by: default avatarRob Herring <robh@kernel.org>
Signed-off-by: default avatarLinus Walleij <linus.walleij@linaro.org>
Signed-off-by: default avatarJonathan Cameron <Jonathan.Cameron@huawei.com>
parent 5de6570b
Loading
Loading
Loading
Loading
+85 −0
Original line number Diff line number Diff line
# 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

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>;
      };
    };

...