Hi, On Mon, Apr 22, 2013 at 10:18:20AM +0300, yehuda yitchak wrote: > Hello everyone > > I want to ask your advice on the best approach for implementing a new > XHCI host controller. > I am going to add Linux support for a new XHCI host controller for Marvell SOCs. > > I looked around the latest XHCI support code in the kernel and found > that a platform driver called “xhci-hcd” exists. > > And there is also one XHCI device (DRD dwc3 used by Samsung and TI) > that bounds to this driver. > > My case is somewhat simpler than the dwc3 since it’s not a Dual Role Device. > Basically I need to initialize some SOC level registers and then > register an xhci-hcd device. Also I need to implement suspend/resume > hooks to save and restore the SOC registers initialized at the probe > function. > > I was thinking to take the following approach: > > 1. Under drivers/usb/host - Register a new platform driver called > “xhci-mv” which will initialize the SOC specific stuff and register an > “xhci-hcd” platform device. no new xhci-mv. Reuse xhci-plat.c which is supposed to be generic. > 2. In the machine code – Register an “xhci-mv” platform device and > initialize its resources based on device tree. right, except that you should use xhci-plat. -- balbi
Attachment:
signature.asc
Description: Digital signature