summaryrefslogtreecommitdiff
path: root/board
diff options
context:
space:
mode:
authorZick Wei <zick.wei@quanta.corp-partner.google.com>2022-05-04 16:41:11 +0800
committerChromeos LUCI <chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com>2022-05-17 07:10:04 +0000
commitcc7a3236a495ef14a29c8dd3858056c8db5c4d67 (patch)
treef4443801c64fdc8d5307fa70999941b5ca02d1e3 /board
parent3c952254ffcab60f8d77fb89561c97e0e4450a3e (diff)
downloadchrome-ec-cc7a3236a495ef14a29c8dd3858056c8db5c4d67.tar.gz
agah: update USB C2 port setting
Rename USBC1 to USBC2 to follow up schematic naming. agah use below IC for TCPC and PPC on USB C2 port: TCPC: RT1716 PPC: SYV682 BUG=b:218400524 BRANCH=none TEST=make BOARD=agah Signed-off-by: Zick Wei <zick.wei@quanta.corp-partner.google.com> Change-Id: I672c6067cc09beff7b1d7e4a87912d5b8645128a Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3627373 Reviewed-by: Boris Mittelberg <bmbm@google.com> Reviewed-by: Devin Lu <Devin.Lu@quantatw.com>
Diffstat (limited to 'board')
-rw-r--r--board/agah/board.h7
-rw-r--r--board/agah/gpio.inc15
-rw-r--r--board/agah/i2c.c8
-rw-r--r--board/agah/usbc_config.c73
-rw-r--r--board/agah/usbc_config.h2
5 files changed, 48 insertions, 57 deletions
diff --git a/board/agah/board.h b/board/agah/board.h
index 0676aedb97..ac170dc19c 100644
--- a/board/agah/board.h
+++ b/board/agah/board.h
@@ -50,7 +50,6 @@
/* USB Type C and USB PD defines */
#define CONFIG_USB_PD_REQUIRE_AP_MODE_ENTRY
-#define CONFIG_USB_PD_TCPM_PS8815
#define CONFIG_USB_PD_TCPM_RT1715
#undef CONFIG_USB_PD_TCPM_NCT38XX
@@ -114,14 +113,14 @@
#define I2C_PORT_SENSOR NPCX_I2C_PORT0_0
#define I2C_PORT_USB_C0_TCPC NPCX_I2C_PORT1_0
-#define I2C_PORT_USB_C1_TCPC NPCX_I2C_PORT2_0
+#define I2C_PORT_USB_C2_TCPC NPCX_I2C_PORT2_0
#define I2C_PORT_USB_C0_PPC NPCX_I2C_PORT1_0
+#define I2C_PORT_USB_C2_PPC NPCX_I2C_PORT2_0
#define I2C_PORT_USB_C0_BC12 NPCX_I2C_PORT1_0
-#define I2C_PORT_USB_C1_BC12 NPCX_I2C_PORT2_0
+#define I2C_PORT_USB_C2_BC12 NPCX_I2C_PORT2_0
-#define I2C_PORT_USB_C1_MUX NPCX_I2C_PORT2_0
#define I2C_PORT_USBA1_RT NPCX_I2C_PORT6_1
#define I2C_PORT_BATTERY NPCX_I2C_PORT5_0
diff --git a/board/agah/gpio.inc b/board/agah/gpio.inc
index b2a53d1fbc..1121121e95 100644
--- a/board/agah/gpio.inc
+++ b/board/agah/gpio.inc
@@ -22,9 +22,10 @@ GPIO_INT(SYS_SLP_S0IX_L, PIN(D, 5), GPIO_INT_BOTH, power_signal_
GPIO_INT(USB_C0_BC12_INT_ODL, PIN(C, 6), GPIO_INT_FALLING, bc12_interrupt)
GPIO_INT(USB_C0_TCPC_INT_ODL, PIN(E, 0), GPIO_INT_FALLING, tcpc_alert_event)
GPIO_INT(USB_C0_PPC_INT_ODL, PIN(6, 2), GPIO_INT_FALLING, ppc_interrupt)
-GPIO_INT(USB_C1_BC12_INT_ODL, PIN(8, 3), GPIO_INT_FALLING, bc12_interrupt)
-GPIO_INT(USB_C1_TCPC_INT_ODL, PIN(7, 0), GPIO_INT_FALLING, tcpc_alert_event)
GPIO_INT(PG_PP3300_S5_OD, PIN(B, 4), GPIO_INT_BOTH | GPIO_PULL_UP, board_power_interrupt)
+GPIO_INT(USB_C2_BC12_INT_ODL, PIN(8, 3), GPIO_INT_FALLING, bc12_interrupt)
+GPIO_INT(USB_C2_TCPC_INT_ODL, PIN(A, 7), GPIO_INT_FALLING, tcpc_alert_event)
+GPIO_INT(USB_C2_PPC_INT_ODL, PIN(7, 0), GPIO_INT_FALLING, ppc_interrupt)
/* USED GPIOs: */
GPIO(CCD_MODE_ODL, PIN(E, 5), GPIO_INPUT)
@@ -37,8 +38,8 @@ GPIO(EC_I2C_BAT_SCL, PIN(3, 3), GPIO_INPUT)
GPIO(EC_I2C_BAT_SDA, PIN(3, 6), GPIO_INPUT)
GPIO(EC_I2C_MISC_SCL_R, PIN(B, 3), GPIO_INPUT)
GPIO(EC_I2C_MISC_SDA_R, PIN(B, 2), GPIO_INPUT)
-GPIO(EC_I2C_USB_C1_SCL, PIN(9, 2), GPIO_INPUT)
-GPIO(EC_I2C_USB_C1_SDA, PIN(9, 1), GPIO_INPUT)
+GPIO(EC_I2C_USB_C2_SCL, PIN(9, 2), GPIO_INPUT)
+GPIO(EC_I2C_USB_C2_SDA, PIN(9, 1), GPIO_INPUT)
GPIO(EC_I2C_USB_C0_SCL, PIN(9, 0), GPIO_INPUT)
GPIO(EC_I2C_USB_C0_SDA, PIN(8, 7), GPIO_INPUT)
GPIO(EC_I2C_USBA_RT_SCL, PIN(E, 4), GPIO_INPUT)
@@ -59,12 +60,12 @@ GPIO(IMVP9_VRRDY_OD, PIN(4, 3), GPIO_INPUT)
GPIO(PCH_PWROK, PIN(7, 2), GPIO_OUT_LOW)
GPIO(SYS_RST_ODL, PIN(C, 5), GPIO_ODR_HIGH)
GPIO(EC_USB_PCH_C0_OC_ODL, PIN(9, 4), GPIO_ODR_HIGH)
-GPIO(EC_USB_PCH_C1_OC_ODL, PIN(9, 7), GPIO_ODR_HIGH)
+GPIO(EC_USB_PCH_C2_OC_ODL, PIN(9, 7), GPIO_ODR_HIGH)
GPIO(USB_C0_FRS_EN, PIN(A, 0), GPIO_OUT_LOW)
-GPIO(EN_USB_C1_TCPC_RST_R, PIN(0, 2), GPIO_ODR_LOW)
GPIO(VCCST_PWRGD_OD, PIN(A, 4), GPIO_ODR_LOW)
GPIO(EN_USB_A_LOW_POWER, PIN(9, 3), GPIO_OUT_LOW)
GPIO(PG_PP3300_S5_EC_SEQ_OD, PIN(B, 5), GPIO_OUT_LOW)
+GPIO(USB_C2_FRS_EN, PIN(D, 4), GPIO_OUT_LOW)
/* Barreljack */
GPIO(EN_PPVAR_BJ_ADP, PIN(A, 2), GPIO_OUT_LOW)
@@ -119,10 +120,10 @@ ALTERNATE(PIN_MASK(D, 0x04), 0, MODULE_PMU, GPIO_INT_BOTH | GPIO_HIB_WAKE_HIGH)
UNUSED(PIN(D, 6)) /* GPOD6/CR_SOUT3/SHDF_ESPI_L */
UNUSED(PIN(3, 2)) /* GPO32/TRIS_L */
UNUSED(PIN(3, 5)) /* GPO35/CR_SOUT4/TEST_L */
+UNUSED(PIN(0, 2)) /* GPIO02 */
UNUSED(PIN(6, 6)) /* GPIO66 */
UNUSED(PIN(5, 7)) /* GPIO57/SER_IRQ/ESPI_ALERT_L */
UNUSED(PIN(8, 1)) /* GPIO81 */
-UNUSED(PIN(D, 4)) /* GPIOD4 */
UNUSED(PIN(9, 5)) /* GPIO95 */
UNUSED(PIN(7, 3)) /* GPIO73 */
UNUSED(PIN(4, 1)) /* GPIO41 */
diff --git a/board/agah/i2c.c b/board/agah/i2c.c
index c3744034c4..dedf3b4c4f 100644
--- a/board/agah/i2c.c
+++ b/board/agah/i2c.c
@@ -22,11 +22,11 @@ const struct i2c_port_t i2c_ports[] = {
},
{
/* I2C2 */
- .name = "tcpc1",
- .port = I2C_PORT_USB_C1_TCPC,
+ .name = "tcpc2",
+ .port = I2C_PORT_USB_C2_TCPC,
.kbps = 400,
- .scl = GPIO_EC_I2C_USB_C1_SCL,
- .sda = GPIO_EC_I2C_USB_C1_SDA,
+ .scl = GPIO_EC_I2C_USB_C2_SCL,
+ .sda = GPIO_EC_I2C_USB_C2_SDA,
},
{
/* I2C5 */
diff --git a/board/agah/usbc_config.c b/board/agah/usbc_config.c
index 94780017c4..3253eee69c 100644
--- a/board/agah/usbc_config.c
+++ b/board/agah/usbc_config.c
@@ -14,7 +14,6 @@
#include "console.h"
#include "driver/bc12/pi3usb9201_public.h"
#include "driver/ppc/syv682x_public.h"
-#include "driver/tcpm/ps8xxx_public.h"
#include "driver/tcpm/rt1715.h"
#include "driver/tcpm/tcpci.h"
#include "ec_commands.h"
@@ -46,17 +45,13 @@ const struct tcpc_config_t tcpc_config[] = {
},
.drv = &rt1715_tcpm_drv,
},
- [USBC_PORT_C1] = {
+ [USBC_PORT_C2] = {
.bus_type = EC_BUS_TYPE_I2C,
.i2c_info = {
- .port = I2C_PORT_USB_C1_TCPC,
- .addr_flags = PS8XXX_I2C_ADDR1_FLAGS,
+ .port = I2C_PORT_USB_C2_TCPC,
+ .addr_flags = RT1715_I2C_ADDR_FLAGS,
},
- .drv = &ps8xxx_tcpm_drv,
- .flags = TCPC_FLAGS_TCPCI_REV2_0 |
- TCPC_FLAGS_TCPCI_REV2_0_NO_VSAFE0V |
- TCPC_FLAGS_CONTROL_VCONN,
-
+ .drv = &rt1715_tcpm_drv,
},
};
BUILD_ASSERT(ARRAY_SIZE(tcpc_config) == USBC_PORT_COUNT);
@@ -80,6 +75,12 @@ struct ppc_config_t ppc_chips[] = {
.frs_en = GPIO_USB_C0_FRS_EN,
.drv = &syv682x_drv,
},
+ [USBC_PORT_C2] = {
+ .i2c_port = I2C_PORT_USB_C2_PPC,
+ .i2c_addr_flags = SYV682X_ADDR2_FLAGS,
+ .frs_en = GPIO_USB_C2_FRS_EN,
+ .drv = &syv682x_drv,
+ },
};
unsigned int ppc_cnt = ARRAY_SIZE(ppc_chips);
@@ -90,8 +91,8 @@ static const struct usb_mux usbc0_tcss_usb_mux = {
.driver = &virtual_usb_mux_driver,
.hpd_update = &virtual_hpd_update,
};
-static const struct usb_mux usbc1_tcss_usb_mux = {
- .usb_port = USBC_PORT_C1,
+static const struct usb_mux usbc2_tcss_usb_mux = {
+ .usb_port = USBC_PORT_C2,
.driver = &virtual_usb_mux_driver,
.hpd_update = &virtual_hpd_update,
};
@@ -103,11 +104,11 @@ const struct usb_mux usb_muxes[] = {
.hpd_update = &virtual_hpd_update,
.next_mux = &usbc0_tcss_usb_mux,
},
- [USBC_PORT_C1] = {
- .usb_port = USBC_PORT_C1,
+ [USBC_PORT_C2] = {
+ .usb_port = USBC_PORT_C2,
.driver = &virtual_usb_mux_driver,
.hpd_update = &virtual_hpd_update,
- .next_mux = &usbc1_tcss_usb_mux,
+ .next_mux = &usbc2_tcss_usb_mux,
},
};
BUILD_ASSERT(ARRAY_SIZE(usb_muxes) == USBC_PORT_COUNT);
@@ -118,8 +119,8 @@ const struct pi3usb9201_config_t pi3usb9201_bc12_chips[] = {
.i2c_port = I2C_PORT_USB_C0_BC12,
.i2c_addr_flags = PI3USB9201_I2C_ADDR_3_FLAGS,
},
- [USBC_PORT_C1] = {
- .i2c_port = I2C_PORT_USB_C1_BC12,
+ [USBC_PORT_C2] = {
+ .i2c_port = I2C_PORT_USB_C2_BC12,
.i2c_addr_flags = PI3USB9201_I2C_ADDR_3_FLAGS,
},
};
@@ -157,26 +158,7 @@ int board_is_vbus_too_low(int port, enum chg_ramp_vbus_state ramp_state)
void board_reset_pd_mcu(void)
{
- /*
- * No reset pin on USBC0 TCPC RT1716
- */
-
- /*
- * TODO(b/216411445): figure out correct timing
- */
-
- gpio_set_level(GPIO_EN_USB_C1_TCPC_RST_R, 0);
- /*
- * delay for power-on to reset-off and min. assertion time
- */
-
- msleep(20);
-
- gpio_set_level(GPIO_EN_USB_C1_TCPC_RST_R, 1);
-
- /* wait for chips to come up */
-
- msleep(50);
+ /* There's no reset pin on TCPC */
}
static void board_tcpc_init(void)
@@ -187,13 +169,15 @@ static void board_tcpc_init(void)
/* Enable PPC interrupts. */
gpio_enable_interrupt(GPIO_USB_C0_PPC_INT_ODL);
+ gpio_enable_interrupt(GPIO_USB_C2_PPC_INT_ODL);
/* Enable TCPC interrupts. */
gpio_enable_interrupt(GPIO_USB_C0_TCPC_INT_ODL);
+ gpio_enable_interrupt(GPIO_USB_C2_TCPC_INT_ODL);
/* Enable BC1.2 interrupts. */
gpio_enable_interrupt(GPIO_USB_C0_BC12_INT_ODL);
- gpio_enable_interrupt(GPIO_USB_C1_BC12_INT_ODL);
+ gpio_enable_interrupt(GPIO_USB_C2_BC12_INT_ODL);
}
DECLARE_HOOK(HOOK_INIT, board_tcpc_init, HOOK_PRIO_INIT_CHIPSET);
@@ -204,7 +188,7 @@ uint16_t tcpc_get_alert_status(void)
if (gpio_get_level(GPIO_USB_C0_TCPC_INT_ODL) == 0)
status |= PD_STATUS_TCPC_ALERT_0;
- if (gpio_get_level(GPIO_USB_C1_TCPC_INT_ODL) == 0)
+ if (gpio_get_level(GPIO_USB_C2_TCPC_INT_ODL) == 0)
status |= PD_STATUS_TCPC_ALERT_1;
return status;
@@ -214,6 +198,10 @@ int ppc_get_alert_status(int port)
{
if (port == USBC_PORT_C0)
return gpio_get_level(GPIO_USB_C0_PPC_INT_ODL) == 0;
+
+ if (port == USBC_PORT_C2)
+ return gpio_get_level(GPIO_USB_C2_PPC_INT_ODL) == 0;
+
return 0;
}
@@ -223,8 +211,8 @@ void tcpc_alert_event(enum gpio_signal signal)
case GPIO_USB_C0_TCPC_INT_ODL:
schedule_deferred_pd_interrupt(USBC_PORT_C0);
break;
- case GPIO_USB_C1_TCPC_INT_ODL:
- schedule_deferred_pd_interrupt(USBC_PORT_C1);
+ case GPIO_USB_C2_TCPC_INT_ODL:
+ schedule_deferred_pd_interrupt(USBC_PORT_C2);
break;
default:
break;
@@ -237,7 +225,7 @@ void bc12_interrupt(enum gpio_signal signal)
case GPIO_USB_C0_BC12_INT_ODL:
task_set_event(TASK_ID_USB_CHG_P0, USB_CHG_EVENT_BC12);
break;
- case GPIO_USB_C1_BC12_INT_ODL:
+ case GPIO_USB_C2_BC12_INT_ODL:
task_set_event(TASK_ID_USB_CHG_P1, USB_CHG_EVENT_BC12);
break;
default:
@@ -251,6 +239,9 @@ void ppc_interrupt(enum gpio_signal signal)
case GPIO_USB_C0_PPC_INT_ODL:
syv682x_interrupt(USBC_PORT_C0);
break;
+ case GPIO_USB_C2_PPC_INT_ODL:
+ syv682x_interrupt(USBC_PORT_C2);
+ break;
default:
break;
}
diff --git a/board/agah/usbc_config.h b/board/agah/usbc_config.h
index 8e40fe9f49..b9f2c2ffff 100644
--- a/board/agah/usbc_config.h
+++ b/board/agah/usbc_config.h
@@ -12,7 +12,7 @@
enum usbc_port {
USBC_PORT_C0 = 0,
- USBC_PORT_C1,
+ USBC_PORT_C2,
USBC_PORT_COUNT
};