Commit 8c693432 authored by Jonathan Cameron's avatar Jonathan Cameron
Browse files

dt-bindings:iio:light:capella,cm3605: txt to yaml conversion.



Simple conversion using the new iio-consumers.yaml binding in the
dt-schema.

Signed-off-by: default avatarJonathan Cameron <Jonathan.Cameron@huawei.com>
Reviewed-by: default avatarLinus Walleij <linus.walleij@linaro.org>
Reviewed-by: default avatarRob Herring <robh@kernel.org>
Cc: Linus Walleij <linus.walleij@linaro.org>
Link: https://lore.kernel.org/r/20201031181242.742301-10-jic23@kernel.org
parent 6f633bc9
Loading
Loading
Loading
Loading
+79 −0
Original line number Diff line number Diff line
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/iio/light/capella,cm3605.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title:
  Capella Microsystems CM3605 Ambient Light and Short Distance Proximity Sensor

maintainers:
  - Linus Walleij <linus.walleij@linaro.org>
  - Kevin Tsai <ktsai@capellamicro.com>

description: |
  The CM3605 is an entirely analog part. However, it requires quite a bit of
  software logic to interface a host operating system.

  This ALS and proximity sensor was one of the very first deployed in mobile
  handsets, notably it is used in the very first Nexus One Android phone from
  2010.

properties:
  compatible:
    const: capella,cm3605

  aset-gpios:
    maxItems: 1
    description:
      ASET line (drive low to activate the ALS, should be flagged
      GPIO_ACTIVE_LOW)

  interrupts:
    maxItems: 1
    description:
      Connected to the POUT (proximity sensor out) line. The edge
      detection must be set to IRQ_TYPE_EDGE_BOTH so as to detect
      movements toward and away from the proximity sensor.

  io-channels:
    maxItems: 1
    description:
      ADC channel used for converting the voltage from AOUT to a digital
      representation.

  io-channel-names:
    const: aout

  vdd-supply: true

  capella,aset-resistance-ohms:
    $ref: /schemas/types.yaml#/definitions/uint32
    enum: [50000, 100000, 300000, 600000]
    description: >
      Sensitivity calibration resistance. Note that calibration curves
      are only provided for specific allowed values. Default: 100 kOhms.

required:
  - compatible
  - aset-gpios
  - interrupts
  - io-channels
  - io-channel-names

additionalProperties: false

examples:
  - |
    #include <dt-bindings/gpio/gpio.h>
    #include <dt-bindings/interrupt-controller/irq.h>
    light-sensor {
        compatible = "capella,cm3605";
        vdd-supply = <&foo_reg>;
        aset-gpios = <&foo_gpio 1 GPIO_ACTIVE_LOW>;
        capella,aset-resistance-ohms = <100000>;
        interrupts = <1 IRQ_TYPE_EDGE_BOTH>;
        io-channels = <&adc 0x01>;
        io-channel-names = "aout";
    };
...
+0 −41
Original line number Diff line number Diff line
Capella Microsystems CM3605
Ambient Light and Short Distance Proximity Sensor

The CM3605 is an entirely analog part which however require quite a bit of
software logic to interface a host operating system.

This ALS and proximity sensor was one of the very first deployed in mobile
handsets, notably it is used in the very first Nexus One Android phone from
2010.

Required properties:
- compatible: must be: "capella,cm3605"
- aset-gpios: GPIO line controlling the ASET line (drive low
  to activate the ALS, should be flagged GPIO_ACTIVE_LOW)
- interrupts: the IRQ line (such as a GPIO) that is connected to
  the POUT (proximity sensor out) line. The edge detection must
  be set to IRQ_TYPE_EDGE_BOTH so as to detect movements toward
  and away from the proximity sensor.
- io-channels: the ADC channel used for converting the voltage from
  AOUT to a digital representation.
- io-channel-names: must be "aout"

Optional properties:
- vdd-supply: regulator supplying VDD power to the component.
- capella,aset-resistance-ohms: the sensitivity calibration resistance,
  in Ohms. Valid values are: 50000, 100000, 300000 and 600000,
  as these are the resistance values that we are supplied with
  calibration curves for. If not supplied, 100 kOhm will be assumed
  but it is strongly recommended to supply this.

Example:

cm3605 {
	compatible = "capella,cm3605";
	vdd-supply = <&foo_reg>;
	aset-gpios = <&foo_gpio 1 GPIO_ACTIVE_LOW>;
	capella,aset-resistance-ohms = <100000>;
	interrupts = <1 IRQ_TYPE_EDGE_BOTH>;
	io-channels = <&adc 0x01>;
	io-channel-names = "aout";
};