summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPuthikorn Voravootivat <puthik@google.com>2020-06-05 16:46:30 -0700
committerCommit Bot <commit-bot@chromium.org>2020-06-16 03:35:06 +0000
commit4a4150f727169249ee87577c3375eee787b1cdce (patch)
tree92da9cbab9839391c67eb21ba0e5a9ed9881e813
parent2f70d1a6675f060202a12df6fdcc4f6752112dbf (diff)
downloadchrome-ec-4a4150f727169249ee87577c3375eee787b1cdce.tar.gz
mushu: Bring up F75303 temp sensor
BRANCH=None BUG=b:158676970 TEST=Force fan off/run heavy workload Use temps command in ec console, see temp > temps CHARGER : 318 K = 45 C 64% 5V : 316 K = 43 C 61% GPU : 343 K = 70 C 100% F75303_Local : 331 K = 58 C F75303_GPU : 340 K = 67 C F75303_GPU_Power : 332 K = 59 C Change-Id: I0af47849cc606eb03eee652bb261fce11896e2ab Signed-off-by: Puthikorn Voravootivat <puthik@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2240512 Reviewed-by: Bob Moragues <moragues@chromium.org> Reviewed-by: Shelley Chen <shchen@chromium.org>
-rw-r--r--baseboard/hatch/baseboard.c3
-rw-r--r--board/mushu/board.c51
-rw-r--r--board/mushu/board.h12
-rw-r--r--driver/temp_sensor/f75303.h4
4 files changed, 55 insertions, 15 deletions
diff --git a/baseboard/hatch/baseboard.c b/baseboard/hatch/baseboard.c
index 3f24e3e690..813ff11b31 100644
--- a/baseboard/hatch/baseboard.c
+++ b/baseboard/hatch/baseboard.c
@@ -66,7 +66,8 @@ const struct i2c_port_t i2c_ports[] = {
{"thermal", I2C_PORT_THERMAL, 100, GPIO_I2C4_SCL, GPIO_I2C4_SDA},
#endif
#ifdef BOARD_MUSHU
- {"gpu_temp", I2C_PORT_THERMAL, 100, GPIO_I2C4_SCL, GPIO_I2C4_SDA},
+ {"f75303_temp", I2C_PORT_THERMAL, 100, GPIO_I2C0_SCL, GPIO_I2C0_SDA},
+ {"gpu_temp", I2C_PORT_GPU, 100, GPIO_I2C4_SCL, GPIO_I2C4_SDA},
#endif
{"power", I2C_PORT_POWER, 100, GPIO_I2C5_SCL, GPIO_I2C5_SDA},
{"eeprom", I2C_PORT_EEPROM, 100, GPIO_I2C7_SCL, GPIO_I2C7_SDA},
diff --git a/board/mushu/board.c b/board/mushu/board.c
index d404e5f972..5c3aabe2ec 100644
--- a/board/mushu/board.c
+++ b/board/mushu/board.c
@@ -18,6 +18,8 @@
#include "driver/tcpm/anx7447.h"
#include "driver/tcpm/ps8xxx.h"
#include "driver/tcpm/tcpci.h"
+#include "driver/temp_sensor/amd_r19me4070.h"
+#include "driver/temp_sensor/f75303.h"
#include "ec_commands.h"
#include "extpower.h"
#include "fan.h"
@@ -42,7 +44,6 @@
#include "usb_pd.h"
#include "usbc_ppc.h"
#include "util.h"
-#include "driver/temp_sensor/amd_r19me4070.h"
#define CPRINTS(format, args...) cprints(CC_USBCHARGE, format, ## args)
#define CPRINTF(format, args...) cprintf(CC_USBCHARGE, format, ## args)
@@ -409,18 +410,42 @@ const struct adc_t adc_channels[] = {
BUILD_ASSERT(ARRAY_SIZE(adc_channels) == ADC_CH_COUNT);
const struct temp_sensor_t temp_sensors[] = {
- [TEMP_CHARGER] = {.name = "CHARGER",
- .type = TEMP_SENSOR_TYPE_BOARD,
- .read = get_temp_3v3_30k9_47k_4050b,
- .idx = ADC_TEMP_SENSOR_1},
- [TEMP_5V] = {.name = "5V",
- .type = TEMP_SENSOR_TYPE_BOARD,
- .read = get_temp_3v3_30k9_47k_4050b,
- .idx = ADC_TEMP_SENSOR_2},
- [TEMP_GPU] = {.name = "GPU",
- .type = TEMP_SENSOR_TYPE_BOARD,
- .read = get_temp_R19ME4070,
- .idx = R19ME4070_LOCAL},
+ [TEMP_CHARGER] = {
+ .name = "CHARGER",
+ .type = TEMP_SENSOR_TYPE_BOARD,
+ .read = get_temp_3v3_30k9_47k_4050b,
+ .idx = ADC_TEMP_SENSOR_1
+ },
+ [TEMP_5V] = {
+ .name = "5V",
+ .type = TEMP_SENSOR_TYPE_BOARD,
+ .read = get_temp_3v3_30k9_47k_4050b,
+ .idx = ADC_TEMP_SENSOR_2
+ },
+ [TEMP_GPU] = {
+ .name = "GPU",
+ .type = TEMP_SENSOR_TYPE_BOARD,
+ .read = get_temp_R19ME4070,
+ .idx = R19ME4070_LOCAL
+ },
+ [TEMP_F75303_LOCAL] = {
+ .name = "F75303_Local",
+ .type = TEMP_SENSOR_TYPE_BOARD,
+ .read = f75303_get_val,
+ .idx = F75303_IDX_LOCAL
+ },
+ [TEMP_F75303_GPU] = {
+ .name = "F75303_GPU",
+ .type = TEMP_SENSOR_TYPE_BOARD,
+ .read = f75303_get_val,
+ .idx = F75303_IDX_REMOTE1
+ },
+ [TEMP_F75303_GPU_POWER] = {
+ .name = "F75303_GPU_Power",
+ .type = TEMP_SENSOR_TYPE_BOARD,
+ .read = f75303_get_val,
+ .idx = F75303_IDX_REMOTE2
+ },
};
BUILD_ASSERT(ARRAY_SIZE(temp_sensors) == TEMP_SENSOR_COUNT);
diff --git a/board/mushu/board.h b/board/mushu/board.h
index d026ad598d..40c4046350 100644
--- a/board/mushu/board.h
+++ b/board/mushu/board.h
@@ -24,7 +24,6 @@
/* Keyboard features */
#define CONFIG_PWM_KBLIGHT
-#define CONFIG_TEMP_SENSOR_AMD_R19ME4070
/* Sensors */
/* BMI160 Base accel/gyro */
@@ -47,6 +46,14 @@
#define CONFIG_ALS_TCS3400_INT_EVENT \
TASK_EVENT_MOTION_SENSOR_INTERRUPT(CLEAR_ALS)
#define I2C_PORT_ALS I2C_PORT_SENSOR
+#define CONFIG_TEMP_SENSOR
+/* AMD SMBUS Temp sensors */
+#define CONFIG_TEMP_SENSOR_AMD_R19ME4070
+/* F75303 on I2C bus */
+#define CONFIG_TEMP_SENSOR_F75303
+/* Temp sensor is on port 4 on baseboard but on port 0 on Mushu */
+#undef I2C_PORT_THERMAL
+#define I2C_PORT_THERMAL I2C_PORT_SENSOR
/* GPU features */
#define I2C_PORT_GPU NPCX_I2C_PORT4_1
@@ -182,6 +189,9 @@ enum temp_sensor_id {
TEMP_CHARGER,
TEMP_5V,
TEMP_GPU,
+ TEMP_F75303_LOCAL,
+ TEMP_F75303_GPU,
+ TEMP_F75303_GPU_POWER,
TEMP_SENSOR_COUNT
};
diff --git a/driver/temp_sensor/f75303.h b/driver/temp_sensor/f75303.h
index a4bdcbf872..bdfd2624f0 100644
--- a/driver/temp_sensor/f75303.h
+++ b/driver/temp_sensor/f75303.h
@@ -8,7 +8,11 @@
#ifndef __CROS_EC_F75303_H
#define __CROS_EC_F75303_H
+#ifdef BOARD_MUSHU
+#define F75303_I2C_ADDR_FLAGS 0x4D
+#else
#define F75303_I2C_ADDR_FLAGS 0x4C
+#endif
enum f75303_index {
F75303_IDX_LOCAL = 0,