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.

AM335x PWM CMPA/B Active/Shadow Register Help

Hello All,

I'm currently developing a kernel module for the beaglebone that will interface to the PWMSS peripheral H/W so I can eventually interface to Electronic Speed Controllers (I know there is already a kernel driver available to do this, but I want to take the time to learn for myself how to interface to the PWMSS hardware).  I have been reading and following the directions and information in the AM335x ARM® Cortex™-A8 Microprocessors Technical Reference Manual to setup and configure the PWMSS and have successfully configured and started the ePWM0 submodule because I can see my PWM frame (1ms pulse with a period of 20ms) on the scope!

But, if I change the value of the CMPA register so I can change the duty-cycle, nothing happens on the scope.  The pulse stays at the initial 1ms pulse-width.  I've configure the Counter-Compare Control Register with SHDWAMODE=0x0 (shadow mode) and LOADAMODE=0x1 (load on counter = period).  I have also bypassed the dead-band, pwm-chooper and trip-zone submodules so I can just have the output from the Action-Qualifier.

So, it seems to me that as a write new values to the Counter-Compare A Register, I should see the duty-cycle of my PWM signal change.  Is my assumption correct? Or is there a concept or programmatic step that I'm overlooking?  I would greatly appreciate any assistance because I can't progress any further with my progress without this.

Thanks,

Donald