linux-omap.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Bin Liu <b-liu-l0cyMroinI0@public.gmane.org>
To: Laurent Pinchart
	<laurent.pinchart-ryLnwIuWjnjg/C1BVhZhaw@public.gmane.org>
Cc: Tony Lindgren <tony-4v6yS6AI5VpBDgjK7y7TUQ@public.gmane.org>,
	Boris Brezillon
	<boris.brezillon-wi1+55ScJUtKEb57/3fJTNBPR1lH4CV8@public.gmane.org>,
	Greg Kroah-Hartman
	<gregkh-hQyY1W1yCW8ekmWlsbkhG0B+6BGkLq7r@public.gmane.org>,
	Andreas Kemnade <andreas-cLv4Z9ELZ06ZuzBka8ofvg@public.gmane.org>,
	Felipe Balbi <balbi-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>,
	Kishon Vijay Abraham I <kishon-l0cyMroinI0@public.gmane.org>,
	Ivaylo Dimitrov
	<ivo.g.dimitrov.75-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>,
	Johan Hovold <johan-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>,
	Ladislav Michl <ladis-6z/3iImG2C8G8FEW9MqTrA@public.gmane.org>,
	Sergei Shtylyov
	<sergei.shtylyov-M4DtvfQ/ZS1MRgGoP+s0PdBPR1lH4CV8@public.gmane.org>,
	linux-usb-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	linux-omap-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
Subject: Re: [PATCH 0/4] musb fixes for v4.9-rc cycle
Date: Fri, 11 Nov 2016 17:06:02 -0600	[thread overview]
Message-ID: <20161111230602.GA17429@uda0271908> (raw)
In-Reply-To: <3814185.kgidRBy8ST@avalon>

On Sat, Nov 12, 2016 at 12:11:04AM +0200, Laurent Pinchart wrote:
> Hello,
> 
> On Friday 11 Nov 2016 08:53:22 Tony Lindgren wrote:
> > * Bin Liu <b-liu-l0cyMroinI0@public.gmane.org> [161111 08:25]:
> > > On Fri, Nov 11, 2016 at 01:39:28AM +0200, Laurent Pinchart wrote:
> > >> Hello,
> > >> 
> > >> On Friday 11 Nov 2016 00:27:52 Laurent Pinchart wrote:
> > >>> On Thursday 10 Nov 2016 13:42:34 Tony Lindgren wrote:
> > >>>> * Laurent Pinchart <laurent.pinchart-ryLnwIuWjnjg/C1BVhZhaw@public.gmane.org> [161110 13:29]:
> > >>>>> I had to disable CONFIG_USB_GADGET is compiling it as a module
> > >>>>> prevents selecting CONFIG_NOP_USB_XCEIV=y, which is a dependency for
> > >>>>> CONFIG_USB_EHCI_HCD_OMAP=m.
> > >>>>> 
> > >>>>> The new configuration resulted in a few changes, among which the
> > >>>>> most notable is
> > >>>>> 
> > >>>>> -# CONFIG_USB_MUSB_HOST is not set
> > >>>>> -# CONFIG_USB_MUSB_GADGET is not set
> > >>>>> -CONFIG_USB_MUSB_DUAL_ROLE=y
> > >>>>> +CONFIG_USB_MUSB_HOST=y
> > >>>>> 
> > >>>>> I then get the same error as originally reported.
> > >>>> 
> > >>>> Yeah OK, that's the problem.. We still have musb hardware
> > >>>> trying to do things on it's own and phy trying to detect
> > >>>> the state.
> > >>>> 
> > >>>> Any ideas why we have a dependency like that in Kconfig?
> > >>> 
> > >>> Well, with CONFIG_USB_GADGET disabled, I don't expect
> > >>> CONFIG_USB_MUSB_GADGET to be enabled. MUSB can only operate in host
> > >>> mode in that case, so musb-> xceiv->otg->state = OTG_STATE_A_IDLE
> > >>> makes sense.
> > >> 
> > >> I've tried to investigate this but I'm not familiar enough with the MUSB
> > >> driver to reach any conclusion. Felipe, if you have time could you give
> > >> me a hand ?
> > >> 
> > >> To summarize the issue, on a pandaboard-es where the MUSB is wired to an
> > >> OTG connector with mode rightfully set to MUSB_PORT_MODE_DUAL_ROLE in
> > >> DT, a kernel configured with CONFIG_USB_MUSB_HOST=y (for instance
> > >> because CONFIG_USB_GADGET is disabled) will print an endless stream of
> > >> the following meessage.
> > >> 
> > >> [    2.766174] musb_bus_suspend 2586: trying to suspend as a_idle while
> > >> active
> > >
> > > I don't have a omap3/4 platform to test on this, but I don't see this
> > > problem on am335x board.
> 
> Which board is that ? For the problem to occur the board has to have an OTG 
> connector.

It is the TI am335x GP EVM, which usb0 port has an otg receptacle, and a
power switch controlled by usb0 drvvbus pin.

> 
> > >> musb_init_controller() performs the following actions
> > >> 
> > >>         case MUSB_PORT_MODE_DUAL_ROLE:
> > >>                 status = musb_host_setup(musb, plat->power);
> > >>                 if (status < 0)
> > >>                         goto fail3;
> > >>                 status = musb_gadget_setup(musb);
> > >>                 if (status) {
> > >>                         musb_host_cleanup(musb);
> > >>                         goto fail3;
> > >>                 }
> > >>                 status = musb_platform_set_mode(musb, MUSB_OTG);
> > >>                 break;
> > >> 
> > >> and as gadget support is disabled musb_gadget_setup() compiles to a
> > >> no-op inline function. The system is thus configured in host mode by
> > >> musb_host_setup() with musb->xceiv->otg->state = OTG_STATE_A_IDLE. A
> > >> later call to musb_start() verifies the condition
> > >> 
> > >>         if (musb->port_mode != MUSB_PORT_MODE_HOST &&
> > >>             musb->xceiv->otg->state != OTG_STATE_A_WAIT_BCON &&
> > >>             (devctl & MUSB_DEVCTL_VBUS) == MUSB_DEVCTL_VBUS) {
> > > 
> > > To get there, devctl[MUSB_DEVCTL_VBUS] bits have to be set, where does the
> > > vbus voltage come from? Session is not on yet.
> 
> MUSB_DEVCTL is first set to 0 by musb_generic_disable() called from 
> musb_init_controller(). The register is then left untouched (as far as I can 
> tell, I've intercepted all musb_writeb() and musb_readb() calls) until 
> musb_start() to reads the register. The read value has BDEVICE and VBUS=3 set.

The DEVCTL_VBUS bits are set by the controller, when it sense VBUS
voltage > VBUS_VALID.

> 
> > >> and sets musb->is_active to 1. Later, musb_bus_suspend() complains
> > >> because is_active is not 0.
> > >> 
> > >> What is wrong in that sequence ?
> > 
> > I think the issue is pandaboard connected to a PC with mini-B
> > cable while musb is being forced to host mode?
> 
> The issue also occurs when the cable isn't connected.

If the otg port is not connected to a host but you still get VBUS=3, the
vbus voltage must be provided from the board itself. We have to check
the schematics to see how it is possible. This is pandaboard es, right?
Assume I will be able to find its schematics on internet...
> 
> -- 
> Regards,
> 
> Laurent Pinchart
> 

Regards,
-Bin.

--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

  reply	other threads:[~2016-11-11 23:06 UTC|newest]

Thread overview: 65+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-11-07 21:50 [PATCH 0/4] musb fixes for v4.9-rc cycle Tony Lindgren
     [not found] ` <20161107215020.31399-1-tony-4v6yS6AI5VpBDgjK7y7TUQ@public.gmane.org>
2016-11-07 21:50   ` [PATCH 1/4] usb: musb: Fix broken use of static variable for multiple instances Tony Lindgren
     [not found]     ` <20161107215020.31399-2-tony-4v6yS6AI5VpBDgjK7y7TUQ@public.gmane.org>
2016-11-08 17:10       ` Johan Hovold
2016-11-07 21:50   ` [PATCH 2/4] usb: musb: Fix sleeping function called from invalid context for hdrc glue Tony Lindgren
     [not found]     ` <20161107215020.31399-3-tony-4v6yS6AI5VpBDgjK7y7TUQ@public.gmane.org>
2016-11-08 17:09       ` Johan Hovold
2016-11-08 17:34         ` Tony Lindgren
     [not found]           ` <20161108173413.GM2428-4v6yS6AI5VpBDgjK7y7TUQ@public.gmane.org>
2016-11-08 19:03             ` Johan Hovold
2016-11-09  1:26               ` Tony Lindgren
     [not found]                 ` <20161109012606.GR2428-4v6yS6AI5VpBDgjK7y7TUQ@public.gmane.org>
2016-11-09 15:34                   ` Tony Lindgren
     [not found]                     ` <20161109153409.GU2428-4v6yS6AI5VpBDgjK7y7TUQ@public.gmane.org>
2016-11-09 15:50                       ` Johan Hovold
2016-11-09 15:39                   ` Johan Hovold
2016-11-09 16:04                     ` Johan Hovold
2016-11-09 17:54                     ` Tony Lindgren
     [not found]                       ` <20161109175437.GZ2428-4v6yS6AI5VpBDgjK7y7TUQ@public.gmane.org>
2016-11-10 16:04                         ` Johan Hovold
2016-11-10 17:41                           ` Tony Lindgren
     [not found]                             ` <20161110174150.GC27724-4v6yS6AI5VpBDgjK7y7TUQ@public.gmane.org>
2016-11-10 18:02                               ` Tony Lindgren
     [not found]                                 ` <20161110180234.GH27724-4v6yS6AI5VpBDgjK7y7TUQ@public.gmane.org>
2016-11-10 18:04                                   ` Johan Hovold
2016-11-10 18:42                               ` Johan Hovold
2016-11-10 19:40                                 ` Tony Lindgren
     [not found]                                   ` <20161110194003.GI27724-4v6yS6AI5VpBDgjK7y7TUQ@public.gmane.org>
2016-11-11 12:03                                     ` Johan Hovold
2016-11-11 15:42                                       ` Tony Lindgren
     [not found]                                         ` <20161111154250.GB7138-4v6yS6AI5VpBDgjK7y7TUQ@public.gmane.org>
2016-11-11 16:40                                           ` Johan Hovold
2016-11-11 16:50                                             ` Tony Lindgren
2016-11-07 21:50   ` [PATCH 3/4] usb: musb: Fix PM for hub disconnect Tony Lindgren
2016-11-07 21:50   ` [PATCH 4/4] phy: twl4030-usb: Fix for musb session bit based PM Tony Lindgren
2016-11-08 13:38   ` [PATCH 0/4] musb fixes for v4.9-rc cycle Ladislav Michl
     [not found]     ` <20161108133821.GA1855-bi+AKbBUZKY6gyzm1THtWbp2dZbC/Bob@public.gmane.org>
2016-11-08 14:49       ` Tony Lindgren
     [not found]         ` <20161108144934.GK2428-4v6yS6AI5VpBDgjK7y7TUQ@public.gmane.org>
2016-11-08 14:55           ` Tony Lindgren
     [not found]             ` <20161108145550.GL2428-4v6yS6AI5VpBDgjK7y7TUQ@public.gmane.org>
2016-11-08 17:19               ` Ladislav Michl
     [not found]                 ` <20161108171951.GA27533-bi+AKbBUZKY6gyzm1THtWbp2dZbC/Bob@public.gmane.org>
2016-11-08 22:05                   ` Tony Lindgren
     [not found]                     ` <20161108220530.GO2428-4v6yS6AI5VpBDgjK7y7TUQ@public.gmane.org>
2016-11-08 22:52                       ` Ladislav Michl
     [not found]                         ` <20161108225206.GA14049-bi+AKbBUZKY6gyzm1THtWbp2dZbC/Bob@public.gmane.org>
2016-11-08 23:16                           ` Tony Lindgren
     [not found]                             ` <20161108231637.GP2428-4v6yS6AI5VpBDgjK7y7TUQ@public.gmane.org>
2016-11-08 23:39                               ` Ladislav Michl
     [not found]                                 ` <20161108233934.GA25005-bi+AKbBUZKY6gyzm1THtWbp2dZbC/Bob@public.gmane.org>
2016-11-08 23:47                                   ` Tony Lindgren
2016-11-10 12:46   ` Laurent Pinchart
2016-11-10 15:01     ` Tony Lindgren
     [not found]       ` <20161110150152.GA27724-4v6yS6AI5VpBDgjK7y7TUQ@public.gmane.org>
2016-11-10 17:18         ` Laurent Pinchart
2016-11-10 17:25           ` Laurent Pinchart
2016-11-10 17:43           ` Laurent Pinchart
2016-11-10 17:50           ` Tony Lindgren
     [not found]             ` <20161110175033.GD27724-4v6yS6AI5VpBDgjK7y7TUQ@public.gmane.org>
2016-11-10 20:29               ` Laurent Pinchart
2016-11-10 20:42                 ` Tony Lindgren
     [not found]                   ` <20161110204233.GJ27724-4v6yS6AI5VpBDgjK7y7TUQ@public.gmane.org>
2016-11-10 22:27                     ` Laurent Pinchart
2016-11-10 23:39                       ` Laurent Pinchart
2016-11-11 16:24                         ` Bin Liu
2016-11-11 16:53                           ` Tony Lindgren
     [not found]                             ` <20161111165321.GF7138-4v6yS6AI5VpBDgjK7y7TUQ@public.gmane.org>
2016-11-11 22:11                               ` Laurent Pinchart
2016-11-11 23:06                                 ` Bin Liu [this message]
2016-11-12  1:21                                   ` Laurent Pinchart
2016-12-20 18:40                                     ` Ladislav Michl
2016-12-20 20:59                                       ` Tony Lindgren
2016-11-10 21:25                 ` Laurent Pinchart
2016-11-10 21:56                   ` Tony Lindgren
2016-11-23 10:14                   ` Tomi Valkeinen
     [not found]                     ` <839f0f26-3bb0-d368-8cff-dbccaffa7244-l0cyMroinI0@public.gmane.org>
2016-11-23 15:49                       ` Laurent Pinchart
2016-11-23 15:54                         ` Tomi Valkeinen
     [not found]                           ` <47c6e11e-3725-8955-5cc4-654df4d1c3bc-l0cyMroinI0@public.gmane.org>
2016-11-23 15:57                             ` Tony Lindgren
     [not found]                               ` <20161123155747.GF4082-4v6yS6AI5VpBDgjK7y7TUQ@public.gmane.org>
2016-11-23 16:13                                 ` Tomi Valkeinen
     [not found]                                   ` <c76fd922-9ac8-3b32-902a-7839a4817109-l0cyMroinI0@public.gmane.org>
2016-11-23 16:34                                     ` Tony Lindgren
     [not found]                                       ` <20161123163448.GJ4082-4v6yS6AI5VpBDgjK7y7TUQ@public.gmane.org>
2016-11-23 16:40                                         ` Tomi Valkeinen
     [not found]                                           ` <19526c30-5f18-337a-1e73-7f8965a778c1-l0cyMroinI0@public.gmane.org>
2016-11-23 16:44                                             ` Tony Lindgren
2016-11-23 16:44                                             ` Laurent Pinchart
2016-12-08  5:51                                               ` Tony Lindgren
     [not found]                                                 ` <20161208055122.GC4264-4v6yS6AI5VpBDgjK7y7TUQ@public.gmane.org>
2016-12-08 12:03                                                   ` Laurent Pinchart
2016-12-08 18:47                                                     ` Tony Lindgren

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20161111230602.GA17429@uda0271908 \
    --to=b-liu-l0cymroini0@public.gmane.org \
    --cc=andreas-cLv4Z9ELZ06ZuzBka8ofvg@public.gmane.org \
    --cc=balbi-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org \
    --cc=boris.brezillon-wi1+55ScJUtKEb57/3fJTNBPR1lH4CV8@public.gmane.org \
    --cc=gregkh-hQyY1W1yCW8ekmWlsbkhG0B+6BGkLq7r@public.gmane.org \
    --cc=ivo.g.dimitrov.75-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org \
    --cc=johan-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org \
    --cc=kishon-l0cyMroinI0@public.gmane.org \
    --cc=ladis-6z/3iImG2C8G8FEW9MqTrA@public.gmane.org \
    --cc=laurent.pinchart-ryLnwIuWjnjg/C1BVhZhaw@public.gmane.org \
    --cc=linux-omap-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=linux-usb-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=sergei.shtylyov-M4DtvfQ/ZS1MRgGoP+s0PdBPR1lH4CV8@public.gmane.org \
    --cc=tony-4v6yS6AI5VpBDgjK7y7TUQ@public.gmane.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).