# VCNL4040 Proximity and Ambient Light Sensor configuration options

# Copyright (c) 2020 Richard Osterloh
# SPDX-License-Identifier: Apache-2.0

menuconfig VCNL4040
	bool "VCNL4040 Proximity and Ambient Light Sensor"
	depends on I2C
	help
	  Enable driver for VCNL4040 sensors.

if VCNL4040

config VCNL4040_ENABLE_ALS
	bool "Ambient light sensor"
	help
	  Enable Ambient Light Sense (ALS).

config VCNL4040_TRIGGER
	bool

choice
	prompt "Trigger mode"
	default VCNL4040_TRIGGER_NONE
	help
	  Specify the type of triggering to be used by the driver.

config VCNL4040_TRIGGER_NONE
	bool "No trigger"

config VCNL4040_TRIGGER_GLOBAL_THREAD
	bool "Use global thread"
	depends on GPIO
	select VCNL4040_TRIGGER

config VCNL4040_TRIGGER_OWN_THREAD
	bool "Use own thread"
	depends on GPIO
	select VCNL4040_TRIGGER

endchoice

config VCNL4040_THREAD_PRIORITY
	int "Thread priority"
	depends on VCNL4040_TRIGGER_OWN_THREAD
	default 10
	help
	  Priority of thread used by the driver to handle interrupts.

config VCNL4040_THREAD_STACK_SIZE
	int "Thread stack size"
	depends on VCNL4040_TRIGGER_OWN_THREAD
	default 1024
	help
	  Stack size of thread used by the driver to handle interrupts.

endif # VCNL4040
