All of lore.kernel.org
 help / color / mirror / Atom feed
From: Mehmet Fide <mehmet.fide@gmail.com>
To: Marek Vasut <marek.vasut+usb@mailbox.org>,
	Simon Glass <sjg@chromium.org>
Cc: Tom Rini <trini@konsulko.com>, Fabio Estevam <festevam@gmail.com>,
	Stefan Agner <stefan@agner.ch>,
	Francesco Dolcini <francesco@dolcini.it>,
	u-boot@lists.u-boot-project.org,
	Mehmet Fide <mehmet.fide@screeningeagle.com>
Subject: [PATCH v4 0/6] usb: ehci-vf: make the USB host port usable
Date: Wed,  7 Oct 2026 16:45:38 +0200	[thread overview]
Message-ID: <cover.1791381507.git.mehmet.fide@screeningeagle.com> (raw)

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

"usb start" on a Colibri VF50 or VF61 kills U-Boot with a data abort,
and even with that fixed the host port stays unpowered. This series
brings the two threads sent in August together on top of next, where
the regulator GPIO change they waited for has landed:

- patch 1 fixes the data abort: the controller index came from a
  sequence number that the usbphy aliases push past the driver's tables
- patches 2 to 5 drop the dead non-DM path and the empty bind hook,
  add ofnode_get_alias_seq() and take the PHY, usbmisc and anatop bases
  from the device tree instead of the tables
- patch 6 enables the vbus-supply of the port

Patches 2 to 5 are the follow-up Marek asked for in his review of
patch 1: the PHY and usbmisc tables are gone, and the port index that
is left, for board_ehci_hcd_init() and the anatop registers, comes
from the alias of the PHY node.

v4:
- rebased on next; the dm core change that moved of_to_plat() after
  pinctrl is gone, the regulator GPIO is now claimed at probe time
  upstream ("gpio: add a way to parse a GPIO now and request it later"
  and its users), which is what the vbus patch needed
- the data abort fix joins the series as patch 1, the register base
  patch depends on it
- the checkpatch warnings in patch 4 are in the body it moves, which is
  unchanged; its one check is the DM_TEST layout every test in
  test/dm/ofnode.c uses
- patch 6 enables VBUS in the reset hook only, as ehci-mx6 does; v3
  enabled it there and in the shared init, so the regulator counted two
  enables per probe and "usb stop" never switched VBUS off
- patch 4 gains a test and no longer documents -ENOENT for a missing
  alias, the live tree returns -ENODEV
- patch 5 drops two comments that repeated its commit message
- reworded the commit messages of patches 1, 5 and 6

v2 of the register base series:
https://lore.kernel.org/u-boot/20260820071511.1036506-1-mehmet.fide@gmail.com/
v3 of the vbus series:
https://lore.kernel.org/u-boot/20260820102523.1076815-1-mehmet.fide@gmail.com/
the data abort fix:
https://lore.kernel.org/u-boot/20260818151236.2891878-1-mehmet.fide@gmail.com/

Tested on a Colibri VF50 V1.2A on the Iris carrier, colibri_vf_defconfig
on next (ed869863c7e): "usb start" finds a USB stick behind the host
port at usb@400b4000 and reads the same data before and after
"usb reset", VBUS goes on at "usb start" and off at "usb stop", also
after repeated resets, and Linux takes the port over when U-Boot boots
it without "usb stop". An earlier build also brought up the host port
on a Colibri VF61 V1.2B. The five ARCH_VF610 boards build at every
patch, and "ut dm" on sandbox gives the same result as on next, plus
the new test on the live and the flat tree.

Mehmet Fide (6):
  usb: ehci-vf: take the controller index from the device tree
  usb: ehci-vf: remove the code path for a build without DM_USB
  usb: ehci-vf: drop the empty bind hook
  dm: core: add ofnode_get_alias_seq()
  usb: ehci-vf: take the register bases from the device tree
  usb: ehci-vf: enable the vbus supply of the port

 drivers/core/ofnode.c      |  20 ++++
 drivers/core/read.c        |  20 +---
 drivers/usb/host/ehci-vf.c | 187 +++++++++++++++++--------------------
 include/dm/ofnode.h        |  13 +++
 include/dm/read.h          |   8 +-
 test/dm/ofnode.c           |  20 ++++
 6 files changed, 144 insertions(+), 124 deletions(-)

-- 
2.55.0


             reply	other threads:[~2026-10-07 16:07 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-10-07 14:45 Mehmet Fide [this message]
2026-10-07 14:45 ` [PATCH v4 1/6] usb: ehci-vf: take the controller index from the device tree Mehmet Fide
2026-10-07 14:45 ` [PATCH v4 2/6] usb: ehci-vf: remove the code path for a build without DM_USB Mehmet Fide
2026-10-07 14:45 ` [PATCH v4 3/6] usb: ehci-vf: drop the empty bind hook Mehmet Fide
2026-10-07 14:45 ` [PATCH v4 4/6] dm: core: add ofnode_get_alias_seq() Mehmet Fide
2026-10-09  6:47   ` Simon Glass
2026-10-09  9:05     ` Mehmet Fide
2026-10-12 14:23       ` Simon Glass
2026-10-07 14:45 ` [PATCH v4 5/6] usb: ehci-vf: take the register bases from the device tree Mehmet Fide
2026-10-07 14:45 ` [PATCH v4 6/6] usb: ehci-vf: enable the vbus supply of the port Mehmet Fide

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=cover.1791381507.git.mehmet.fide@screeningeagle.com \
    --to=mehmet.fide@gmail.com \
    --cc=festevam@gmail.com \
    --cc=francesco@dolcini.it \
    --cc=marek.vasut+usb@mailbox.org \
    --cc=mehmet.fide@screeningeagle.com \
    --cc=sjg@chromium.org \
    --cc=stefan@agner.ch \
    --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.