summaryrefslogtreecommitdiff
path: root/board/voxel
diff options
context:
space:
mode:
Diffstat (limited to 'board/voxel')
-rw-r--r--board/voxel/board.c24
-rw-r--r--board/voxel/board.h1
2 files changed, 20 insertions, 5 deletions
diff --git a/board/voxel/board.c b/board/voxel/board.c
index ef392b5afd..7b47ee0642 100644
--- a/board/voxel/board.c
+++ b/board/voxel/board.c
@@ -311,11 +311,6 @@ void board_reset_pd_mcu(void)
*/
}
-__override void board_cbi_init(void)
-{
- setup_board_tcpc();
-}
-
/******************************************************************************/
/* USB-A charging control */
@@ -330,11 +325,13 @@ struct ppc_config_t ppc_chips[] = {
.i2c_port = I2C_PORT_USB_C0,
.i2c_addr_flags = SYV682X_ADDR0_FLAGS,
.drv = &syv682x_drv,
+ .frs_en = GPIO_USB_C0_FRS_EN,
},
[USBC_PORT_C1] = {
.i2c_port = I2C_PORT_USB_C1,
.i2c_addr_flags = SYV682X_ADDR0_FLAGS,
.drv = &syv682x_drv,
+ .frs_en = GPIO_USB_C1_FRS_EN,
},
};
BUILD_ASSERT(ARRAY_SIZE(ppc_chips) == USBC_PORT_COUNT);
@@ -355,6 +352,23 @@ void ppc_interrupt(enum gpio_signal signal)
}
}
+/* Disable FRS on boards with the SYV682A. FRS only works on the SYV682B. */
+void setup_board_ppc(void)
+{
+ uint8_t board_id = get_board_id();
+
+ if (board_id < 2) {
+ ppc_chips[USBC_PORT_C0].frs_en = 0;
+ ppc_chips[USBC_PORT_C1].frs_en = 0;
+ }
+}
+
+__override void board_cbi_init(void)
+{
+ setup_board_tcpc();
+ setup_board_ppc();
+}
+
/******************************************************************************/
/* BC1.2 charger detect configuration */
const struct pi3usb9201_config_t pi3usb9201_bc12_chips[] = {
diff --git a/board/voxel/board.h b/board/voxel/board.h
index def9fcd153..bf92358030 100644
--- a/board/voxel/board.h
+++ b/board/voxel/board.h
@@ -92,6 +92,7 @@
/* USBC PPC*/
#define CONFIG_USBC_PPC_SYV682X /* USBC port C0/C1 */
+#define CONFIG_USB_PD_FRS_PPC
/* BC 1.2 */