diff options
Diffstat (limited to 'zephyr/program/myst/myst/src/usb_mux_config.c')
-rw-r--r-- | zephyr/program/myst/myst/src/usb_mux_config.c | 24 |
1 files changed, 23 insertions, 1 deletions
diff --git a/zephyr/program/myst/myst/src/usb_mux_config.c b/zephyr/program/myst/myst/src/usb_mux_config.c index 19eacbf989..561202fd23 100644 --- a/zephyr/program/myst/myst/src/usb_mux_config.c +++ b/zephyr/program/myst/myst/src/usb_mux_config.c @@ -10,7 +10,6 @@ #include "cros_cbi.h" #include "hooks.h" #include "usb_mux.h" -#include "usb_mux_config.h" #include "usbc/ppc.h" #include "usbc/tcpci.h" #include "usbc/usb_muxes.h" @@ -42,6 +41,29 @@ __override uint8_t board_get_usb_pd_port_count(void) return CONFIG_USB_PD_PORT_MAX_COUNT; } +void ppc_interrupt(enum gpio_signal signal) +{ + uint32_t io_db_type = get_io_db_type_from_cached_cbi(); + + switch (signal) { + case GPIO_USB_C0_PPC_INT_ODL: + ktu1125_interrupt(USBC_PORT_C0); + break; + + case GPIO_USB_C1_PPC_INT_ODL: + if (io_db_type == FW_IO_DB_SKU_A) { + nx20p348x_interrupt(USBC_PORT_C1); + } + if (io_db_type == FW_IO_DB_SKU_B) { + ktu1125_interrupt(USBC_PORT_C1); + } + break; + + default: + break; + } +} + static void setup_mux(void) { switch (get_io_db_type_from_cached_cbi()) { |