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.

Deep Sleep/Standby and dmtimer/pwm

Dear All,

in my am33xx based platform I would like to use one of the internal dmtimer (e.g. timer7) as pwm. The main requirement is that this pwm should be running even in deep sleep1 mode (24MHz OSC is turned off, only 32KHz is running).

Is this possible or do I have to keep 24MHz running?

I've initialized timer7 as explained here but I can't see PWM running neither in deep sleep nor in standby mode. The only way to see it running is to disable

writel(0x0, AM33XX_CM_MPU_MPU_CLKCTRL);

inside am33xx_pm_suspend() but this increase a lot the power consumption.

Does anybody knows if there's a way to drive a PWM in this platform (e.g. by changing the pwm reference clock) in deep sleep?

Best Regards,

Andrea

  • Hi Andrea,
     
    A possibility would be to switch the timer clock source to 32kHz, but I can't say if this will satisfy your PWM requirements.
  • Biser Gatchev-XID said:

    A possibility would be to switch the timer clock source to 32kHz, but I can't say if this will satisfy your PWM requirements.

    IIUC the 32khz that feed timer7 is CLK_32KHZ, which comes from a PLL and I read the following lines SPRUH73I

    During low power modes, the Master Oscillator is disabled. CLK_32KHZ also would not be available in this scenario since it is sourced from the Master Osc based PER PLL.

    Only timer0-1 can have the external 32khz OSC as source, but those (IIUC) don't have a PWM functionality (I cannot see them in the muxed pins)

    Am I wrong?

  • Hi Andrea,
     
    Sorry, I was looking at Timer0. You are right of course. In your case the only other possibility is to use an external clock on TCLKIN pin.