Re: [PATCH v3 1/2] usb: musb: add support for JZ4740 usb device controller

From: Richard Weinberger
Date: Sat Jan 04 2014 - 06:12:21 EST


Am Samstag, 4. Januar 2014, 12:06:22 schrieb Apelete Seketeli:
> On 04-Jan-14, Richard Weinberger wrote:
> > On Thu, Dec 19, 2013 at 9:42 PM, Apelete Seketeli <apelete@xxxxxxxxxxxx>
wrote:
> > > Add support for Ingenic JZ4740 USB Device Controller through a
> > > specific musb glue layer.
> > >
> > > JZ4740 UDC not being OTG compatible and missing some hardware
> > > registers, this musb glue layer is written from scratch to be used in
> > > gadget mode only and take silicon design specifics into account.
> > >
> > > Signed-off-by: Apelete Seketeli <apelete@xxxxxxxxxxxx>
> > > Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx>
> > > ---
> > >
> > > drivers/usb/musb/Kconfig | 8 +-
> > > drivers/usb/musb/Makefile | 1 +
> > > drivers/usb/musb/jz4740.c | 201
> > > +++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 209
> > > insertions(+), 1 deletion(-)
> > > create mode 100644 drivers/usb/musb/jz4740.c
> > >
> > > diff --git a/drivers/usb/musb/Kconfig b/drivers/usb/musb/Kconfig
> > > index 57dfc0c..14d7e72 100644
> > > --- a/drivers/usb/musb/Kconfig
> > > +++ b/drivers/usb/musb/Kconfig
> > > @@ -93,6 +93,12 @@ config USB_MUSB_BLACKFIN
> > >
> > > config USB_MUSB_UX500
> > >
> > > tristate "Ux500 platforms"
> > >
> > > +config USB_MUSB_JZ4740
> > > + tristate "JZ4740"
> > > + depends on MACH_JZ4740 || COMPILE_TEST
> > > + depends on USB_MUSB_GADGET
> > > + depends on USB_OTG_BLACKLIST_HUB
> > > +
> > >
> > > endchoice
> > >
> > > config USB_MUSB_AM335X_CHILD
> > >
> > > @@ -100,7 +106,7 @@ config USB_MUSB_AM335X_CHILD
> > >
> > > choice
> > >
> > > prompt 'MUSB DMA mode'
> > >
> > > - default MUSB_PIO_ONLY if ARCH_MULTIPLATFORM
> > > + default MUSB_PIO_ONLY if ARCH_MULTIPLATFORM || USB_MUSB_JZ4740
> >
> > Just out of curiosity, why can't we use DMA?
>
> We wrote the musb glue layer for the Ben Nanonote handheld computer
> only to provide ethernet-over-usb functionality.
>
> I was thinking about adding DMA support later, but Lars-Peter Clausen
> did experiment with DMA, and found out that all ethernet packets were
> unaligned, while the DMA only works if they are aligned.
> As a consequence, the DMA was bypassed all the time, making it useless
> at least for the ethernet gadget we are interested in.
>
> That's why DMA didn't make it into the glue layer.

DMA support would be nice to have.
Especially to make the USB storage gadget work well with the Ben NanoNote.

Thanks,
//richard
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/