Re: Nokia N900: musb is in wrong state after boot

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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@xxxxxxxxx> [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.

> 
> I do not know now. I tried to find it in N900 schemantics, but do not
> see it.
> 
> CCing Joerg, do you know?
> 
> > You can fix this issue similar to phy-twl4030-usb.c. In function
> > twl4030_phy_power_on() we call schedule_delayed_work() that checks
> > the state of the ID pin on boot up.
> 
> I looked at that code, but do not see what and how can be fixed :-(
> 
> > I think that's only needed for the i2c based PHY's with MUSB, with
> > the others the USB driver has a better idea of the current state.
> > 
> > Regards,
> > 
> > Tony


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.

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)

cheers
jOERG
-- 
()  ascii ribbon campaign
/\  
against html e-mail - against proprietary attachments
http://www.georgedillon.com/web/html_email_is_evil.shtml          
http://www.nonhtmlmail.org/campaign.html
http://www.georgedillon.com/web/html_email_is_evil_still.shtml    
http://www.gerstbach.at/2004/ascii/ (German)

Attachment: signature.asc
Description: This is a digitally signed message part.


[Index of Archives]     [Linux Arm (vger)]     [ARM Kernel]     [ARM MSM]     [Linux Tegra]     [Linux WPAN Networking]     [Linux Wireless Networking]     [Maemo Users]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Trails]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux