How to re-enable the Core clock on BF70x after gating it

Since BF70x is a single core processor, gating the core clock can make the core unrecoverable since the core can not re-enable its own clock once it has disabled it. However using the system infrastructure properly can allow for the Core clock to be restored. The attached code examples demonstrates this by using the TRU along with DMA to re-enable the core clock and enable the core to execute.

Code does following:

  • Map the GPIO (pushbutton on EZKIT) trigger to MDMA
  • Configure the MDMA to write to CGU_CCBF_DIS to enable the clock back
  • Disable the Core clock
  • Put the core in IDLE
  • Wait for Push button press
  • Pushing the push button trigger the DMA to enable the Core clock