Lines Matching +full:stop +full:- +full:ack

5 by Wolfram Sang <wsa@sang-engineering.com> in 2014-15
10 example for the latter is the slave-eeprom driver, which acts as a dual memory
16 use a character device, be in-kernel only, or something completely different::
20 +-----------+ v +---------+ v +--------+ v +------------+
21 | Userspace +........+ Backend +-----------+ Driver +-----+ Controller |
22 +-----------+ +---------+ +--------+ +------------+
24 ----------------------------------------------------------------+-- I2C
25 --------------------------------------------------------------+---- Bus
35 them as described in the document instantiating-devices.rst. The only
38 instantiating the slave-eeprom driver from userspace at the 7 bit address 0x64
41 # echo slave-24c02 0x1064 > /sys/bus/i2c/devices/i2c-1/new_device
56 ----------------
80 always ack the address phase. If 'ret' is zero, backend initialization or
82 driver should nack all incoming bytes until the next stop condition to enforce
102 is zero, the bus driver should ack this byte. If 'ret' is an errno, then the byte
126 A stop condition was received. This can happen anytime and the backend should
131 -----------------
140 Check the i2c-slave-eeprom driver as an example.
144 ------------------
162 Check the i2c-rcar driver as an example.
165 About ACK/NACK
166 --------------
168 It is good behaviour to always ACK the address phase, so the master knows if a
170 state being busy is troublesome. SMBus demands to always ACK the address phase,
172 automatically ACK when detecting their slave addresses, so there is no option
176 Currently, there is no slave event to report if the master did ACK or NACK a
179 to send STOP after that and we have an event for that. Also, keep in mind not
184 -------------
190 * Buffers should be opt-in and backend drivers will always have to support
191 byte-based transactions as the ultimate fallback anyhow because this is how
199 * A master can send STOP at any time. For partially transferred buffers, this
201 error-prone.