Commit bed68f4f authored by Miquel Raynal's avatar Miquel Raynal Committed by Wolfram Sang

docs: i2c: smbus-protocol: mention the repeated start condition

Sr is a repeated start, it is used in both I2C and SMBus protocols.

Provide its description and replace start ("S") conditions with repeated
start ("Sr") conditions when relevant. This allows the documentation to
match the SMBus specification available at [1].

[1] http://www.smbus.org/specs/SMBus_3_1_20180319.pdfSigned-off-by: default avatarMiquel Raynal <miquel.raynal@bootlin.com>
Signed-off-by: default avatarWolfram Sang <wsa@kernel.org>
parent 84e1d0bf
...@@ -36,6 +36,8 @@ Key to symbols ...@@ -36,6 +36,8 @@ Key to symbols
=============== ============================================================= =============== =============================================================
S Start condition S Start condition
Sr Repeated start condition, used to switch from write to
read mode.
P Stop condition P Stop condition
Rd/Wr (1 bit) Read/Write bit. Rd equals 1, Wr equals 0. Rd/Wr (1 bit) Read/Write bit. Rd equals 1, Wr equals 0.
A, NA (1 bit) Acknowledge (ACK) and Not Acknowledge (NACK) bit A, NA (1 bit) Acknowledge (ACK) and Not Acknowledge (NACK) bit
...@@ -100,7 +102,7 @@ Implemented by i2c_smbus_read_byte_data() ...@@ -100,7 +102,7 @@ Implemented by i2c_smbus_read_byte_data()
This reads a single byte from a device, from a designated register. This reads a single byte from a device, from a designated register.
The register is specified through the Comm byte:: The register is specified through the Comm byte::
S Addr Wr [A] Comm [A] S Addr Rd [A] [Data] NA P S Addr Wr [A] Comm [A] Sr Addr Rd [A] [Data] NA P
Functionality flag: I2C_FUNC_SMBUS_READ_BYTE_DATA Functionality flag: I2C_FUNC_SMBUS_READ_BYTE_DATA
...@@ -114,7 +116,7 @@ This operation is very like Read Byte; again, data is read from a ...@@ -114,7 +116,7 @@ This operation is very like Read Byte; again, data is read from a
device, from a designated register that is specified through the Comm device, from a designated register that is specified through the Comm
byte. But this time, the data is a complete word (16 bits):: byte. But this time, the data is a complete word (16 bits)::
S Addr Wr [A] Comm [A] S Addr Rd [A] [DataLow] A [DataHigh] NA P S Addr Wr [A] Comm [A] Sr Addr Rd [A] [DataLow] A [DataHigh] NA P
Functionality flag: I2C_FUNC_SMBUS_READ_WORD_DATA Functionality flag: I2C_FUNC_SMBUS_READ_WORD_DATA
...@@ -164,7 +166,7 @@ This command selects a device register (through the Comm byte), sends ...@@ -164,7 +166,7 @@ This command selects a device register (through the Comm byte), sends
16 bits of data to it, and reads 16 bits of data in return:: 16 bits of data to it, and reads 16 bits of data in return::
S Addr Wr [A] Comm [A] DataLow [A] DataHigh [A] S Addr Wr [A] Comm [A] DataLow [A] DataHigh [A]
S Addr Rd [A] [DataLow] A [DataHigh] NA P Sr Addr Rd [A] [DataLow] A [DataHigh] NA P
Functionality flag: I2C_FUNC_SMBUS_PROC_CALL Functionality flag: I2C_FUNC_SMBUS_PROC_CALL
...@@ -181,7 +183,7 @@ of data is specified by the device in the Count byte. ...@@ -181,7 +183,7 @@ of data is specified by the device in the Count byte.
:: ::
S Addr Wr [A] Comm [A] S Addr Wr [A] Comm [A]
S Addr Rd [A] [Count] A [Data] A [Data] A ... A [Data] NA P Sr Addr Rd [A] [Count] A [Data] A [Data] A ... A [Data] NA P
Functionality flag: I2C_FUNC_SMBUS_READ_BLOCK_DATA Functionality flag: I2C_FUNC_SMBUS_READ_BLOCK_DATA
...@@ -212,7 +214,7 @@ This command selects a device register (through the Comm byte), sends ...@@ -212,7 +214,7 @@ This command selects a device register (through the Comm byte), sends
1 to 31 bytes of data to it, and reads 1 to 31 bytes of data in return:: 1 to 31 bytes of data to it, and reads 1 to 31 bytes of data in return::
S Addr Wr [A] Comm [A] Count [A] Data [A] ... S Addr Wr [A] Comm [A] Count [A] Data [A] ...
S Addr Rd [A] [Count] A [Data] ... A P Sr Addr Rd [A] [Count] A [Data] ... A P
Functionality flag: I2C_FUNC_SMBUS_BLOCK_PROC_CALL Functionality flag: I2C_FUNC_SMBUS_BLOCK_PROC_CALL
...@@ -300,7 +302,7 @@ This command reads a block of bytes from a device, from a ...@@ -300,7 +302,7 @@ This command reads a block of bytes from a device, from a
designated register that is specified through the Comm byte:: designated register that is specified through the Comm byte::
S Addr Wr [A] Comm [A] S Addr Wr [A] Comm [A]
S Addr Rd [A] [Data] A [Data] A ... A [Data] NA P Sr Addr Rd [A] [Data] A [Data] A ... A [Data] NA P
Functionality flag: I2C_FUNC_SMBUS_READ_I2C_BLOCK Functionality flag: I2C_FUNC_SMBUS_READ_I2C_BLOCK
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment