I'm developing a new Kinetis-based product which will include a USB OTG port. I would like to support both the MSD (device) and printer (host) classes. The idea is to have the product support the MSD class on startup, then allow the user to switch between the MSD and printer classes through a configuration menu. I assume that this would require re-initializing the USB stack and providing two sets of descriptors and callback functions. Would the Freescale USB stack support this operation?