sonic-linux-kernel
sonic-linux-kernel copied to clipboard
Problems encountered by tmp401 drivers
Code Path:drivers/hwmon/tmp401.c
Issue:We used the TMP411 temperature sensor chip, which occasionally read the Issue of abnormal temperature values (255.2℃).
Regarding this issue, our solution is:
Issue reason:The TMP411 temperature reading exception is caused by the timeout mechanism of TMP411. The following content is excerpted from the TMP411 data sheet
TIMEOUT FUNCTION
When bit 7 of the Consecutive Alert Register is set high,the TMP411 timeout function is enabled. The TMP411resets the serial interface if either SCL or SDA are held lowfor 30ms (typical) between a START and STOP condition.If the TMP411 is holding the bus low, it releases the busand waits for a START condition. To avoid activating thetimeout function, it is necessary to maintain acommunication speed of at least 1kHz for the SCLoperating frequency. The default state of the timeoutfunction is enabled (bit 7 = high).
At present, this issue can be resolved by modifying the driver and disabling the timeout mechanism of TMP411 when driving probe.