devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v1 0/6] arm64: dts: verdin-imx8mp: usb dual-role switching et. al.
@ 2022-11-02 13:11 Marcel Ziswiler
  2022-11-02 13:11 ` [PATCH v1 1/6] arm64: dts: verdin-imx8mp: improve pinctrl for vbus-supplies Marcel Ziswiler
                   ` (6 more replies)
  0 siblings, 7 replies; 8+ messages in thread
From: Marcel Ziswiler @ 2022-11-02 13:11 UTC (permalink / raw)
  To: linux-arm-kernel
  Cc: Peter Chen, Marcel Ziswiler, Fabio Estevam, Krzysztof Kozlowski,
	Laurent Pinchart, Max Krummenacher, NXP Linux Team,
	Pengutronix Kernel Team, Philippe Schenker, Rob Herring,
	Sascha Hauer, Shawn Guo, devicetree, linux-kernel

From: Marcel Ziswiler <marcel.ziswiler@toradex.com>


This series is an assortment of USB dual-role specific commits as
follows:

Improvement of pinctrl for vbus-supplies:
As we are using two fixed regulators for Verdin USB_1_EN (SODIMM 155)
and Verdin USB_2_EN (SODIMM 185), those should be muxed as GPIOs rather
than OTG_PWR.

Removal of USB_2 over-current detection disabling:
The disable-over-current property is only applicable for the
ci-hdrc-usb2 and dwc2 drivers while the i.MX 8M Plus integrates dwc3
IP. Therefore remove this property which does not really serve any
purpose here.

Addition of USB_1 over-current detection:
Add Verdin USB_1 over-current detection functionality via Verdin
USB_1_OC# (SODIMM 157) being active-low and removing its previous
gpio_hog3 mapping.

Disabling of USB port power controls:
Disable port power control on Verdin USB_1/2 as we use regular
fixed-regulators with Verdin USB_1/2_EN as enable GPIOs.

Addition of GPIO USB-B connector:
Add GPIO USB-B connector (gpio-usb-b-connector) functionality using
Verdin USB_1_ID.

Marking USB_2 as permanently attached:
As both Dahlia and the Verdin Development Board have on-carrier
permanently attached USB hubs mark Verdin USB_2 as such.

Note:
Currently, I am still seeing a rare race condition of sorts when booting
the system with Verdin USB_1 as a host port with a USB memory stick
plugged in. This exact patch series applied on top of NXP's latest
downstream 5.15.52_2.1.0 release (together with backporting a few more
dwc3-specific patches) actually makes this same use case work very
reliably. However, NXP also keeps further downstream-only patches which
I plan to further investigate and hopefully upstream a proper fix for
soon.


Marcel Ziswiler (6):
  arm64: dts: verdin-imx8mp: improve pinctrl for vbus-supplies
  arm64: dts: verdin-imx8mp: remove usb_2 over-current detection
    disabling
  arm64: dts: verdin-imx8mp: add usb_1 over-current detection
  arm64: dts: verdin-imx8mp: disable usb port power control
  arm64: dts: verdin-imx8mp: add gpio usb-b connector
  arm64: dts: verdin-imx8mp: dahlia: mark usb_2 permanently attached

 .../dts/freescale/imx8mp-verdin-dahlia.dtsi   |  1 +
 .../boot/dts/freescale/imx8mp-verdin.dtsi     | 40 ++++++++++++++-----
 2 files changed, 32 insertions(+), 9 deletions(-)

-- 
2.36.1


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

end of thread, other threads:[~2022-11-11  5:49 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-11-02 13:11 [PATCH v1 0/6] arm64: dts: verdin-imx8mp: usb dual-role switching et. al Marcel Ziswiler
2022-11-02 13:11 ` [PATCH v1 1/6] arm64: dts: verdin-imx8mp: improve pinctrl for vbus-supplies Marcel Ziswiler
2022-11-02 13:11 ` [PATCH v1 2/6] arm64: dts: verdin-imx8mp: remove usb_2 over-current detection disabling Marcel Ziswiler
2022-11-02 13:12 ` [PATCH v1 3/6] arm64: dts: verdin-imx8mp: add usb_1 over-current detection Marcel Ziswiler
2022-11-02 13:12 ` [PATCH v1 4/6] arm64: dts: verdin-imx8mp: disable usb port power control Marcel Ziswiler
2022-11-02 13:12 ` [PATCH v1 5/6] arm64: dts: verdin-imx8mp: add gpio usb-b connector Marcel Ziswiler
2022-11-02 13:12 ` [PATCH v1 6/6] arm64: dts: verdin-imx8mp: dahlia: mark usb_2 permanently attached Marcel Ziswiler
2022-11-11  5:48 ` [PATCH v1 0/6] arm64: dts: verdin-imx8mp: usb dual-role switching et. al Shawn Guo

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).