# Kconfig.mcp9808 - MCP9808 temperature 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 MCP9808
	bool "MCP9808 temperature sensor"
	depends on SENSOR && I2C
	default n
	help
	 Enable driver for MCP9808 temperature sensor.

config MCP9808_DEV_NAME
	string "MCP9808 device name"
	depends on MCP9808
	default "MCP9808"

config MCP9808_INIT_PRIORITY
	int
	depends on MCP9808
	default 70
	prompt "Init priority"
	help
	 Device driver initialization priority.

config MCP9808_I2C_ADDR
	hex "MCP9808 I2C slave address"
	depends on MCP9808
	default 0x18
	help
	 Specify the I2C slave address for the MCP9808.

config MCP9808_I2C_DEV_NAME
	string "I2C master where MCP9808 is connected"
	depends on MCP9808
	default "I2C0"
	help
	 Specify the device name of the I2C master device to which MCP9808 is
	 connected.

choice
	prompt "MCP9808 trigger mode"
	depends on MCP9808
	default MCP9808_TRIGGER_NONE

config MCP9808_TRIGGER_NONE
	bool "No trigger"

config MCP9808_TRIGGER_GLOBAL_FIBER
	depends on GPIO
	select MCP9808_TRIGGER
	select SENSOR_DELAYED_WORK
	bool "Use global fiber"

config MCP9808_TRIGGER_OWN_FIBER
	depends on GPIO
	select MCP9808_TRIGGER
	bool "Use own fiber"

endchoice

config MCP9808_TRIGGER
	bool
	depends on MCP9808

config MCP9808_GPIO_CONTROLLER
	string "GPIO controller for MCP9808 interrupt"
	depends on MCP9808 && MCP9808_TRIGGER
	default "GPIO_0"
	help
	  The GPIO controller the MCP9808 interrupt is connected to.

config MCP9808_GPIO_PIN
	int "GPIO pin for MCP9808 interrupt"
	depends on MCP9808 && MCP9808_TRIGGER
	default 3
	help
	  The GPIO pin the MCP9808 interrupt is connected to.

config MCP9808_FIBER_STACK_SIZE
	int "Sensor delayed work fiber stack size"
	depends on MCP9808 && MCP9808_TRIGGER_OWN_FIBER
	default 1024

config MCP9808_FIBER_PRIORITY
	int "MCP9808 fiber priority"
	depends on MCP9808 && MCP9808_TRIGGER_OWN_FIBER
	default 10
