diff options
author | Keith Short <keithshort@chromium.org> | 2020-03-06 09:50:58 -0700 |
---|---|---|
committer | Commit Bot <commit-bot@chromium.org> | 2020-03-10 19:37:00 +0000 |
commit | 0d44674274c1b6d9bd7c3de90312982883a6e3c1 (patch) | |
tree | 0216336834abfa9a5bed5d2a627c0898e0983984 /docs | |
parent | 739d2762604760e5ce24ef7be060f39f2ca5abd0 (diff) | |
download | chrome-ec-0d44674274c1b6d9bd7c3de90312982883a6e3c1.tar.gz |
i2c: Cleanup I2C tracing output
The output of the I2C tracing is hard to parse, especially for reads to
I2C registers. This change creates only a single I2C trace for each I2C
transfer (instead of 2 entries), and labels the write and read parts of
the I2C transaction clearly.
Example output (TCPC device during disconnect):
i2c: 1:0x20 wr 0x10 rd 0x01 0x00
i2c: 1:0x20 wr 0x10 0x01 0x00
i2c: 1:0x20 wr 0x1A rd 0x1A
i2c: 1:0x20 wr 0x1D rd 0x10
i2c: 1:0x20 wr 0x1C rd 0x70
i2c: 1:0x20 wr 0x2F 0x21
i2c: 1:0x20 wr 0x1C 0x70
i2c: 1:0x20 wr 0x2F 0x00
i2c: 1:0x20 wr 0x1C rd 0x70
i2c: 1:0x20 wr 0x1C 0x60
BUG=none
BRANCH=none
TEST=make buildall
TEST=Enable CONFIG_I2C_DEBUG and verify output.
Signed-off-by: Keith Short <keithshort@chromium.org>
Change-Id: I077196e70ae3abb6c462cf08a3f944b43fdcf82a
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2091573
Reviewed-by: Jack Rosenthal <jrosenth@chromium.org>
Reviewed-by: Jett Rink <jettrink@chromium.org>
Diffstat (limited to 'docs')
-rw-r--r-- | docs/i2c-debugging.md | 60 |
1 files changed, 33 insertions, 27 deletions
diff --git a/docs/i2c-debugging.md b/docs/i2c-debugging.md index a1a56db285..7ab84f9d8d 100644 --- a/docs/i2c-debugging.md +++ b/docs/i2c-debugging.md @@ -11,38 +11,44 @@ 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>] +``` +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 +``` +> i2ctrace enable 0 0x10 0x30 +> i2ctrace enable 1 0x20 +> i2ctrace list +id port address +-- ---- ------- +0 0 0x10 to 0x30 +1 1 0x40 to 0x50 +... debug spam may follow ... +i2c: 1:0x20 wr 0x10 rd 0x01 0x00 +i2c: 1:0x20 wr 0x10 0x01 0x00 +... +> 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 +``` +> 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 +```
\ No newline at end of file |