summaryrefslogtreecommitdiff
path: root/baseboard
diff options
context:
space:
mode:
authorEdward Hill <ecgh@chromium.org>2020-02-26 14:27:23 -0700
committerCommit Bot <commit-bot@chromium.org>2020-02-27 00:56:17 +0000
commit29918a71d3622f9c9da9a4db37bb1843ce8f3284 (patch)
tree8ef38395d1e97fee669af2fb62ef2ea285f710ee /baseboard
parent331de6dbdf9b024d4c3f6e183df868d3f7cabac2 (diff)
downloadchrome-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.c21
-rw-r--r--baseboard/zork/baseboard.h16
-rw-r--r--baseboard/zork/variant_trembyle.c22
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));
+}