Hi Sergei,
Thank you for the comments.
On 12/08/2010 12:53 PM, Sergei Shtylyov wrote:
You probably copied this from omap2430.c?
Yes.
This is incorrect way of
inplemeting this method.
Ok, I was letting the the connector chose the mode.
See drivers/usb/musb/da8xx.c for the correct one. The
method should enforce host/gadget/OTG mode.
It looks like da8xx is overriding the comparators and so. Is it what
enforcing meant here? Or the driver should only allow the
desired mode, but should wait for the proper conditions as well. For
example, if desired mode is MUSB_PERIPHERAL,
wait till VBUS is valid and in the mean time ignore ID ground event if
you get it.
> +int __init musb_platform_init(struct musb *musb, void *board_data)
> +{
> + clk_enable(musb->clock);
> +
> + musb->xceiv = otg_get_transceiver();
> + if (!musb->xceiv) {
> + pr_err("no transceiver configured\n");
> + return -ENODEV;;
You forgot to call clk_disable()...
My bad. I am already rebasing to musb-hw branch as Felipe suggested and
there it has been taken care of.
Thanks,
--
Mian Yousaf Kaukab
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html