Kernel driver lm70

Supported chips:


Kaiwan N Billimoria <>


This driver implements support for the National Semiconductor LM70 temperature sensor.

The LM70 temperature sensor chip supports a single temperature sensor. It communicates with a host processor (or microcontroller) via an SPI/Microwire Bus interface.

Communication with the LM70 is simple: when the temperature is to be sensed, the driver accesses the LM70 using SPI communication: 16 SCLK cycles comprise the MOSI/MISO loop. At the end of the transfer, the 11-bit 2's complement digital temperature (sent via the SIO line), is available in the driver for interpretation. This driver makes use of the kernel's in-core SPI support.

As a real (in-tree) example of this "SPI protocol driver" interfacing with a "SPI master controller driver", see drivers/spi/spi_lm70llp.c and its associated documentation.

The LM74 and TMP121/TMP122/TMP123/TMP124 are very similar; main difference is 13-bit temperature data (0.0625 degrees celsius resolution).

The TMP122/TMP124 also feature configurable temperature thresholds.

The TMP125 is less accurate and provides 10-bit temperature data with 0.25 degrees Celsius resolution.

The LM71 is also very similar; main difference is 14-bit temperature data (0.03125 degrees celsius resolution).

Thanks to

Jean Delvare <> for mentoring the hwmon-side driver development.