The documentation describes how to have two eFlexPWM module to synchronize based on MC56F84789, give the waveform of PWM signals copied from oscilloscope, which shows that all PWM signals from eFlexPWMA and eFlexPWMB are synchronized.
For eFlexPWMA, the master sync signal is used to synchronize the other subn-modules of eFlexPWMA. For eFlexPWMB module, the eFlexPWMA generates PWMA0_TRIG signal(which is the same signal as master sync signal of eFlexPWMA), the PWMA0_TRIG signal are connect to the PWMB0_EXT_SYNC, PWMB1_EXT_SYNC, PWMB2_EXT_SYNC via crossbar.
I have written same code using direct address with which PWMs are working fine for all the sub modules.
like this, (*(volatile uint16_t *) 0x40033002U) = 0; // PWMA_SM0Initial 0
I can monitor the register PWMA_SMnSTS to know whether loading of pwm registers is correct or not. With this, register reload error flag was not enabled.
Same is not working with using struct (In ARM Series Controller, For all register mapping is done with structure definition).
baseAddress->SM[0].VAL0 = 0;
If i work with this kind of configuration setting, I can see register reload error flag setting in register PWMA_SMnSTS.
Please look into this issue.