GNU Linux-libre 4.19.295-gnu1
[releases.git] / Documentation / devicetree / bindings / iio / light / cm3605.txt
1 Capella Microsystems CM3605
2 Ambient Light and Short Distance Proximity Sensor
3
4 The CM3605 is an entirely analog part which however require quite a bit of
5 software logic to interface a host operating system.
6
7 This ALS and proximity sensor was one of the very first deployed in mobile
8 handsets, notably it is used in the very first Nexus One Android phone from
9 2010.
10
11 Required properties:
12 - compatible: must be: "capella,cm3605"
13 - aset-gpios: GPIO line controlling the ASET line (drive low
14   to activate the ALS, should be flagged GPIO_ACTIVE_LOW)
15 - interrupts: the IRQ line (such as a GPIO) that is connected to
16   the POUT (proximity sensor out) line. The edge detection must
17   be set to IRQ_TYPE_EDGE_BOTH so as to detect movements toward
18   and away from the proximity sensor.
19 - io-channels: the ADC channel used for converting the voltage from
20   AOUT to a digital representation.
21 - io-channel-names: must be "aout"
22
23 Optional properties:
24 - vdd-supply: regulator supplying VDD power to the component.
25 - capella,aset-resistance-ohms: the sensitivity calibration resistance,
26   in Ohms. Valid values are: 50000, 100000, 300000 and 600000,
27   as these are the resistance values that we are supplied with
28   calibration curves for. If not supplied, 100 kOhm will be assumed
29   but it is strongly recommended to supply this.
30
31 Example:
32
33 cm3605 {
34         compatible = "capella,cm3605";
35         vdd-supply = <&foo_reg>;
36         aset-gpios = <&foo_gpio 1 GPIO_ACTIVE_LOW>;
37         capella,aset-resistance-ohms = <100000>;
38         interrupts = <1 IRQ_TYPE_EDGE_BOTH>;
39         io-channels = <&adc 0x01>;
40         io-channel-names = "aout";
41 };