Skip to content

Commit

Permalink
usb: gadget: Add UDC driver for Broadcom USB3.0 device controller IP BDC
Browse files Browse the repository at this point in the history
This patch adds a UDC driver for Broadcom's USB3.0 Peripheral core named BDC.
BDC supports control traffic on ep0 and bulk/Int/Isoch traffic on all other
endpoints.

[ balbi@ti.com : fix build error on randconfig due to lack of
	<linux/dmapool.h> ]

Signed-off-by: Ashwini Pahuja <ashwini.linux@gmail.com>
Signed-off-by: Felipe Balbi <balbi@ti.com>
  • Loading branch information
Ashwini Pahuja authored and Felipe Balbi committed Nov 18, 2014
1 parent 5ee8070 commit efed421
Show file tree
Hide file tree
Showing 14 changed files with 4,384 additions and 0 deletions.
2 changes: 2 additions & 0 deletions drivers/usb/gadget/udc/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -241,6 +241,8 @@ config USB_M66592
dynamically linked module called "m66592_udc" and force all
gadget drivers to also be dynamically linked.

source "drivers/usb/gadget/udc/bdc/Kconfig"

#
# Controllers available only in discrete form (and all PCI controllers)
#
Expand Down
1 change: 1 addition & 0 deletions drivers/usb/gadget/udc/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -30,3 +30,4 @@ obj-$(CONFIG_USB_FOTG210_UDC) += fotg210-udc.o
obj-$(CONFIG_USB_MV_U3D) += mv_u3d_core.o
obj-$(CONFIG_USB_GR_UDC) += gr_udc.o
obj-$(CONFIG_USB_GADGET_XILINX) += udc-xilinx.o
obj-$(CONFIG_USB_BDC_UDC) += bdc/
21 changes: 21 additions & 0 deletions drivers/usb/gadget/udc/bdc/Kconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
config USB_BDC_UDC
tristate "Broadcom USB3.0 device controller IP driver(BDC)"
depends on USB_GADGET && HAS_DMA

help
BDC is Broadcom's USB3.0 device controller IP. If your SOC has a BDC IP
then select this driver.

Say "y" here to link the driver statically, or "m" to build a dynamically
linked module called "bdc".

if USB_BDC_UDC

comment "Platform Support"
config USB_BDC_PCI
tristate "BDC support for PCIe based platforms"
depends on PCI
default USB_BDC_UDC
help
Enable support for platforms which have BDC connected through PCIe, such as Lego3 FPGA platform.
endif
8 changes: 8 additions & 0 deletions drivers/usb/gadget/udc/bdc/Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
obj-$(CONFIG_USB_BDC_UDC) += bdc.o
bdc-y := bdc_core.o bdc_cmd.o bdc_ep.o bdc_udc.o

ifneq ($(CONFIG_USB_GADGET_VERBOSE),)
bdc-y += bdc_dbg.o
endif

obj-$(CONFIG_USB_BDC_PCI) += bdc_pci.o
Loading

0 comments on commit efed421

Please sign in to comment.