| 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"; |
| }; |