u-boot/include/linux
Ye Li db2cc879f7 MLK-17821-1 USB: gadget: Add the cadence USB3 gadget driver
Porting the cadence USB3 (CDNS3) driver from kernel to u-boot. We only support
the gadget (device mode), while the host mode is not supported. Users remains
to use xhci-imx8 driver for host mode.

Some changes in the CDNS3 driver porting:

1. Add match_ep call back to usb_gadget_ops. The CDNS3 gadget driver replies
   on this operation to bind the usb_ep/usb_ss_ep with the endpoint descriptor
   when function layer uses usb_ep_autoconfig to add endpoint descriptors to gadget.
   So that CDNS3 driver can know the EP information and configure the EP once the
   set configuration request is received.

2. U-boot does not have CMA, so it won't allocate uncached memory. Need to flush
   TRB and its DMA buffer before prime to usb controller and after complete transfer.

3. In core.c, we add functions to hook with u-boot. It needs uplayer like
   to pass the register base address of each part of the USB controller.

4. Force the CDNS3 gadget max speed to HS. The SuperSpeed is not supported by u-boot,
   so disable it in gadget driver. A configuration USB_CDNS3_GADGET_FORCE_HIGHSPEED is
   selected.

5. Added gadget_is_cdns3 checking to provide bcdUSB value in device descriptor.

6. Moved some new fields in usb_ep structure to usb_ss_ep, since u-boot does not have them.

7. Remove host part codes as it is not supported by this driver.

Signed-off-by: Ye Li <ye.li@nxp.com>
Acked-by: Peter Chen <peter.chen@nxp.com>
(cherry picked from commit 70514bd095ff9a94e9a523845641381486284257)
2018-04-27 06:14:50 -07:00
..
byteorder
mtd MLK-16034-01: change the maximum oob size 2018-04-27 06:14:41 -07:00
unaligned
usb MLK-17821-1 USB: gadget: Add the cadence USB3 gadget driver 2018-04-27 06:14:50 -07:00
apm_bios.h
arm-smccc.h
bch.h
bitfield.h linux/bitfield.h: import <linux/bitfield.h> from Linux 4.13 2017-10-04 12:00:21 -04:00
bitops.h bitops: collect BIT macros to include/linux/bitops.h 2017-11-29 00:28:57 +09:00
bitrev.h
bug.h bug.h: move runtime BUG/WARN macros into <linux/bug.h> 2017-10-04 12:00:20 -04:00
build_bug.h bug.h: sync BUILD_BUG stuff with Linux 4.13 2017-10-04 12:00:19 -04:00
compat.h dm: define dev_*() log functions in DM header 2017-10-04 12:00:20 -04:00
compiler-clang.h
compiler-gcc.h
compiler-intel.h
compiler.h bug.h: sync BUILD_BUG stuff with Linux 4.13 2017-10-04 12:00:19 -04:00
crc7.h
crc8.h
crc32.h
ctype.h
delay.h
dma-direction.h dma: import linux/dma-direction.h to consolidate enum dma_data_direction 2017-09-12 18:02:23 -04:00
drm_dp_helper.h
edd.h
err.h
errno.h
ethtool.h
fb.h
immap_qe.h
input.h
io.h linux/io.h: import generic ioread* / iowrite* accessors from Linux 2017-09-12 18:02:23 -04:00
ioctl.h
iopoll.h
ioport.h
kbuild.h
kconfig.h
kernel.h linux/kernel.h: Add ALIGN_DOWN macro 2018-01-10 08:05:51 -05:00
libfdt.h libfdt: move headers to <linux/libfdt.h> and <linux/libfdt_env.h> 2018-03-05 10:16:28 -05:00
libfdt_env.h libfdt: move headers to <linux/libfdt.h> and <linux/libfdt_env.h> 2018-03-05 10:16:28 -05:00
linkage.h
linux_string.h
list.h
list_sort.h
log2.h
lzo.h lzo: add a function to check the validity of the header 2017-10-05 21:31:04 -04:00
math64.h
mbus.h
mc146818rtc.h
mdio.h
mii.h
netdevice.h
poison.h
posix_types.h
printk.h printk: collect printk stuff into <linux/printk.h> with loglevel support 2017-10-04 10:31:17 -04:00
psci.h
rbtree.h
rbtree_augmented.h
screen_info.h
serial_reg.h
sizes.h
stat.h
stddef.h
string.h
stringify.h
time.h linux/time.h: Remove dead code 2017-10-16 09:42:51 -04:00
typecheck.h
types.h linux/types.h: add typedef of uintptr_t 2017-11-17 07:44:13 -05:00