diff options
author | Eric Herrmann <eherrmann@chromium.org> | 2020-02-14 14:17:08 -0800 |
---|---|---|
committer | Commit Bot <commit-bot@chromium.org> | 2021-01-28 19:48:20 +0000 |
commit | ef04b4715db47812e3e2cdaf083a1a3118c511b5 (patch) | |
tree | 3034953534e98870da50fcadf3e3b9f0905ea475 /board | |
parent | 38f31459bbbbe8b74a5c808fdfa3a5319b01b63e (diff) | |
download | chrome-ec-ef04b4715db47812e3e2cdaf083a1a3118c511b5.tar.gz |
Volteer: Add support for FRS to C1
Add support to C1, assign the gpio to put the PPC in FRS mode and add
the config options.
Volteer boards need the SYV682B rework to support FRS, but this will not
break existing boards. FRS will be enabled but fail, and enter
ErrorRecovery, enter Unattached.SNK, or successfully FRS depending on
the situation.
Volteer HW can supply 3A per port, so changes to reserve the FRS current
aren't needed to enable it on Volteer.
BUG=b:148144711
TEST=Check that FRS is functional. FRS devices should not re-enumerate
after adapter power is removed. Test with the SYV682B and using both the
PS8815 and RT1715 TCPCs.
BRANCH=none
Change-Id: I7a599f1c350529d910a331f1ebc78ab41ff44a24
Signed-off-by: Eric Herrmann <eherrmann@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2057495
Reviewed-by: Abe Levkoy <alevkoy@chromium.org>
Diffstat (limited to 'board')
-rw-r--r-- | board/volteer/board.h | 1 | ||||
-rw-r--r-- | board/volteer/gpio.inc | 1 | ||||
-rw-r--r-- | board/volteer/usbc_config.c | 1 |
3 files changed, 3 insertions, 0 deletions
diff --git a/board/volteer/board.h b/board/volteer/board.h index 4129143051..85ab9772a0 100644 --- a/board/volteer/board.h +++ b/board/volteer/board.h @@ -96,6 +96,7 @@ /* USBC PPC*/ #define CONFIG_USBC_PPC_SN5S330 /* USBC port C0 */ #define CONFIG_USBC_PPC_SYV682X /* USBC port C1 */ +#define CONFIG_USB_PD_FRS_PPC /* BC 1.2 */ diff --git a/board/volteer/gpio.inc b/board/volteer/gpio.inc index 5682b47740..33d04741d3 100644 --- a/board/volteer/gpio.inc +++ b/board/volteer/gpio.inc @@ -89,6 +89,7 @@ GPIO(USB_C0_OC_ODL, PIN(B, 1), GPIO_ODR_HIGH) GPIO(USB_C1_OC_ODL, PIN(5, 0), GPIO_ODR_HIGH) /* There is currently no need to service this interrupt. */ GPIO(USB_C1_RT_INT_ODL, PIN(F, 3), GPIO_INPUT) +GPIO(USB_C1_FRS_EN, PIN(9, 4), GPIO_OUT_LOW) /* Don't have a load switch for retimer */ UNIMPLEMENTED(USB_C1_LS_EN) diff --git a/board/volteer/usbc_config.c b/board/volteer/usbc_config.c index 9e76eef5bd..1fec96a2a3 100644 --- a/board/volteer/usbc_config.c +++ b/board/volteer/usbc_config.c @@ -154,6 +154,7 @@ struct ppc_config_t ppc_chips[] = { [USBC_PORT_C1] = { .i2c_port = I2C_PORT_USB_C1, .i2c_addr_flags = SYV682X_ADDR0_FLAGS, + .frs_en = GPIO_USB_C1_FRS_EN, .drv = &syv682x_drv, }, }; |