diff options
author | scott worley <scott.worley@microchip.corp-partner.google.com> | 2018-05-10 13:25:54 -0400 |
---|---|---|
committer | chrome-bot <chrome-bot@chromium.org> | 2018-06-12 21:50:57 -0700 |
commit | 5a72dd83746b8f135272fda0f1a6e40274d5c664 (patch) | |
tree | f842fb98f0a00b0ddbf0ab6e250e1aba0c22b716 /board/fizz/board.c | |
parent | f83b350444ec7a543378589d7533be6514129288 (diff) | |
download | chrome-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