Forum Discussion

Altera_Forum's avatar
Altera_Forum
Icon for Honored Contributor rankHonored Contributor
9 years ago

Bare metal USB driver

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

5 Replies

  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    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.

  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    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.

  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    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.

  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    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?
  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    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.