public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/7] Exynos4412-based Trats2 USB gadget (DWC2) fixes
@ 2015-08-21 12:38 Marek Szyprowski
  2015-08-21 12:38 ` [PATCH 1/7] phy: exynos-usb2: add vbus regulator support Marek Szyprowski
                   ` (7 more replies)
  0 siblings, 8 replies; 20+ messages in thread
From: Marek Szyprowski @ 2015-08-21 12:38 UTC (permalink / raw)
  To: linux-usb, linux-kernel, linux-samsung-soc
  Cc: Marek Szyprowski, Robert Baldyga, John Youn, Krzysztof Kozlowski,
	Kukjin Kim, Kamil Debski, Mark Brown, Kishon Vijay Abraham I

Dear All,

Since v3.19 s3c-hsotg (DWC2) USB controller stopped working on
Exynos4412-based Trats2 platform. However on Odroid-U3 (which is also
Exynos4412-based) it worked fine all the time. After long investigation
it turned out that this was caused by 2 independent issues.

First issue was caused by patch 7eec1266751bd3a25e35ce88686634c768fedc24
("ARM: dts: Add Maxim 77693 PMIC to exynos4412-trats2") added support
for Maxim 77693 regulators, but without defining consumers for them.
This causes regulator core to disable them. However SAFEOUT1 regulator
provides power supply to VBUS signal, which also power some USB phy
related parts of Exynos SoC core. This has been fixed by patches 1-3,
which adds support for VBUS regulator, defines them in DTS for all
Exynos platforms and changes probe sequence of the drivers to ensure no
deferred probe occurs (USB gadget subsystem doesn't support deferred
probe yet).

Second issue is related to DWC2 driver rewrite and host/gadget/dual-role
integration code. DWC2 module on some platforms needs three additional
hardware resources: phy, clock and power supply. All of them must be
enabled/activated to properly initialize and operate. This was initially
handled in s3c-hsotg driver, which has been converted to 'gadget' part
of dwc2 driver. Unfortunately, not all of this code got moved to common
platform code, what resulted in accessing DWC2 registers without
enabling power supply regulators and clock. This caused initialization
failure on Exynos4412-based Trats2. Odroid U3 board worked fine, because
power supplies used by DWC2 module are marked there as 'always-on',
because they are also used by other modules (USB hub) and clock was
shared with USB2 PHY, so it was already enabled. This initialization
issue has been fixed by the last patch. While preparing it I've also
fixed a few minor issues found in nearby code (patches 4-6).

I would like to get those patches merged separately to respective
subsystem trees:
patch 1: phy subsystem tree
patch 2: Samsung Exynos tree
patch 3: regulator subsystem tree
patch 4-7: USB gadget subsystem tree

Patches have been prepared on top of linux-next from 20150821.

Best regards
Marek Szyprowski
Samsung R&D Institute Poland


Patch summary:

Marek Szyprowski (7):
  phy: exynos-usb2: add vbus regulator support
  arm: dts: exynos: add vbus regulator to USB2 phy nodes
  regulators: max77693: register driver earlier to avoid deferred probe
  usb: dwc2: remove double call to s3c_hsotg_of_probe
  usb: dwc2: remove non-functional clock gating
  usb: dwc2: fix unbalanced phy control
  usb: dwc2: refactor common low-level hw code to platform.c

 .../devicetree/bindings/phy/samsung-phy.txt        |   3 +
 arch/arm/boot/dts/exynos3250-monk.dts              |   1 +
 arch/arm/boot/dts/exynos3250-rinato.dts            |   1 +
 arch/arm/boot/dts/exynos4210-trats.dts             |   2 +-
 arch/arm/boot/dts/exynos4210-universal_c210.dts    |   2 +-
 arch/arm/boot/dts/exynos4412-trats2.dts            |   1 +
 drivers/phy/phy-samsung-usb2.c                     |  25 ++-
 drivers/phy/phy-samsung-usb2.h                     |   2 +
 drivers/regulator/max77693.c                       |  12 +-
 drivers/usb/dwc2/core.h                            |   4 +-
 drivers/usb/dwc2/gadget.c                          | 196 +++----------------
 drivers/usb/dwc2/platform.c                        | 209 +++++++++++++++++----
 12 files changed, 239 insertions(+), 219 deletions(-)

-- 
1.9.2


^ permalink raw reply	[flat|nested] 20+ messages in thread
* [GIT PULL] phy: for 4.4 merge window
@ 2015-10-17  2:22 Kishon Vijay Abraham I
  2015-10-17  2:22 ` [PATCH 1/7] phy: exynos-usb2: add vbus regulator support Kishon Vijay Abraham I
  0 siblings, 1 reply; 20+ messages in thread
From: Kishon Vijay Abraham I @ 2015-10-17  2:22 UTC (permalink / raw)
  To: gregkh; +Cc: kishon, linux-kernel

Hi Greg,

Please find the pull request for 4.4 merge window below. It's a rather short
pull request adding two new PHY drivers for broadcom and mediatek SoCs and
a cleanup in sun4i usb PHY driver.

Let me know If I have to modify something.

Thanks
Kishon 

The following changes since commit 6ff33f3902c3b1c5d0db6b1e2c70b6d76fba357f:

  Linux 4.3-rc1 (2015-09-12 16:35:56 -0700)

are available in the git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/kishon/linux-phy.git next

for you to fetch changes up to 0f8669e343982ac66f4420335777cb5456b8abb0:

  MAINTAINERS: add Mediatek usb3 phy driver (2015-10-17 07:32:22 +0530)

----------------------------------------------------------------
phy: for 4.4

*) Add new PHY driver for Broadcom's cygnus PCIe PHY
*) Add USB3 PHY driver for mediatek's SoCs
*) Add VBUS regulator support for Samsung's exynos PHY
*) Misc cleanup

Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com>

----------------------------------------------------------------
Axel Lin (1):
      phy: sun4i-usb: Use devm_gpiod_get_optional for optional GPIOs

Chunfeng Yun (3):
      dt-bindings: Add usb3.0 phy binding for MT65xx SoCs
      phy: add usb3.0 phy driver for mt65xx SoCs
      MAINTAINERS: add Mediatek usb3 phy driver

Marek Szyprowski (1):
      phy: exynos-usb2: add vbus regulator support

Ray Jui (2):
      dt-bindings: Add Cygnus PCIe PHY binding doc
      phy: cygnus: pcie: Add Cygnus PCIe PHY support

 .../bindings/phy/brcm,cygnus-pcie-phy.txt          |   47 ++
 .../devicetree/bindings/phy/phy-mt65xx-usb.txt     |   68 +++
 .../devicetree/bindings/phy/samsung-phy.txt        |    3 +
 MAINTAINERS                                        |    7 +
 drivers/phy/Kconfig                                |   18 +
 drivers/phy/Makefile                               |    2 +
 drivers/phy/phy-bcm-cygnus-pcie.c                  |  213 ++++++++
 drivers/phy/phy-mt65xx-usb3.c                      |  506 ++++++++++++++++++++
 drivers/phy/phy-samsung-usb2.c                     |   25 +-
 drivers/phy/phy-samsung-usb2.h                     |    2 +
 drivers/phy/phy-sun4i-usb.c                        |   22 +-
 11 files changed, 898 insertions(+), 15 deletions(-)
 create mode 100644 Documentation/devicetree/bindings/phy/brcm,cygnus-pcie-phy.txt
 create mode 100644 Documentation/devicetree/bindings/phy/phy-mt65xx-usb.txt
 create mode 100644 drivers/phy/phy-bcm-cygnus-pcie.c
 create mode 100644 drivers/phy/phy-mt65xx-usb3.c

-- 
1.7.9.5


^ permalink raw reply	[flat|nested] 20+ messages in thread
* [RESEND GIT PULL] phy: for 4.4 merge window
@ 2015-10-17 20:33 Kishon Vijay Abraham I
  2015-10-17 20:33 ` [PATCH 1/7] phy: exynos-usb2: add vbus regulator support Kishon Vijay Abraham I
  0 siblings, 1 reply; 20+ messages in thread
From: Kishon Vijay Abraham I @ 2015-10-17 20:33 UTC (permalink / raw)
  To: gregkh; +Cc: kishon, linux-kernel

Hi Greg,

Please find the updated pull request with signed tag for 4.4 merge window
below. It's a rather short pull request adding two new PHY drivers
for broadcom and mediatek SoCs and a cleanup in sun4i usb PHY driver.

Let me know If I have to modify something.

Thanks
Kishon 

The following changes since commit 6ff33f3902c3b1c5d0db6b1e2c70b6d76fba357f:

  Linux 4.3-rc1 (2015-09-12 16:35:56 -0700)

are available in the git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/kishon/linux-phy.git tags/phy-for-4.4

for you to fetch changes up to 0f8669e343982ac66f4420335777cb5456b8abb0:

  MAINTAINERS: add Mediatek usb3 phy driver (2015-10-17 07:32:22 +0530)

----------------------------------------------------------------
phy: for 4.4

*) Add new PHY driver for Broadcom's cygnus PCIe PHY
*) Add USB3 PHY driver for mediatek's SoCs
*) Add VBUS regulator support for Samsung's exynos PHY
*) Misc cleanup

Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com>

----------------------------------------------------------------
Axel Lin (1):
      phy: sun4i-usb: Use devm_gpiod_get_optional for optional GPIOs

Chunfeng Yun (3):
      dt-bindings: Add usb3.0 phy binding for MT65xx SoCs
      phy: add usb3.0 phy driver for mt65xx SoCs
      MAINTAINERS: add Mediatek usb3 phy driver

Marek Szyprowski (1):
      phy: exynos-usb2: add vbus regulator support

Ray Jui (2):
      dt-bindings: Add Cygnus PCIe PHY binding doc
      phy: cygnus: pcie: Add Cygnus PCIe PHY support

 .../bindings/phy/brcm,cygnus-pcie-phy.txt          |   47 ++
 .../devicetree/bindings/phy/phy-mt65xx-usb.txt     |   68 +++
 .../devicetree/bindings/phy/samsung-phy.txt        |    3 +
 MAINTAINERS                                        |    7 +
 drivers/phy/Kconfig                                |   18 +
 drivers/phy/Makefile                               |    2 +
 drivers/phy/phy-bcm-cygnus-pcie.c                  |  213 ++++++++
 drivers/phy/phy-mt65xx-usb3.c                      |  506 ++++++++++++++++++++
 drivers/phy/phy-samsung-usb2.c                     |   25 +-
 drivers/phy/phy-samsung-usb2.h                     |    2 +
 drivers/phy/phy-sun4i-usb.c                        |   22 +-
 11 files changed, 898 insertions(+), 15 deletions(-)
 create mode 100644 Documentation/devicetree/bindings/phy/brcm,cygnus-pcie-phy.txt
 create mode 100644 Documentation/devicetree/bindings/phy/phy-mt65xx-usb.txt
 create mode 100644 drivers/phy/phy-bcm-cygnus-pcie.c
 create mode 100644 drivers/phy/phy-mt65xx-usb3.c

-- 
1.7.9.5


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

end of thread, other threads:[~2015-10-17 20:34 UTC | newest]

Thread overview: 20+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-08-21 12:38 [PATCH 0/7] Exynos4412-based Trats2 USB gadget (DWC2) fixes Marek Szyprowski
2015-08-21 12:38 ` [PATCH 1/7] phy: exynos-usb2: add vbus regulator support Marek Szyprowski
2015-08-21 12:44   ` Kishon Vijay Abraham I
2015-08-25  5:47     ` Marek Szyprowski
2015-08-25  6:12       ` Krzysztof Kozlowski
2015-08-27  9:54         ` Kishon Vijay Abraham I
2015-09-30  6:00           ` Marek Szyprowski
2015-08-21 12:38 ` [PATCH 2/7] arm: dts: exynos: add vbus regulator to USB2 phy nodes Marek Szyprowski
2015-08-23  3:59   ` Krzysztof Kozlowski
2015-08-21 12:38 ` [PATCH 3/7] regulators: max77693: register driver earlier to avoid deferred probe Marek Szyprowski
2015-08-23  3:50   ` Krzysztof Kozlowski
2015-08-21 12:38 ` [PATCH 4/7] usb: dwc2: remove double call to s3c_hsotg_of_probe Marek Szyprowski
2015-08-21 12:38 ` [PATCH 5/7] usb: dwc2: remove non-functional clock gating Marek Szyprowski
2015-08-21 12:38 ` [PATCH 6/7] usb: dwc2: fix unbalanced phy control Marek Szyprowski
2015-08-21 12:38 ` [PATCH 7/7] usb: dwc2: refactor common low-level hw code to platform.c Marek Szyprowski
2015-09-03  1:12   ` John Youn
2015-09-16 12:34     ` [PATCH v2 " Marek Szyprowski
2015-08-24  7:16 ` [PATCH 0/7] Exynos4412-based Trats2 USB gadget (DWC2) fixes Krzysztof Kozlowski
  -- strict thread matches above, loose matches on Subject: below --
2015-10-17  2:22 [GIT PULL] phy: for 4.4 merge window Kishon Vijay Abraham I
2015-10-17  2:22 ` [PATCH 1/7] phy: exynos-usb2: add vbus regulator support Kishon Vijay Abraham I
2015-10-17 20:33 [RESEND GIT PULL] phy: for 4.4 merge window Kishon Vijay Abraham I
2015-10-17 20:33 ` [PATCH 1/7] phy: exynos-usb2: add vbus regulator support Kishon Vijay Abraham I

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox