From 49a80ce47507dd7be309baad880a9d93704bd675 Mon Sep 17 00:00:00 2001 From: Patrick Georgi Date: Tue, 10 Mar 2015 12:47:36 +0100 Subject: [PATCH] libpayload: More defensive ChipIdea initialization Mark EP0 non-stall explicitly. Shouldn't be necessary, but won't hurt either. BRANCH=none BUG=none TEST=none Change-Id: I7ecd16a2affe064918d93436aedfa07bd9a1cf56 Signed-off-by: Patrick Georgi Original-Commit-Id: a0fc237b33444fc30dc5b62e4f1afc3188f2cf43 Original-Change-Id: I1aa8742eebc4de733317600e35627631ebaf4724 Original-Signed-off-by: Patrick Georgi Original-Reviewed-on: https://chromium-review.googlesource.com/258061 Original-Reviewed-by: Furquan Shaikh Reviewed-on: http://review.coreboot.org/9787 Tested-by: build bot (Jenkins) Reviewed-by: Stefan Reinauer --- payloads/libpayload/drivers/udc/chipidea.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/payloads/libpayload/drivers/udc/chipidea.c b/payloads/libpayload/drivers/udc/chipidea.c index 87c3076ecb..a399e8cd96 100644 --- a/payloads/libpayload/drivers/udc/chipidea.c +++ b/payloads/libpayload/drivers/udc/chipidea.c @@ -128,6 +128,9 @@ static int chipidea_hw_init(struct usbdev_ctrl *this, void *_opreg, debug("taking controller out of reset\n"); writel(USBCMD_8MICRO | USBCMD_RUN, &p->opreg->usbcmd); + this->stall(this, 0, 0, 0); + this->stall(this, 0, 1, 0); + return 1; }