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

From: Adam Ford
Date: Mon Feb 22 2016 - 10:49:13 EST


For what it's worth, I tried running the MUSB via the twl4030 on
Linux-Next (I don't remember which snapshot), and it was broken for me
on a DM3730 (OMAP 3630), but Kernel 4.4.2 worked. Are you using
Linux-Next or one of the stable kernels?

I can try again later this week with a newer linux-next when I have
more time to see if it's still there. Once I realized the stable
kernel worked, I stoped since I was just testing some device tree
stuff.

adam



On Mon, Feb 22, 2016 at 9:36 AM, Bin Liu <b-liu@xxxxxx> wrote:
> Hi,
>
> On Mon, Feb 22, 2016 at 10:54:21AM +0200, Felipe Balbi wrote:
>>
>> Hi,
>>
>> Pali RohÃr <pali.rohar@xxxxxxxxx> writes:
>> > On Monday 22 February 2016 09:31:50 Felipe Balbi wrote:
>> >> Pali RohÃr <pali.rohar@xxxxxxxxx> writes:
>> >>
>> >> > On Tuesday 26 January 2016 18:26:32 Tony Lindgren wrote:
>> >> >> * Pali RohÃr <pali.rohar@xxxxxxxxx> [160126 06:35]:
>> >> >> > On Thursday 21 January 2016 12:30:13 Tony Lindgren wrote:
>> >> >> > > * joerg Reisenweber <joerg@xxxxxxxxxxxx> [160121 11:35]:
>> >> >> > > > On Thu 21 January 2016 11:21:13 Tony Lindgren wrote:
>> >> >> > > > > Do you have some pointer
>> >> >> > > > > to the "certain resistor value on ID to GND" spec? Is it
>> >> >> > > > > maybe part of the carkit related parts of the USB spec?
>> >> >> > > >
>> >> >> > > > ""Three additional ID pin states are defined[4] at the nominal
>> >> >> > > > resistance values of 124 kÎ, 68 kÎ, and 36.5 kÎ, with respect
>> >> >> > > > to the ground pin. These permit the device to work with USB
>> >> >> > > > Accessory Charger Adapters that allows the OTG device to be
>> >> >> > > > attached to both a charger and another device simultaneously.
>> >> >> > > > [6]""
>> >> >> > > > https://en.wikipedia.org/wiki/USB_On-The-Go#OTG_micro_plugs
>> >> >> > >
>> >> >> > > OK thanks. So it's the "accessory charger" part of the
>> >> >> > > battery charging specification 1.1.
>> >> >> >
>> >> >> > So, Tony, do you have some idea what needs to be changed and how to
>> >> >> > fix peripheral mode after boot on Nokia N900?
>> >> >>
>> >> >> No, I'm waiting to hear an educated guess from Felipe on this one.
>> >>
>> >> about why peripheral mode doesn't work on n900 ? No idea. that's always
>> >> the default role of MUSB and last I checked, before stopping working on
>> >> this, BBB was working just fine.
>> >>
>> >> N900 is odd in that it has two PHYs (1701 handles data lines while
>> >> twl4030 handles power lines, IIRC), but peripheral should be working.
>> >>
>> >> The only reason for MUSB to not start would be that it's not detecting
>> >> VBUS being above session valid threshold, however twl4030 should have an
>> >> IRQ for that.
>> >>
>> >> What happens when cable is attached ? Any IRQs anywhere firing ?
>> >>
>> >
>> > Just to note, when I call echo peripheral > mode then detecting usb
>> > cable starts working and usb peripheral mode also works fine (also
>> > after disconnecting and connecting usb cable again). Read my first
>> > post in this thread, there are also some logs:
>> > https://lkml.org/lkml/2016/1/9/69
>>
>> interesting... that softconnect interface looks odd. We _know_ the value
>> of softconnect from musb->softconnect. /me reads commit which added
>> it... Oh okay, that's only valid for host mode. Argh!
>
> softconnet bit is only valid for *peripheral* mode, but the bit is not
> set in this case, so the host will not be able to detect the device.
>
> Pali,
>
> Is this never worked or just broken recently? If latter, possible to
> git-bisect to find out which patch causes softconnect bit not set?
>
> Regards,
> -Bin.
>
>>
>> Okay, the session bit is _NOT_ set when it should be. Note that DevCtl
>> reads as 0x98. Bit 0 is Session bit and that's not set. MUSB _is_ in the
>> device mode (bit 7 set).
>>
>> For some reason DevCtl didn't get set. Care to add a print to
>> musb_gadget_pullup() to see when/if it's called ?
>>
>> BTW, Bin will be maintaining MUSB going forward.
>>
>> --
>> balbi
>
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-omap" in
> the body of a message to majordomo@xxxxxxxxxxxxxxx
> More majordomo info at http://vger.kernel.org/majordomo-info.html