Hi Robert,

Did you test the extcon-odroid-otg driver on Odroid-U3?

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
> 

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to