diff options
author | Caveh Jalali <caveh@chromium.org> | 2021-09-30 14:20:47 -0700 |
---|---|---|
committer | Commit Bot <commit-bot@chromium.org> | 2021-10-01 22:25:00 +0000 |
commit | 6d85cea5dad34352ae67a7503b38cf871dffadd6 (patch) | |
tree | 890b26162c830b973f76573cbbda1639a8140342 /common/i2c_controller.c | |
parent | 4d5a9a823e3eef6d624b326cbbafebc698d71cdc (diff) | |
download | chrome-ec-6d85cea5dad34352ae67a7503b38cf871dffadd6.tar.gz |
i2c: add converters between enum i2c_freq and kHz
BRANCH=none
BUG=b:201039003
TEST=with follow-on patches, switched I2C bus speed between 400 kHz
and 1 MHz using ectool.
Change-Id: Ide60a2515d4d9a5f8e1ff841b8369e63c39f5c6a
Signed-off-by: Caveh Jalali <caveh@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3198247
Reviewed-by: Daisuke Nojiri <dnojiri@chromium.org>
Reviewed-by: Boris Mittelberg <bmbm@google.com>
Diffstat (limited to 'common/i2c_controller.c')
-rw-r--r-- | common/i2c_controller.c | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/common/i2c_controller.c b/common/i2c_controller.c index 59aff3d69e..2c198d2d88 100644 --- a/common/i2c_controller.c +++ b/common/i2c_controller.c @@ -1110,6 +1110,34 @@ unwedge_done: } #endif /* !CONFIG_ZEPHYR */ +int i2c_freq_to_khz(enum i2c_freq freq) +{ + switch (freq) { + case I2C_FREQ_100KHZ: + return 100; + case I2C_FREQ_400KHZ: + return 400; + case I2C_FREQ_1000KHZ: + return 1000; + default: + return 0; + } +} + +enum i2c_freq i2c_khz_to_freq(int speed_khz) +{ + switch (speed_khz) { + case 100: + return I2C_FREQ_100KHZ; + case 400: + return I2C_FREQ_400KHZ; + case 1000: + return I2C_FREQ_1000KHZ; + default: + return I2C_FREQ_COUNT; + } +} + int i2c_set_freq(int port, enum i2c_freq freq) { int ret; |