[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <200901161617.18351.vlobanov@speakeasy.net>
Date: Fri, 16 Jan 2009 16:17:18 -0800
From: Vadim Lobanov <vlobanov@...akeasy.net>
To: Thomas Dahlmann <dahlmann.thomas@...or.de>
Cc: linux-kernel@...r.kernel.org
Subject: Re: amd5536udc interrupts bug
On Thursday 15 January 2009 01:26:04 Thomas Dahlmann wrote:
> > It seems that the ultimate cause for all this strangeness was a mis-wired
> > board: the vendor at long last admitted that the VBUS signal is not
> > connected in the hardware. Why they didn't simply document this fact, and
> > thereby save me a lot of wasted effort, remains a mystery.
> >
> > As a workaround, they suggested setting bit 0x00000010 in the ctl
> > register, which is strangely enough inside the "reserved" space according
> > to the AMD data book. Worth a shot, I thought. After hacking up the
> > amd5536udc driver even more to do this operation at load time, the
> > register states change to:
> >
> > cap=0x000083EA
> > mux=0x00000007
> > ctl=0x00000193
> >
> > Seems that a few other "reserved" bits also raised in response. (I still
> > do not understand exactly how they wired up the CS5536 IO chip to be
> > different from the data book, but oh well.) In this mode, the USB link is
> > finally detected, and the board is finally able to enumerate itself as a
> > g_zero device.
>
> This reserved bit seems to be an alias to the earlier mentioned PUEN bit
> which allows to connect the pull up manually regardless of VBUS.
> You will find that bit at page 276 in
>
> http://www.amd.com/files/connectivitysolutions/aufamily/au1200/32798e_Au120
>0_ds.pdf
>
> If you compare the registers you will find that UDC controller of
> Au1200 is 99.9% compatible with UDC of CS5536. Same for
> CS5536 UOC and Au1200 OTG Controller. But OTG Controller of
> Au1200 has more functionality and bits.
>
> Unfortunately this bit is not the complete solution for your problem.
> When setting PUE then connect and disconnect events cannot be
> detected by UDC. If you disconnect and connect again you
> probably will notice that there will be no new enumeration as
> expected.
Interestingly enough, when running in this configuration, unplugging and
replugging the cable does cause a re-enumeration. Hmmmm.
-- Vadim Lobanov
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists