diff options
author | Edward Hill <ecgh@chromium.org> | 2021-06-15 01:34:13 -0600 |
---|---|---|
committer | Commit Bot <commit-bot@chromium.org> | 2021-06-30 19:06:56 +0000 |
commit | 3c3f146e86216a03c5946ceedf0996e8c647c55c (patch) | |
tree | d5a5c34dccf662ae06d5faf563505bb3d9d1344f /zephyr/include/emul/emul_pi3usb9201.h | |
parent | 8df0ec85f3fc54f618cab271f58d6a8a3f55cbc7 (diff) | |
download | chrome-ec-3c3f146e86216a03c5946ceedf0996e8c647c55c.tar.gz |
zephyr: Add pi3usb9201 emulator and test
BUG=b:184852906
BRANCH=none
TEST=zmake configure --test zephyr/test/drivers
Change-Id: Ie554b6957269c638357d82d6f5dcc2ceda08caab
Signed-off-by: Edward Hill <ecgh@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2961272
Commit-Queue: Keith Short <keithshort@chromium.org>
Reviewed-by: Keith Short <keithshort@chromium.org>
Diffstat (limited to 'zephyr/include/emul/emul_pi3usb9201.h')
-rw-r--r-- | zephyr/include/emul/emul_pi3usb9201.h | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/zephyr/include/emul/emul_pi3usb9201.h b/zephyr/include/emul/emul_pi3usb9201.h new file mode 100644 index 0000000000..b171cfefc9 --- /dev/null +++ b/zephyr/include/emul/emul_pi3usb9201.h @@ -0,0 +1,55 @@ +/* Copyright 2021 The Chromium OS Authors. All rights reserved. + * Use of this source code is governed by a BSD-style license that can be + * found in the LICENSE file. + */ + +/** + * @file + * + * @brief Backend API for pi3usb9201 emulator + */ + +#ifndef __EMUL_PI3USB9201_H +#define __EMUL_PI3USB9201_H + +#include <emul.h> +#include <drivers/i2c.h> +#include <drivers/i2c_emul.h> + +#define PI3USB9201_REG_CTRL_1 0x0 +#define PI3USB9201_REG_CTRL_2 0x1 +#define PI3USB9201_REG_CLIENT_STS 0x2 +#define PI3USB9201_REG_HOST_STS 0x3 + +/** + * @brief Get pointer to pi3usb9201 emulator using device tree order number. + * + * @param ord Device tree order number obtained from DT_DEP_ORD macro + * + * @return Pointer to pi3usb9201 emulator + */ +struct i2c_emul *pi3usb9201_emul_get(int ord); + +/** + * @brief Set value of given register of pi3usb9201 + * + * @param emul Pointer to pi3usb9201 emulator + * @param reg Register address + * @param val New value of the register + * + * @return 0 on success or error + */ +int pi3usb9201_emul_set_reg(struct i2c_emul *emul, int reg, uint8_t val); + +/** + * @brief Get value of given register of pi3usb9201 + * + * @param emul Pointer to pi3usb9201 emulator + * @param reg Register address + * @param val Pointer to write current value of register + * + * @return 0 on success or error + */ +int pi3usb9201_emul_get_reg(struct i2c_emul *emul, int reg, uint8_t *val); + +#endif /* __EMUL_PI3USB9201_H */ |