summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorlschyi <lschyi@google.com>2022-10-13 16:32:11 +0800
committerChromeos LUCI <chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com>2022-10-20 03:44:20 +0000
commit87dcea3e2146e9ee0fca65fb4c1ce452646fc70b (patch)
tree878cbfae9c9e80ab4feeb2d28f4512f527a6246b
parentaf77859fc32ddf59ad6d7606924f5fef405abfc0 (diff)
downloadchrome-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.dts1
-rw-r--r--zephyr/projects/corsola/src/krabby/usbc_config.c19
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