提交 e5615112 编写于 作者: G Grazvydas Ignotas 提交者: Felipe Balbi

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: NGrazvydas Ignotas <notasas@gmail.com>
Signed-off-by: NFelipe Balbi <balbi@ti.com>
上级 4261b8f3
...@@ -1952,9 +1952,13 @@ musb_init_controller(struct device *dev, int nIrq, void __iomem *ctrl) ...@@ -1952,9 +1952,13 @@ musb_init_controller(struct device *dev, int nIrq, void __iomem *ctrl)
musb_write_ulpi_buscontrol(musb->mregs, busctl); 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_DEV_MODE(musb);
musb->xceiv->otg->default_a = 0;
musb->xceiv->state = OTG_STATE_B_IDLE; musb->xceiv->state = OTG_STATE_B_IDLE;
}
status = musb_gadget_setup(musb); status = musb_gadget_setup(musb);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册