LM(4)

LM(4) | Device Drivers Manual | LM(4)

# NAME

`lm` — National Semiconductor LM78, LM79 and compatible hardware monitors

# SYNOPSIS

`lm0 at isa? port 0x280 flags 0x00`
`lm1 at isa? port 0x290 flags 0x00`
`lm2 at isa? port 0x310 flags 0x00`
`lm3 at isa? port 0xa00 flags 0x00`
`lm0 at pnpbios0 index ? flags 0x00`
`lm0 at iic? addr 0x2e flags 0x00`
`lm* at wbsio?`

# DESCRIPTION

The `lm` driver provides support for the National Semiconductor LM series hardware monitors and register compatible chips to be used with the envsys(4) API.

The original LM78 hardware monitor supports 11 sensors:

Sensor | Units | Typical Use
`IN0` | uV DC | Core voltage
`IN1` | uV DC | unknown
`IN2` | uV DC | +3.3V
`IN3` | uV DC | +5V
`IN4` | uV DC | +12V
`IN5` | uV DC | -12V
`IN6` | uV DC | -5V
`Temp` | uK | Motherboard Temperature
`Fan0` | RPM | Fan
`Fan1` | RPM | Chassis Fan
`Fan2` | RPM | Fan

For other devices, sensors' names and numbers will be different.

Due to hardware limitations, fresh sensor data is only available every 2 seconds.

# HARDWARE

Chips supported by the `lm` driver include:

- National Semiconductor LM78, LM78-J, LM79, and LM81.
- Nuvoton NCT5104D, NCT6775F, NCT6776F, NCT6102D, NCT6104D, NCT6106D, NCT6779D and NCT679[12356789]D.
- Winbond W83627HF*, W83627THF*, W83627EHF*, W83627DHG*, W83637HF*, W83697HF*, W83781D, W83782D*, W83783S*, W83791D*, W83791SD, and W83792D.
- ASUS AS99127F.

For most of the Winbond chips (identified with a * above), the flags configuration option can be specified to select the type of temperature sensor:

flags | Sensor Type
`0` | Thermistor diode (Power-On default)
`1` | Pentium-II diode
`2` | 2N3904 Bipolar
`4` | Thermistor diode

# SEE ALSO

envsys(4), wbsio(4), envstat(8)

# HISTORY

The `lm` device appeared in NetBSD 1.5.

# CAVEATS

Some vendors connect these chips to non-standard thermal diodes and resistors. This will result in bogus sensor values.

# BUGS

Interrupt support is unimplemented.

There are currently no known pnpbios IDs assigned to LM chips.

December 15, 2022 | NetBSD 11.0