Showing results for 
Search instead for 
Did you mean: 
Honored Contributor I

Configuring IO on Cyclone V after boot

Hello Community, 


I want to configure specific pins (the spim0 pins) on my Cyclone V device (SoCrates Board) without using the Preloader(!) to be inputs without pull-up, 

so I can't use Qsys for this - correct me if I'm wrong. 


I already found the registers for muxing the pins as GPIOs and also the registers to set the GPIO config (in/out, pull-up, etc), 

i know I have to take the GPIO Controller out of reset, too - I read the chapters in the Cyclone V Device Handbook. 

Writing the code for this should be easy.  


What I'm concerned about is: I don't understand the IO Configuration sequence 


Next to the registers I have to write to, to config the pins, there is a NOTE in the Device Handbook: 

NOTE: These registers should not be modified after IO configuration.There is nosupport for dynamically changing the Pin Mux selections 


So my question turns out to be: When is the right time to configure the pin mux selections and how can I make my code run at the right moment? 

Currently I'm trying to do this after the device fully booted (in my case only the BootROM ran, no SPL/Preloader) by running my code directly from ARM DS 5. 


Some hints in the right direction should be enough. 



Lars from Berlin 


PS: I already had a look at the Configuration Sequence in the Device Handbook, but I'm not fully understanding this.
0 Kudos
0 Replies