usb: enable simultaneous functionality of XHCI & EHCI stacks

	Compilation:
	- Renamed all conflicted elements between stacks (added "ehci_/xhci_" prefix)
	  routines: submit_int_msg, submit_bulk_msg, submit_control_msg
	            usb_lowlevel_init, usb_lowlevel_stop, usb_alloc_device
	- A38x, ALP, A375: Enabled both EHCI and XHCI support for Marvell SoCs (include/configs/..)

	Functionality:
	- mv_usb.c: Added new replacement-layer of the above usb routines,
	  to navigate between currently selected stack (EHCI/XHCI)
	- Stack selection is done according to new env variable 'usbType' (Added to mv_main_soc.c)
	  ** usbType = 2 --> USB2.0/eHCI,  usbType = 3 --> USB3.0/xHCI **
	- Relocated usbActive usage to an earlier state in usb init
	  (before usb_lowlevel_init, instead of in hci_hcd_init)
	- usb_storage.c: Updated USB_MAX_XFER_BLK value to be adapted to XHCI and EHCI usage
	  USB_MAX_XFER_BLK <= 4000: both EHCI and XHCI functional (acheived 63MiB/s with XHCI)

Change-Id: Ibde5658bdb6b94dab04048073323920ac4bd93a0
Signed-off-by: Omri Itach <omrii@marvell.com>
Reviewed-on: http://vgitil04.il.marvell.com:8080/5448
Reviewed-by: Hanna Hawa <hannah@marvell.com>
Tested-by: Star_Automation <star@marvell.com>
Reviewed-by: Eli Nidam <elini@marvell.com>
13 files changed