i2c: slave: docs: be more precise about the prerequsites
There was some confusion what was needed to utilize the slave support, so let's be more precise about this. Add an introductory paragraph to the development section while we are here. Signed-off-by: Wolfram Sang <wsa+renesas@sang-engineering.com> Acked-by: Geert Uytterhoeven <geert+renesas@glider.be> Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
This commit is contained in:
Родитель
1fb2ad9565
Коммит
976cf2056c
|
@ -3,16 +3,16 @@ Linux I2C slave interface description
|
||||||
|
|
||||||
by Wolfram Sang <wsa@sang-engineering.com> in 2014-15
|
by Wolfram Sang <wsa@sang-engineering.com> in 2014-15
|
||||||
|
|
||||||
Linux can also be an I2C slave in case I2C controllers have slave support.
|
Linux can also be an I2C slave if the I2C controller in use has slave
|
||||||
Besides this HW requirement, one also needs a software backend providing the
|
functionality. For that to work, one needs slave support in the bus driver plus
|
||||||
actual functionality. An example for this is the slave-eeprom driver, which
|
a hardware independent software backend providing the actual functionality. An
|
||||||
acts as a dual memory driver. While another I2C master on the bus can access it
|
example for the latter is the slave-eeprom driver, which acts as a dual memory
|
||||||
like a regular EEPROM, the Linux I2C slave can access the content via sysfs and
|
driver. While another I2C master on the bus can access it like a regular
|
||||||
retrieve/provide information as needed. The software backend driver and the I2C
|
EEPROM, the Linux I2C slave can access the content via sysfs and handle data as
|
||||||
bus driver communicate via events. Here is a small graph visualizing the data
|
needed. The backend driver and the I2C bus driver communicate via events. Here
|
||||||
flow and the means by which data is transported. The dotted line marks only one
|
is a small graph visualizing the data flow and the means by which data is
|
||||||
example. The backend could also use e.g. a character device, be in-kernel
|
transported. The dotted line marks only one example. The backend could also
|
||||||
only, or something completely different:
|
use a character device, be in-kernel only, or something completely different:
|
||||||
|
|
||||||
|
|
||||||
e.g. sysfs I2C slave events I/O registers
|
e.g. sysfs I2C slave events I/O registers
|
||||||
|
@ -43,6 +43,11 @@ behaviour and setup.
|
||||||
Developer manual
|
Developer manual
|
||||||
================
|
================
|
||||||
|
|
||||||
|
First, the events which are used by the bus driver and the backend will be
|
||||||
|
described in detail. After that, some implementation hints for extending bus
|
||||||
|
drivers and writing backends will be given.
|
||||||
|
|
||||||
|
|
||||||
I2C slave events
|
I2C slave events
|
||||||
----------------
|
----------------
|
||||||
|
|
||||||
|
|
Загрузка…
Ссылка в новой задаче