diff --git a/doc/hardware/peripherals/smbus.rst b/doc/hardware/peripherals/smbus.rst index 6ed60f63ee8..4672abc7d69 100644 --- a/doc/hardware/peripherals/smbus.rst +++ b/doc/hardware/peripherals/smbus.rst @@ -13,26 +13,26 @@ Overview System Management Bus (SMBus) is derived from I2C for communication with devices on the motherboard. A system may use SMBus to communicate with the peripherals on the motherboard without using dedicated control -lines. With SMBus peripheral can provide various manufacturer information, +lines. SMBus peripherals can provide various manufacturer information, report errors, accept control parameters, etc. -Devices on the bus can operate in three roles: as a "controller" that -initiates transactions and controls the clock, a "peripheral" that -responds to transaction commands, or a "host", which is a specialized -controller, that provides the main interface to the system's CPU. -Zephyr has API for "controller" role. +Devices on the bus can operate in three roles: as a Controller that +initiates transactions and controls the clock, a Peripheral that +responds to transaction commands, or a Host, which is a specialized +Controller, that provides the main interface to the system's CPU. +Zephyr has API for the Controller role. -In SMBus peripheral devices can initiate communication with Controller +SMBus peripheral devices can initiate communication with Controller with two methods: -* **Host Notify protocol**: Peripheral device that supports Host Notify - protocol behaive as a Controller to perform the notification. It writes - three-bytes message to a special address "SMBus Host (0x08)" with own +* **Host Notify protocol**: Peripheral device that supports the Host Notify + protocol behaves as a Controller to perform the notification. It writes + a three-bytes message to a special address "SMBus Host (0x08)" with own address and two bytes of relevant data. * **SMBALERT# signal**: Peripheral device uses special signal SMBALERT# to - to request attention from the Controller. Controller needs to read one byte + request attention from the Controller. The Controller needs to read one byte from the special "SMBus Alert Response Address (ARA) (0x0c)". The peripheral - device responds with data byte containing own address. + device responds with a data byte containing its own address. Currently, the API is based on `SMBus Specification`_ version 2.0 @@ -46,8 +46,8 @@ SMBus Controller API ******************** Zephyr's SMBus controller API is used when an SMBus device controls the bus, -in particularly the start and stop conditions and the clock. This is -the most common mode, used to interact with SMbus peripherals. +particularly the start and stop conditions and the clock. This is +the most common mode used to interact with SMBus peripherals. Configuration Options *********************