linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [RFC PATCH v2 00/15]  Introduced new Cadence USBSS DRD Driver
@ 2018-11-18 10:08 Pawel Laszczak
  2018-11-18 10:08 ` [RFC PATCH v2 01/15] usb:cdns3: add pci to platform driver wrapper Pawel Laszczak
                   ` (14 more replies)
  0 siblings, 15 replies; 85+ messages in thread
From: Pawel Laszczak @ 2018-11-18 10:08 UTC (permalink / raw)
  To: devicetree
  Cc: gregkh, linux-usb, rogerq, linux-kernel, adouglas, jbergsagel,
	nsekhar, nm, sureshp, peter.chen, pjez, kurahul, Pawel Laszczak

This patch set introduce new Cadence USBSS DRD driver
to linux kernel.

The Cadence USBSS DRD Driver s 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 burned. We have support for PCIe
bus, which is used on FPGA prototyping.

The host site of USBSS controller is compliance
with XHCI specification, so it works with
standard XHCI linux driver.

Changes since v1:
 - Reorganize patch 3, 5, 6 as suggested by Roger Quadros.
 - Remove inline in debug.c file according with Joe Perches suggestion.
 - Fix condition with no effect in drd.c file.
 - Remove compiler warning generated by sh4-linux-gnu-gcc.
 - Fix bug with xhci_suspend/resume undefined, that appeared for PM disabled.
 - Add CONFIG_OF support in core.c file and dt-binding documentation.
 - Add template function related to CONFIG_PM configuration option.
 - Fix bug: CONFIG_USB_CDNS3_DEVICE instead of CONFIG_USB_CDNS3_
 - Correct depend on condition in Kconfig as suggested by Roger Quadros.
 - Remove Config options from cdns3_pci_wrap.c as suggested by Roger Quadros.
 - Replace dev_info with dev_dbg in cdns3_pci_wrap.c file as suggested by Roger.
 - Change cdns3_role to cnds3_get_current_role_driver as suggested by Roger.
 - Addressed other review comments from Roger.
 - Fix issues with ENABLE_U1/U2 Set/Clear_Fature request.
 - Fix issues with Cycle State bit.
 - Some other minor code changes related to readability.

TODO:
 - Test isochronous transfer with some class or tester.
 - Test changing role according to ID pin.
 - Resolve issue related with shared on-chip buffer for OUT direction.
 - Add tracepoint. 
 - Implement suspend/resume functionality.

---

Pawel Laszczak (15):
  usb:cdns3: add pci to platform driver wrapper.
  usb:cdns3: Device side header file.
  dt-bindings: add binding for USBSS-DRD controller.
  usb:cdns3: Driver initialization code.
  usb:cdns3: Added DRD support
  usb:cdns3: Adds Host support
  usb:cdns3: Adds Device mode support - initialization.
  usb:cdns3: Implements device operations part of the API
  usb:cdns3: EpX operations part of the API
  usb:cdns3: Ep0 operations part of the API
  usb:cdns3: Implements ISR functionality.
  usb:cdns3: Adds enumeration related function.
  usb:cdns3: Adds transfer related function.
  usb:cdns3: Adds debugging function.
  usb:cdns3: Feature for changing role

 .../devicetree/bindings/usb/cdns3-usb.txt     |   17 +
 drivers/usb/Kconfig                           |    2 +
 drivers/usb/Makefile                          |    2 +
 drivers/usb/cdns3/Kconfig                     |   44 +
 drivers/usb/cdns3/Makefile                    |    7 +
 drivers/usb/cdns3/cdns3-pci-wrap.c            |  157 ++
 drivers/usb/cdns3/core.c                      |  434 +++++
 drivers/usb/cdns3/core.h                      |  100 +
 drivers/usb/cdns3/debug.c                     |  128 ++
 drivers/usb/cdns3/debugfs.c                   |   93 +
 drivers/usb/cdns3/drd.c                       |  229 +++
 drivers/usb/cdns3/drd.h                       |  125 ++
 drivers/usb/cdns3/ep0.c                       |  859 +++++++++
 drivers/usb/cdns3/gadget-export.h             |   27 +
 drivers/usb/cdns3/gadget.c                    | 1665 +++++++++++++++++
 drivers/usb/cdns3/gadget.h                    | 1104 +++++++++++
 drivers/usb/cdns3/host-export.h               |   30 +
 drivers/usb/cdns3/host.c                      |  256 +++
 18 files changed, 5279 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/usb/cdns3-usb.txt
 create mode 100644 drivers/usb/cdns3/Kconfig
 create mode 100644 drivers/usb/cdns3/Makefile
 create mode 100644 drivers/usb/cdns3/cdns3-pci-wrap.c
 create mode 100644 drivers/usb/cdns3/core.c
 create mode 100644 drivers/usb/cdns3/core.h
 create mode 100644 drivers/usb/cdns3/debug.c
 create mode 100644 drivers/usb/cdns3/debugfs.c
 create mode 100644 drivers/usb/cdns3/drd.c
 create mode 100644 drivers/usb/cdns3/drd.h
 create mode 100644 drivers/usb/cdns3/ep0.c
 create mode 100644 drivers/usb/cdns3/gadget-export.h
 create mode 100644 drivers/usb/cdns3/gadget.c
 create mode 100644 drivers/usb/cdns3/gadget.h
 create mode 100644 drivers/usb/cdns3/host-export.h
 create mode 100644 drivers/usb/cdns3/host.c

-- 
2.17.1


^ permalink raw reply	[flat|nested] 85+ messages in thread

end of thread, other threads:[~2018-12-16 13:32 UTC | newest]

Thread overview: 85+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-11-18 10:08 [RFC PATCH v2 00/15] Introduced new Cadence USBSS DRD Driver Pawel Laszczak
2018-11-18 10:08 ` [RFC PATCH v2 01/15] usb:cdns3: add pci to platform driver wrapper Pawel Laszczak
2018-11-23 10:44   ` Roger Quadros
2018-11-18 10:08 ` [RFC PATCH v2 02/15] usb:cdns3: Device side header file Pawel Laszczak
2018-11-30  6:48   ` PETER CHEN
2018-12-02 19:27     ` Pawel Laszczak
2018-11-18 10:08 ` [RFC PATCH v2 03/15] dt-bindings: add binding for USBSS-DRD controller Pawel Laszczak
2018-11-23 10:53   ` Roger Quadros
2018-11-25  7:33     ` Pawel Laszczak
2018-12-04 22:41   ` Rob Herring
2018-12-06 10:26     ` Pawel Laszczak
2018-11-18 10:09 ` [RFC PATCH v2 04/15] usb:cdns3: Driver initialization code Pawel Laszczak
2018-11-23 11:35   ` Roger Quadros
2018-11-25 12:35     ` Pawel Laszczak
2018-12-04  9:09       ` Peter Chen
2018-12-06  7:00         ` Pawel Laszczak
2018-12-04  8:50     ` Peter Chen
2018-12-04 10:46       ` Roger Quadros
2018-12-05  8:57         ` Peter Chen
2018-12-06  9:31         ` Pawel Laszczak
2018-12-05 19:24       ` Pawel Laszczak
2018-12-05 19:42       ` Pawel Laszczak
2018-12-06 10:02         ` Pawel Laszczak
2018-11-30  7:32   ` Peter Chen
2018-12-02 20:34     ` Pawel Laszczak
2018-12-04  7:11       ` Peter Chen
2018-12-05  7:19         ` Pawel Laszczak
2018-12-05  8:55           ` Alan Douglas
2018-12-05  9:07             ` Peter Chen
2018-11-18 10:09 ` [RFC PATCH v2 05/15] usb:cdns3: Added DRD support Pawel Laszczak
2018-11-23 14:51   ` Roger Quadros
2018-11-26  7:23     ` Pawel Laszczak
2018-11-26  8:07       ` Roger Quadros
2018-11-26  8:39         ` Pawel Laszczak
2018-11-26  9:39           ` Roger Quadros
2018-11-26 10:09             ` Pawel Laszczak
2018-11-26 10:15               ` Roger Quadros
2018-11-27 11:29       ` Pawel Laszczak
2018-11-27 12:10         ` Roger Quadros
2018-12-04  9:18   ` Peter Chen
2018-12-06  7:25     ` Pawel Laszczak
2018-11-18 10:09 ` [RFC PATCH v2 06/15] usb:cdns3: Adds Host support Pawel Laszczak
2018-11-23 14:23   ` Roger Quadros
2018-11-26  8:24     ` Pawel Laszczak
2018-11-26  9:50       ` Roger Quadros
2018-11-26 10:17         ` Pawel Laszczak
2018-12-05  8:41     ` Peter Chen
2018-11-18 10:09 ` [RFC PATCH v2 07/15] usb:cdns3: Adds Device mode support - initialization Pawel Laszczak
2018-11-28 11:34   ` Roger Quadros
2018-11-28 11:40     ` Felipe Balbi
2018-11-30  4:20       ` PETER CHEN
2018-11-30  6:29         ` Pawel Laszczak
2018-11-30 14:36     ` Pawel Laszczak
2018-11-18 10:09 ` [RFC PATCH v2 08/15] usb:cdns3: Implements device operations part of the API Pawel Laszczak
2018-11-28 12:22   ` Roger Quadros
2018-12-01 11:11     ` Pawel Laszczak
2018-12-03 10:19       ` Pawel Laszczak
2018-12-10  2:12     ` Peter Chen
2018-12-11 11:26       ` Sekhar Nori
2018-12-11 19:49         ` Pawel Laszczak
2018-12-14  1:34           ` Peter Chen
2018-12-14  6:49             ` Pawel Laszczak
2018-12-14 10:39             ` Sekhar Nori
2018-12-14 10:47               ` Felipe Balbi
2018-12-14 11:13                 ` Sekhar Nori
2018-12-14 11:26                   ` Felipe Balbi
2018-12-14 12:20                     ` Sekhar Nori
2018-12-14 12:30                       ` Felipe Balbi
2018-12-16 13:31                       ` Pawel Laszczak
2018-11-18 10:09 ` [RFC PATCH v2 09/15] usb:cdns3: EpX " Pawel Laszczak
2018-11-28 12:46   ` Roger Quadros
2018-12-01 13:30     ` Pawel Laszczak
2018-11-18 10:09 ` [RFC PATCH v2 10/15] usb:cdns3: Ep0 " Pawel Laszczak
2018-11-28 14:31   ` Roger Quadros
2018-12-02 10:34     ` Pawel Laszczak
2018-11-18 10:09 ` [RFC PATCH v2 11/15] usb:cdns3: Implements ISR functionality Pawel Laszczak
2018-11-28 14:54   ` Roger Quadros
2018-12-02 11:49     ` Pawel Laszczak
2018-12-02 12:52       ` Pawel Laszczak
2018-11-18 10:09 ` [RFC PATCH v2 12/15] usb:cdns3: Adds enumeration related function Pawel Laszczak
2018-11-28 15:50   ` Roger Quadros
2018-12-02 16:39     ` Pawel Laszczak
2018-11-18 10:09 ` [RFC PATCH v2 13/15] usb:cdns3: Adds transfer " Pawel Laszczak
2018-11-18 10:09 ` [RFC PATCH v2 14/15] usb:cdns3: Adds debugging function Pawel Laszczak
2018-11-18 10:09 ` [RFC PATCH v2 15/15] usb:cdns3: Feature for changing role Pawel Laszczak

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).