How to configure i2c to high speed mode

John Wang wangzhiqiang8906 at gmail.com
Mon Nov 11 14:17:52 AEDT 2019


Hi,all

I did a test and found that if the firmware image is transmitted via i2c,
it's too slow.

The test I did:

*slave side:

use i2c-slave-mqueue[1] to receive and queue messages from the remote
i2c master device.  the driveri's message size is 120 bytes,queue size
is 32.

*master side:

test.sh:
#!/bin/sh

for i in {1..30}
do
i2ctransfer -y 3 w100 at 0x10 0xff-        # send 100 bytes
done

$time test.sh
real 0m0.789s
user 0m0.076s
sys 0m0.328s

Then 30*100/0.789 = 3.8k bytes/s, it will take 2.4 hours to send a 32M image

Could we config the i2c to high speed mode? if so, how to configure it?

Thanks.

[1] https://patchwork.ozlabs.org/patch/894425/


More information about the openbmc mailing list