Programmable Devices
CPLDs, FPGAs, SoC FPGAs, Configuration, and Transceivers
20688 Discussions

Arria 10 sw warm and cold reset does not work

Altera_Forum
Honored Contributor II
1,983 Views

When i issue a reset in uboot or a reboot in linux, the hps seems to hang/stall but doesn't reset. 

When i write a 0x01, 0x02 or 0x03 into the i_rst_mgr_rstmgr register at addr 0xFFD0500C, i have the same reaction, the hps hangs/stalls but doesn't reboot. 

Is this a known issue? i searched through the errata's but didn't find anything. 

 

Thanks in advanced
0 Kudos
2 Replies
Altera_Forum
Honored Contributor II
915 Views

Hi, did you find a solution to this reset problem? We have the same problem, when issuing reset from u-boot, HPS hangs. (Dev kits are working - With and without any firmware). We are looking into the HPS handover to see if there is a register maybe to enable? Could not find anything yet. So now i am of the opinion that there maybe a problem in the PCB layout, e.g. Is there a hard reset output which i need to feedback to a hard input? We are using Cyclone V SOC. Thanks

0 Kudos
Altera_Forum
Honored Contributor II
915 Views

I found a solution. This is what we did, may it will help someone else. 

 

The Preloader software (SPI) expect the QSPI (HPS Flash) to be in a 3 Byte mode (the default at reset). In our application we set-up the QSPI device to 4 Byte mode in U-Boot. At power on, the QSPI device is in 3 Byte mode, and the preloaders are happy. If we type reset into u-boot, our CPU resetted (e.g. HPS_nRST bi-dir signal), but our QSPI device reset in was not connected to this signal. Therefore when the preloaders started our QSPI device is in the wrong mode. 

 

The solution is to tie HPS_nRST, HPS_POR, Byte Blaster pin 6, our External watchdog power on reset device reset out, QSPI reset in and the DDR 1V35 PGood output (All open collector) together. Tested and working. 

However, i could not find any documentation stating whether the Byte Blaster pin 6 is open collector or not. Luckily we had a series resistor in between which we changed to a 1K. Next PCB, we will add a open collector buffer between pin 6 of byte blaster and this single Open Collector reset. 

 

Note If pin 6 of the Byte Blaster is not connected to the HPS_nRST, we found that DS5 did not start up every time. 

 

Hope it helps.
0 Kudos
Reply