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, [email protected] wrote:
>>>> From: Dinh Nguyen <[email protected]>
>>>>
>>>> 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 <[email protected]>
>>>> Cc: Paul Zimmerman <[email protected]>
>>>> Cc: Felipe Balbi <[email protected]>
>>>> Cc: Ben Dooks <[email protected]>
>>>> Cc: Matt Porter <[email protected]>
>>>> Cc: Kukjin Kim <[email protected]>
>>>> Cc: Stephen Warren <[email protected]>
>>>> Cc: Matthijs Kooijman <[email protected]>
>>>> Cc: Jingoo Han <[email protected]>
>>>> Cc: Sachin Kamat <[email protected]>
>>>> Cc: Robert Baldyga <[email protected]>
>>>>
>>
>> --
>> To unsubscribe from this list: send the line "unsubscribe linux-usb" in
>> the body of a message to [email protected]
>> 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 [email protected]
> 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 [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html