[1/2,v1] iio: light: Add DT bindings for GP2AP002
diff mbox series

Message ID 20191228201109.13635-1-linus.walleij@linaro.org
State Superseded
Headers show
Series
  • [1/2,v1] iio: light: Add DT bindings for GP2AP002
Related show

Commit Message

Linus Walleij Dec. 28, 2019, 8:11 p.m. UTC
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: Donggeun Kim <dg77.kim@samsung.com>
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
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
---
 .../bindings/iio/light/sharp,gp2ap002.yaml    | 87 +++++++++++++++++++
 1 file changed, 87 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/iio/light/sharp,gp2ap002.yaml

Comments

Rob Herring Jan. 8, 2020, 4:46 p.m. UTC | #1
On Sat, Dec 28, 2019 at 09:11:08PM +0100, Linus Walleij wrote:
> 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: Donggeun Kim <dg77.kim@samsung.com>
> 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
> Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
> ---
>  .../bindings/iio/light/sharp,gp2ap002.yaml    | 87 +++++++++++++++++++
>  1 file changed, 87 insertions(+)
>  create mode 100644 Documentation/devicetree/bindings/iio/light/sharp,gp2ap002.yaml
> 
> diff --git a/Documentation/devicetree/bindings/iio/light/sharp,gp2ap002.yaml b/Documentation/devicetree/bindings/iio/light/sharp,gp2ap002.yaml
> new file mode 100644
> index 000000000000..27d129e76a8b
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/iio/light/sharp,gp2ap002.yaml
> @@ -0,0 +1,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:
> +    maxItems: 1

*-supply is always 1 item, so drop.

> +    description: VDD power supply a phandle to a regulator
> +
> +  vio-supply:
> +    maxItems: 1
> +    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"

Drop quotes

> +
> +  sharp,proximity-far-hysteresis:
> +    $ref: /schemas/types.yaml#/definitions/uint32
> +    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.

0-2^32 is allowed?

default?

> +
> +  sharp,proximity-close-hysteresis:
> +    $ref: /schemas/types.yaml#/definitions/uint32
> +    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 = <0x2f>;
> +        sharp,proximity-close-hysteresis = <0x0f>;
> +      };
> +    };
> +
> +...
> -- 
> 2.21.0
>

Patch
diff mbox series

diff --git a/Documentation/devicetree/bindings/iio/light/sharp,gp2ap002.yaml b/Documentation/devicetree/bindings/iio/light/sharp,gp2ap002.yaml
new file mode 100644
index 000000000000..27d129e76a8b
--- /dev/null
+++ b/Documentation/devicetree/bindings/iio/light/sharp,gp2ap002.yaml
@@ -0,0 +1,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:
+    maxItems: 1
+    description: VDD power supply a phandle to a regulator
+
+  vio-supply:
+    maxItems: 1
+    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/uint32
+    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/uint32
+    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 = <0x2f>;
+        sharp,proximity-close-hysteresis = <0x0f>;
+      };
+    };
+
+...