From: Mehmet Fide <mehmet.fide@gmail.com>
To: Simon Glass <sjg@chromium.org>,
Marek Vasut <marek.vasut+usb@mailbox.org>
Cc: Tom Rini <trini@konsulko.com>,
u-boot@lists.u-boot-project.org,
Mehmet Fide <mehmet.fide@screeningeagle.com>
Subject: [PATCH 0/2] vf610: make the USB host port usable
Date: Wed, 19 Aug 2026 16:35:41 +0200 [thread overview]
Message-ID: <20260819143543.427396-1-mehmet.fide@gmail.com> (raw)
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
next reply other threads:[~2026-08-19 14:35 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-08-19 14:35 Mehmet Fide [this message]
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
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20260819143543.427396-1-mehmet.fide@gmail.com \
--to=mehmet.fide@gmail.com \
--cc=marek.vasut+usb@mailbox.org \
--cc=mehmet.fide@screeningeagle.com \
--cc=sjg@chromium.org \
--cc=trini@konsulko.com \
--cc=u-boot@lists.u-boot-project.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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.