All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/2] vf610: make the USB host port usable
@ 2026-08-19 14:35 Mehmet Fide
  2026-08-19 14:35 ` [PATCH 1/2] dm: core: read the device tree into plat data after pinctrl Mehmet Fide
  2026-08-19 14:35 ` [PATCH 2/2] usb: ehci-vf: enable the vbus supply of the port Mehmet Fide
  0 siblings, 2 replies; 4+ messages in thread
From: Mehmet Fide @ 2026-08-19 14:35 UTC (permalink / raw)
  To: Simon Glass, Marek Vasut; +Cc: Tom Rini, u-boot, Mehmet Fide

From: Mehmet Fide <mehmet.fide@screeningeagle.com>

With the ehci-vf fixes sent so far the controller comes up and
enumerates its root hub, but a device plugged into the host port of a
Colibri VF50 or VF61 carrier is still never found. Two things are
missing.

The driver ignores the vbus-supply of the port, so the regulator that
switches VBUS is never enabled. That is patch 2.

Enabling it is not enough, because the pin the regulator drives never
becomes an output. device_probe() reads the device tree into plat data
before it applies the pinctrl state, so the fixed regulator asks for its
GPIO first and the pinctrl state of the same device then rewrites the
pad. On most SoCs that is harmless, the direction is in the GPIO block,
but on Vybrid the output buffer enable is a bit of that pad. Patch 1
moves the call back below the pinctrl step, where it was until 2019.

I first fixed this in the Vybrid GPIO driver, by asserting the direction
again whenever a value is driven, and dropped that in favour of patch 1:
the driver side does not help a pin that is only ever driven at request
time, and the ordering is the actual defect.

Patch 2 applies on top of

  https://lore.kernel.org/u-boot/20260819093705.4143509-1-mehmet.fide@gmail.com/

Testing. test/py on sandbox, before and after patch 1: 11 failed, 414
passed, 210 skipped, 1 xfailed, 20 errors, the same failures both times,
all of them from tools and images missing in my environment.

On a Colibri VF50 V1.2A on an Iris carrier, U-Boot 2026.07 from NAND:
with both patches "usb start" finds a USB stick, its partition table and
blocks read back, and Linux still boots with Ethernet, SD card and USB
working.

Mehmet Fide (2):
  dm: core: read the device tree into plat data after pinctrl
  usb: ehci-vf: enable the vbus supply of the port

 drivers/core/device.c      |  8 ++++----
 drivers/usb/host/ehci-vf.c | 31 ++++++++++++++++++++++++++++++-
 2 files changed, 34 insertions(+), 5 deletions(-)

-- 
2.54.0


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

end of thread, other threads:[~2026-08-20  3:55 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-08-19 14:35 [PATCH 0/2] vf610: make the USB host port usable Mehmet Fide
2026-08-19 14:35 ` [PATCH 1/2] dm: core: read the device tree into plat data after pinctrl Mehmet Fide
2026-08-19 14:35 ` [PATCH 2/2] usb: ehci-vf: enable the vbus supply of the port Mehmet Fide
2026-08-19 19:52   ` Marek Vasut

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.