summaryrefslogtreecommitdiff
path: root/common/i2c_controller.c
diff options
context:
space:
mode:
authorKeith Short <keithshort@chromium.org>2021-09-15 15:07:24 -0600
committerCommit Bot <commit-bot@chromium.org>2021-09-15 23:39:30 +0000
commitcef83663e1d7cc296e6e3bfddab410c70c303e54 (patch)
treeebceaa85249697ea44e11b5d8c6e728bfa8843d0 /common/i2c_controller.c
parent11890e041ef578923a1ba5e711fe480514510047 (diff)
downloadchrome-ec-cef83663e1d7cc296e6e3bfddab410c70c303e54.tar.gz
zephyr: add support for I2C debugging
Add support for CONFIG_I2C_DEBUG and CONFIG_I2C_DEBUG_PASSTHRU options to zephyr. BUG=none BRANCH=none TEST=zmake testall TEST=Add CONFIG_PLATFORM_EC_I2C_DEBUG=y on herobrine, verify "i2ctrace" command is available and functional. TEST=Add CONFIG_PLATFORM_EC_I2C_DEBUG_PASSTHRU=y on herobrine, verify I2C passthru messages shown during TCPC firmware sync. Signed-off-by: Keith Short <keithshort@chromium.org> Change-Id: Ic2d9977af4fa707dab4fdaff332fbcc34491c5fe Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3163211 Commit-Queue: Jack Rosenthal <jrosenth@chromium.org> Reviewed-by: Jack Rosenthal <jrosenth@chromium.org>
Diffstat (limited to 'common/i2c_controller.c')
-rw-r--r--common/i2c_controller.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/common/i2c_controller.c b/common/i2c_controller.c
index 90aed056ae..dfc3417e88 100644
--- a/common/i2c_controller.c
+++ b/common/i2c_controller.c
@@ -258,8 +258,15 @@ int i2c_xfer_unlocked(const int port,
ccprintf("Ignoring flags from i2c addr_flags: %04x",
no_pec_af);
- return i2c_transfer(i2c_get_device_for_port(port), msg,
+ ret = i2c_transfer(i2c_get_device_for_port(port), msg,
num_msgs, I2C_STRIP_FLAGS(no_pec_af));
+
+ if (IS_ENABLED(CONFIG_I2C_DEBUG)) {
+ i2c_trace_notify(port, addr_flags, out, out_size,
+ in, in_size);
+ }
+
+ return ret;
#elif defined(CONFIG_I2C_XFER_LARGE_TRANSFER)
ret = i2c_xfer_no_retry(port, no_pec_af,
out, out_size, in,