mirror of
https://github.com/tbsdtv/linux_media.git
synced 2025-07-23 12:43:29 +02:00
This patch introduces the main part of Cadence USBSSP DRD driver to Linux kernel. To reduce the patch size a little bit, the header file gadget.h was intentionally added as separate patch. The Cadence USBSSP DRD Controller is a highly configurable IP Core which can be instantiated as Dual-Role Device (DRD), Peripheral Only and Host Only (XHCI)configurations. The current driver has been validated with FPGA platform. We have support for PCIe bus, which is used on FPGA prototyping. The host side of USBSS DRD controller is compliant with XHCI. The architecture for device side is almost the same as for host side, and most of the XHCI specification can be used to understand how this controller operates. Signed-off-by: Pawel Laszczak <pawell@cadence.com> Signed-off-by: Peter Chen <peter.chen@nxp.com>
35 lines
684 B
C
35 lines
684 B
C
/* SPDX-License-Identifier: GPL-2.0 */
|
|
/*
|
|
* Cadence USBSS and USBSSP DRD Driver - Host Export APIs
|
|
*
|
|
* Copyright (C) 2017-2018 NXP
|
|
*
|
|
* Authors: Peter Chen <peter.chen@nxp.com>
|
|
*/
|
|
#ifndef __LINUX_CDNS3_HOST_EXPORT
|
|
#define __LINUX_CDNS3_HOST_EXPORT
|
|
|
|
#if IS_ENABLED(CONFIG_USB_CDNS_HOST)
|
|
|
|
struct usb_hcd;
|
|
|
|
int cdns_host_init(struct cdns *cdns);
|
|
int xhci_cdns3_suspend_quirk(struct usb_hcd *hcd);
|
|
|
|
#else
|
|
|
|
static inline int cdns_host_init(struct cdns *cdns)
|
|
{
|
|
return -ENXIO;
|
|
}
|
|
|
|
static inline void cdns_host_exit(struct cdns *cdns) { }
|
|
static inline int xhci_cdns3_suspend_quirk(struct usb_hcd *hcd)
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
#endif /* USB_CDNS_HOST */
|
|
|
|
#endif /* __LINUX_CDNS3_HOST_EXPORT */
|