[patch] LM75 kernel driver

Luiz Otavio O Souza loos.br at gmail.com
Fri Nov 29 19:28:33 UTC 2013


Hi,

I’ve written a kernel driver for lm75 (i2c temperature sensor).

It’s a very simple, convenient and cheap way to verify an i2c bus.

This driver provides full control of the lm75 registers (configuration bits, over temperature and hysteresis settings) and so provides basic read and write test abilities.

The high resolution version (lm75b - 11 bits) isn’t supported ATM, but i have plans to do so.

On my RPi i’ve added this to sys/boot/fdt/dts/rpi.dts:

                bsc0 {

                        lm750 {
                                compatible = "lm75";
                                i2c-address = <0x96>;
                        };

                        lm751 {
                                compatible = "lm75";
                                i2c-address = <0x9e>;
                        };
                };

And ‘device lm75’ to RPI-B kernel file (after apply the attached patch).

Here is the result:

iichb0: <BCM2708/2835 BSC controller> mem 0x20205000-0x2020501f irq 61 on simplebus0
iicbus1: <OFW I2C bus> on iichb0
iic1: <I2C generic I/O> on iicbus1
lm751: <LM75 temperature sensor> at addr 0x96 on iicbus1
lm752: <LM75 temperature sensor> at addr 0x9e on iicbus1

# sysctl dev.lm75.1
dev.lm75.1.%desc: LM75 temperature sensor
dev.lm75.1.%driver: lm75
dev.lm75.1.%location: addr=0x96
dev.lm75.1.%pnpinfo: name=lm750 compat=lm75
dev.lm75.1.%parent: iicbus1
dev.lm75.1.temperature: 30.0C
dev.lm75.1.thyst: 75.0C
dev.lm75.1.tos: 80.0C
dev.lm75.1.conf.faults: 1
dev.lm75.1.conf.mode: comparator
dev.lm75.1.conf.polarity: active-low
dev.lm75.1.conf.shutdown: 0

# sysctl dev.lm75.2
dev.lm75.2.%desc: LM75 temperature sensor
dev.lm75.2.%driver: lm75
dev.lm75.2.%location: addr=0x9e
dev.lm75.2.%pnpinfo: name=lm751 compat=lm75
dev.lm75.2.%parent: iicbus1
dev.lm75.2.temperature: 29.5C
dev.lm75.2.thyst: 60.0C
dev.lm75.2.tos: 80.0C
dev.lm75.2.conf.faults: 2
dev.lm75.2.conf.mode: interrupt
dev.lm75.2.conf.polarity: active-low
dev.lm75.2.conf.shutdown: 0


I hope this may be useful for someone else.

Luiz


-------------- next part --------------
A non-text attachment was scrubbed...
Name: lm75.diff
Type: application/octet-stream
Size: 12909 bytes
Desc: not available
URL: <http://lists.freebsd.org/pipermail/freebsd-embedded/attachments/20131129/7ea28fe2/attachment.obj>


More information about the freebsd-embedded mailing list