42 lines
1.5 KiB
Plaintext
42 lines
1.5 KiB
Plaintext
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";
|
|
};
|