sensor: Add sx9500 SAR proximity driver

Support for data-ready and near/far triggers is included.  Datasheet the
sensor available at <http://www.semtech.com/images/datasheet/sx9500_ag.pdf>.

Origin: Original
Change-Id: Idd491a8bad7e119b0ed66e655955228ffdac6e76
Signed-off-by: Vlad Dogaru <vlad.dogaru@intel.com>
This commit is contained in:
Vlad Dogaru 2016-01-25 18:23:04 +02:00 committed by Anas Nashif
commit 447489dc84
5 changed files with 533 additions and 0 deletions

View file

@ -127,3 +127,95 @@ config MCP9808_FIBER_PRIORITY
int "MCP9808 fiber priority"
depends on MCP9808 && MCP9808_TRIGGER_OWN_FIBER
default 10
menuconfig SX9500
bool "SX9500 I2C SAR Proximity Chip"
depends on SENSOR && I2C
default n
help
Enable driver for SX9500 I2C-based SAR proximity sensor.
config SX9500_DEV_NAME
string "SX9500 device name"
depends on SX9500
default "SX9500"
config SX9500_INIT_PRIORITY
int
depends on SX9500
default 70
prompt "Init priority"
help
Device driver initialization priority.
config SX9500_I2C_ADDR
hex "SX9500 I2C slave address"
depends on SX9500
default 0x2B
help
Specify the I2C slave address for the SX9500.
config SX9500_I2C_DEV_NAME
string "I2C master where SX9500 is connected"
depends on SX9500
default "I2C0"
help
Specify the device name of the I2C master device to which SX9500 is
connected.
config SX9500_PROX_CHANNEL
int
default 3
depends on SX9500
prompt "Proximity channel to use"
help
The SX9500 offers 4 separate proximity channels. Choose which one
you are using. Valid numbers are 0 to 3.
choice
prompt "SX9500 trigger mode"
depends on SX9500
default SX9500_TRIGGER_GLOBAL_FIBER
config SX9500_TRIGGER_NONE
bool "No trigger"
config SX9500_TRIGGER_GLOBAL_FIBER
depends on GPIO
select SX9500_TRIGGER
select SENSOR_DELAYED_WORK
bool "Use global fiber"
config SX9500_TRIGGER_OWN_FIBER
depends on GPIO
select SX9500_TRIGGER
bool "Use own fiber"
endchoice
config SX9500_TRIGGER
bool
depends on SX9500
config SX9500_GPIO_CONTROLLER
string "GPIO controller for SX9500 interrupt"
depends on SX9500 && SX9500_TRIGGER
default GPIO_0
help
Specify the device name of the GPIO controller the SX9500 interrupt
is connected to.
config SX9500_GPIO_PIN
int "GPIO pin for SX9500 interrupt"
depends on SX9500 && SX9500_TRIGGER
default 3
config SX9500_FIBER_STACK_SIZE
int "Sensor delayed work fiber stack size"
depends on SX9500 && SX9500_TRIGGER_OWN_FIBER
default 1024
config SX9500_FIBER_PRIORITY
int "Fiber priority"
depends on SX9500 && SX9500_TRIGGER_OWN_FIBER
default 10