diff options
author | lschyi <lschyi@google.com> | 2022-10-13 16:32:11 +0800 |
---|---|---|
committer | Chromeos LUCI <chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com> | 2022-10-20 03:44:20 +0000 |
commit | 87dcea3e2146e9ee0fca65fb4c1ce452646fc70b (patch) | |
tree | 878cbfae9c9e80ab4feeb2d28f4512f527a6246b | |
parent | af77859fc32ddf59ad6d7606924f5fef405abfc0 (diff) | |
download | chrome-ec-87dcea3e2146e9ee0fca65fb4c1ce452646fc70b.tar.gz |
krabby: set display port EQ value
Set the board specific display port EQ value.
BUG=b:229340646
TEST=run on krabby and check the TUSB546 register is set to 0x84 with
i2c read_byte on EC console.
BRANCH=none
Signed-off-by: lschyi <lschyi@google.com>
Change-Id: I716bc83f17e5d855d8aeb35fa6f31101d47f7b75
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3950272
Reviewed-by: Ting Shen <phoenixshen@chromium.org>
Commit-Queue: Sung-Chi Li <lschyi@chromium.org>
Tested-by: Sung-Chi Li <lschyi@chromium.org>
Code-Coverage: Zoss <zoss-cl-coverage@prod.google.com>
-rw-r--r-- | zephyr/projects/corsola/i2c_krabby.dts | 1 | ||||
-rw-r--r-- | zephyr/projects/corsola/src/krabby/usbc_config.c | 19 |
2 files changed, 20 insertions, 0 deletions
diff --git a/zephyr/projects/corsola/i2c_krabby.dts b/zephyr/projects/corsola/i2c_krabby.dts index 4b3c46ffe4..a5dc03b655 100644 --- a/zephyr/projects/corsola/i2c_krabby.dts +++ b/zephyr/projects/corsola/i2c_krabby.dts @@ -17,5 +17,6 @@ tusb1064_mux_1: tusb1064-mux-1@44 { compatible = "ti,tusb1064"; reg = <0x44>; + board-init = "tusb1064_mux_1_board_init"; }; }; diff --git a/zephyr/projects/corsola/src/krabby/usbc_config.c b/zephyr/projects/corsola/src/krabby/usbc_config.c index 3ef9052e05..4870b1c98b 100644 --- a/zephyr/projects/corsola/src/krabby/usbc_config.c +++ b/zephyr/projects/corsola/src/krabby/usbc_config.c @@ -10,6 +10,8 @@ #include "charge_manager.h" #include "console.h" #include "driver/tcpm/it83xx_pd.h" +#include "driver/usb_mux/tusb1064.h" +#include "i2c.h" #include "usb_pd.h" #include "usbc_ppc.h" @@ -17,6 +19,23 @@ #define CPRINTS(format, args...) cprints(CC_SYSTEM, format, ##args) #define CPRINTF(format, args...) cprintf(CC_SYSTEM, format, ##args) +int tusb1064_mux_1_board_init(const struct usb_mux *me) +{ + int rv; + + rv = i2c_write8(me->i2c_port, me->i2c_addr_flags, + TUSB1064_REG_DP1DP3EQ_SEL, + TUSB1064_DP1EQ(TUSB1064_DP_EQ_RX_8_9_DB) | + TUSB1064_DP3EQ(TUSB1064_DP_EQ_RX_5_4_DB)); + if (rv) + return rv; + + /* Enable EQ_OVERRIDE so the gain registers are used */ + return i2c_update8(me->i2c_port, me->i2c_addr_flags, + TUSB1064_REG_GENERAL, REG_GENERAL_EQ_OVERRIDE, + MASK_SET); +} + const struct cc_para_t *board_get_cc_tuning_parameter(enum usbpd_port port) { const static struct cc_para_t |