blob: c466e7f369f7b9fa5789df9b6af8181466079d49 [file] [log] [blame]
# 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