[PATCH 2/6] usb: chipidea: usbmisc_imx: Fix setting i.MX6SX wakeup source
Sascha Hauer
s.hauer at pengutronix.de
Tue Oct 11 01:29:20 PDT 2022
MX6SX_USB_VBUS_WAKEUP_SOURCE are two bits containing an enum value,
so when read/modify/write that we have to clear both bits bits before
setting the desired bits. The clearing of the bits was forgotten, add
it.
Signed-off-by: Sascha Hauer <s.hauer at pengutronix.de>
---
drivers/usb/chipidea/usbmisc_imx.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/drivers/usb/chipidea/usbmisc_imx.c b/drivers/usb/chipidea/usbmisc_imx.c
index 8f805aa9c383c..e1b4b7f9b3f31 100644
--- a/drivers/usb/chipidea/usbmisc_imx.c
+++ b/drivers/usb/chipidea/usbmisc_imx.c
@@ -551,6 +551,7 @@ static int usbmisc_imx6sx_init(struct imx_usbmisc_data *data)
spin_lock_irqsave(&usbmisc->lock, flags);
/* Set vbus wakeup source as bvalid */
val = readl(reg);
+ val &= ~MX6SX_USB_VBUS_WAKEUP_SOURCE(3);
writel(val | MX6SX_USB_VBUS_WAKEUP_SOURCE_BVALID, reg);
/*
* Disable dp/dm wakeup in device mode when vbus is
--
2.30.2
More information about the linux-arm-kernel
mailing list