summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYu-An Chen <yu-an.chen@quanta.corp-partner.google.com>2021-08-24 11:54:48 +0800
committerCommit Bot <commit-bot@chromium.org>2021-08-30 18:13:58 +0000
commit7b94aae9d3e5e5be882bbba5dded0833a6e146fd (patch)
tree076d87f29ca4ef7658ae0c0970b0ae7792f32581
parentd31960945adc60cd05a933ebd834f952012b9aa0 (diff)
downloadchrome-ec-7b94aae9d3e5e5be882bbba5dded0833a6e146fd.tar.gz
Chronicler: Fix ps8815 usb3 signal init fail
Fix ps8815 init target page Init ps8815 via board_ps8xxx_tcpc_init BUG=b:194985848 BRANCH=volteer TEST=check all register is correct via ectool i2cread Signed-off-by: Yu-An Chen <yu-an.chen@quanta.corp-partner.google.com> Change-Id: I7b2c4a3ec0a23d29157735eda5a9890f087e153d Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3115732 Reviewed-by: Abe Levkoy <alevkoy@chromium.org> Commit-Queue: Abe Levkoy <alevkoy@chromium.org>
-rw-r--r--board/chronicler/usbc_config.c37
1 files changed, 15 insertions, 22 deletions
diff --git a/board/chronicler/usbc_config.c b/board/chronicler/usbc_config.c
index 4a7738682a..449179af32 100644
--- a/board/chronicler/usbc_config.c
+++ b/board/chronicler/usbc_config.c
@@ -149,31 +149,36 @@ static void ps8815_reset(void)
CPRINTS("ps8815: reg 0x0f now %02x", val);
}
-static void ps8815_setup_eq(void)
+/*
+ * Adjust USB3 settings to improve signal integrity.
+ * See b/194985848.
+ */
+__override void board_ps8xxx_tcpc_init(int port)
{
int rv;
- const int port = tcpc_config[USBC_PORT_C1].i2c_info.port;
- const int addr = tcpc_config[USBC_PORT_C1].i2c_info.addr_flags;
- /* TX1 EQ 19db / TX2 EQ 19db */
- rv = i2c_write8(port, addr, 0x20, 0x77);
+ CPRINTS("%s", __func__);
+ /* TX1 EQ 19db / TX2 EQ 19db */
+ rv = tcpc_addr_write(port, PS8751_I2C_ADDR1_P1_FLAGS, 0x20, 0x77);
/* RX1 EQ 12db / RX2 EQ 13db */
- rv |= i2c_write8(port, addr, 0x22, 0x32);
-
+ rv |= tcpc_addr_write(port, PS8751_I2C_ADDR1_P1_FLAGS, 0x22, 0x32);
/* Swing level for upstream port output */
- rv |= i2c_write8(port, addr, 0xc4, 0x03);
+ rv |= tcpc_addr_write(port, PS8751_I2C_ADDR1_P1_FLAGS, 0xc4, 0x03);
if (rv)
CPRINTS("%s fail!", __func__);
}
-static void ps8811_setup_eq(void)
+/* Called on AP S5 -> S0 transition */
+void board_ps8811_init(void)
{
int rv;
const int port = I2C_PORT_USB_1_MIX;
const int addr = PS8811_I2C_ADDR_FLAGS0 + PS8811_REG_PAGE1;
+ CPRINTS("%s", __func__);
+
/* AEQ 12db */
rv = i2c_write8(port, addr, 0x01, 0x26);
/* ADE 2.1db */
@@ -194,19 +199,7 @@ static void ps8811_setup_eq(void)
if (rv)
CPRINTS("%s fail!", __func__);
}
-
-/* Called on AP S5 -> S0 transition */
-void board_ps8xxx_init(void)
-{
- CPRINTS("%s", __func__);
- /*
- * Adjust USB3 settings to improve signal integrity.
- * See b/194985848.
- */
- ps8815_setup_eq();
- ps8811_setup_eq();
-}
-DECLARE_HOOK(HOOK_CHIPSET_STARTUP, board_ps8xxx_init, HOOK_PRIO_LAST);
+DECLARE_HOOK(HOOK_CHIPSET_STARTUP, board_ps8811_init, HOOK_PRIO_LAST);
void board_reset_pd_mcu(void)
{