Hi, Jonathan Thibault <jonathan@xxxxxxxxxxx> writes: > Greetings, > > I am currently trying to port OpenWRT to Ubiquiti's EdgeRouter 4 which > is a Cavium Octeon 7130. While investigating to support XHCI (the > device has a single USB3 port), I ran into the dwc3 driver which > apparently supports that very chipset via the dwc3-of-simple glue. > > Looking at Ubiquiti's own firmware, it seems they are using a modified > version of the standard xhci-platform driver. > > So now I am faced with two different approaches: > > 1- Attempt to replicate Ubiquiti's modifications to xhci-plat. > > 2- Switch to dwc3-of-simple. > > With option 1, so far, I can get xhci to load by merely adding a > '.compatible =' member to usb_xhci_of_match[], but the driver complains > about LPM algorithms and disables LPM (which may be fine, I don't know > if it is even supported on this device). > > Option 2 (where you might hopefully help), potentially involves more > modification to the OpenWRT since their Octeon kernel config does not > appear to enable CONFIG_COMMON_CLK, which the driver depends on. And I > do not know if I should also disable standard ohci and ehci drivers once > I manage to enable the USB_DWC3_OF_SIMPLE. > > I'm looking for recommendations on the best approach. Keep in mind that > while I can cobble together some ugly but functional hacks, I am not an > experienced kernel dev. Just switch to dwc3-of-simple, it already supports the SoC you're dealing with. Try removing the dependency on CONFIG_COMMON_CLK. I think we already get empty stubs when common clk is disabled. If that works for you, that's an easy patch. -- balbi
Attachment:
signature.asc
Description: PGP signature