Linux Audio

Check our new training course

Loading...
# ISL29035 light sensor configuration options

# Copyright (c) 2016 Intel Corporation
# SPDX-License-Identifier: Apache-2.0

menuconfig ISL29035
	bool "ISL29035 light sensor"
	depends on I2C
	help
	  Enable driver for the ISL29035 light sensor.

if ISL29035

config ISL29035_THREAD_PRIORITY
	int "Thread priority"
	default 10
	help
	  Priority of thread used to handle the timer and threshold triggers.

choice
	prompt "Full scale lux range"
	default ISL29035_LUX_RANGE_1K
	help
	  Maximum allowable lux value. Lower range values offer better
	  resolution.

config ISL29035_LUX_RANGE_1K
	bool "1000"

config ISL29035_LUX_RANGE_4K
	bool "4000"

config ISL29035_LUX_RANGE_16K
	bool "16000"

config ISL29035_LUX_RANGE_64K
	bool "64000"

endchoice

choice
	prompt "Integration time"
	default ISL29035_INTEGRATION_TIME_105K
	help
	  The sampling period of the internal ADC of the light sensor.
	  Lower integration time values mean lower ADC resolution.

config ISL29035_INTEGRATION_TIME_26
	bool "0.0256 ms"

config ISL29035_INTEGRATION_TIME_410
	bool "0.41 ms"

config ISL29035_INTEGRATION_TIME_6500
	bool "6.5 ms"

config ISL29035_INTEGRATION_TIME_105K
	bool "105 ms"

endchoice

choice
	prompt "Active sensing mode"
	default ISL29035_MODE_ALS
	help
	  Sensing mode in which the ISL29035 will function. The chip can be
	  configured either for either ambient light or infrared sensing.

config ISL29035_MODE_ALS
	bool "ambient light"
	help
	  Sensing mode for ambient light spectrum.

config ISL29035_MODE_IR
	bool "infrared"
	help
	  Sensing mode for infrared spectrum.

endchoice

choice
	prompt "Trigger mode"
	depends on ISL29035_MODE_ALS && GPIO
	default ISL29035_TRIGGER_NONE
	help
	  Specify the type of triggering to be used by the driver.
	  Only available for ambient light sensing mode.

config ISL29035_TRIGGER_NONE
	bool "No trigger"

config ISL29035_TRIGGER_GLOBAL_THREAD
	bool "Use global thread"
	depends on GPIO
	select ISL29035_TRIGGER

config ISL29035_TRIGGER_OWN_THREAD
	bool "Use own thread"
	depends on GPIO
	select ISL29035_TRIGGER

endchoice

config ISL29035_TRIGGER
	bool

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

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

choice
	prompt "Interrupt persist cycles"
	depends on ISL29035_TRIGGER
	default ISL29035_INT_PERSIST_1
	help
	  Number of consecutive integration cycles for which the data samples
	  need to remain outside the threshold window in order for the interrupt
	  to be triggered.

config ISL29035_INT_PERSIST_1
	bool "1"

config ISL29035_INT_PERSIST_4
	bool "4"

config ISL29035_INT_PERSIST_8
	bool "8"

config ISL29035_INT_PERSIST_16
	bool "16"

endchoice

endif # ISL29035