diff options
author | Randall Spangler <rspangler@chromium.org> | 2013-10-17 15:05:04 -0700 |
---|---|---|
committer | chrome-internal-fetch <chrome-internal-fetch@google.com> | 2013-10-23 21:27:40 +0000 |
commit | 2ad076f8a02c8a3165a76dfb093cefd79fdbfc67 (patch) | |
tree | 13f9d0505f564f07c9867aabf11b7083613666d4 /driver/temp_sensor | |
parent | 8cf03ac0563294fbdeca2dc133d06f0b51c9a546 (diff) | |
download | chrome-ec-2ad076f8a02c8a3165a76dfb093cefd79fdbfc67.tar.gz |
cleanup: Rename and move header files
Device-specific headers belong in driver/ or chip/. The include/
directory should be for common interfaces.
Code should not normally need to include driver-specific headers. If
it does, it should use the full relative path from the EC project root
(for example, drivers/charger/bq24715.h).
Change-Id: Id23db37a431e2d802a74ec601db6f69b613352ba
Signed-off-by: Randall Spangler <rspangler@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/173746
Reviewed-by: Bill Richardson <wfrichar@chromium.org>
Diffstat (limited to 'driver/temp_sensor')
-rw-r--r-- | driver/temp_sensor/g781.c | 2 | ||||
-rw-r--r-- | driver/temp_sensor/g781.h | 70 | ||||
-rw-r--r-- | driver/temp_sensor/tmp006.h | 32 |
3 files changed, 103 insertions, 1 deletions
diff --git a/driver/temp_sensor/g781.c b/driver/temp_sensor/g781.c index 389b12629e..a28bce8de8 100644 --- a/driver/temp_sensor/g781.c +++ b/driver/temp_sensor/g781.c @@ -7,10 +7,10 @@ #include "common.h" #include "console.h" +#include "g781.h" #include "gpio.h" #include "i2c.h" #include "hooks.h" -#include "temp_sensor_g781.h" #include "util.h" static int g781_temp_val_local; diff --git a/driver/temp_sensor/g781.h b/driver/temp_sensor/g781.h new file mode 100644 index 0000000000..6463155659 --- /dev/null +++ b/driver/temp_sensor/g781.h @@ -0,0 +1,70 @@ +/* Copyright (c) 2013 The Chromium OS Authors. All rights reserved. + * Use of this source code is governed by a BSD-style license that can be + * found in the LICENSE file. + */ + +/* G781 temperature sensor module for Chrome EC */ + +#ifndef __CROS_EC_TEMP_SENSOR_G781_H +#define __CROS_EC_TEMP_SENSOR_G781_H + +#define G781_I2C_ADDR 0x98 /* 7-bit address is 0x4C */ + +#define G781_IDX_INTERNAL 0 +#define G781_IDX_EXTERNAL 1 + +/* Chip-specific commands */ +#define G781_TEMP_LOCAL 0x00 +#define G781_TEMP_REMOTE 0x01 +#define G781_STATUS 0x02 +#define G781_CONFIGURATION_R 0x03 +#define G781_CONVERSION_RATE_R 0x04 +#define G781_LOCAL_TEMP_HIGH_LIMIT_R 0x05 +#define G781_LOCAL_TEMP_LOW_LIMIT_R 0x06 +#define G781_REMOTE_TEMP_HIGH_LIMIT_R 0x07 +#define G781_REMOTE_TEMP_LOW_LIMIT_R 0x08 +#define G781_CONFIGURATION_W 0x09 +#define G781_CONVERSION_RATE_W 0x0a +#define G781_LOCAL_TEMP_HIGH_LIMIT_W 0x0b +#define G781_LOCAL_TEMP_LOW_LIMIT_W 0x0c +#define G781_REMOTE_TEMP_HIGH_LIMIT_W 0x0d +#define G781_REMOTE_TEMP_LOW_LIMIT_W 0x0e +#define G781_ONESHOT 0x0f +#define G781_REMOTE_TEMP_EXTENDED 0x10 +#define G781_REMOTE_TEMP_OFFSET_HIGH 0x11 +#define G781_REMOTE_TEMP_OFFSET_EXTD 0x12 +#define G781_REMOTE_T_HIGH_LIMIT_EXTD 0x13 +#define G781_REMOTE_T_LOW_LIMIT_EXTD 0x14 +#define G781_REMOTE_TEMP_THERM_LIMIT 0x19 +#define G781_LOCAL_TEMP_THERM_LIMIT 0x20 +#define G781_THERM_HYSTERESIS 0x21 +#define G781_ALERT_FAULT_QUEUE_CODE 0x22 +#define G781_MANUFACTURER_ID 0xFE +#define G781_DEVICE_ID 0xFF + +/* Config register bits */ +#define G781_CONFIGURATION_STANDBY (1 << 6) +#define G781_CONFIGURATION_ALERT_MASK (1 << 7) + +/* Status register bits */ +#define G781_STATUS_LOCAL_TEMP_THERM_ALARM (1 << 0) +#define G781_STATUS_REMOTE_TEMP_THERM_ALARM (1 << 1) +#define G781_STATUS_REMOTE_TEMP_FAULT (1 << 2) +#define G781_STATUS_REMOTE_TEMP_LOW_ALARM (1 << 3) +#define G781_STATUS_REMOTE_TEMP_HIGH_ALARM (1 << 4) +#define G781_STATUS_LOCAL_TEMP_LOW_ALARM (1 << 5) +#define G781_STATUS_LOCAL_TEMP_HIGH_ALARM (1 << 6) +#define G781_STATUS_BUSY (1 << 7) + +/** + * Get the last polled value of a sensor. + * + * @param idx Index to read. Idx indicates whether to read die + * temperature or external temperature. + * @param temp_ptr Destination for temperature in K. + * + * @return EC_SUCCESS if successful, non-zero if error. + */ +int g781_get_val(int idx, int *temp_ptr); + +#endif /* __CROS_EC_TEMP_SENSOR_G781_H */ diff --git a/driver/temp_sensor/tmp006.h b/driver/temp_sensor/tmp006.h new file mode 100644 index 0000000000..78f8e0044a --- /dev/null +++ b/driver/temp_sensor/tmp006.h @@ -0,0 +1,32 @@ +/* Copyright (c) 2012 The Chromium OS Authors. All rights reserved. + * Use of this source code is governed by a BSD-style license that can be + * found in the LICENSE file. + */ + +/* TMP006 temperature sensor module for Chrome EC */ + +#ifndef __CROS_EC_TMP006_H +#define __CROS_EC_TMP006_H + +#define TMP006_ADDR(PORT,REG) ((PORT << 16) + REG) +#define TMP006_PORT(ADDR) (ADDR >> 16) +#define TMP006_REG(ADDR) (ADDR & 0xffff) + +struct tmp006_t { + const char* name; + int addr; /* I2C address formed by TMP006_ADDR macro. */ +}; + +/** + * Get the last polled value of a sensor. + * + * @param idx Index to read. The low bit in idx indicates whether + * to read die temperature or object temperature. The + * other bits serve as internal index to tmp006 module. + * @param temp_ptr Destination for temperature in K. + * + * @return EC_SUCCESS if successful, non-zero if error. + */ +int tmp006_get_val(int idx, int *temp_ptr); + +#endif /* __CROS_EC_TMP006_H */ |