Commit 567cf213 authored by Linus Walleij's avatar Linus Walleij Committed by Andy Gross

ARM: dts: Qualcomm APQ8060 DragonBoard ALS sensor

This adds the Capella CM3605 ambient light and proximity sensor
to the APQ8060 DragonBoard device tree. Notice that we also set
up pin config for the AOUT line and GPIO lines, and that we set
the default trigger on the infrared LED to associate with the
"cm3605" trigger so the IR LED is controlled by this the CM3605
driver.
Signed-off-by: default avatarLinus Walleij <linus.walleij@linaro.org>
Acked-by: default avatarBjorn Andersson <bjorn.andersson@linaro.org>
Signed-off-by: default avatarAndy Gross <andy.gross@linaro.org>
parent 6d78cea6
......@@ -23,6 +23,7 @@
#include <dt-bindings/input/input.h>
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/pinctrl/qcom,pmic-gpio.h>
#include <dt-bindings/pinctrl/qcom,pmic-mpp.h>
#include "qcom-msm8660.dtsi"
/ {
......@@ -83,6 +84,25 @@ dragon_vio_txb: txb0104rgyr {
};
};
/*
* Capella CM3605 light and proximity sensor mounted directly
* on the sensor board.
*/
cm3605 {
compatible = "capella,cm3605";
vdd-supply = <&pm8058_l14>; // 2.85V
aset-gpios = <&pm8058_gpio 35 GPIO_ACTIVE_LOW>;
capella,aset-resistance-ohms = <100000>;
/* GPIO34 has interrupt 225 on the PM8058 */
/* Trig on both edges - getting close or far away */
interrupts-extended = <&pm8058 225 IRQ_TYPE_EDGE_BOTH>;
/* MPP05 analog input to the XOADC */
io-channels = <&xoadc 0x00 0x05>;
io-channel-names = "aout";
pinctrl-names = "default";
pinctrl-0 = <&dragon_cm3605_gpios>, <&dragon_cm3605_mpps>;
};
soc {
pinctrl@800000 {
/* eMMMC pins, all 8 data lines connected */
......@@ -317,6 +337,24 @@ pinconf {
power-source = <PM8058_GPIO_S3>;
};
};
dragon_cm3605_gpios: cm3605-gpios {
/* Pin 34 connected to the proxy IRQ */
pinconf_gpio34 {
pins = "gpio34";
function = "normal";
input-enable;
bias-disable;
power-source = <PM8058_GPIO_S3>;
};
/* Pin 35 connected to ASET */
pinconf_gpio35 {
pins = "gpio35";
function = "normal";
output-high;
bias-disable;
power-source = <PM8058_GPIO_S3>;
};
};
dragon_veth_gpios: veth-gpios {
pinconf {
pins = "gpio40";
......@@ -327,6 +365,47 @@ pinconf {
};
};
mpps@50 {
dragon_cm3605_mpps: cm3605-mpps {
pinconf {
pins = "mpp5";
function = "analog";
input-enable;
bias-high-impedance;
/* Let's use channel 5 */
qcom,amux-route = <PMIC_MPP_AMUX_ROUTE_CH5>;
power-source = <PM8058_GPIO_S3>;
};
};
};
xoadc@197 {
/* Reference voltage 2.2 V */
xoadc-ref-supply = <&pm8058_l18>;
/* Board-specific channels */
mpp5@05 {
/* Connected to AOUT of ALS sensor */
reg = <0x00 0x05>;
};
mpp6@06 {
/* Connected to test point TP43 */
reg = <0x00 0x06>;
};
mpp7@07 {
/* Connected to battery thermistor */
reg = <0x00 0x07>;
};
mpp8@08 {
/* Connected to battery ID detector */
reg = <0x00 0x08>;
};
mpp9@09 {
/* Connected to XO thermistor */
reg = <0x00 0x09>;
};
};
led@48 {
/*
* The keypad LED @0x48 is routed to
......@@ -340,6 +419,7 @@ led@48 {
reg = <0x48>;
label = "pm8058:infrared:proximitysensor";
default-state = "off";
linux,default-trigger = "cm3605";
};
led@131 {
compatible = "qcom,pm8058-led";
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment