32kHz Oscillator-Bias Patch and fixes in BTSDK 3.1 / 3.2?

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

cross mob
ChCh_3584941
Level 4
Level 4
50 sign-ins 25 replies posted 25 sign-ins

In Oct , 2020: we raised a question regarding no-oscillation or low oscillation levels for the external 32Khz Oscillator on the CYW20719B2 chip with SDK v2.7:

https://community.infineon.com/t5/Bluetooth-SDK/CYW20719B2-32kHz-Oscillator-Issues/m-p/44396#M116 

Eventually we were provided with a patch and instructions which resolved this issue for SDK version 2.7.1  The fix included updated patch files, some updated libraries and instructions to modify wiced_sleep.h and spar_setup.c as follows:

-- in wiced_sleep.h, a new function was defined:  

/*
* Function wiced_hal_set_external_lpo_oscillator_bias
* Set external LPO oscillator bias. Default 0 = 50nA.
* @param[in] bias max allowed value is 3 (0=50nA, 1=100nA, 2=150nA, 3=200nA)
* @return         WICED_SUCCESS if bias is set successfully, WICED_ERROR otherwise.
*/
wiced_result_t wiced_hal_set_external_lpo_oscillator_bias(uint8_t bias);

 

-- and this function was added to 'wiced_pre_init()' in spar_steup.c:

void wiced_pre_init(void)
{
wiced_hal_set_external_lpo_oscillator_bias(2);
}

In SDK versions 3.1 and 3.2, I can see that the wiced_sleep.h file seems to match what we were provided in the fix, and it appears that the patches in 3.1/3.2 contain the necessary updates, but spar_setup.c DOES NOT contain the the new api function call in wiced_pre_init(). 

We have verified that without the function call in spar_setup.c, the issue still exists that the external 32kHz oscillator may not operate, or operates with a very low oscillation level.   If the function call is added (with appropriate bias level set), then proper oscillation is observed.

Can you explain the status of the external 32kHz Oscillator bias fixes in the recent SDK's?  Is spar_setup.c + wiced_pre_init() still the preferred place for the bias-setting function to be called, or should it be called from some other point in the code? (We've not been able to find any other reference to this function in the 3.1/3.2 code-base.)  If spar_setup is still the preferred location, why has the full fix not been included in these recent SDK releases?

0 Likes
1 Solution
AnjanaM_61
Moderator
Moderator
Moderator
10 questions asked 5 comments on KBA First comment on KBA

Hello @ChCh_3584941 

Since there was a custom patch provided to fix your issue via SFDC case, we can discuss further via SFDC case. Can you please reopen the case or create a new one for this ?

Regards,

Anjana

View solution in original post

0 Likes
3 Replies
AnjanaM_61
Moderator
Moderator
Moderator
10 questions asked 5 comments on KBA First comment on KBA

Hello @ChCh_3584941 

Since there was a custom patch provided to fix your issue via SFDC case, we can discuss further via SFDC case. Can you please reopen the case or create a new one for this ?

Regards,

Anjana

0 Likes
ChCh_3584941
Level 4
Level 4
50 sign-ins 25 replies posted 25 sign-ins

That case was closed and is no longer accessible by me.  Do you have the ability to re-open it, or create a new case?

Thanks

0 Likes
AnjanaM_61
Moderator
Moderator
Moderator
10 questions asked 5 comments on KBA First comment on KBA

Discussion continuing in SFDC case

0 Likes