mirror of
https://github.com/Telecominfraproject/OpenCellular.git
synced 2025-12-29 18:11:05 +00:00
Create two state machines SMB_WRITE_SUSPEND and SMB_READ_SUSPEND to handle i2c master stall bus and call i2c_xfer again. Notice we should disable i2c interrupt since cannot read/write SDA reg to clear interrupt pending bit. Modified drivers: 1. i2c.c: Modified to handle calling i2c_xfer twice or more. BUG=chrome-os-partner:34346 TEST=make buildall -j; test nuvoton IC specific drivers BRANCH=none Change-Id: I781f6f8227867ea9c0e265b3064f48602c0f5f07 Signed-off-by: Mulin Chao <mlchao@nuvoton.com> Reviewed-on: https://chromium-review.googlesource.com/309381 Reviewed-by: Randall Spangler <rspangler@chromium.org>