diff options
author | Jack Rosenthal <jrosenth@chromium.org> | 2019-07-11 18:17:34 -0600 |
---|---|---|
committer | Commit Bot <commit-bot@chromium.org> | 2019-07-17 21:45:18 +0000 |
commit | f8d6179a26bf512c43638d0916fde0fc966cc3fb (patch) | |
tree | d4df87ff4a738060d20f874eaa75cc3b2d24cdb9 /docs | |
parent | 21a255ea953e8ac64d05147ad7f11491db126cf4 (diff) | |
download | chrome-ec-f8d6179a26bf512c43638d0916fde0fc966cc3fb.tar.gz |
common: add i2c tracing functionality
crbug.com/982442 requests a way for developers to enable tracing of
i2c commands when debugging. This adds a new debug feature, the
i2ctrace command, which provides that. The command is guarded by
CONFIG_I2C_DEBUG.
BUG=chromium:982442
BRANCH=none
TEST=enabled CONFIG_I2C_DEBUG on arcada_ish, made sure that command
functioned as it says on the tin
Change-Id: I9c762271237cbf131e5ef7c0f605c89af4f209fd
Signed-off-by: Jack Rosenthal <jrosenth@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1699347
Reviewed-by: Denis Brockus <dbrockus@chromium.org>
Reviewed-by: Jett Rink <jettrink@chromium.org>
Commit-Queue: Denis Brockus <dbrockus@chromium.org>
Diffstat (limited to 'docs')
-rw-r--r-- | docs/i2c-debugging.md | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/docs/i2c-debugging.md b/docs/i2c-debugging.md new file mode 100644 index 0000000000..a1a56db285 --- /dev/null +++ b/docs/i2c-debugging.md @@ -0,0 +1,48 @@ +I²C Debugging Tips +================== + +The EC codebase has functionality to help you debug I²C errors without +pulling out the scope. Some of the debug functionality is disabled by +default to save space, but can be enabled with the `CONFIG_I2C_DEBUG` +option. + +Tracing +------- + +You can use the `i2ctrace` command to monitor (ranges of) addresses: + + i2ctrace [list + | disable <id> + | enable <port> <address> + | enable <port> <address-low> <address-high>] + +For example: + + > i2ctrace enable 0 0x10 0x30 + > i2ctrace enable 0 0x40 0x50 + > i2ctrace list + id port address + -- ---- ------- + 0 0 0x10 to 0x30 + 1 0 0x40 to 0x50 + ... debug spam may follow ... + i2c: write 0:0x50 A8 + i2c: read 0:0x50 00 02 00 06 00 44 + ... + > i2ctrace disable 1 + > i2ctrace list + id port address + -- ---- ------- + 0 0 0x10 to 0x30 + +A maximum of 8 debug entries are supported at a single time. + +Note that `i2ctrace enable` will merge debug entries when possible: + + > i2ctrace enable 0 0x10 0x30 + > i2ctrace enable 0 0x40 0x50 + > i2ctrace enable 0 0x31 0x3f + > i2ctrace list + id port address + -- ---- ------- + 0 0 0x10 to 0x50 |