I use WinCE BSP with the i.MX25 3-Stack board.
The PWM used to drive the backlight on the i.MX25 3-Stack board is the PWM function within LCD Controller
instead of the PWM referenced in Chapter 37 of i.MX25 Reference Manual.
As the frequency of PWM within LCD Controller is too high(200KHz) or too low(110Hz) (We need 300Hz).
We use the PWM referenced in Chapter 37 of i.MX25 Reference Manual. We Set the PWM output frequency with
200Hz, used IPG_CLK32K as the source clock, it work prefect. But when We Set the GPIO3 GPIO output high,
the PWM output a Waveform with random Duty. The registers of PWM seems set right (See Below), Can Anyone help
INFO: PWM REG Value
CR : 00030001
SR : 00000001
IR : 00000000
PR : 000000a0
GPIO3_GPIO--->IOMUXC_SW_MUX_CTL_PAD_POWER_FAIL = 0xb0
GPIO3_GPIO--->IOMUXC_SW_MUX_CTL_PIN_POWER_FAIL = 0x05
PWM1--->IOMUXC_SW_MUX_CTL_PAD_PWM = 0xa0
PWM1--->IOMUXC_SW_MUX_CTL_PIN_PWM = 0x0
PWM4--->IOMUXC_SW_MUX_CTL_PAD_CONTRAST = 0xc0
PWM4->IOMUXC_SW_MUX_CTL_PIN_CONTRAST = 0x4
The PWM driver enables the 3-Stack System to provide the following software and hardware support:
The PWM driver outputs the toggling signal whose frequency and duty cycle can be modulated by programming the appropriate registers, please check your correct configuration for the IOMUX, The i.MX25 platform contains four PWM modules. PWM1 is conflicted with the interrupt from the Debug board. Therefore, this PWM can be used if the Debug board is not attached. PWM2 is used for USB OTG. PWM3 is used for USB OTG. PWM4 is conflicted with the LCD and CAN
Information about Wince Usage and unit test code please check the MX25 Wince BSP reference manual.