summaryrefslogtreecommitdiff
path: root/common
diff options
context:
space:
mode:
authorShawn Nematbakhsh <shawnn@chromium.org>2016-06-01 16:23:30 -0700
committerchrome-bot <chrome-bot@chromium.org>2016-06-02 14:06:53 -0700
commit54261224660e9deb980c8d39b74f144f01edf68a (patch)
treea794df2dc6bc10048ebc2f12be2b2efba5c40ef7 /common
parent4f600b32bbcdd1f870f8389b8666101d3a8513ed (diff)
downloadchrome-ec-54261224660e9deb980c8d39b74f144f01edf68a.tar.gz
cleanup: pd: Define VBUS detection source
Previously CONFIG_USB_PD_TCPM_VBUS had two uses which were independent: - When operating as a TCPC, it indicated that the VBUS level should be tracked (through GPIO inputs) and sent to the external TCPM when appropriate. - When operating as a TCPM, it indicated that the VBUS level should be obtained by querying the TCPC. These two independent uses have been split into CONFIG_USB_PD_TCPC_TRACK_VBUS and CONFIG_USB_PD_VBUS_DETECT_TCPC, which sould be more clear. In addition, CONFIG_USB_PD_VBUS_DETECT_* CONFIGs have been added for other means of VBUS detection. BUG=chromium:616580 BRANCH=None TEST=Verify kevin continues to boot + charge. Signed-off-by: Shawn Nematbakhsh <shawnn@chromium.org> Change-Id: I936821481d6577e17e3e9c61ff97c037574d6923 Reviewed-on: https://chromium-review.googlesource.com/348950 Commit-Ready: Shawn N <shawnn@chromium.org> Tested-by: Shawn N <shawnn@chromium.org> Reviewed-by: Shawn N <shawnn@chromium.org>
Diffstat (limited to 'common')
-rw-r--r--common/usb_charger.c8
-rw-r--r--common/usb_pd_protocol.c8
-rw-r--r--common/usb_pd_tcpc.c12
3 files changed, 16 insertions, 12 deletions
diff --git a/common/usb_charger.c b/common/usb_charger.c
index 2b9c505f2e..67dd612e36 100644
--- a/common/usb_charger.c
+++ b/common/usb_charger.c
@@ -89,8 +89,12 @@ static void usb_charger_init(void)
i,
&charge_none);
-#ifndef CONFIG_USB_PD_TCPM_VBUS
- /* Initialize VBUS supplier based on whether VBUS is present */
+#ifndef CONFIG_USB_PD_VBUS_DETECT_TCPC
+ /*
+ * Initialize VBUS supplier based on whether VBUS is present.
+ * For CONFIG_USB_PD_VBUS_DETECT_TCPC, usb_charger_vbus_change()
+ * will be called directly from TCPC alert.
+ */
update_vbus_supplier(i, pd_snk_is_vbus_provided(i));
#endif
}
diff --git a/common/usb_pd_protocol.c b/common/usb_pd_protocol.c
index 276698710d..1de29a184f 100644
--- a/common/usb_pd_protocol.c
+++ b/common/usb_pd_protocol.c
@@ -224,7 +224,7 @@ void pd_vbus_low(int port)
static inline int pd_is_vbus_present(int port)
{
-#ifdef CONFIG_USB_PD_TCPM_VBUS
+#ifdef CONFIG_USB_PD_VBUS_DETECT_TCPC
return tcpm_get_vbus_level(port);
#else
return pd_snk_is_vbus_provided(port);
@@ -704,7 +704,7 @@ static void handle_data_request(int port, uint16_t head,
case PD_DATA_SOURCE_CAP:
if ((pd[port].task_state == PD_STATE_SNK_DISCOVERY)
|| (pd[port].task_state == PD_STATE_SNK_TRANSITION)
-#ifdef CONFIG_USB_PD_NO_VBUS_DETECT
+#ifdef CONFIG_USB_PD_VBUS_DETECT_NONE
|| (pd[port].task_state ==
PD_STATE_SNK_HARD_RESET_RECOVER)
#endif
@@ -1393,7 +1393,7 @@ void pd_task(void)
int hard_reset_count = 0;
#ifdef CONFIG_USB_PD_DUAL_ROLE
uint64_t next_role_swap = PD_T_DRP_SNK;
-#ifndef CONFIG_USB_PD_NO_VBUS_DETECT
+#ifndef CONFIG_USB_PD_VBUS_DETECT_NONE
int snk_hard_reset_vbus_off = 0;
#endif
#ifdef CONFIG_CHARGE_MANAGER
@@ -2101,7 +2101,7 @@ void pd_task(void)
case PD_STATE_SNK_HARD_RESET_RECOVER:
if (pd[port].last_state != pd[port].task_state)
pd[port].flags |= PD_FLAGS_DATA_SWAPPED;
-#ifdef CONFIG_USB_PD_NO_VBUS_DETECT
+#ifdef CONFIG_USB_PD_VBUS_DETECT_NONE
/*
* Can't measure vbus state so this is the maximum
* recovery time for the source.
diff --git a/common/usb_pd_tcpc.c b/common/usb_pd_tcpc.c
index 8e6b9dda5e..644f27dcd1 100644
--- a/common/usb_pd_tcpc.c
+++ b/common/usb_pd_tcpc.c
@@ -978,7 +978,7 @@ int tcpc_set_polarity(int port, int polarity)
return EC_SUCCESS;
}
-#ifdef CONFIG_USB_PD_TCPM_VBUS
+#ifdef CONFIG_USB_PD_TCPC_TRACK_VBUS
static int tcpc_set_power_status(int port, int vbus_present)
{
/* Update VBUS present bit */
@@ -993,7 +993,7 @@ static int tcpc_set_power_status(int port, int vbus_present)
return EC_SUCCESS;
}
-#endif /* CONFIG_USB_PD_TCPM_VBUS */
+#endif /* CONFIG_USB_PD_TCPC_TRACK_VBUS */
int tcpc_set_power_status_mask(int port, uint8_t mask)
{
@@ -1102,7 +1102,7 @@ void tcpc_init(int port)
pd_adc_read(port, i));
}
-#ifdef CONFIG_USB_PD_TCPM_VBUS
+#ifdef CONFIG_USB_PD_TCPC_TRACK_VBUS
#if CONFIG_USB_PD_PORT_COUNT >= 2
tcpc_set_power_status(port, !gpio_get_level(port ?
GPIO_USB_C1_VBUS_WAKE_L :
@@ -1110,7 +1110,7 @@ void tcpc_init(int port)
#else
tcpc_set_power_status(port, !gpio_get_level(GPIO_USB_C0_VBUS_WAKE_L));
#endif /* CONFIG_USB_PD_PORT_COUNT >= 2 */
-#endif /* CONFIG_USB_PD_TCPM_VBUS */
+#endif /* CONFIG_USB_PD_TCPC_TRACK_VBUS */
/* set default alert and power mask register values */
pd[port].alert_mask = TCPC_REG_ALERT_MASK_ALL;
@@ -1120,7 +1120,7 @@ void tcpc_init(int port)
alert(port, TCPC_REG_ALERT_POWER_STATUS);
}
-#ifdef CONFIG_USB_PD_TCPM_VBUS
+#ifdef CONFIG_USB_PD_TCPC_TRACK_VBUS
void pd_vbus_evt_p0(enum gpio_signal signal)
{
tcpc_set_power_status(TASK_ID_TO_PD_PORT(TASK_ID_PD_C0),
@@ -1136,7 +1136,7 @@ void pd_vbus_evt_p1(enum gpio_signal signal)
task_wake(TASK_ID_PD_C1);
}
#endif /* PD_PORT_COUNT >= 2 */
-#endif /* CONFIG_USB_PD_TCPM_VBUS */
+#endif /* CONFIG_USB_PD_TCPC_TRACK_VBUS */
#ifndef CONFIG_USB_POWER_DELIVERY
static void tcpc_i2c_write(int port, int reg, int len, uint8_t *payload)