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:
Родитель
4261b8f353
Коммит
e561511280
|
@ -1952,9 +1952,13 @@ musb_init_controller(struct device *dev, int nIrq, void __iomem *ctrl)
|
|||
musb_write_ulpi_buscontrol(musb->mregs, busctl);
|
||||
}
|
||||
|
||||
if (musb->xceiv->otg->default_a) {
|
||||
MUSB_HST_MODE(musb);
|
||||
musb->xceiv->state = OTG_STATE_A_IDLE;
|
||||
} else {
|
||||
MUSB_DEV_MODE(musb);
|
||||
musb->xceiv->otg->default_a = 0;
|
||||
musb->xceiv->state = OTG_STATE_B_IDLE;
|
||||
}
|
||||
|
||||
status = musb_gadget_setup(musb);
|
||||
|
||||
|
|
Загрузка…
Ссылка в новой задаче