mirror of
https://github.com/Telecominfraproject/OpenCellular.git
synced 2026-01-10 17:41:54 +00:00
Add new TMP006 sensors
Signed-off-by: Vic Yang <victoryang@chromium.org> BUG=chrome-os-partner:11491 TEST=Build success. System still works fine except with error when reading currently non-existing sensors. Change-Id: I2fa1298ab11296f8b492534b5a8893588df34c82 Reviewed-on: https://gerrit.chromium.org/gerrit/27766 Reviewed-by: Randall Spangler <rspangler@chromium.org> Tested-by: Vic Yang <victoryang@chromium.org> Commit-Ready: Vic Yang <victoryang@chromium.org>
This commit is contained in:
@@ -216,14 +216,28 @@ enum temp_sensor_id {
|
||||
TEMP_SENSOR_EC_INTERNAL,
|
||||
/* CPU die temperature via PECI */
|
||||
TEMP_SENSOR_CPU_PECI,
|
||||
|
||||
/* TODO: I2C remote temperature sensors. */
|
||||
/* Die temperature of U15 TMP006 temperature sensor */
|
||||
TEMP_SENSOR_I2C_U15_DIE,
|
||||
/* Object temperature of U15 TMP006 temperature sensor */
|
||||
TEMP_SENSOR_I2C_U15_OBJECT,
|
||||
/* Die temperature of U20 TMP006 temperature sensor */
|
||||
TEMP_SENSOR_I2C_U20_DIE,
|
||||
/* Object temperature of U20 TMP006 temperature sensor */
|
||||
TEMP_SENSOR_I2C_U20_OBJECT,
|
||||
/* Die temperature of U27 TMP006 temperature sensor */
|
||||
TEMP_SENSOR_I2C_U27_DIE,
|
||||
/* Object temperature of U27 TMP006 temperature sensor */
|
||||
TEMP_SENSOR_I2C_U27_OBJECT,
|
||||
/* Die temperature of U29 TMP006 temperature sensor */
|
||||
TEMP_SENSOR_I2C_U29_DIE,
|
||||
/* Object temperature of U29 TMP006 temperature sensor */
|
||||
TEMP_SENSOR_I2C_U29_OBJECT,
|
||||
|
||||
TEMP_SENSOR_COUNT
|
||||
};
|
||||
|
||||
/* The number of TMP006 sensor chips on the board. */
|
||||
#define TMP006_COUNT 4
|
||||
#define TMP006_COUNT 8
|
||||
|
||||
/* Target value for BOOTCFG. This is set to PE2/USB1_CTL1, which has an external
|
||||
* pullup. If this signal is pulled to ground when the EC boots, the EC will get
|
||||
|
||||
@@ -17,11 +17,19 @@
|
||||
#define TEMP_PCH_REG_ADDR ((0x41 << 1) | I2C_FLAG_BIG_ENDIAN)
|
||||
#define TEMP_DDR_REG_ADDR ((0x45 << 1) | I2C_FLAG_BIG_ENDIAN)
|
||||
#define TEMP_CHARGER_REG_ADDR ((0x43 << 1) | I2C_FLAG_BIG_ENDIAN)
|
||||
#define TEMP_U15_REG_ADDR ((0x47 << 1) | I2C_FLAG_BIG_ENDIAN)
|
||||
#define TEMP_U20_REG_ADDR ((0x46 << 1) | I2C_FLAG_BIG_ENDIAN)
|
||||
#define TEMP_U27_REG_ADDR ((0x44 << 1) | I2C_FLAG_BIG_ENDIAN)
|
||||
#define TEMP_U29_REG_ADDR ((0x42 << 1) | I2C_FLAG_BIG_ENDIAN)
|
||||
|
||||
#define TEMP_CPU_ADDR TMP006_ADDR(I2C_PORT_THERMAL, TEMP_CPU_REG_ADDR)
|
||||
#define TEMP_PCH_ADDR TMP006_ADDR(I2C_PORT_THERMAL, TEMP_PCH_REG_ADDR)
|
||||
#define TEMP_DDR_ADDR TMP006_ADDR(I2C_PORT_THERMAL, TEMP_DDR_REG_ADDR)
|
||||
#define TEMP_CHARGER_ADDR TMP006_ADDR(I2C_PORT_THERMAL, TEMP_CHARGER_REG_ADDR)
|
||||
#define TEMP_U15_ADDR TMP006_ADDR(I2C_PORT_THERMAL, TEMP_U15_REG_ADDR)
|
||||
#define TEMP_U20_ADDR TMP006_ADDR(I2C_PORT_THERMAL, TEMP_U20_REG_ADDR)
|
||||
#define TEMP_U27_ADDR TMP006_ADDR(I2C_PORT_THERMAL, TEMP_U27_REG_ADDR)
|
||||
#define TEMP_U29_ADDR TMP006_ADDR(I2C_PORT_THERMAL, TEMP_U29_REG_ADDR)
|
||||
|
||||
/* Temperature sensors data. Must be in the same order as enum
|
||||
* temp_sensor_id.
|
||||
@@ -53,6 +61,24 @@ const struct temp_sensor_t temp_sensors[TEMP_SENSOR_COUNT] = {
|
||||
{"PECI", TEMP_SENSOR_POWER_CPU, TEMP_SENSOR_TYPE_CPU,
|
||||
peci_temp_sensor_get_val, 0, 2},
|
||||
#endif
|
||||
#ifdef CONFIG_TMP006
|
||||
{"I2C_U15-Die", TEMP_SENSOR_POWER_VS, TEMP_SENSOR_TYPE_IGNORED,
|
||||
tmp006_get_val, 8, 7},
|
||||
{"I2C_U15-Object", TEMP_SENSOR_POWER_VS, TEMP_SENSOR_TYPE_IGNORED,
|
||||
tmp006_get_val, 9, 7},
|
||||
{"I2C_U20-Die", TEMP_SENSOR_POWER_VS, TEMP_SENSOR_TYPE_IGNORED,
|
||||
tmp006_get_val, 10, 7},
|
||||
{"I2C_U20-Object", TEMP_SENSOR_POWER_VS, TEMP_SENSOR_TYPE_IGNORED,
|
||||
tmp006_get_val, 11, 7},
|
||||
{"I2C_U27-Die", TEMP_SENSOR_POWER_VS, TEMP_SENSOR_TYPE_IGNORED,
|
||||
tmp006_get_val, 12, 7},
|
||||
{"I2C_U27-Object", TEMP_SENSOR_POWER_VS, TEMP_SENSOR_TYPE_IGNORED,
|
||||
tmp006_get_val, 13, 7},
|
||||
{"I2C_U29-Die", TEMP_SENSOR_POWER_VS, TEMP_SENSOR_TYPE_IGNORED,
|
||||
tmp006_get_val, 14, 7},
|
||||
{"I2C_U29-Object", TEMP_SENSOR_POWER_VS, TEMP_SENSOR_TYPE_IGNORED,
|
||||
tmp006_get_val, 15, 7},
|
||||
#endif
|
||||
};
|
||||
|
||||
const struct tmp006_t tmp006_sensors[TMP006_COUNT] = {
|
||||
@@ -61,4 +87,8 @@ const struct tmp006_t tmp006_sensors[TMP006_COUNT] = {
|
||||
{"PCH", TEMP_PCH_ADDR, 14169},
|
||||
{"DDR", TEMP_DDR_ADDR, 6400},
|
||||
{"Charger", TEMP_CHARGER_ADDR, 10521},
|
||||
{"U15", TEMP_U15_ADDR, 6400},
|
||||
{"U20", TEMP_U20_ADDR, 6400},
|
||||
{"U27", TEMP_U27_ADDR, 6400},
|
||||
{"U29", TEMP_U29_ADDR, 6400},
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user