Reply
Posts: 16
Registered: ‎10-26-2016
Accepted Solution

CP2114 b02 : CP2114_ReadOTP return values meaning please

Hi,

      This is a follow-up question on

https://community.silabs.com/t5/Interface/Cp2114-Recommendation-on-automating-Audio-ROM-config/m-p/1...

 

Although the document AN433 Rev 0.6 section 5.13 says the return values can be one of the 5 values (0 , 3,4, 0x13 0x16). I am getting value 65 decimal. On further debugging, I found the value is returned by 'Get2114Status' where 

*pCP2114Status = report[1];

 at around line ~176 of HIDtoUARTCP2114.cpp. 

What does value 65 mean?

Many Thanks,

Tony

Posts: 16
Registered: ‎10-26-2016

Re: CP2114 b02 : CP2114_ReadOTP return values meaning please

I think I found the answer to the question.

HID_UART_UNEXPECTED_CACHE_DATA 0x41 Cached parameters contain invalid or unexpected
data values.

Posts: 16
Registered: ‎10-26-2016

Re: CP2114 b02 : CP2114_ReadOTP return values meaning please

Can somebody please help me fix this? I am getting the same error on 

 

"CP2114_SetBootConfig(HID_UART_DEVICE device, BYTE cp2114ConfigNumber)"

 

which fails to set the boot config.

Highlighted
Posts: 36
Registered: ‎03-12-2013

Re: CP2114 b02 : CP2114_ReadOTP return values meaning please

The return values listed in AN433 include only those errors that are set within the interface library; AN433 does not list the errors that are generated by the CP2114 device and simply passed through the library to the app code (e.g. HID_UART_UNEXPECTED_CACHE_DATA 0x41).

 

The HID_UART_UNEXPECTED_CACHE_DATA error is set by the CP2114 firmware for only these functions in the interface library:

  • CP2114_I2cReadData
  • CP2114_GetDacRegisters
  • CP2114_GetOtpConfig
  • CP2114_ReadOTP
  • CP2114_WriteOTP

 

The CP2114 status is sticky, i.e. any error set by the firmware will persist until the CP2114_GetDeviceStatus function is called. If you are seeing this error after calling CP2114_SetBootConfig, it must have been set by previously calling one of the functions in the above list.

 

Regarding your observation that the CP2114_SetBootConfig function fails to set the boot config, 

the user-programmed Boot Config is used only if either of the following conditions are true:

 

  • The user has reconfigured any of the four CFGSEL pins as some other pin type (e.g. GPIO input or output). In this case, all four pins cease to function as Config Select.
  • All four CFGSEL pins remain in their default function as Config Select lines, and the state of these pins is binary 1110 (which directs the device to use the user-programmed Boot Config value).

For more information, see section 3.5.2 of the CP2114-B02 datasheet.