# Kconfig - MAX44009 light sensor configuration options

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

menuconfig MAX44009
	bool
	prompt "MAX44009 Light Sensor"
	depends on SENSOR && I2C
	default n
	help
	Enable driver for MAX44009 light sensors.

config MAX44009_DRV_NAME
	string
	prompt "Driver name"
	default "MAX44009"
	depends on MAX44009
	help
	Device name with which the MAX44009 light is identified.


config MAX44009_I2C_ADDR
	hex
	prompt "MAX44009 I2C address"
	depends on MAX44009
	default "0x4a"
	help
	I2C address of the MAX44009 sensor. Possible configurations:

	0x4a: A0 connected to GND.
	0x4b: A0 connected to VCC.

config MAX44009_I2C_DEV_NAME
	string
	prompt "I2C master where MAX44009 is connected"
	depends on MAX44009
	default "I2C_0"
	help
	Specify the device name of the I2C master device to which the
	MAX44009 chip is connected.
