On Tue, Aug 24, 2021 at 08:37:02AM +0200, Alexander Dahl wrote: > Unlike other SoC series featuring the 'atmel,at91sam9g45-ehci' USB EHCI > controller, which have embedded USB high-speed transceivers for each > port, the third port on the SAMA5D2 series is HSIC only. That HSIC > interface is not enabled after a power-on reset, but can be enabled by > setting a flag in a vendor specific EHCI register. > > The register offsets added to the new header file were compared with > those for the SAM9G45, SAM9X25, SAMA5D3, SAMA5D4, and SAM9X60 series and > there are no differences in the offsets or contents of those registers. > Which of those additional vendor specific registers are supported, > differs by SoC family. So while the HSIC enable feature is currently > only present for SAMA5D2, it probably does not hurt to set it on the > other families, hence no additional check for SoC family here. > > Tested on a custom board featuring a SAMA5D27C-D5M SiP connected to an > USB3503 hub with an upstream HSIC interface. > > Link: https://community.atmel.com/forum/sama5d2-using-hsic-under-linux > Signed-off-by: Alexander Dahl <ada@xxxxxxxxxxx> > --- > > Notes: > - for introducing new dt binding, would be nice to convert old one > first, probably needs split up and multiple iteration review? > - name of that new dt property? > - register definitions put to a separate file, like > 'drivers/usb/host/ehci-fsl.h' > - unsure where exactly in the probe process that register write should > happen, datasheet gives no hint > - should suspend/resume be considered? > > drivers/usb/host/ehci-atmel.c | 17 +++++++++++++++++ > drivers/usb/host/ehci-atmel.h | 19 +++++++++++++++++++ No need for a new .h file that is only used in a single .c file. Just put those few lines in the .c file please. thanks, greg k-h