From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753537AbbCSI1h (ORCPT ); Thu, 19 Mar 2015 04:27:37 -0400 Received: from mailout1.w1.samsung.com ([210.118.77.11]:19013 "EHLO mailout1.w1.samsung.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751451AbbCSI13 (ORCPT ); Thu, 19 Mar 2015 04:27:29 -0400 X-AuditID: cbfec7f5-b7fc86d0000066b7-21-550a87d7e795 Message-id: <550A886D.8080609@samsung.com> Date: Thu, 19 Mar 2015 09:27:25 +0100 From: Robert Baldyga User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.5.0 MIME-version: 1.0 To: Chanwoo Choi Cc: balbi@ti.com, gregkh@linuxfoundation.org, myungjoo.ham@samsung.com, linux-usb@vger.kernel.org, linux-kernel@vger.kernel.org, m.szyprowski@samsung.com Subject: Re: [RFC 00/19] dwc3: add USB OTG role switch support References: <1426687464-2563-1-git-send-email-r.baldyga@samsung.com> <550A3595.6090009@samsung.com> In-reply-to: <550A3595.6090009@samsung.com> Content-type: text/plain; charset=utf-8 Content-transfer-encoding: 7bit X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFtrKLMWRmVeSWpSXmKPExsVy+t/xa7rX27lCDT480LU4eL/e4vqX56wW zYvXs1lc3jWHzWLRslZmi7VH7rJb3G5cwebA7rF/7hp2j74tqxg9jt/YzuTxeZNcAEsUl01K ak5mWWqRvl0CV8bWuZ/YC9qVKo4dPczcwLhbsouRk0NCwETi1La5rBC2mMSFe+vZuhi5OIQE ljJKTP1+khXC+cgoMffhRyCHg4NXQEtiywpOkAYWAVWJK6tvsIPYbAI6Elu+T2AEKREViJC4 fRmshFdAUOLH5HssILaIgIbEzL9XGEFGMgvMZZRYu2EZE0hCWMBOouH0QmYQW0ggVeJz93qw OKeAtkTj0v3MIDOZBdQlpkzJBQkzC8hLbF7zlnkCo8AsJCtmIVTNQlK1gJF5FaNoamlyQXFS eq6RXnFibnFpXrpecn7uJkZIUH/dwbj0mNUhRgEORiUeXocfHKFCrIllxZW5hxglOJiVRHhP l3GFCvGmJFZWpRblxxeV5qQWH2Jk4uCUamCcZf5276UZ36ZOM9cxMA2t3zFd7Z3m5RcSkzpD 11cu8D2s6hmypP+lwwNZ+Zoj1r3L9S6rvnTXXSz/5973o8HK9teDRMQKbpnqHF6vP1+S+b5R wCHPjYrsNw16fBTzmUQEr3x6rlj0qmGBbWfRXh5xxpbXpatMN/QIKRWlvxIXbz7CeUXvKr8S S3FGoqEWc1FxIgDmB1i/SAIAAA== Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi Chanwoo, On 03/19/2015 03:33 AM, Chanwoo Choi wrote: > Hi Robert, > > Did you test the extcon-odroid-otg driver on Odroid-U3? Yes, I tested it with Odroid U3, U3+, X2, XU3 and it works well. Best regards, Robert > > Thanks, > Chanwoo Choi > > On 03/18/2015 11:04 PM, Robert Baldyga wrote: >> Hello, >> >> This patchset introduces OTG feature in DWC3 DRD driver. This allows >> to change dynamically between host and peripheral mode depending on >> detected USB cable type. >> >> DWC3 driver behaviour is changed only in situation when selected operation >> mode (dr_mode) is "otg", and hardware OTG support is available or extended >> OTG operations are supplied for given platform. >> >> It such conditions are fulfilled, none of modes is enabled by default >> and dwc3 core Best regards, >> Robert Baldygais being uninitialized. After USB cable detection relevant >> mode is selected and dwc3 core is initialized. Cable disconnection causes >> deinitialization of dwc3 core. >> >> File otg.c is inspired by code of DWC3 driver from Hardkernel linux >> sources [1]. I have never tested it on DWC3 version equipped with hardware >> OTG support, but I belive that this code have chance to work or at least >> it's easy to fix. I have tested this on OdroidXU3 board which has USB >> cable detection mechanism based on two gpio pins. I used extcon driver >> for those feature, which is also attached to following patchset. >> >> I consider if ext_otg_ops it the right solution. Current solution is >> based on Hardkernel sources, but it's very likely that adding extcon >> support directly to otg.c would be generic enough, as most of cable >> detection mechanisms can be simply represented by extcon devices. >> >> Thanks in advance for your comments. >> >> Best regards, >> Robert Baldyga >> >> [1] https://github.com/hardkernel/linux >> >> Robert Baldyga (19): >> extcon: add extcon-odroid-usbotg driver >> dt-bindings: extcon: Add doc for extcon-odroid-usbotg >> ARM: dts: exynos5422-odroidxu3: add odroid-usbotg extcon support >> dwc3: gadget: add VBUS session handling >> dwc3: gadget: enable/disable ep0 in dwc3_gadget_run_stop() >> dwc3: gadget: check returned value in suspend/resume >> dwc3: core: cleanup suspend/resume code >> dwc3: core: handle event buffers in core_init/exit >> dwc3: core: make dwc3_core_init/exit non-static >> dwc3: add missing OTG register definitions >> dwc3: add OTG handling code >> dwc3: otg: add ext_otg_ops support >> dwc3: gadget: register gadget in OTG core >> dwc3: host: don't add XHCI device only if in OTG mode >> dwc3: core: initialize OTG in DWC3 core >> dwc3: exynos: add software role switching code >> ARM: dts: exynos5420: set usb3_lpm_capable in dwc3 controllers >> ARM: dts: exynos5420: add snps,dis_u3_susphy_quirk to dwc3 controllers >> ARM: dts: exynos5422-odroidxu3: make usbdrd3 extcon client >> >> .../bindings/extcon/extcon-odroid-usbotg.txt | 16 + >> .../devicetree/bindings/usb/exynos-usb.txt | 4 + >> arch/arm/boot/dts/exynos5420.dtsi | 6 + >> arch/arm/boot/dts/exynos5422-odroidxu3.dts | 24 + >> drivers/extcon/Kconfig | 4 + >> drivers/extcon/Makefile | 1 + >> drivers/extcon/extcon-odroid-usbotg.c | 257 +++++++++ >> drivers/usb/dwc3/Kconfig | 1 + >> drivers/usb/dwc3/Makefile | 4 + >> drivers/usb/dwc3/core.c | 66 ++- >> drivers/usb/dwc3/core.h | 22 + >> drivers/usb/dwc3/dwc3-exynos.c | 162 ++++++ >> drivers/usb/dwc3/gadget.c | 106 ++-- >> drivers/usb/dwc3/host.c | 10 +- >> drivers/usb/dwc3/otg.c | 577 +++++++++++++++++++++ >> drivers/usb/dwc3/otg.h | 113 ++++ >> 16 files changed, 1320 insertions(+), 53 deletions(-) >> create mode 100644 Documentation/devicetree/bindings/extcon/extcon-odroid-usbotg.txt >> create mode 100644 drivers/extcon/extcon-odroid-usbotg.c >> create mode 100644 drivers/usb/dwc3/otg.c >> create mode 100644 drivers/usb/dwc3/otg.h >> > >