linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Tony Lindgren <tony@atomide.com>
To: joerg Reisenweber <joerg@openmoko.org>
Cc: "Pali Rohár" <pali.rohar@gmail.com>,
	"Felipe Balbi" <balbi@ti.com>,
	"Greg Kroah-Hartman" <gregkh@linuxfoundation.org>,
	linux-usb@vger.kernel.org, linux-kernel@vger.kernel.org,
	linux-omap@vger.kernel.org,
	"Ivaylo Dimitrov" <ivo.g.dimitrov.75@gmail.com>,
	"Sebastian Reichel" <sre@kernel.org>,
	"Aaro Koskinen" <aaro.koskinen@iki.fi>,
	"Pavel Machek" <pavel@ucw.cz>, "Nishanth Menon" <nm@ti.com>
Subject: Re: Nokia N900: musb is in wrong state after boot
Date: Thu, 21 Jan 2016 09:41:46 -0800	[thread overview]
Message-ID: <20160121174146.GK19432@atomide.com> (raw)
In-Reply-To: <2300247.VhtcKLq8UC@saturn>

* joerg Reisenweber <joerg@openmoko.org> [160121 02:30]:
> On Thu 21 January 2016 09:40:07 Pali Rohár wrote:
> > On Tuesday 19 January 2016 12:33:15 Tony Lindgren wrote:
> > > Hi,
> > > 
> > > * Pali Rohár <pali.rohar@gmail.com> [160109 07:16]:
> > > > Hello,
> > > > 
> > > > when I boot 4.4.0-rc7+ kernel compiled with g_nokia into zImage on Nokia
> > > > N900 into userspace then usb gadget (g_nokia) does not work. Notebook,
> > > > connected on other side does not see any usb device... Connecting and
> > > > disconnecting cable does not change anything, still not work.
> > > > 
> > > > But if I run this command
> > > > $ echo peripheral > /sys/bus/platform/devices/musb-hdrc.0.auto/mode
> > > > 
> > > > 
> > > > then gadget starts working. Other side see usb device and can use it.
> > > > Also connecting and disconnecting usb cable working fine. After
> > > > connecting it again, usb device OK.
> > > 
> > > N900 had the PHY interrupt wired to the bq chip instead of twl4030, right?
> 
> which interrupt? I'll try to answer based on assumptions: 1707 PHY connects to 
> bq24150 charger via CHRG_DET signal.
> I guess you're talking about the VBUS detection which is done in twl4030 VBUS-
> pin R8.

Right, I'm confusing things a bit here. If the VBUS detection is done in
twl4030, then it should notify the USB subsystem. But on n900 the USB
phy is not ti,twl4030-usb, it's the 1707 instead.

So my guess is that in drivers/phy/phy-twl4030-usb.c the interrupt never
gets enabled as the PHY driver never gets probed?

Then for supporting the USB host mode.. We should add regulator support
to the USB PHY driver so if the ID pin is grounded, the PHY driver enables
the VBUS regulator. That too seems to need some coordination between the
drivers/phy/phy-twl4030-usb.c and 1707 driver if the ID pin interrupt is
only detected in drivers/phy/phy-twl4030-usb.c.

> N900 PHY (1707) is connected to musb core via ULPI 
> (https://www.mentor.com/products/ip/usb/usb20otg/phy_interfaces), it has no 
> I2C interface and no other IRQ than what's implemented in (normally powered-
> down?) ULPI already.
> I guess the problem in this case is along the USB VBUS and ID pin A/B OTG 
> detection: the USB jack's ID pin is _not_ connected to the PHY in N900 but 
> rather is connected to TWL4030 aka GAIA ID pin R11 which afaik is part of the 
> otherwise unused (except VBUS detection?) PHY in TWL4030. 
> It seems to me the actually used PHY 1707 does not support ID, neither does it 
> support a dedicated IRQ line for VBUS.

Yes so it seems.

> Generally musb-core and buses should be suspended/off by default, for energy 
> conservation reasons (seemingly ~40mA on Vbatt!), and only get enabled when 
> twl4030 detects +5V on VBUS (also before my hostmode botch tries to talk to 
> the musb core debug registers which needs to happen before VBUS gets applied)

I also think there's also some related twl4030 errata where it's
recommended the USB PHY is in suspend mode instead of disabled.

Regards,

Tony

  reply	other threads:[~2016-01-21 17:41 UTC|newest]

Thread overview: 41+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-01-09 15:16 Nokia N900: musb is in wrong state after boot Pali Rohár
2016-01-19 20:33 ` Tony Lindgren
2016-01-21  8:40   ` Pali Rohár
2016-01-21  9:57     ` Ivaylo Dimitrov
2016-01-21 10:23       ` Pali Rohár
2016-01-21 10:27         ` Ivaylo Dimitrov
2016-01-21 10:29     ` joerg Reisenweber
2016-01-21 17:41       ` Tony Lindgren [this message]
2016-01-21 18:44         ` joerg Reisenweber
2016-01-21 19:21           ` Tony Lindgren
2016-01-21 19:34             ` joerg Reisenweber
2016-01-21 20:30               ` Tony Lindgren
2016-01-26 14:34                 ` Pali Rohár
2016-01-26 17:26                   ` Tony Lindgren
2016-02-21 11:12                     ` Pali Rohár
2016-02-22  7:31                       ` Felipe Balbi
2016-02-22  8:34                         ` Pali Rohár
2016-02-22  8:54                           ` Felipe Balbi
2016-02-22  8:54                           ` Felipe Balbi
2016-02-22 15:36                             ` Bin Liu
2016-02-22 15:49                               ` Adam Ford
2016-01-23 12:57             ` Pali Rohár
2016-05-29 10:38               ` Pali Rohár
2016-06-07 12:50                 ` Pali Rohár
2016-06-08  9:53                   ` Tony Lindgren
2016-06-08 10:02                     ` Felipe Balbi
2016-06-08 10:19                       ` Pali Rohár
2016-06-08 10:20                       ` joerg Reisenweber
2016-06-08 12:04                       ` Sergei Shtylyov
2016-06-08 12:18                         ` joerg Reisenweber
2016-06-08 12:32                           ` Sergei Shtylyov
2016-06-09 21:09                       ` Bin Liu
2016-06-09 20:58                 ` Bin Liu
2016-06-09 21:25                   ` joerg Reisenweber
2016-06-10 15:08                     ` Bin Liu
2016-06-10 15:23                       ` joerg Reisenweber
2016-06-10 15:59                         ` Bin Liu
2016-06-10 16:15                           ` joerg Reisenweber
2016-06-10 17:04                             ` Nishanth Menon
2016-06-10 17:21                               ` joerg Reisenweber
2016-06-10 17:37                             ` Bin Liu

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=20160121174146.GK19432@atomide.com \
    --to=tony@atomide.com \
    --cc=aaro.koskinen@iki.fi \
    --cc=balbi@ti.com \
    --cc=gregkh@linuxfoundation.org \
    --cc=ivo.g.dimitrov.75@gmail.com \
    --cc=joerg@openmoko.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-omap@vger.kernel.org \
    --cc=linux-usb@vger.kernel.org \
    --cc=nm@ti.com \
    --cc=pali.rohar@gmail.com \
    --cc=pavel@ucw.cz \
    --cc=sre@kernel.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).