Linux Audio

Check our new training course

Embedded Linux Audio

Check our new training course
with Creative Commons CC-BY-SA
lecture materials

Bootlin logo

Elixir Cross Referencer

Loading...
# Kconfig - 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_NAME
	string "Driver name"
	default "ISL29035"
	help
	  Device name with which the ISL29035 sensor is identified.

config ISL29035_I2C_MASTER_DEV_NAME
	string "I2C Master"
	default "I2C_0"
	help
	  The device name of the I2C master device to which the ISL29035
	  chip is connected.

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_GPIO_DEV_NAME
	string "GPIO device"
	default "GPIO_0"
	depends on ISL29035_TRIGGER
	help
	  The device name of the GPIO device to which the ISL29035 interrupt
	  pin is connected.

config ISL29035_GPIO_PIN_NUM
	int "GPIO pin number"
	default 0
	depends on ISL29035_TRIGGER
	help
	  The number of the GPIO pin to which the ISL29035 interrupt pin is
	  connected.

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