On Thu, Oct 15, 2020 at 01:15:37PM +0300, Felipe Balbi wrote: > Serge Semin <Sergey.Semin@xxxxxxxxxxxxxxxxxxxx> writes: > > > On Wed, Oct 14, 2020 at 05:09:37PM +0300, Felipe Balbi wrote: > >> > >> Hi Serge, > >> > >> Serge Semin <Sergey.Semin@xxxxxxxxxxxxxxxxxxxx> writes: > >> > In accordance with the DWC USB3 bindings the corresponding node name is > >> > suppose to comply with Generic USB HCD DT schema, which requires the USB > >> > > > >> DWC3 is not a simple HDC, though. > > > > Yeah, strictly speaking it is equipped with a lot of vendor-specific stuff, > > which are tuned by the DWC USB3 driver in the kernel. But after that the > > controller is registered as xhci-hcd device so it's serviced by the xHCI driver, > > in Dual-role or host-only builds, that's correct. We can also have > peripheral-only builds (both SW or HW versions) which means xhci isn't > even in the picture. Hm, good point. In that case perhaps we'll need to apply the xHCI DT schema conditionally. Like this: - allOf: - - $ref: usb-xhci.yaml# + allOf: + - if: + properties: + dr_mode: + const: peripheral + then: + $ref: usb-hcd.yaml# + else: + $ref: usb-xhci.yaml# Note, we need to have the peripheral device being compatible with the usb-hcd.yaml schema to support the maximum-speed, dr_mode properties and to comply with the USB node naming constraint. -Sergey > > -- > balbi