This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

ARM clock off method of OMAP-L138

Guru 10570 points

Hello.
I am trying ARM clock off method which is described in SPRUgm7d (P146) "10.6.2 ARM Clock OFF".

When dsp-core executes sequence 3(a) and 3(b), the arm can detect ARMCLKSTOPREQ interrupt.
But in the next sequence 3(c), PTSTAT.GOSTAT[0] can not be cleared.

It is anxious one, the user guide told that dsp must do the following.
  1. The DSP stops all masters from accessing the ARM and ARM memory.
  2. The DSP polls all masters for write-completion status (or wait n number of cycles, if the
     transfer completion status is not implemented).

Because their directions are very vague, I can not understand what should I do.

- Does anyone have a example source code about ARM clock off sequence?

- Please let me know what should I do in the sequence 1 and sequence 2.

Best Regards,
BL.HSR-WZ

 

  • Hi

    Are you also performing the following steps in the ARM interrupt service routine for ARMCLKSTOPREQ

    The following sequence should be executed by the ARM within the ARM Clock Stop Request interrupt
    ISR:
    1. Check for completion of all ARM master requests (the ARM polls transfer completion statuses of all
    Master peripherals).
    2. Enable the interrupt to be used as the “wake-up” interrupt (for example, one of the CHIPSIG interrupts
    controlled by the chip signal register (CHIPSIG) in the system configuration (SYSCFG)
    module—CHIPSIG[0], CHIPSIG[1], etc.) that will be used to wake-up the ARM during the ARM
    clock-on sequence.
    3. Execute the wait-for-interrupt (WFI) ARM instruction.

     

    It is specifically important to put the ARM in wfi mode (idle) , in the ARM ISR for ARMCLKSTOPREQ. Doing this indicates to the PSC that ARM is acknowledging the clock stop request, and is "ready" to be clock gated. If you do not execute the WFI instruction , then it is expected that the GOSTAT bit will not get cleared.

    Hope this helps.
    Regards

    Mukul

  • Hi Mukul:

     I'm doing the sam thing, "turn off ARM subsystem", I also get locked when polling the PSC status. The question is:

     How to set ARM ISR for ARMCLKSTOPREQ when the Linux is already running ? Is there any example code for this ?