# Kconfig - TMP112 temperature sensor configuration options

#
# Copyright (c) 2016 Firmwave
#
# 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 TMP112
	bool
	prompt "TMP112 Temperature Sensor"
	depends on SENSOR && I2C
	default n
	help
	Enable driver for TMP112 infrared thermopile sensors.

config TMP112_NAME
	string
	prompt "Driver name"
	default "TMP112"
	depends on TMP112
	help
	Device name with which the TMP112 sensor is identified.

config TMP112_I2C_ADDR
	hex "I2C address for TMP112"
	depends on TMP112
	default 0x48
	help
	I2C address of the TMP112 sensor.

	0x48: A0 connected GND and A1 connected to GND.
	0x49: A0 connected VDD and A1 connected to GND.
	0x4A: A0 connected SDA and A1 connected to GND.
	0x4B: A0 connected SCL and A1 connected to GND.


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