On 02/17/2014 09:18 AM, Robert Baldyga wrote: > On 02/17/2014 01:37 AM, Jingoo Han wrote: >> On Friday, February 14, 2014 6:44 PM, Robert Baldyga wrote: >>> On 02/13/2014 10:10 PM, dinguyen@xxxxxxxxxx wrote: >>>> From: Dinh Nguyen <dinguyen@xxxxxxxxxx> >>>> >>>> Hello, >>>> >>>> This patch series combines the dwc2 host driver and the s3c-hsotg peripheral >>>> driver into a single dual-roler driver similar to the dwc3. >>> >>> Hi. >>> It looks like it doesn't work on Samsung platforms without device-tree >>> support. >> >> Hi Robert Baldyga, >> >> In order to test this patch, the current mainline kernel requires >> additional patches to support device-tree. The following patches >> are necessary. >> >> http://lists.infradead.org/pipermail/linux-arm-kernel/2013-June/179920.html >> http://lists.infradead.org/pipermail/linux-arm-kernel/2013-June/179921.html >> http://lists.infradead.org/pipermail/linux-arm-kernel/2013-June/179922.html >> >> The last one should be modified for your machine. >> > > It will not help on platforms which never had and never will have > device-tree support. Hi, I have tested it also on device with device tree support. I got error: [ 2.100000] dwc2/s3c-hsotg 12480000.hsotg: dwc2_core_init(ee13f010) [ 2.100000] dwc2/s3c-hsotg 12480000.hsotg: dwc2_core_reset() [ 4.180000] dwc2/s3c-hsotg 12480000.hsotg: dwc2_core_reset() HANG! Soft Reset GRSTCTL=80000001 [ 4.190000] dwc2/s3c-hsotg 12480000.hsotg: dwc2_core_init(): Reset failed, aborting [ 4.195000] dwc2/s3c-hsotg: probe of 12480000.hsotg failed with error -16 Best regards Robert Baldyga Samsung R&D Institute Poland > >>> >>>> >>>> The patch series moves the s3c-hsotg files into the /dwc2 folder, so this is >>>> the final location of the driver. When the driver is built as a kernel module, >>>> it will be dwc2.ko and dwc2_platform.ko. >>>> >>>> patch 1/7 : Edit the defines in dwc2/hw.h so that the s3c-hsotg driver can use >>>> the defines in hw.h. So we can remove s3c-hsotg.h in a subsequent >>>> patch. >>>> patch 2/7 : Moves the s3c-hsotg driver into /dwc2 folder. Building the s3c-hsotg >>>> driver will now be a Kconfig option under DWC2. Also replaces the >>>> s3c-hsotg.h header file for dwc2/hw.h. >>>> patch 3/7 : Moves the s3c-hsotg data structure into a common place, core.h, so >>>> that final DRD can use it. >>>> patch 4/7 : Add the gadget data structure to a common data structure, >>>> dwc2_hsotg, which is the data structure that will encapsulate host >>>> and peripheral modes for the final DRD. The bulk for this patch >>>> is edits the in s3c-hsotg.c to reference the new data structure. >>>> patch 5/7 : Replaces the s3c_hostg_irq handler with the dwc2_handle_common_intr >>>> in dwc2. Updates the dwc2 IRQ routines to call the s3c-hsotg gadget >>>> functions for peripheral mode. >>>> patch 6/7 : Update the Kconfig and Makefile to enable building of the single >>>> DRD. At this stage the the driver is behaving as a dual-role driver. >>>> patch 7/7 : Decouple host/peripheral functionality when buildling the driver in >>>> host or peripheral mode only. >>>> >>>> This patchset is based on 3.14-rc2. I have only tested on the SOCFPGA platform >>>> which has v2.93a of dual-role IP. >>>> >>>> Thanks, >>>> >>>> Dinh Nguyen (7): >>>> usb: dwc2: Add defines to support the s3c-hsotg driver >>>> usb: s3c-hsotg: Move s3c-hsotg into dwc2 folder >>>> usb: s3c-hsotg: Move s3c-hsotg data structures >>>> usb: dwc2: Add the s3c-hsotg data structures to main dwc2_hsotg data >>>> structure >>>> usb: dwc2: combine the dwc2 and s3c_hsotg to use a single IRQ handler >>>> usb: dwc2: Enable the dwc2/s3c-hsotg to be a single dual-role driver >>>> usb: dwc2: Split out the dwc2/sc3-hsotg driver mode's build >>>> dependency >>>> >>>> drivers/usb/dwc2/Kconfig | 28 + >>>> drivers/usb/dwc2/Makefile | 17 +- >>>> drivers/usb/dwc2/core.c | 1 + >>>> drivers/usb/dwc2/core.h | 225 +++- >>>> drivers/usb/dwc2/core_intr.c | 108 +- >>>> drivers/usb/dwc2/hcd.c | 7 +- >>>> drivers/usb/dwc2/hcd.h | 23 +- >>>> drivers/usb/dwc2/hw.h | 23 +- >>>> drivers/usb/dwc2/platform.c | 50 +- >>>> drivers/usb/{gadget => dwc2}/s3c-hsotg.c | 1807 +++++++++++------------------- >>>> drivers/usb/gadget/Kconfig | 7 - >>>> drivers/usb/gadget/Makefile | 1 - >>>> drivers/usb/gadget/s3c-hsotg.h | 378 ------- >>>> 13 files changed, 1128 insertions(+), 1547 deletions(-) >>>> rename drivers/usb/{gadget => dwc2}/s3c-hsotg.c (57%) >>>> delete mode 100644 drivers/usb/gadget/s3c-hsotg.h >>>> --- >>>> Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> >>>> Cc: Paul Zimmerman <paulz@xxxxxxxxxxxx> >>>> Cc: Felipe Balbi <balbi@xxxxxx> >>>> Cc: Ben Dooks <ben-linux@xxxxxxxxx> >>>> Cc: Matt Porter <mporter@xxxxxxxxxx> >>>> Cc: Kukjin Kim <kgene.kim@xxxxxxxxxxx> >>>> Cc: Stephen Warren <swarren@xxxxxxxxxxxxx> >>>> Cc: Matthijs Kooijman <matthijs@xxxxxxxx> >>>> Cc: Jingoo Han <jg1.han@xxxxxxxxxxx> >>>> Cc: Sachin Kamat <sachin.kamat@xxxxxxxxxx> >>>> Cc: Robert Baldyga <r.baldyga@xxxxxxxxxxx> >>>> >> >> -- >> To unsubscribe from this list: send the line "unsubscribe linux-usb" in >> the body of a message to majordomo@xxxxxxxxxxxxxxx >> More majordomo info at http://vger.kernel.org/majordomo-info.html >> > > -- > To unsubscribe from this list: send the line "unsubscribe linux-usb" in > the body of a message to majordomo@xxxxxxxxxxxxxxx > More majordomo info at http://vger.kernel.org/majordomo-info.html > -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html