diff options
author | Zick Wei <zick.wei@quanta.corp-partner.google.com> | 2022-05-04 16:41:11 +0800 |
---|---|---|
committer | Chromeos LUCI <chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com> | 2022-05-17 07:10:04 +0000 |
commit | cc7a3236a495ef14a29c8dd3858056c8db5c4d67 (patch) | |
tree | f4443801c64fdc8d5307fa70999941b5ca02d1e3 /board | |
parent | 3c952254ffcab60f8d77fb89561c97e0e4450a3e (diff) | |
download | chrome-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.h | 7 | ||||
-rw-r--r-- | board/agah/gpio.inc | 15 | ||||
-rw-r--r-- | board/agah/i2c.c | 8 | ||||
-rw-r--r-- | board/agah/usbc_config.c | 73 | ||||
-rw-r--r-- | board/agah/usbc_config.h | 2 |
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 }; |