Staging
v0.7.0
https://github.com/torvalds/linux
Raw File
Tip revision: 52a93d39b17dc7eb98b6aa3edb93943248e03b2f authored by Linus Torvalds on 06 August 2023, 22:07:51 UTC
Linux 6.5-rc5
Tip revision: 52a93d3
capella,cm3605.yaml
# 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:
    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";
    };
...
back to top