On 15.01.24 17:03, Krzysztof Kozlowski wrote: > On 15/01/2024 16:59, Javier Carrasco wrote: >>>> The voice data and any other information can be retrieved directly via >>>> USB from userspace. Once in normal operation, the device acts as a >>>> regular "onboard" USB device and the driver does not need to do any >>>> further management. >>> >>> So is this an USB device? If yes, then shouldn't be just auto-discovered >>> and you add here some bindings for other device? This looks like coding >>> power sequence not in USB node, but in some other, new node. >>> >>> Best regards, >>> Krzysztof >>> >> It is an USB device that requires two power supplies and a reset to >> boot. Afterwards it is auto-discovered and functions normally as a >> regular USB device. In that sense it works like the onboard USB HUBs: >> >> https://github.com/torvalds/linux/blob/master/drivers/usb/misc/onboard_usb_hub.c >> >> The onboard USB HUB driver is of course more complex because it has to >> support other features, but the idea of enabling the power supplies and >> toggling the reset signal is essentially the same. >> > > Yeah, about that... so this is not really correct device representation > for DT. There is no such device as XVF3500 outside of USB bus. There is > XVF3500 but on USB bus and this should be there. In the past we allowed > such root-level devices just because we did not have other way to handle > them. Now we have. > > Best regards, > Krzysztof > Do you mean that the XVF3500 should not be represented as a platform device and instead it should turn into an USB device represented as a node of an USB controller? Something like this (Rockchip SoC): &usb_host1_xhci { ... xvf3500 { ... }; }; Did I get you right or is that not the correct representation? Thank you again. Best regards, Javier Carrasco