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. Thankful, Lars from Berlin PS: I already had a look at the Configuration Sequence in the Device Handbook, but I'm not fully understanding this.