I'm working on some safety-critical code for the AM3358 which demands that all unused modules and functions in the processor (even ones that are disabled by default) shall be explicitly disabled. That covers everything from the SGX and PRU-ICSS modules down to UARTs and Timers.
The general technique we're using is to set the Mode (MODULEMODE) field in a module's CLKCTRL register to Disabled and then wait for the Idle Status (IDLEST) field to read Disabled. This led to the question of how long the process should take.
Assuming a module is enabled, how long should it take from setting MODULEMODE to Disabled until the status changes from Functional to Disabled? Does the status change immediately or can it take a significant period of time, particularly for the more complex modules?
Thanks.