CYW43907 - how to call platform_hibernation_start() without timeout?

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
ToLa_2193696
Level 3
Level 3
First like received First like given

Hi,

I am using the API platform_hibernation_start(ticks_to_wakeup); to put my CYW43907/CYW54907 into hibernation mode. It works very well, but seemingly always exits hibernation based on the RTC clock. The maximum delay converts to something like 37 hours. How can I keep the chip in hibernation forever?

In my application, I like to use the HIB_WAKE_B Pin or a power cycle to wake up the chip.

Thank you

0 Likes
1 Solution
RaktimR_11
Moderator
Moderator
Moderator
500 replies posted 250 replies posted 100 replies posted

As you can check 43xxx_Wi-Fi/WICED/platform/MCU/BCM4390x/peripherals/platform_hib.c, you will find that ticks_to_wakeup is of datatype uint32_t which means it can only take a value till (2^32 - 1). When the platform is put into hibernation mode, basically a counter is started from 0 to the ticks count provided (based on the internal or external hib clock selection you can get the timing which you have reported to be 37 hours). 

Could you please tell why you want the chip to be in hibernation forever? HIB means essentially only that part of the chip is ON and even the PMU is powered down so none of the Wi-Fi/Apps related functionalities will be available.

View solution in original post

2 Replies