SMBus target and host
SMBus target
Read/write protcols defined in SMBus spec rev. 3 are implemented with the help of I2C target driver in Zephyr. General rules are
- Read commands and process call commands require instant preparation of response within interrupt handler of
(restart) read
event. - Write commands are processed in a worker thread after
stop
event, which allow heavy duties to be executed. In the meantime, a status byte can be retrieved by host for checking result of the last command. - Write commands can try waking up previous unresponsive command. This is usually done by a dummy command that does nothing.
- Command
0xFE
is reserved for enhanced special write. - Command
0xFF
is reserved for enhanced special read.
SMBus and PMBus host
The SMBus host controller uses i2c driver instead of smbus driver, and implements
- Write Byte/Word
- Read Byte/Word
- Process Call
- Block Write/Read
- Write 32 Protocol
- Read 32 Protocol
- Write 64 Protocol
- Read 64 Protocol
Generic PMBus host controller with limited register list is implemented.
由 Victor Chen 编辑于