[ELDK] HOWTO enable USB host controller on kilauea (ppc405ex)?

Wolfgang Denk wd at denx.de
Fri Aug 7 23:04:20 CEST 2009


Dear Lance,

in message <7a663fa20908071252ta9a4829ud1298d50429f545 at mail.gmail.com> you wrote:
> Can someone please provide me some instructions or point me someplace
> on the web to learn how to enable the USB host controller on a
> kilauea?

USB suppoort on the Kilauea board is based on a device  driver  which
was  provided  by Synopsis, who also provided the ip core for the USB
OTG controller in this SoC. Unfortunately, this driver is in  such  a
poor  state,  that  it  would  not be accepted for inclusion into the
standard kernel.org tree. So we adapted this driver to the level that
it was working with the specific kernel version that was used at  the
time when we delivered the Kilauea Linux port to AMCC. In the context
of  this  old kernel, the USB driver was mostly working, but had some
known issues.

In the meantime, the Kilauea port has been unmaintained, and the  USB
driver  detoriated  such  that it cannot be used any more with recent
kernel versions.

> I git-cloned linux-2.6-denx yesterday and examined the
> 40x/kilauea_defconfig.  It appears, based on various google searches
> and docs I've read, to me that the embedded USB functionality within
> the ppc405ex does not conform to either the OHCI or EHCI host
> controller interfaces, but instead perhaps requires an "OTG" driver.
> However, I'm confused by the kilauea_defconfig's USB-related config
> vals:
> 
> CONFIG_USB_SUPPORT=y
> CONFIG_USB_ARCH_HAS_HCD=y
> CONFIG_USB_ARCH_HAS_OHCI=y
> CONFIG_USB_ARCH_HAS_EHCI=y
> CONFIG_USB=y
> CONFIG_USB_ANNOUNCE_NEW_DEVICES=y
> CONFIG_USB_DEVICEFS=y
> CONFIG_USB_DEVICE_CLASS=y
> CONFIG_USB_STORAGE=y

The relevant part to look for is this:

CONFIG_USB_GADGET=y
CONFIG_USB_GADGET_SELECTED=y
CONFIG_USB_GADGET_DWC_OTG=y
CONFIG_USB_DWC_OTG=y
CONFIG_USB_GADGET_DUALSPEED=y

But, as mentioned before, don't expect the DWC USB driver to be in a
functional state.

> Will the above, alone, enable USB host functionality, or do I need to
> somehow enable "OTG"?  Snooping through the USB driver Kconfig's I see
> reference to OTG, but after running "make ARCH=powerpc menuconfig" I
> couldn't see anywhere within the USB menus any mention of OTG other
> than  *** OTG and related infrastructure ***, but then nothing below
> that.  I also stepped into the "USB Gadget Support", but no OTG
> entries there either.

Please see above for the relevant entries - these are set in the
default config file (arch/powerpc/configs/40x/kilauea_defconfig).


Now the good news: we are currently working on an update for the
Kilauea port which also includes the USB OTG driver. We should have
this back in shape in a few weeks.

Best regards,

Wolfgang Denk

-- 
DENX Software Engineering GmbH,     MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de
When it is incorrect, it is, at least *authoritatively* incorrect.
                                    - Hitchiker's Guide To The Galaxy


More information about the eldk mailing list