Table of Contents
Sensor chips reside on either the ISA bus, the SMBus, or both. See the file doc/chips/SUMMARY in our package for a list.
To communicate with chips on the ISA bus, the software uses simple I/O reads and writes.
To communicate with chips on the SMBus, the software must use an SMBus interface device, explained below.
The SMBus is the "System Management Bus". More specifically, it is a 2-wire, low-speed serial communication bus used for basic health monitoring and hardware management. It is a specific implementation of the more general I2C (pronunciation: I-squared-C) bus. In fact, both I2C devices and SMBus devices may be connected to the same (I2C) bus.
The SMBus (or I2C bus) starts at the host controller, used for starting transactions on the SMBus. From the host interface, the devices communicated with are the 'slave' devices. Each slave device has a unique 7-bit address in which the host must refer to it with.
For each supported SMBus host, there is a separate kernel module which implements the communication protocol with the host. Some SMBus hosts really operate on the SMBus level; these hosts can not cope with pure I2C devices. Other hosts are in fact I2C hosts: in this case, we implement the SMBus protocol in terms of I2C operations. But these hosts can also talk to pure I2C devices.