mirror of
https://github.com/Telecominfraproject/OpenCellular.git
synced 2026-01-03 21:49:32 +00:00
This will be used in a follow-up CL to return specific error codes (not powered, not calibrated, etc.) BUG=chrome-os-partner:15174 BRANCH=link TEST=manual Power on system. 'temps' should return all good temps. Power off system (into S5) Only ECInternal temp should work; others should return Error 1 'gpioset enable_vs 1' and wait a second Now all the I2C temps should display good data, but PECI will still be error 1. Change-Id: I925434e71653ad53ad76bad992a7a8fdeadb088c Signed-off-by: Randall Spangler <rspangler@chromium.org> Reviewed-on: https://gerrit.chromium.org/gerrit/35286 Reviewed-by: Bill Richardson <wfrichar@chromium.org>
40 lines
1.1 KiB
C
40 lines
1.1 KiB
C
/* 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. */
|
|
float S0; /* Sensitivity factor */
|
|
};
|
|
|
|
/**
|
|
* Poll all TMP006 sensors.
|
|
*
|
|
* @return 0 if successful, non-zero if error. */
|
|
int tmp006_poll(void);
|
|
|
|
/**
|
|
* 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 */
|