I am new to developing with the SOC. I am interested in developing a standalone application for the Cyclone V and using the USB 2.0 module. I am trying to figure out where to find documentation on available driver functions for USB for standalone applications or if these would have to be written from scratch.Any assistance would be greatly appreciated
Unfortunately Altera doesn't seem to publish bare metal USB Driver for this - I suggest you try filing a service request to Altera to check if they have this available.
Part of my concern is that the Cyclone V SOC datasheet says "For detailed information about using the USB OTG controller, consult your operating system (OS) driverdocumentation. The OS vendor provides application programming interfaces (APIs) to control USB host, device and OTG operation." This seems to imply the datasheet doesnt have sufficient information for writing your own baremetal driver for the controller.
It could be a long shot but the Usb controller IP is not made by Altera and is a core from Synopsys Designwire. You may find more information (or example code) with Synopsys.
I looked on Synopsys site at https://www.synopsys.com/dw/ipdir.php?ds=dwc_usb_2_0_hs_otg but much of the documentation required a login which wanted a site id so I think we would need to be a Synopsys customer to get this. Additionally I wanted to make sure that whatever documentation I found was for the right version of the controller implemented by Altera.I was hoping somebody from Altera could point me to the documentation. I am confused without more detailed documentation provided by Altera how could someone use this in a bare metal application? Or is Altera only expecting people to use the USB with an existing operating system?
I haven't heard of any plans for Altera (Intel) to provide a baremetal stack targeting the USB IP in the HPS. I haven't looked at OS code for that IP but I suspect it would be a fairly daunting task to write a reasonably featured stack for it.