32-KHz Low power oscillator accuracy ranges from -53.12% to 56.25% from chip to chip. This clock is used as source for watchdog timer in low power mode. This is calibrated using LPOSCTR register during manufacturing test. RDK Firmware modifies this register which overrides manufacturing setting. As the accuracy range is quite wide, any slight delay in clearing the WDT timer by the application causes the WDT to reset the controller. Initializing LPOSCTR is a bug in the firmware hence by removing the initialization of LPOSCTR the application works fine.
Follow the steps to comment the initialization code in the firmware:
1) Open the file “timer.c” from the source folder of CY4636/CY4672 firmware in notepad.
2) Find the function “TimerInit()” using find option.
3) Comment the line “LPOSCTR = 0x10;” by using “//” at the start of the line(//LPOSCTR = 0x10;).
4) Save and close the file.
5) Build the project and download the firmware in the mouse hardware.