summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRob Barnes <robbarnes@google.com>2021-06-07 15:01:25 -0600
committerCommit Bot <commit-bot@chromium.org>2021-06-15 16:12:19 +0000
commit608d1a0f73522f3135f6daced3ca7871f005f683 (patch)
tree4e01cfc3aad363cc60bf7339803d514a59279f2c
parentf11c1f3b205fa593c1f9eda87dad6a45439ec93d (diff)
downloadchrome-ec-608d1a0f73522f3135f6daced3ca7871f005f683.tar.gz
guybrush: Apply PS8811 tuning parameters
Applying tuning parameters recommended by retimer vendor. BUG=b:189317041 TEST=Build and boot guybrush BRANCH=None Signed-off-by: Rob Barnes <robbarnes@google.com> Change-Id: I59bf25b196a0f0da8e71bd41dffb3b9cef251666 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2920147 Reviewed-by: Diana Z <dzigterman@chromium.org>
-rw-r--r--board/guybrush/board.c26
1 files changed, 26 insertions, 0 deletions
diff --git a/board/guybrush/board.c b/board/guybrush/board.c
index 4ab48c1374..947f012723 100644
--- a/board/guybrush/board.c
+++ b/board/guybrush/board.c
@@ -9,6 +9,7 @@
#include "common.h"
#include "driver/accelgyro_bmi_common.h"
#include "driver/accelgyro_bmi160.h"
+#include "driver/retimer/ps8811.h"
#include "driver/retimer/ps8818.h"
#include "extpower.h"
#include "gpio.h"
@@ -91,6 +92,31 @@ static void board_init(void)
}
DECLARE_HOOK(HOOK_INIT, board_init, HOOK_PRIO_DEFAULT);
+__override enum ec_error_list
+board_a1_ps8811_retimer_init(const struct usb_mux *me)
+{
+ /* Set channel A output swing */
+ RETURN_ERROR(ps8811_i2c_field_update(
+ me, PS8811_REG_PAGE1, PS8811_REG1_USB_CHAN_A_SWING,
+ PS8811_CHAN_A_SWING_MASK, 0x2 << PS8811_CHAN_A_SWING_SHIFT));
+
+ /* Set channel B output swing */
+ RETURN_ERROR(ps8811_i2c_field_update(
+ me, PS8811_REG_PAGE1, PS8811_REG1_USB_CHAN_B_SWING,
+ PS8811_CHAN_B_SWING_MASK, 0x2 << PS8811_CHAN_B_SWING_SHIFT));
+
+ /* Set channel B de-emphasis to -6dB and pre-shoot to 3 dB */
+ RETURN_ERROR(ps8811_i2c_field_update(
+ me, PS8811_REG_PAGE1, PS8811_REG1_USB_CHAN_B_DE_PS_LSB,
+ PS8811_CHAN_B_DE_PS_LSB_MASK, PS8811_CHAN_B_DE_6_PS_3_LSB));
+
+ RETURN_ERROR(ps8811_i2c_field_update(
+ me, PS8811_REG_PAGE1, PS8811_REG1_USB_CHAN_B_DE_PS_MSB,
+ PS8811_CHAN_B_DE_PS_MSB_MASK, PS8811_CHAN_B_DE_6_PS_3_MSB));
+
+ return EC_SUCCESS;
+}
+
/*
* PS8818 set mux board tuning.
* Adds in board specific gain and DP lane count configuration