# 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 && HAS_DTS_GPIO
	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
