summaryrefslogtreecommitdiff
path: root/baseboard/zork/baseboard.c
diff options
context:
space:
mode:
authorEdward Hill <ecgh@chromium.org>2020-05-04 19:56:11 -0600
committerCommit Bot <commit-bot@chromium.org>2020-05-05 05:51:29 +0000
commit95abc80e5b38434f92204eece73bc6974fdd30ac (patch)
treeee5949f7e039e0cb714fb46ae0766f6651c8c027 /baseboard/zork/baseboard.c
parentaf09e1bdd78924850fd6f1c188c9203c77757153 (diff)
downloadchrome-ec-95abc80e5b38434f92204eece73bc6974fdd30ac.tar.gz
Zork: Add PI3HDX1204 power control.
Power the PI3HDX1204 HDMI retimer on at resume and off at suspend. BUG=b:154874071 BRANCH=none TEST=HDMI still works Signed-off-by: Edward Hill <ecgh@chromium.org> Change-Id: I1753177db4b99d2c4a6af0720ace70ad3ba7f530 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2181794 Reviewed-by: Denis Brockus <dbrockus@chromium.org> Commit-Queue: Denis Brockus <dbrockus@chromium.org>
Diffstat (limited to 'baseboard/zork/baseboard.c')
-rw-r--r--baseboard/zork/baseboard.c14
1 files changed, 14 insertions, 0 deletions
diff --git a/baseboard/zork/baseboard.c b/baseboard/zork/baseboard.c
index 438dafc22d..ae38c519f6 100644
--- a/baseboard/zork/baseboard.c
+++ b/baseboard/zork/baseboard.c
@@ -20,6 +20,7 @@
#include "driver/bc12/pi3usb9201.h"
#include "driver/ppc/aoz1380.h"
#include "driver/ppc/nx20p348x.h"
+#include "driver/retimer/pi3hdx1204.h"
#include "driver/tcpm/nct38xx.h"
#include "driver/temp_sensor/sb_tsi.h"
#include "driver/temp_sensor/tmp432.h"
@@ -573,3 +574,16 @@ void hdmi_hpd_interrupt(enum ioex_signal signal)
/* Debounce for 2 msec. */
hook_call_deferred(&hdmi_hpd_handler_data, (2 * MSEC));
}
+
+static void pi3hdx1204_retimer_power(void)
+{
+ if (ec_config_has_hdmi_retimer_pi3hdx1204()) {
+ int enable = chipset_in_or_transitioning_to_state(
+ CHIPSET_STATE_ON);
+ pi3hdx1204_enable(I2C_PORT_TCPC1,
+ PI3HDX1204_I2C_ADDR_FLAGS,
+ enable);
+ }
+}
+DECLARE_HOOK(HOOK_CHIPSET_RESUME, pi3hdx1204_retimer_power, HOOK_PRIO_DEFAULT);
+DECLARE_HOOK(HOOK_CHIPSET_SUSPEND, pi3hdx1204_retimer_power, HOOK_PRIO_DEFAULT);