summaryrefslogtreecommitdiff
path: root/include/case_closed_debug.h
diff options
context:
space:
mode:
authorRandall Spangler <rspangler@chromium.org>2017-07-25 16:22:27 -0700
committerchrome-bot <chrome-bot@chromium.org>2017-07-31 21:39:39 -0700
commit00ea73ab166ebc8a2c4b5693b7fa776c76c7fe45 (patch)
treec99009ec5bce12c97a85a32695bd7f0f435c1e2c /include/case_closed_debug.h
parentddbfe690e294e595c6ed3511dcf417410d9b2804 (diff)
downloadchrome-ec-00ea73ab166ebc8a2c4b5693b7fa776c76c7fe45.tar.gz
usb_i2c: Fail if board I2C bridge is disabled
Add usb_i2c_board_is_enabled(). On Cr50, this is now also connected to the I2C CCD capability. The USB-I2C bridge can only be used when the capability is available. On other platforms (Servo V4, etc.) where usb_i2c_board_enable() is a no-op, add a dummy implementation which always returns true. See go/cr50-ccd-wp for more information. BUG=b:62537474 BRANCH=cr50 TEST=manual with CR50_DEV=1 Connect host PC to dev board USB port On host PC: sudo servod -c ccd_cr50.xml -c reef_r1_inas.xml dut-control pp3300_ec_shv_reg --> fail, error 0x8001 ccdoops --> reset I2C config ccd i2c disable --> I2C disabled On host PC: sudo servod -c ccd_cr50.xml -c reef_r1_inas.xml dut-control pp3300_ec_shv_reg --> fail, error 0x0006 ccd i2c enable --> I2C enabled ccdunlock --> I2C disabled ccdoops --> I2C enabled ccdset i2c unlesslocked ccdlock --> I2C disabled ccdunlock --> I2C enabled Change-Id: Ia3df32e239a5f7c5915bc6c7e408ce0dc8b26c89 Signed-off-by: Randall Spangler <rspangler@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/590577 Reviewed-by: Aseda Aboagye <aaboagye@chromium.org> Reviewed-by: Mary Ruthven <mruthven@chromium.org>
Diffstat (limited to 'include/case_closed_debug.h')
-rw-r--r--include/case_closed_debug.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/include/case_closed_debug.h b/include/case_closed_debug.h
index 2283d6474d..2edbf1763d 100644
--- a/include/case_closed_debug.h
+++ b/include/case_closed_debug.h
@@ -130,6 +130,9 @@ enum ccd_capability {
/* Allow Cr50 firmware update without wiping TPM data */
CCD_CAP_CR50_FW_UPDATE_WITHOUT_TPM_WIPE = 14,
+ /* Access to I2C via USB */
+ CCD_CAP_I2C = 15,
+
/* Number of currently defined capabilities */
CCD_CAP_COUNT
};