Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 1374a430 authored by Bin Liu's avatar Bin Liu Committed by Felipe Balbi
Browse files

usb: musb: fix otg default state



Right after the musb_hdrc driver is loaded, the otg default state
is a_idle, and Mode=Host, which are set by musb_host_setup().

This causes the following kernel message during musb gadget
enumeration.

	CAUTION: musb: Babble Interrupt Occurred

This patch sets the otg default state to b_idle, and its Mode to
Peripheral.

It has been validated on TI AM335x GP EVM USB0 port with g_zero.

Signed-off-by: default avatarBin Liu <b-liu@ti.com>
Signed-off-by: default avatarFelipe Balbi <balbi@ti.com>
parent d3675e3a
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -1790,6 +1790,10 @@ int musb_gadget_setup(struct musb *musb)
	musb->g.max_speed = USB_SPEED_HIGH;
	musb->g.speed = USB_SPEED_UNKNOWN;

	MUSB_DEV_MODE(musb);
	musb->xceiv->otg->default_a = 0;
	musb->xceiv->state = OTG_STATE_B_IDLE;

	/* this "gadget" abstracts/virtualizes the controller */
	musb->g.name = musb_driver_name;
	musb->g.is_otg = 1;