Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 51f2b7e2 authored by shaoxing's avatar shaoxing Committed by zhaochen
Browse files

drivers: input: vl53l0x: Add TOF Vl53l0x sensor for APQ8009 Robotics



This change add STM vl53l0x sensor driver for APQ8009 Robotics.

VL53L0X is a ranging and gesture detection sensor through
i2c in 400kb/s.
Icm20602 driver can  push the data to userspace
by sysfs which is calibrate by the driver application.

Change-Id: I1d248d71397ec0e1b551419bf58cbe22d2dfff7f
From: FMenziesENG <f.menzies.gb@ieee.org>
Signed-off-by: default avatarFMenziesENG <f.menzies.gb@ieee.org>
[zhaochen@codeaurora.org: Add API to userspace through sysfs]
Signed-off-by: default avatarzhaochen <zhaochen@codeaurora.org>
parent 672dfcfa
Loading
Loading
Loading
Loading
+36 −0
Original line number Diff line number Diff line
STM VL53L0X Time-of-Flight ranging and gesture detection sensor driver

Description:

The VL53L0X is a new generation Time-of-Flight
(ToF) laser-ranging module housed in the
smallest package on the market today, providing
accurate distance measurement whatever the
target reflectances unlike conventional
technologies. It can measure absolute distances
up to 2m, setting a new benchmark in ranging
performance levels, opening the door to various
new applications.
The VL53L0X integrates a leading-edge SPAD
array (Single Photon Avalanche Diodes) and
embeds ST’s second generation FlightSenseTM
patented technology.
The VL53L0X’s 940 nm VCSEL emitter (Vertical
Cavity Surface-Emitting Laser), is totally invisible
to the human eye, coupled with internal physical
infrared filters, it enables longer ranging
distances, higher immunity to ambient light, and
better robustness to cover glass optical crosstalk.

Required properties:

 - compatible		: Should be "st,stmvl53l0".
 - reg			: i2c slave address of the device.

Example:
	i2c@f9925000 {
		vl53l0x@52 {
			compatible = "st,stmvl53l0";
			reg = <0x52>;
		};
	};
+12 −0
Original line number Diff line number Diff line
@@ -372,6 +372,18 @@ config INPUT_KEYCHORD
	  To compile this driver as a module, choose M here: the
	  module will be called keychord.


config STMVL53L0X
        tristate "STM VL53L0X Ranging Sensor"
        depends on I2C
        help
	  Say Y here if you want to enable the key chord driver
          This is a Time-of-Flight (ToF) laser-ranging sensor, provide
	  the distance from obstacle.

	  To compile this driver as a module, choose M here: the module will
	  be called vl5310x.

config INPUT_KEYSPAN_REMOTE
	tristate "Keyspan DMR USB remote control"
	depends on USB_ARCH_HAS_HCD
+1 −0
Original line number Diff line number Diff line
@@ -85,3 +85,4 @@ ifeq ($(CONFIG_BOSCH_BMA2X2_ENABLE_INT2),y)
endif
obj-$(CONFIG_INPUT_IDEAPAD_SLIDEBAR)	+= ideapad_slidebar.o
obj-$(CONFIG_INPUT_PIXART_OTS_PAT9125_SWITCH)	+= ots_pat9125/
obj-$(CONFIG_STMVL53L0X)	+= vl53l0x/
+20 −0
Original line number Diff line number Diff line
#
# Makefile for the vl53L0X drivers.
#

# Each configuration option enables a list of files.
FEATURE_USE_CCI := false
#FEATURE_USE_CCI := true

ifeq ($(FEATURE_USE_CCI), true)
ccflags-y	+= -Idrivers/input/misc/vl53l0x/inc -DCAMERA_CCI
else
ccflags-y	+= -Idrivers/input/misc/vl53l0x/inc -DSTM_TEST
endif

ccflags-y += -Idrivers/media/platform/msm/camera_v2/sensor/io
ccflags-y += -Idrivers/media/platform/msm/camera_v2
ccflags-y += -Idrivers/media/platform/msm/camera_v2/common
ccflags-y += -Idrivers/media/platform/msm/camera_v2/sensor/cci
obj-$(CONFIG_STMVL53L0X)			+= stmvl53l0x.o
stmvl53l0x-objs				:= stmvl53l0x_module.o stmvl53l0x_module-i2c.o stmvl53l0x_module-cci.o src/vl53l0x_api_calibration.o src/vl53l0x_api_core.o src/vl53l0x_api_ranging.o src/vl53l0x_api_strings.o src/vl53l0x_api.o src/vl53l0x_platform.o src/vl53l0x_i2c_platform.o src/vl53l0x_port_i2c.o
+1943 −0

File added.

Preview size limit exceeded, changes collapsed.

Loading