# 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"
	default y
	depends on DT_HAS_VISHAY_VCNL4040_ENABLED
	select 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 VCNL4040_TRIGGER
	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
