AnsweredAssumed Answered

How to set SPIDEN or SPNIDEN in i.MX6

Question asked by Xingbin Jiang on Dec 19, 2018
Latest reply on Dec 25, 2018 by Yuri Muhin



I am trying to trace hardware performance of Linux kernel running on i.MX6, but I found that I can't read other values except CCNT because SPIDEN and SPNIDEN are not enabled (PL1 secure invasive debugging and secure non-invasive debugging are not permitted, can not trace from PL1). 


I found relevant questions on this forum, but I didn't get the real solution.

Set SPNIDEN from fuse? 

Enable Hardware Counters on PL310 L2 Cache 

How to control the SPNIDEN signal in iMX53 qsb? 


The ARM architecture reference manual says:

In v6.1 Debug, v7 Debug, and v7.1 Debug the NIDEN, DBGEN, SPIDEN, and SPNIDEN authentication signals can be controlled dynamically, meaning that they might change while the processor is running, or while the processor is in Debug state.  Normally, these signals are driven by the system, meaning that they are driven by a peripheral connected to the ARM processor. It might be controlled by an instruction to write a value to a control register in a system peripheral. 


Does anyone have idea on which peripheral register of i.MX6 can be set to control SPIDEN or SPNIDEN? 


Thanks and Regards,