Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 29 Oct 2012 14:25:45 +0100
From:      Hans Petter Selasky <hselasky@c2i.net>
To:        freebsd-arm@freebsd.org
Cc:        Bakul Shah <bakul@bitblocks.com>, Alexander Yerenkow <yerenkow@gmail.com>
Subject:   Re: Raspberry PI gets USB support [FreeBSD 10 current]
Message-ID:  <201210291425.45120.hselasky@c2i.net>
In-Reply-To: <20121025201251.7F5E3B827@mail.bitblocks.com>
References:  <201209101654.00891.hselasky@c2i.net> <50890B5C.2080406@freebsd.org> <20121025201251.7F5E3B827@mail.bitblocks.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On Thursday 25 October 2012 22:12:51 Bakul Shah wrote:
> On Thu, 25 Oct 2012 11:50:20 +0200 Stefan Esser <se@freebsd.org>  wrote:
> > There is the link to a message by Greg Kroah-Hartman, where he
> > declares the Broadcom USB hardware "broken", at least in the sense
> > that no information exists for free software writers to let them
> > make USB work well. There also is mention of a Plan9 driver for
> > the USB on RPI, we might want to check whether it offers any insight.
> > Since all nearly all peripherals including Ethernet are connected to
> > USB on the RPI, good USB support is very important to use the RPI
> > as more than a toy.
> 
> The Plan9 USB driver is far simpler than the Linux driver (but
> not as functional. The only publicly available "documentation"
> is the Linux driver). More work remains but I can already
> connect usb keyboard, mouse, access ethernet etc.  I haven't
> tried accessing a usb disk since the emmc driver works so well
> (example: the plan9 kernel compiles in a minute). Credit for
> this work to Richard Miller.
> 
> Raspi related code is here:
> 
>     http://plan9.bell-labs.com/sources/contrib/miller/9/rpi/
> 
> You will need files in other directories to make sense of this.
> 
> The entire plan9 src tree (minus the dir above) is @
>     http://plan9.bell-labs.com/sources/extra/plan9.src.bz2
> 
> You can browse @
>     http://plan9.bell-labs.com/sources/plan9/sys/src/9/
>     http://plan9.bell-labs.com/sources/plan9/sys/src/cmd/usb
> etc.
> 
> If you are looking at just the low level usb code, you won't
> need much plan9 knowledge.

Hi,

The DWC OTG is used in multiple chipsets and documentation is available 
indirectly through various datasheets describing SOCs where this core is used. 
Also at the synopsys.com site it is possible to register to get more 
documentation.

http://www.synopsys.com/dw/ipdir.php?ds=dwc_usb_2_0_digital_controllers

If you register at Synopsys.com you can get more info:

Google "synopsys programmers guide DWC OTG"

The PIO HOST mode support which is supported by the FreeBSD's DWC OTG driver 
has been created without the help of the data sheet. I've used the register 
descriptions to figure out the workings. There are not so many valid 
combinations and most of the programming can be guessed for those familiar to 
low level USB signalling.

--HPS



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201210291425.45120.hselasky>