diff options
Diffstat (limited to 'zephyr/program/rex/screebo/src/usb_config.c')
-rw-r--r-- | zephyr/program/rex/screebo/src/usb_config.c | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/zephyr/program/rex/screebo/src/usb_config.c b/zephyr/program/rex/screebo/src/usb_config.c new file mode 100644 index 0000000000..41653832bd --- /dev/null +++ b/zephyr/program/rex/screebo/src/usb_config.c @@ -0,0 +1,29 @@ +/* Copyright 2023 The ChromiumOS Authors + * Use of this source code is governed by a BSD-style license that can be + * found in the LICENSE file. + */ + +/* Screebo board-specific USB-C configuration */ + +#include "ppc/syv682x_public.h" +#include "usbc_ppc.h" + +#include <zephyr/drivers/gpio.h> + +/* USB-C ports */ +enum usbc_port { USBC_PORT_C0 = 0, USBC_PORT_C1, USBC_PORT_COUNT }; +BUILD_ASSERT(USBC_PORT_COUNT == CONFIG_USB_PD_PORT_MAX_COUNT); + +void screebo_ppc_interrupt(enum gpio_signal signal) +{ + switch (signal) { + case GPIO_USB_C0_PPC_INT_ODL: + syv682x_interrupt(USBC_PORT_C0); + break; + case GPIO_USB_C1_PPC_INT_ODL: + syv682x_interrupt(USBC_PORT_C1); + break; + default: + break; + } +} |