[PATCH v2 0/4] usb: ehci-vf: take the register bases from the device tree
Mehmet Fide <[email protected]>
| Newsgroups | org.u-boot-project.lists.u-boot |
|---|---|
| Message-ID | <[email protected]> |
From: Mehmet Fide <[email protected]> Review of v1 asked for three things and they are all here. Marek asked whether the code path removed in patch 1 is used in SPL without DM_USB. The question is a fair one, because the select of DM_USB that USB_EHCI_HCD does only covers U-Boot proper: in an SPL build CONFIG_IS_ENABLED(DM_USB) reads CONFIG_SPL_DM_USB, so a board could take that path there. No build can, though. The driver depends on ARCH_VF610, five boards select it, drivers/Makefile builds usb/host/ for SPL only when SPL_USB_HOST is set, and none of the five sets it or CONFIG_SPL at all. The path also does not compile, which is how it stayed unnoticed. Patch 2 carries the two Fixes tags Marek pointed at. Patch 4 no longer uses fdtdec. v1 did, because that is what ehci-mx6 does in mx6_parse_dt_addrs(), but the livetree calls are what review asked for and the driver now has none of the flat tree API left, not even the include. One piece was missing for that. The alias of a node reached through a phandle could not be read with the livetree API at all: dev_read_alias_seq() wants a device, of_alias_get_id() wants a live tree and these boards run a flat one, and ofnode_get_aliases_node() answers the other direction. Only fdtdec could do it. That gap has stood because the need is rare - ehci-mx6 is the only driver in the tree that ever asked for the alias of a node it does not own, and it reached for fdtdec. Patch 3 moves the body of dev_read_alias_seq() down to the ofnode level and lets both of its variants call it, so patch 4 has a livetree call to use. It is a pure move, no functional change. Testing. test/py on sandbox, before and after patch 3: 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: "usb start" brings the host controller up and enumerates the root hub, and Linux still boots with Ethernet, SD card and USB working. v1: https://lore.kernel.org/u-boot/[email protected]/ Mehmet Fide (4): 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 drivers/core/ofnode.c | 20 +++++ drivers/core/read.c | 20 +---- drivers/usb/host/ehci-vf.c | 178 +++++++++++++------------------------ include/dm/ofnode.h | 14 +++ include/dm/read.h | 8 +- 5 files changed, 102 insertions(+), 138 deletions(-) -- 2.54.0