Lines Matching +full:read +full:- +full:delay
1 .. SPDX-License-Identifier: GPL-2.0
7 by Wolfram Sang <wsa@sang-engineering.com> in 2020
11 easy to obtain). Examples include multi-master testing, and SMBus Host Notify
21 # echo "slave-testunit 0x1030" > /sys/bus/i2c/devices/i2c-0/new_device
23 After that, you will have a write-only device listening. Reads will just return
24 an 8-bit version number of the testunit. When writing, the device consists of 4
25 8-bit registers and, except for some "partial" commands, all registers must be
29 0x00 CMD - which test to trigger
30 0x01 DATAL - configuration byte 1 for the test
31 0x02 DATAH - configuration byte 2 for the test
32 0x03 DELAY - delay in n * 10ms until test is started
34 Using 'i2cset' from the i2c-tools package, the generic command looks like:
36 # i2cset -y <bus_num> <testunit_address> <CMD> <DATAL> <DATAH> <DELAY> i
38 DELAY is a generic parameter which will delay the execution of the test in CMD.
39 While a command is running (including the delay), new commands will not be
46 --------
51 DATAL - address to read data from (lower 7 bits, highest bit currently unused)
52 DATAH - number of bytes to read
54 This is useful to test if your bus master driver is handling multi-master
55 correctly. You can trigger the testunit to read bytes from another device on
57 time, the bus will be busy. Example to read 128 bytes from device 0x50 after
58 50ms of delay:
60 # i2cset -y 0 0x30 0x01 0x50 0x80 0x05 i
63 DATAL - low byte of the status word to send
64 DATAH - high byte of the status word to send
70 # i2cset -y 0 0x30 0x02 0x42 0x64 0x01 i
73 DATAL - must be '1', i.e. one further byte will be written
74 DATAH - number of bytes to be sent back
75 DELAY - not applicable, partial command!
79 back in the following read transfer. Note that in this read transfer, the
83 data consists of the length first, and then of an array of bytes from length-1
85 i2ctransfer (you need i2c-tools v4.2 or later):
87 # i2ctransfer -y 0 w3@0x30 0x03 0x01 0x10 r?