mail archive of the barebox mailing list
 help / color / mirror / Atom feed
* MUSB support
@ 2014-09-26  8:22 Sascha Hauer
  2014-09-26  8:22 ` [PATCH 1/9] USB: add usb phy header file Sascha Hauer
                   ` (8 more replies)
  0 siblings, 9 replies; 10+ messages in thread
From: Sascha Hauer @ 2014-09-26  8:22 UTC (permalink / raw)
  To: barebox

This series adds MUSB support for AM33xx to barebox. The driver is
based on the Linux driver and stripped down for barebox. This series
is based on Rolf Evers Fischers work who unfortunately was not aware
of Christoph Fritz work at that time. I used Rolfs driver to continue
the work because his version already has device tree support.

I decided to first add the necessary files of the MUSB driver
without any changes and in a second patch add the barebox specific
changes. This way we'll find the barebox changes in the repository.
Instead of ifdeffing half of the driver away I removed the parts we
don't need for barebox which keeps the driver in a readable state.
Parts removed are: DMA, Host negotiation protocol and power management
stuff.

The driver has been tested in both host and device mode on the Beaglebone
black and a custom board. On the Beaglebone the OTG port only works
in device mode, I don't know why yet. The host port properly works
in host mode though.

The driver supports a poor mans otg mode. For device trees which specify
dr_mode = "otg" the driver registers a otg device which has a 'mode'
parameter which can be used to select host/peripheral mode during runtime.
For example otg0.mode="host" specifies host mode. The same behaviour
is implemented in the i.MX chipidea driver, the code for this should
be merged at some point.

Sascha


The following changes since commit b1536a3298e25dfdd0136c0fc8d68d2a12cff63c:

  USB: gadget: dfu: Add max_speed to dfu_driver (2014-09-25 16:25:46 +0200)

are available in the git repository at:

  git://git.pengutronix.de/git/barebox.git 

for you to fetch changes up to f2368af41f5283a1b804c2cb2f62da56630c20f9:

  ARM: am335x_defconfig: Enable USB support (2014-09-26 10:20:28 +0200)

----------------------------------------------------------------
Rolf Evers-Fischer (1):
      ARM: AM33xx: Enable USB and USB phy clocks

Sascha Hauer (8):
      USB: add usb phy header file
      USB: gadget: put poller into core
      USB: gadget: allow multiple udc drivers
      USB: Add MUSB driver from Linux
      USB: MUSB: Add barebox specific changes
      ARM: dts: Update am335x-bone-common.dtsi
      Documentation: USB: Add description for OTG device
      ARM: am335x_defconfig: Enable USB support

 Documentation/user/usb.rst                       |   21 +
 arch/arm/configs/am335x_defconfig                |   13 +
 arch/arm/dts/am335x-bone-common.dtsi             |   38 +-
 arch/arm/mach-omap/am33xx_clock.c                |   15 +-
 arch/arm/mach-omap/am33xx_generic.c              |    2 +
 arch/arm/mach-omap/include/mach/am33xx-clock.h   |    2 +
 arch/arm/mach-omap/include/mach/am33xx-generic.h |    1 +
 drivers/usb/Kconfig                              |    2 +
 drivers/usb/Makefile                             |    1 +
 drivers/usb/core/of.c                            |    1 +
 drivers/usb/gadget/Kconfig                       |   12 +-
 drivers/usb/gadget/at91_udc.c                    |   23 +-
 drivers/usb/gadget/fsl_udc.c                     |   44 +-
 drivers/usb/gadget/pxa27x_udc.c                  |   27 +-
 drivers/usb/gadget/udc-core.c                    |   34 +
 drivers/usb/imx/chipidea-imx.c                   |    1 +
 drivers/usb/musb/Kconfig                         |   29 +
 drivers/usb/musb/Makefile                        |   11 +
 drivers/usb/musb/am35x-phy-control.h             |   21 +
 drivers/usb/musb/musb_am335x.c                   |   29 +
 drivers/usb/musb/musb_barebox.c                  |  146 ++
 drivers/usb/musb/musb_core.c                     | 1156 ++++++++++++++
 drivers/usb/musb/musb_core.h                     |  585 ++++++++
 drivers/usb/musb/musb_dma.h                      |  194 +++
 drivers/usb/musb/musb_dsps.c                     |  464 ++++++
 drivers/usb/musb/musb_gadget.c                   | 1308 ++++++++++++++++
 drivers/usb/musb/musb_gadget.h                   |  147 ++
 drivers/usb/musb/musb_gadget_ep0.c               | 1079 +++++++++++++
 drivers/usb/musb/musb_host.c                     | 1749 ++++++++++++++++++++++
 drivers/usb/musb/musb_host.h                     |  258 ++++
 drivers/usb/musb/musb_io.h                       |  122 ++
 drivers/usb/musb/musb_regs.h                     |  652 ++++++++
 drivers/usb/musb/phy-am335x-control.c            |  168 +++
 drivers/usb/musb/phy-am335x.c                    |   86 ++
 drivers/usb/musb/phy-am335x.h                    |    6 +
 include/linux/barebox-wrapper.h                  |    7 +
 include/usb/gadget.h                             |    1 +
 include/usb/musb.h                               |  152 ++
 include/usb/phy.h                                |  220 +++
 include/usb/usb.h                                |    9 -
 40 files changed, 8723 insertions(+), 113 deletions(-)
 create mode 100644 drivers/usb/musb/Kconfig
 create mode 100644 drivers/usb/musb/Makefile
 create mode 100644 drivers/usb/musb/am35x-phy-control.h
 create mode 100644 drivers/usb/musb/musb_am335x.c
 create mode 100644 drivers/usb/musb/musb_barebox.c
 create mode 100644 drivers/usb/musb/musb_core.c
 create mode 100644 drivers/usb/musb/musb_core.h
 create mode 100644 drivers/usb/musb/musb_dma.h
 create mode 100644 drivers/usb/musb/musb_dsps.c
 create mode 100644 drivers/usb/musb/musb_gadget.c
 create mode 100644 drivers/usb/musb/musb_gadget.h
 create mode 100644 drivers/usb/musb/musb_gadget_ep0.c
 create mode 100644 drivers/usb/musb/musb_host.c
 create mode 100644 drivers/usb/musb/musb_host.h
 create mode 100644 drivers/usb/musb/musb_io.h
 create mode 100644 drivers/usb/musb/musb_regs.h
 create mode 100644 drivers/usb/musb/phy-am335x-control.c
 create mode 100644 drivers/usb/musb/phy-am335x.c
 create mode 100644 drivers/usb/musb/phy-am335x.h
 create mode 100644 include/usb/musb.h
 create mode 100644 include/usb/phy.h

_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox

^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2014-09-26  8:23 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-09-26  8:22 MUSB support Sascha Hauer
2014-09-26  8:22 ` [PATCH 1/9] USB: add usb phy header file Sascha Hauer
2014-09-26  8:22 ` [PATCH 2/9] USB: gadget: put poller into core Sascha Hauer
2014-09-26  8:22 ` [PATCH 3/9] USB: gadget: allow multiple udc drivers Sascha Hauer
2014-09-26  8:22 ` [PATCH 4/9] ARM: AM33xx: Enable USB and USB phy clocks Sascha Hauer
2014-09-26  8:22 ` [PATCH 5/9] USB: Add MUSB driver from Linux Sascha Hauer
2014-09-26  8:22 ` [PATCH 6/9] USB: MUSB: Add barebox specific changes Sascha Hauer
2014-09-26  8:22 ` [PATCH 7/9] ARM: dts: Update am335x-bone-common.dtsi Sascha Hauer
2014-09-26  8:22 ` [PATCH 8/9] Documentation: USB: Add description for OTG device Sascha Hauer
2014-09-26  8:22 ` [PATCH 9/9] ARM: am335x_defconfig: Enable USB support Sascha Hauer

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox