lkml.org 
[lkml]   [2020]   [Oct]   [6]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH v4 1/2] dt-bindings: usb: Add binding for discrete onboard USB hubs
On Mon, Oct 05, 2020 at 05:45:10PM -0700, Matthias Kaehlcke wrote:
> I did some prototyping, it seems a binding like this would work for
> case a) or b):
>
> &usb_1_dwc3 {
> hub_2_0: hub@1 {
> compatible = "usbbda,5411";
> reg = <1>;
> };
>
> hub_3_0: hub@2 {
> compatible = "usbbda,411";
> reg = <2>;
> vdd-supply = <&pp3300_hub>;
> companion-hubs = <&hub_2_0>;
> };
> };
>
> It still requires specifying both hubs (which reflects the actual wiring).
> Supporting something like "reg = <1 2>" seems more complex due to the need to
> obtain the hub USB device at runtime (a DT node makes that trivial), possibly
> this could be solved by adding new APIs.
>
> In terms of implementation would I envision to keep a platform driver. This
> would keep the hubby parts out of xhci-plat (except for populating the platform
> devices), support systems with cascaded hubs and provide a device for the sysfs
> attribute.

What will you do if a system has more than one of these power-regulated
hubs? That is, how will the user know which platform device handles the
power control for a particular hub (and vice versa)? You'd probably
have to create a pair of symlinks going back and forth in the sysfs
directories.

Wouldn't it be easier to put the power-control attribute directly in the
hub's sysfs directory (or .../power subdirectory)?

Alan Stern

\
 
 \ /
  Last update: 2020-10-06 16:18    [W:0.074 / U:0.136 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site