diff options
author | Edward Hill <ecgh@chromium.org> | 2020-02-26 14:27:23 -0700 |
---|---|---|
committer | Commit Bot <commit-bot@chromium.org> | 2020-02-27 00:56:17 +0000 |
commit | 29918a71d3622f9c9da9a4db37bb1843ce8f3284 (patch) | |
tree | 8ef38395d1e97fee669af2fb62ef2ea285f710ee /baseboard | |
parent | 331de6dbdf9b024d4c3f6e183df868d3f7cabac2 (diff) | |
download | chrome-ec-29918a71d3622f9c9da9a4db37bb1843ce8f3284.tar.gz |
dalboz: update GPIOs
BUG=b:147297680
BRANCH=none
TEST=able to boot dalboz AP
Signed-off-by: Edward Hill <ecgh@chromium.org>
Change-Id: I4a3ec2a77292e48672f5c6143990c36b9a80b6a6
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2073277
Reviewed-by: Denis Brockus <dbrockus@chromium.org>
Commit-Queue: Denis Brockus <dbrockus@chromium.org>
Diffstat (limited to 'baseboard')
-rw-r--r-- | baseboard/zork/baseboard.c | 21 | ||||
-rw-r--r-- | baseboard/zork/baseboard.h | 16 | ||||
-rw-r--r-- | baseboard/zork/variant_trembyle.c | 22 |
3 files changed, 37 insertions, 22 deletions
diff --git a/baseboard/zork/baseboard.c b/baseboard/zork/baseboard.c index 0b3febe39c..f64a911f94 100644 --- a/baseboard/zork/baseboard.c +++ b/baseboard/zork/baseboard.c @@ -315,7 +315,9 @@ void baseboard_tcpc_init(void) /* Enable HPD interrupts */ ioex_enable_interrupt(IOEX_HDMI_CONN_HPD_3V3_DB); +#ifdef VARIANT_ZORK_TREMBYLE ioex_enable_interrupt(IOEX_MST_HPD_OUT); +#endif } DECLARE_HOOK(HOOK_INIT, baseboard_tcpc_init, HOOK_PRIO_INIT_I2C + 1); @@ -696,8 +698,10 @@ static int zork_c1_get_mux(int port, mux_state_t *mux_state) const struct pi3dpx1207_usb_control pi3dpx1207_controls[] = { [USBC_PORT_C0] = { +#ifdef VARIANT_ZORK_TREMBYLE .enable_gpio = IOEX_USB_C0_DATA_EN, .dp_enable_gpio = GPIO_USB_C0_IN_HPD, +#endif }, [USBC_PORT_C1] = { }, @@ -972,20 +976,3 @@ void hdmi_hpd_interrupt(enum ioex_signal signal) /* Debounce for 2 msec. */ hook_call_deferred(&hdmi_hpd_handler_data, (2 * MSEC)); } - -static void mst_hpd_handler(void) -{ - int hpd = 0; - - /* Pass HPD through from DB OPT3 MST hub to AP's DP1. */ - ioex_get_level(IOEX_MST_HPD_OUT, &hpd); - gpio_set_level(GPIO_DP1_HPD, hpd); - ccprints("MST HPD %d", hpd); -} -DECLARE_DEFERRED(mst_hpd_handler); - -void mst_hpd_interrupt(enum ioex_signal signal) -{ - /* Debounce for 2 msec. */ - hook_call_deferred(&mst_hpd_handler_data, (2 * MSEC)); -} diff --git a/baseboard/zork/baseboard.h b/baseboard/zork/baseboard.h index 9f18d663a3..61719b012c 100644 --- a/baseboard/zork/baseboard.h +++ b/baseboard/zork/baseboard.h @@ -296,11 +296,17 @@ enum zork_c1_retimer { }; extern enum zork_c1_retimer zork_c1_retimer; -#define PORT_TO_HPD(port) ((port == 0) \ - ? GPIO_USB_C0_HPD \ - : (zork_c1_retimer == C1_RETIMER_PS8802) \ - ? GPIO_DP1_HPD \ - : GPIO_DP2_HPD) +#if defined(VARIANT_ZORK_TREMBYLE) + #define PORT_TO_HPD(port) ((port == 0) \ + ? GPIO_USB_C0_HPD \ + : (zork_c1_retimer == C1_RETIMER_PS8802) \ + ? GPIO_DP1_HPD \ + : GPIO_DP2_HPD) +#elif defined(VARIANT_ZORK_DALBOZ) + #define PORT_TO_HPD(port) ((port == 0) \ + ? GPIO_USB3_C0_DP2_HPD \ + : GPIO_DP1_HPD) +#endif /* * Matrix to rotate accelerators into the standard reference frame. The default diff --git a/baseboard/zork/variant_trembyle.c b/baseboard/zork/variant_trembyle.c index 7d5c05a7ab..2b6e520136 100644 --- a/baseboard/zork/variant_trembyle.c +++ b/baseboard/zork/variant_trembyle.c @@ -12,6 +12,7 @@ #include "hooks.h" #include "i2c.h" #include "ioexpander.h" +#include "timer.h" #define CPRINTSUSB(format, args...) cprints(CC_USBCHARGE, format, ## args) #define CPRINTFUSB(format, args...) cprintf(CC_USBCHARGE, format, ## args) @@ -128,3 +129,24 @@ static void ps8811_retimer_off(void) ioex_set_level(IOEX_USB_A1_RETIMER_EN, 0); } DECLARE_HOOK(HOOK_CHIPSET_SHUTDOWN, ps8811_retimer_off, HOOK_PRIO_DEFAULT); + +/***************************************************************************** + * MST hub + */ + +static void mst_hpd_handler(void) +{ + int hpd = 0; + + /* Pass HPD through from DB OPT3 MST hub to AP's DP1. */ + ioex_get_level(IOEX_MST_HPD_OUT, &hpd); + gpio_set_level(GPIO_DP1_HPD, hpd); + ccprints("MST HPD %d", hpd); +} +DECLARE_DEFERRED(mst_hpd_handler); + +void mst_hpd_interrupt(enum ioex_signal signal) +{ + /* Debounce for 2 msec. */ + hook_call_deferred(&mst_hpd_handler_data, (2 * MSEC)); +} |