Hi Ted,
The warning is a type-cast issue. If you look at the API declaration, the first parameter is of type (SMC_Type *)
smc_hal_error_code_t SMC_HAL_SetMode(SMC_Type * base,
const smc_power_mode_config_t *powerModeConfig);
Your code passes SMC_BASE
SMC_HAL_SetMode(SMC_BASE, &smc_power_cfg_VLPS);
Looking at the device header file below, you can use SMC_BASE_PTR or SMC instead to include the type-casting
/* SMC - Peripheral instance base addresses */
/** Peripheral SMC base address */
#define SMC_BASE (0x4007E000u)
/** Peripheral SMC base pointer */
#define SMC ((SMC_Type *)SMC_BASE)
#define SMC_BASE_PTR (SMC)
/** Array initializer of SMC peripheral base addresses */
#define SMC_BASE_ADDRS { SMC_BASE }
/** Array initializer of SMC peripheral base pointers */
#define SMC_BASE_PTRS { SMC }
That should remove the warning. I’m not sure if that will fix the application and lower the power consumption for you. But you can refer to the low-power example in KSDK for entering any of the low-power modes, including VLPS. It’s located at C:\Freescale\KSDK_1.3.0\examples\frdmkl03z\demo_apps\power_manager_hal_demo. The example uses the KSDK power manager, but the power manager calls the SMC HAL APIs if you want to reference that.
Thanks