drivers/ec: Return VBERROR_SUCCESS on successful TCPC FW update

TCPC chips request EC Reboot to RO under 2 different situation:
1) to unlock the concerned remote_bus tunnel, if already in locked state
2) to get reset after the FW update is applied successfully.
Returning the same error code in these different situation is ambiguos.
Update the TCPC chips drivers to return VBERROR_SUCCESS on successful FW
update, so that vboot can differentiate the situation and take
appropriate action.

TEST=Boot to ChromeOS. Force a TCPC FW update and ensure that the EC
reboots to RO after a successful TCPC update.

Cq-Depend: chromium:1627302
Change-Id: I519e72e33a372763ef7d7073a2a615acdcb011fe
Signed-off-by: Karthikeyan Ramasubramanian <>
Tested-by: Karthikeyan Ramasubramanian <>
Commit-Ready: Karthikeyan Ramasubramanian <>
Legacy-Commit-Queue: Commit Bot <>
Reviewed-by: Julius Werner <>
diff --git a/src/drivers/ec/anx3429/anx3429.c b/src/drivers/ec/anx3429/anx3429.c
index 7cd209e..4017027 100644
--- a/src/drivers/ec/anx3429/anx3429.c
+++ b/src/drivers/ec/anx3429/anx3429.c
@@ -1203,10 +1203,6 @@
-	/* Request EC reboot on successful update */
-	if (status == VBERROR_SUCCESS)
 	return status;
diff --git a/src/drivers/ec/vboot_aux_fw.h b/src/drivers/ec/vboot_aux_fw.h
index 92732f4..c93eb06 100644
--- a/src/drivers/ec/vboot_aux_fw.h
+++ b/src/drivers/ec/vboot_aux_fw.h
@@ -25,6 +25,11 @@
 	VbError_t (*check_hash)(const VbootAuxFwOps *me,
 				const uint8_t *hash, size_t hash_size,
 				VbAuxFwUpdateSeverity_t *severity);
+	/*
+	 * Return VBERROR_SUCCESS on successful update. AUX FW Sync in turn
+	 * requests for an EC reboot to RO on successful update, so that any
+	 * chip whose FW is updated gets reset to a clean state.
+	 */
 	VbError_t (*update_image)(const VbootAuxFwOps *me,
 				  const uint8_t *image, size_t image_size);
 	VbError_t (*protect_status)(const VbootAuxFwOps *me,
diff --git a/src/drivers/ec/wilco/pd.c b/src/drivers/ec/wilco/pd.c
index e80ac11..c57f05d 100644
--- a/src/drivers/ec/wilco/pd.c
+++ b/src/drivers/ec/wilco/pd.c
@@ -247,7 +247,7 @@
 	if (ret < 0)
 		return ret;
 static VbError_t wilco_pd_protect_status(const VbootAuxFwOps *vbaux,