summaryrefslogtreecommitdiff
path: root/zephyr/program/myst/myst/src/usb_mux_config.c
diff options
context:
space:
mode:
Diffstat (limited to 'zephyr/program/myst/myst/src/usb_mux_config.c')
-rw-r--r--zephyr/program/myst/myst/src/usb_mux_config.c24
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()) {