diff options
Diffstat (limited to 'baseboard/honeybuns/usbc_support.c')
-rw-r--r-- | baseboard/honeybuns/usbc_support.c | 36 |
1 files changed, 34 insertions, 2 deletions
diff --git a/baseboard/honeybuns/usbc_support.c b/baseboard/honeybuns/usbc_support.c index 80915048ab..efad5704e7 100644 --- a/baseboard/honeybuns/usbc_support.c +++ b/baseboard/honeybuns/usbc_support.c @@ -7,6 +7,8 @@ #include "common.h" #include "console.h" +#include "driver/tcpm/tcpci.h" +#include "driver/tcpm/ps8xxx.h" #include "sn5s330.h" #include "hooks.h" #include "i2c.h" @@ -300,7 +302,36 @@ int baseboard_usbc_init(int port) return rv; } -#if defined(GPIO_USBC_UF_ATTACHED_SRC) && defined(SECTION_IS_RW) +#ifdef SECTION_IS_RW +int c1_ps8805_is_vbus_present(int port) +{ + int vbus; + + vbus = tcpm_check_vbus_level(port, VBUS_PRESENT); + + return vbus; +} + +int c1_ps8805_is_sourcing_vbus(int port) +{ + int rv; + int level; + + rv = ps8805_gpio_get_level(port, PS8805_GPIO_1, &level); + if (rv) + return 0; + + return level; +} + + +int c1_ps8805_vbus_source_enable(int port, int enable) +{ + + return ps8805_gpio_set_level(port, PS8805_GPIO_1, enable); +} + +#ifdef GPIO_USBC_UF_ATTACHED_SRC static int ppc_ocp_count; static void baseboard_usb3_manage_vbus(void) @@ -438,5 +469,6 @@ void baseboard_usbc_usb3_irq(void) hook_call_deferred(&baseboard_usbc_usb3_handle_interrupt_data, 0); } -#endif /* defined(GPIO_USBC_UF_ATTACHED_SRC) && defined(SECTION_IS_RW) */ +#endif /* defined(GPIO_USBC_UF_ATTACHED_SRC) */ +#endif /* defined(SECTION_IS_RW) */ |