162306a36Sopenharmony_ci# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
262306a36Sopenharmony_ci%YAML 1.2
362306a36Sopenharmony_ci---
462306a36Sopenharmony_ci$id: http://devicetree.org/schemas/iio/light/capella,cm3605.yaml#
562306a36Sopenharmony_ci$schema: http://devicetree.org/meta-schemas/core.yaml#
662306a36Sopenharmony_ci
762306a36Sopenharmony_cititle:
862306a36Sopenharmony_ci  Capella Microsystems CM3605 Ambient Light and Short Distance Proximity Sensor
962306a36Sopenharmony_ci
1062306a36Sopenharmony_cimaintainers:
1162306a36Sopenharmony_ci  - Linus Walleij <linus.walleij@linaro.org>
1262306a36Sopenharmony_ci  - Kevin Tsai <ktsai@capellamicro.com>
1362306a36Sopenharmony_ci
1462306a36Sopenharmony_cidescription: |
1562306a36Sopenharmony_ci  The CM3605 is an entirely analog part. However, it requires quite a bit of
1662306a36Sopenharmony_ci  software logic to interface a host operating system.
1762306a36Sopenharmony_ci
1862306a36Sopenharmony_ci  This ALS and proximity sensor was one of the very first deployed in mobile
1962306a36Sopenharmony_ci  handsets, notably it is used in the very first Nexus One Android phone from
2062306a36Sopenharmony_ci  2010.
2162306a36Sopenharmony_ci
2262306a36Sopenharmony_ciproperties:
2362306a36Sopenharmony_ci  compatible:
2462306a36Sopenharmony_ci    const: capella,cm3605
2562306a36Sopenharmony_ci
2662306a36Sopenharmony_ci  aset-gpios:
2762306a36Sopenharmony_ci    maxItems: 1
2862306a36Sopenharmony_ci    description:
2962306a36Sopenharmony_ci      ASET line (drive low to activate the ALS, should be flagged
3062306a36Sopenharmony_ci      GPIO_ACTIVE_LOW)
3162306a36Sopenharmony_ci
3262306a36Sopenharmony_ci  interrupts:
3362306a36Sopenharmony_ci    maxItems: 1
3462306a36Sopenharmony_ci    description:
3562306a36Sopenharmony_ci      Connected to the POUT (proximity sensor out) line. The edge
3662306a36Sopenharmony_ci      detection must be set to IRQ_TYPE_EDGE_BOTH so as to detect
3762306a36Sopenharmony_ci      movements toward and away from the proximity sensor.
3862306a36Sopenharmony_ci
3962306a36Sopenharmony_ci  io-channels:
4062306a36Sopenharmony_ci    maxItems: 1
4162306a36Sopenharmony_ci    description:
4262306a36Sopenharmony_ci      ADC channel used for converting the voltage from AOUT to a digital
4362306a36Sopenharmony_ci      representation.
4462306a36Sopenharmony_ci
4562306a36Sopenharmony_ci  io-channel-names:
4662306a36Sopenharmony_ci    const: aout
4762306a36Sopenharmony_ci
4862306a36Sopenharmony_ci  vdd-supply: true
4962306a36Sopenharmony_ci
5062306a36Sopenharmony_ci  capella,aset-resistance-ohms:
5162306a36Sopenharmony_ci    enum: [50000, 100000, 300000, 600000]
5262306a36Sopenharmony_ci    description: >
5362306a36Sopenharmony_ci      Sensitivity calibration resistance. Note that calibration curves
5462306a36Sopenharmony_ci      are only provided for specific allowed values. Default: 100 kOhms.
5562306a36Sopenharmony_ci
5662306a36Sopenharmony_cirequired:
5762306a36Sopenharmony_ci  - compatible
5862306a36Sopenharmony_ci  - aset-gpios
5962306a36Sopenharmony_ci  - interrupts
6062306a36Sopenharmony_ci  - io-channels
6162306a36Sopenharmony_ci  - io-channel-names
6262306a36Sopenharmony_ci
6362306a36Sopenharmony_ciadditionalProperties: false
6462306a36Sopenharmony_ci
6562306a36Sopenharmony_ciexamples:
6662306a36Sopenharmony_ci  - |
6762306a36Sopenharmony_ci    #include <dt-bindings/gpio/gpio.h>
6862306a36Sopenharmony_ci    #include <dt-bindings/interrupt-controller/irq.h>
6962306a36Sopenharmony_ci    light-sensor {
7062306a36Sopenharmony_ci        compatible = "capella,cm3605";
7162306a36Sopenharmony_ci        vdd-supply = <&foo_reg>;
7262306a36Sopenharmony_ci        aset-gpios = <&foo_gpio 1 GPIO_ACTIVE_LOW>;
7362306a36Sopenharmony_ci        capella,aset-resistance-ohms = <100000>;
7462306a36Sopenharmony_ci        interrupts = <1 IRQ_TYPE_EDGE_BOTH>;
7562306a36Sopenharmony_ci        io-channels = <&adc 0x01>;
7662306a36Sopenharmony_ci        io-channel-names = "aout";
7762306a36Sopenharmony_ci    };
7862306a36Sopenharmony_ci...
79