Skip to content

Commit efed421

Browse files
ashwinilinuxFelipe Balbi
authored andcommitted
usb: gadget: Add UDC driver for Broadcom USB3.0 device controller IP BDC
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. [ [email protected] : fix build error on randconfig due to lack of <linux/dmapool.h> ] Signed-off-by: Ashwini Pahuja <[email protected]> Signed-off-by: Felipe Balbi <[email protected]>
1 parent 5ee8070 commit efed421

File tree

14 files changed

+4384
-0
lines changed

14 files changed

+4384
-0
lines changed

drivers/usb/gadget/udc/Kconfig

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -241,6 +241,8 @@ config USB_M66592
241241
dynamically linked module called "m66592_udc" and force all
242242
gadget drivers to also be dynamically linked.
243243

244+
source "drivers/usb/gadget/udc/bdc/Kconfig"
245+
244246
#
245247
# Controllers available only in discrete form (and all PCI controllers)
246248
#

drivers/usb/gadget/udc/Makefile

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,3 +30,4 @@ obj-$(CONFIG_USB_FOTG210_UDC) += fotg210-udc.o
3030
obj-$(CONFIG_USB_MV_U3D) += mv_u3d_core.o
3131
obj-$(CONFIG_USB_GR_UDC) += gr_udc.o
3232
obj-$(CONFIG_USB_GADGET_XILINX) += udc-xilinx.o
33+
obj-$(CONFIG_USB_BDC_UDC) += bdc/

drivers/usb/gadget/udc/bdc/Kconfig

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
config USB_BDC_UDC
2+
tristate "Broadcom USB3.0 device controller IP driver(BDC)"
3+
depends on USB_GADGET && HAS_DMA
4+
5+
help
6+
BDC is Broadcom's USB3.0 device controller IP. If your SOC has a BDC IP
7+
then select this driver.
8+
9+
Say "y" here to link the driver statically, or "m" to build a dynamically
10+
linked module called "bdc".
11+
12+
if USB_BDC_UDC
13+
14+
comment "Platform Support"
15+
config USB_BDC_PCI
16+
tristate "BDC support for PCIe based platforms"
17+
depends on PCI
18+
default USB_BDC_UDC
19+
help
20+
Enable support for platforms which have BDC connected through PCIe, such as Lego3 FPGA platform.
21+
endif

drivers/usb/gadget/udc/bdc/Makefile

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
obj-$(CONFIG_USB_BDC_UDC) += bdc.o
2+
bdc-y := bdc_core.o bdc_cmd.o bdc_ep.o bdc_udc.o
3+
4+
ifneq ($(CONFIG_USB_GADGET_VERBOSE),)
5+
bdc-y += bdc_dbg.o
6+
endif
7+
8+
obj-$(CONFIG_USB_BDC_PCI) += bdc_pci.o

0 commit comments

Comments
 (0)