cancel
Showing results for 
Search instead for 
Did you mean: 
Highlighted
Participant
Participant
594 Views
Registered: ‎10-05-2014

Timer responsible for system tick in Linux for Zynq stops working

Sometimes my Linux Zynq 7z035 system stops to increase jiffies. It shows this behaviour sporadically at reboot when Linux is trying to calibrate delay loop and calculating BogoMIPS. Obvioulsy the whole system will hang.

 

Does anyone know which timer is used for increasing jiffies? I thought it was scutimer/private timer but it is not.

Can I change which timer is used for system tick?

 

 

0 Kudos
2 Replies
Highlighted
Participant
Participant
584 Views
Registered: ‎10-05-2014

Re: Timer responsible for system tick in Linux for Zynq stops working

I think the source timer for Linux system tick is GLOBAL ARM TIMER. At least when Linux is up and running I'm sure that GLOBAL ARM TIMER is used because if I try to stop it, then jiffies stop counting. 

Anyway, I'm not sure if during "Calibration of loop delay" the system is using GLOBAL ARM TIMER. What else could it be using?

 

As additional info my Linux (using only CPU0) is recovering from an AWDT (APU WDT) when the Calibration hangs, I never observed it while doing a power on startup. 

 

Thx.

0 Kudos
Highlighted
Participant
Participant
509 Views
Registered: ‎10-05-2014

Re: Timer responsible for system tick in Linux for Zynq stops working

Now it is clear:

 

My Zynq Linux uses SCU TIMER to perform calibration of loop delay then switches to ARM GLOBAL TIMER.

 

My system gets stuck (sporadically) during Calibration of loop delay due to the fact that GIC is not working. This happens after triggering the SCU WDT (aka AWDT), in FSBL I tried to reset the GIC but I don't know which is the best sequence.

 

Bye.

0 Kudos