Hi Alexander, +Marek in Cc as maintainer.
On 6/1/26 10:27 AM, Alexander Stein wrote:
From: Markus Niebel <[email protected]> This hub is compatible to the already supported USB2514. Add its USB PID/VID.
The kernel driver disagrees. The USB2514 has two (vdd, vdda) supplies while 2517 has only one (vdd). See commit 673655f7944f ("usb: misc: onboard_dev: add vdda support for Microchip USB2514") in the Linux kernel.
Now, it seems like the U-Boot driver only requests vdd for the 2514 so maybe we should fix that.
So this patch is "fine" as it'll do what it's supposed to, but I feel in the wrong way and potentially opens the door to an issue when someone will figure out 2514 isn't requesting all supplies and will patch it but then 2517 will now also request two supplies instead of one.
At the very least, have a separate struct for 2517 matching the name used in the Linux kernel. I'm sure we'd also accept patches for 2514 to request all the supplies it needs (at least according to the Linux kernel driver).
Cheers, Quentin
Signed-off-by: Markus Niebel <[email protected]> Signed-off-by: Alexander Stein <[email protected]> --- common/usb_onboard_hub.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/common/usb_onboard_hub.c b/common/usb_onboard_hub.c index e7bd0b9ccdd..9eea18a3066 100644 --- a/common/usb_onboard_hub.c +++ b/common/usb_onboard_hub.c @@ -293,6 +293,9 @@ static const struct udevice_id usb_onboard_hub_ids[] = { /* Use generic usbVID,PID dt-bindings (usb-device.yaml) */ { .compatible = "usb424,2514", /* USB2514B USB 2.0 */ .data = (ulong)&usb2514_data, + }, { + .compatible = "usb424,2517", /* USB2517B USB 2.0 */ + .data = (ulong)&usb2514_data, }, { .compatible = "usb424,2744", /* USB2744 USB 2.0 */ .data = (ulong)&usb5744_data,

