mirror of
https://github.com/edk2-porting/linux-next.git
synced 2024-12-23 04:34:11 +08:00
usb: musb: core: honour initial transceiver state
As the usb transceiver driver usually starts first, it should already have default_a variable set according to ID pin state, so don't override it. In case default_a was not changed by trasceiver, it will default to 0 and this code will work as before. Signed-off-by: Grazvydas Ignotas <notasas@gmail.com> Signed-off-by: Felipe Balbi <balbi@ti.com>
This commit is contained in:
parent
4261b8f353
commit
e561511280
@ -1952,9 +1952,13 @@ musb_init_controller(struct device *dev, int nIrq, void __iomem *ctrl)
|
||||
musb_write_ulpi_buscontrol(musb->mregs, busctl);
|
||||
}
|
||||
|
||||
MUSB_DEV_MODE(musb);
|
||||
musb->xceiv->otg->default_a = 0;
|
||||
musb->xceiv->state = OTG_STATE_B_IDLE;
|
||||
if (musb->xceiv->otg->default_a) {
|
||||
MUSB_HST_MODE(musb);
|
||||
musb->xceiv->state = OTG_STATE_A_IDLE;
|
||||
} else {
|
||||
MUSB_DEV_MODE(musb);
|
||||
musb->xceiv->state = OTG_STATE_B_IDLE;
|
||||
}
|
||||
|
||||
status = musb_gadget_setup(musb);
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user