The HPS IO pins configured as Loan IO by the Preloader will drive '1' prior to FPGA configuration. This may cause unexpected behaviour for any pins which are intended to be tri-state.
To retain the pins that will be assigned to Loan IO in their power-up state prior to FPGA configuration, follow these steps:
- Take a copy of your Quartus® II project and change all Loan IO pins to GPIO in the Qsys system.
- Compile the copy of the project to obtain the handoff files for preloader generation.
- Generate the preloader as usual for the copy project.
- Use the preloader from the copy project instead of the preloader for your intended project for boot up.
- After the FPGA has been configured, reconfigure the HPS pinmux settings by using running the sysmgr_pinmux_init function in system_manager.c, but using the generated pinmux_config.h and pinmux_config_cyclone5.c files from the preloader generated for your intended project.
This behavior is scheduled to be included in a future release of the Cyclone® V and Arria® V documentation.