# Kconfig - ISL29035 light sensor configuration options # # Copyright (c) 2016 Intel Corporation # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. # menuconfig ISL29035 bool prompt "ISL29035 light sensor" default n depends on SENSOR && I2C && NANO_TIMERS && NANO_TIMEOUTS help Enable driver for the ISL29035 light sensor. config ISL29035_NAME string prompt "Driver name" default "ISL29035" depends on ISL29035 help Device name with which the ISL29035 sensor is identified. config ISL29035_I2C_MASTER_DEV_NAME string prompt "I2C Master" depends on ISL29035 default "I2C_0" help The device name of the I2C master device to which the ISL29035 chip is connected. config ISL29035_THREAD_PRIORITY int prompt "Thread priority" depends on ISL29035 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 depends on ISL29035 help Maximum allowable lux value. Lower range values offer better resolution. config ISL29035_LUX_RANGE_1K bool prompt "1000" config ISL29035_LUX_RANGE_4K bool prompt "4000" config ISL29035_LUX_RANGE_16K bool prompt "16000" config ISL29035_LUX_RANGE_64K bool prompt "64000" endchoice choice prompt "Integration time" default ISL29035_INTEGRATION_TIME_105K depends on ISL29035 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 prompt "0.0256 ms" config ISL29035_INTEGRATION_TIME_410 bool prompt "0.41 ms" config ISL29035_INTEGRATION_TIME_6500 bool prompt "6.5 ms" config ISL29035_INTEGRATION_TIME_105K bool prompt "105 ms" endchoice choice prompt "Active sensing mode" depends on ISL29035 default ISL29035_MODE_ALS help Sensing mode in which the ISL29035 will function. The chip can be configured either for either ambinet light or infrared sensing. config ISL29035_MODE_ALS bool prompt "ambient light" help Sensing mode for ambient light spectrum. config ISL29035_MODE_IR bool prompt "infrared" help Sensing mode for infrared spectrum. endchoice choice prompt "Trigger mode" depends on ISL29035 && 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 prompt "No trigger" config ISL29035_TRIGGER_GLOBAL_THREAD bool prompt "Use global thread" depends on GPIO select ISL29035_TRIGGER config ISL29035_TRIGGER_OWN_THREAD bool prompt "Use own thread" depends on GPIO select ISL29035_TRIGGER endchoice config ISL29035_TRIGGER bool depends on ISL29035 config ISL29035_GPIO_DEV_NAME string prompt "GPIO device" default "GPIO_0" depends on ISL29035 && ISL29035_TRIGGER help The device name of the GPIO device to which the ISL29035 interrupt pin is connected. config ISL29035_GPIO_PIN_NUM int prompt "GPIO pin number" default 0 depends on ISL29035 && ISL29035_TRIGGER help The number of the GPIO pin to which the ISL29035 interrupt pin is connected. config ISL29035_THREAD_PRIORITY int prompt "Thread priority" depends on ISL29035 && ISL29035_TRIGGER_OWN_THREAD default 10 help Priority of thread used by the driver to handle interrupts. config ISL29035_THREAD_STACK_SIZE int prompt "Thread stack size" depends on ISL29035 && 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 && ISL29035_TRIGGER default ISL29035_INT_PERSIST_1 help Number of consecutive intergration 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 prompt "1" config ISL29035_INT_PERSIST_4 bool prompt "4" config ISL29035_INT_PERSIST_8 bool prompt "8" config ISL29035_INT_PERSIST_16 bool prompt "16" endchoice