ARM: dts: imx6qdl-sabresd: add light sensor support
authorAnson Huang <anson.huang@nxp.com>
Thu, 6 Dec 2018 01:42:34 +0000 (01:42 +0000)
committerShawn Guo <shawnguo@kernel.org>
Mon, 10 Dec 2018 02:03:07 +0000 (10:03 +0800)
Add isl29023 light sensor support on i2c3 bus, the light
sensor's power is controlled by a fixed regulator, since
the isl29023 driver and most of other sensors on same
board like mag3110 and mma8451 do NOT support regulator
operation currently, they are all controlled by this
regulator, so this patch also adds the fixed regulator
support and make it always on.

Signed-off-by: Anson Huang <Anson.Huang@nxp.com>
Reviewed-by: Fabio Estevam <festevam@gmail.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
arch/arm/boot/dts/imx6qdl-sabresd.dtsi

index d3877a529a85e6646260fbdf406f64159af1565d..2e071b20b1fcd2059d0b2589c6a4d7cc2351b5dc 100644 (file)
                enable-active-high;
        };
 
+       reg_sensors: regulator-sensors {
+               compatible = "regulator-fixed";
+               pinctrl-names = "default";
+               pinctrl-0 = <&pinctrl_sensors_reg>;
+               regulator-name = "sensors-supply";
+               regulator-min-microvolt = <3300000>;
+               regulator-max-microvolt = <3300000>;
+               gpio = <&gpio2 31 GPIO_ACTIVE_HIGH>;
+               enable-active-high;
+               regulator-always-on;
+       };
+
        gpio-keys {
                compatible = "gpio-keys";
                pinctrl-names = "default";
                interrupts = <7 2>;
                wakeup-gpios = <&gpio6 7 0>;
        };
+
+       light-sensor@44 {
+               compatible = "isil,isl29023";
+               reg = <0x44>;
+               pinctrl-names = "default";
+               pinctrl-0 = <&pinctrl_i2c3_isl29023_int>;
+               interrupt-parent = <&gpio3>;
+               interrupts = <9 IRQ_TYPE_EDGE_FALLING>;
+       };
 };
 
 &iomuxc {
                        >;
                };
 
+               pinctrl_i2c3_isl29023_int: i2c3isl29023intgrp {
+                       fsl,pins = <
+                               MX6QDL_PAD_EIM_DA9__GPIO3_IO09          0xb0b1
+                       >;
+               };
+
                pinctrl_ipu1_csi0: ipu1csi0grp {
                        fsl,pins = <
                                MX6QDL_PAD_CSI0_DAT12__IPU1_CSI0_DATA12    0x1b0b0
                        >;
                };
 
+               pinctrl_sensors_reg: sensorsreggrp {
+                       fsl,pins = <
+                               MX6QDL_PAD_EIM_EB3__GPIO2_IO31          0x1b0b0
+                       >;
+               };
+
                pinctrl_uart1: uart1grp {
                        fsl,pins = <
                                MX6QDL_PAD_CSI0_DAT10__UART1_TX_DATA    0x1b0b1