Other Parts Discussed in Thread: TDA4VH
Hi TI Experts,
Customer is working on TDA4VH SDK9.1.
Customer references the sdl/test/pok sdlPOK_funcTest() to initialize POK.
Their test code is provided below.
// Unlock the MMR in order to access the POK registers. *((uint32_t *)(SDL_WKUP_CTRL_MMR0_CFG0_BASE + SDL_WKUP_CTRL_MMR_CFG0_LOCK6_KICK0)) = KICK0_UNLOCK_VAL; *((uint32_t *)(SDL_WKUP_CTRL_MMR0_CFG0_BASE + SDL_WKUP_CTRL_MMR_CFG0_LOCK6_KICK1)) = KICK1_UNLOCK_VAL; sdlRet = SDL_POK_enablePP(SDL_POK_PRG_MAIN_ID, true); if(SDL_PASS == sdlRet) { sdlRet = SDL_POK_enablePP(SDL_POK_PRG_MCU_ID, true); } for(instance = SDL_FIRST_POK_ID + 1; instance < SDL_LAST_POK_ID + 1; instance++) { if(SDL_PASS == sdlRet) { SELFTEST_getPokOvStatus(instance, &isOV); } if(SDL_PASS == sdlRet) { if(0x1 == isOV) { PokCfg.voltDetMode = SDL_PWRSS_SET_OVER_VOLTAGE_DET_ENABLE; PokCfg.trim = SDL_PWRSS_TRIM_NO_ACTION; PokCfg.trimOV = 45; } else if (isOV == 0x0) { PokCfg.voltDetMode = SDL_PWRSS_SET_UNDER_VOLTAGE_DET_ENABLE; PokCfg.trim = 0; PokCfg.trimOV = SDL_PWRSS_TRIM_NO_ACTION; } else { if(SDL_PASS == sdlRet) { // This is Ping/Pong. PokCfg.voltDetMode = SDL_PWRSS_SET_PP_VOLTAGE_DET_ENABLE; PokCfg.trim = 0; PokCfg.trimOV = 45; } } } if(SDL_PASS == sdlRet) { PokCfg.hystCtrl = SDL_PWRSS_HYSTERESIS_NO_ACTION; PokCfg.hystCtrlOV = SDL_PWRSS_HYSTERESIS_NO_ACTION; PokCfg.deglitch = SDL_PWRSS_DEGLITCH_NO_ACTION; PokCfg.pokEnSelSrcCtrl = SDL_POK_ENSEL_PRG_CTRL; PokCfg.detectionCtrl = SDL_POK_DETECTION_ENABLE; sdlRet = SDL_POK_init(instance, &PokCfg); }
They use SD Card boot and running on the MCU1-1 with freertos.
After analyzing the ESM error from the log, we found that these error are WKUP ESM error index 88, 90, 98 shown below.
Could you help provide some suggestions on what could cause these problems?
Thanks a lot!
Kevin