cancel
Showing results for 
Search instead for 
Did you mean: 

Knowledge Base Articles

syspm Driver Functions Cause Incorrect RAM Trim Values – KBA228860

ChaitanyaV_61
Employee

syspm Driver Functions Cause Incorrect RAM Trim Values – KBA228860

Author: Pavlom_06      Version: **

Translation - Japanese: syspmドライバー関数が原因でRAMトリム値が正しくない - KBA228860 - Community Translated (JA)

Question:

The following functions set incorrect values for RAM trim:

  • Cy_SysPm_LdoSetVoltage()
  • Cy_SysPm_BuckEnable()
  • Cy_SysPm_BuckSetVoltage1()

What are the causes and how do I correct them?

Answer:

There is a defect in the cy_syspm.c source code file. After calling Cy_SysPm_LdoSetVoltage(), Cy_SysPm_BuckEnable(), or Cy_SysPm_BuckSetVoltage1(), the RAM trim is set with an incorrect value. This can potentially cause hard faults.

Workaround:

Update the CPUSS_TRIM_RAM_CTL register value each time after calling the Cy_SysPm_LdoSetVoltage(), Cy_SysPm_BuckEnable(), and Cy_SysPm_BuckSetVoltage1() functions (could be in the main.c file):

For ULP (0.9 V):

CPUSS_TRIM_RAM_CTL = 0x6012

For LP (1.1 V):

CPUSS_TRIM_RAM_CTL = 0x4013

The problem has been addressed in version 4.40 of the syspm driver (psoc6pdl-1.3.1).

0 Likes
Version history
Revision #:
1 of 1
Last update:
‎Nov 07, 2019 02:06 AM
Updated by:
 
Contributors