From eaddeb502e78f93c670fe47dc489090867ec838d Mon Sep 17 00:00:00 2001 From: Vincent Palatin Date: Mon, 7 Jul 2014 19:20:35 -0700 Subject: [PATCH] firefly: add VBUS detection Enable the VBUS detection to be able to re-negociate a PD contract when we are losing power. The VBUS_WAKE GPIO is broken on the current hardware (not triggered when VBUS is 5V), so we fall back on using the ADC on VBUS_SENSE. Signed-off-by: Vincent Palatin BRANCH=none BUG=none TEST=With a Firefly connected to a Zinger,"fault" the power supply to get it to turn off its output. See Firefly detecting the cut-off and re-negotiating voltage. Change-Id: Ia5f0734cbd8f20d84ce170cea191410bb72a87c3 Reviewed-on: https://chromium-review.googlesource.com/206944 Tested-by: Vincent Palatin Reviewed-by: Alec Berg Commit-Queue: Vincent Palatin --- board/firefly/usb_pd_config.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/board/firefly/usb_pd_config.h b/board/firefly/usb_pd_config.h index eea9688842..eb23bc830c 100644 --- a/board/firefly/usb_pd_config.h +++ b/board/firefly/usb_pd_config.h @@ -107,7 +107,8 @@ static inline int pd_adc_read(int cc) static inline int pd_snk_is_vbus_provided(void) { - return 1; + /* VBUS_WAKE is broken (not detecting 5V), use the ADC instead */ + return adc_read_channel(ADC_CH_VBUS_SENSE) > 4000; } /* Standard-current DFP : no-connect voltage is 1.55V */