/* Copyright 2019 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. */ /* G753 temperature sensor module for Chrome EC */ #ifndef __CROS_EC_G753_H #define __CROS_EC_G753_H #define G753_I2C_ADDR_FLAGS 0x48 #define G753_IDX_INTERNAL 0 /* G753 register */ #define G753_TEMP_LOCAL 0x00 #define G753_STATUS 0x02 #define G753_CONFIGURATION_R 0x03 #define G753_CONVERSION_RATE_R 0x04 #define G753_LOCAL_TEMP_HIGH_LIMIT_R 0x05 #define G753_CONFIGURATION_W 0x09 #define G753_CONVERSION_RATE_W 0x0A #define G753_LOCAL_TEMP_HIGH_LIMIT_W 0x0B #define G753_ONESHOT 0x0F #define G753_Customer_Data_Log_Register_1 0x2D #define G753_Customer_Data_Log_Register_2 0x2E #define G753_Customer_Data_Log_Register_3 0x2F #define G753_ALERT_MODE 0xBF #define G753_CHIP_ID 0xFD #define G753_VENDOR_ID 0xFE #define G753_DEVICE_ID 0xFF /* Config register bits */ #define G753_CONFIGURATION_STANDBY BIT(6) #define G753_CONFIGURATION_ALERT_MASK BIT(7) /* Status register bits */ #define G753_STATUS_LOCAL_TEMP_HIGH_ALARM BIT(6) #define G753_STATUS_BUSY BIT(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 g753_get_val(int idx, int *temp_ptr); #endif /* __CROS_EC_G753_H */