Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 613065e5 authored by Kevin Cernekee's avatar Kevin Cernekee Committed by Felipe Balbi
Browse files

usb: gadget: bcm63xx UDC driver



Driver for the "USB20D" / "USBD" block on BCM6328, BCM6368, BCM6816,
BCM6362, BCM3383, and others.

The hardware block was designed to support networking applications
(direct connection of a home router to a PC), and the endpoint
configuration is fixed.

[ balbi@ti.com : dropped USB_GADGET_DUALSPEED from Kconfig ]

Signed-off-by: default avatarKevin Cernekee <cernekee@gmail.com>
Acked-by: default avatarSebastian Andrzej Siewior <sebastian@breakpoint.cc>
Signed-off-by: default avatarFelipe Balbi <balbi@ti.com>
parent 84749c6d
Loading
Loading
Loading
Loading
+11 −0
Original line number Diff line number Diff line
@@ -159,6 +159,17 @@ config USB_ATMEL_USBA
	  USBA is the integrated high-speed USB Device controller on
	  the AT32AP700x, some AT91SAM9 and AT91CAP9 processors from Atmel.

config USB_BCM63XX_UDC
	tristate "Broadcom BCM63xx Peripheral Controller"
	depends on BCM63XX
	help
	   Many Broadcom BCM63xx chipsets (such as the BCM6328) have a
	   high speed USB Device Port with support for four fixed endpoints
	   (plus endpoint zero).

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

config USB_FSL_USB2
	tristate "Freescale Highspeed USB DR Peripheral Controller"
	depends on FSL_SOC || ARCH_MXC
+1 −0
Original line number Diff line number Diff line
@@ -16,6 +16,7 @@ obj-$(CONFIG_USB_OMAP) += omap_udc.o
obj-$(CONFIG_USB_S3C2410)	+= s3c2410_udc.o
obj-$(CONFIG_USB_AT91)		+= at91_udc.o
obj-$(CONFIG_USB_ATMEL_USBA)	+= atmel_usba_udc.o
obj-$(CONFIG_USB_BCM63XX_UDC)	+= bcm63xx_udc.o
obj-$(CONFIG_USB_FSL_USB2)	+= fsl_usb2_udc.o
fsl_usb2_udc-y			:= fsl_udc_core.o
fsl_usb2_udc-$(CONFIG_ARCH_MXC)	+= fsl_mxc_udc.o
+2464 −0

File added.

Preview size limit exceeded, changes collapsed.

+3 −0
Original line number Diff line number Diff line
@@ -28,6 +28,7 @@
#define gadget_is_amd5536udc(g)		(!strcmp("amd5536udc", (g)->name))
#define gadget_is_at91(g)		(!strcmp("at91_udc", (g)->name))
#define gadget_is_atmel_usba(g)		(!strcmp("atmel_usba_udc", (g)->name))
#define gadget_is_bcm63xx(g)		(!strcmp("bcm63xx_udc", (g)->name))
#define gadget_is_ci13xxx_msm(g)	(!strcmp("ci13xxx_msm", (g)->name))
#define gadget_is_ci13xxx_pci(g)	(!strcmp("ci13xxx_pci", (g)->name))
#define gadget_is_dummy(g)		(!strcmp("dummy_udc", (g)->name))
@@ -121,6 +122,8 @@ static inline int usb_gadget_controller_number(struct usb_gadget *gadget)
		return 0x32;
	else if (gadget_is_lpc32xx(gadget))
		return 0x33;
	else if (gadget_is_bcm63xx(gadget))
		return 0x34;

	return -ENOENT;
}