Separate SAMA5 OHCI interrupt handling into separate functions
Back out most of the changes of 3b04d08043742b9e65cf38d45988b35bff91daed
Separate wait() and enumerate() methods from struct usbhost_driver_s and move to new interface, struct usbhost_connection_s.  This is part of the necessary restructuring of the USB host interface to support multiple root hub ports.
SAMA5:  Major restructuring of the the OHCI driver drivers to better handle the multiple root hub ports and concureent transfers on each port.
Clean up some LP17xx and STM32 USB host configuration compilation errors due to the massive changes to the USB host interfaces needed to support the SAMA5
SAMA5 OHCI:  Use physical address and flush and/or invalidate data caches as necessary
SAMA5: Fix out of range USB PLL divisor
SAMA5:  Alternatie clock configuration that yields a perfect 48MHz full speed USB clock and a CPU clock of 384MHz
SAMA5:  ports should not be reset state (seems to make no difference)
SAMA5:  Correct the PLL 48MHz divisor.  It was off by a factor of two... no idea why
SAMA5 OHCI: Fix errors in cache handling; Don't add ED to control list until port is connected
SAMA5 OHCI:  Don't prealloc RH port TDs and EDs.  Allocate from a free list like other cases
STM32 SPI: nbits interface extended to handle LSB- or MSB-first operation.  From Teemu Pirinen
SAMA5 OHCI:  Re-organize some endpoint list data structures.. Strange things happen when semaphores lie in DMA memory which is occasionally invalidated
SAMA5 OHCI:  Driver is now basically functional
Add EHCI header file (not quite complete)
STM32 F1 I2C: Fix a typo that crept in with some recent changes.  From Yiran Liao