blob: 1bff26c9cd938e6a9d52d6e12db031106b08818f [file] [log] [blame]
# Kconfig.isl29035 - 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_SYS_LOG_LEVEL
int "ISL29035 Log level"
depends on SYS_LOG && ISL29035
default 0
range 0 4
help
Sets log level for ISL29035 driver.
Levels are:
- 0 OFF: do not write
- 1 ERROR: only write SYS_LOG_ERR
- 2 WARNING: write SYS_LOG_WRN in addition to previous level
- 3 INFO: write SYS_LOG_INF in addition to previous levels
- 4 DEBUG: write SYS_LOG_DBG in addition to previous levels
config ISL29035_NAME
string
prompt "Driver name"
default "ISL29035"
depends on ISL29035
help
Device name with which the ISL29035 sensor is identified.
config ISL29035_INIT_PRIORITY
int
prompt "Init priority"
default 70
depends on ISL29035
help
Device driver initialization priority for ISL29035.
The device should be initialized after I2C.
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_FIBER_PRIORITY
int
prompt "Fiber priority"
depends on ISL29035
default 10
help
Priority of fiber 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_FIBER
bool
prompt "Use global fiber"
depends on GPIO && SYSTEM_WORKQUEUE
select ISL29035_TRIGGER
config ISL29035_TRIGGER_OWN_FIBER
bool
prompt "Use own fiber"
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_FIBER_PRIORITY
int
prompt "Fiber priority"
depends on ISL29035 && ISL29035_TRIGGER_OWN_FIBER
default 10
help
Priority of fiber used by the driver to handle interrupts.
config ISL29035_FIBER_STACK_SIZE
int
prompt "Fiber stack size"
depends on ISL29035 && ISL29035_TRIGGER_OWN_FIBER
default 1024
help
Stack size of fiber 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