summaryrefslogtreecommitdiff
path: root/board/fizz/board.c
diff options
context:
space:
mode:
authorscott worley <scott.worley@microchip.corp-partner.google.com>2018-05-10 13:25:54 -0400
committerchrome-bot <chrome-bot@chromium.org>2018-06-12 21:50:57 -0700
commit5a72dd83746b8f135272fda0f1a6e40274d5c664 (patch)
treef842fb98f0a00b0ddbf0ab6e250e1aba0c22b716 /board/fizz/board.c
parentf83b350444ec7a543378589d7533be6514129288 (diff)
downloadchrome-ec-5a72dd83746b8f135272fda0f1a6e40274d5c664.tar.gz
ec_chip_mchp: Refactor huge chip_i2c_xfer into sub-functions
Chip level I2C transfer called from common was huge and consumed 96 bytes of stack. Refactor into subfunctions for master transmit and receive. Update I2C configuration to program proper register values for bus clock and other registers. Port switching modified to only switch ports if necessary. Make port switch more robust by resetting I2C controller clearing hardware state machines. Read raw SCL and SDA signals using GPIO API instead of I2C bit-bang register. I2C bit-bang only useful if I2C is idle. BRANCH=None BUG=None TEST=Configure board for port switching and I2C stress tests. CQ-DEPEND=CL:1053576 Change-Id: I647ecec8746dc9741c59879db15d7ad4e20e0469 Signed-off-by: scott worley <scott.worley@microchip.corp-partner.google.com> Reviewed-on: https://chromium-review.googlesource.com/1053880 Commit-Ready: Randall Spangler <rspangler@chromium.org> Tested-by: Randall Spangler <rspangler@chromium.org> Reviewed-by: Randall Spangler <rspangler@chromium.org>
Diffstat (limited to 'board/fizz/board.c')
0 files changed, 0 insertions, 0 deletions