/* param handle codec handle. param config codec configuration. return kStatus_Success is success, else initial failed.  */
status_t HAL_CODEC_Init(void *handle, void *config)
/* param handle codec handle. param config codec configuration. return kStatus_Success is success, else initial failed.  */
status_t HAL_CODEC_Init(void *handle, void *config)
{
    assert((config != NULL) && (handle != NULL));
    codec_config_t *codecConfig = (codec_config_t *)config;
    wm8960_config_t *wm8960Config = (wm8960_config_t *)(codecConfig->codecDevConfig);
    wm8960_handle_t *wm8960Handle = (wm8960_handle_t *)((uint32_t)(((codec_handle_t *)handle)->codecDevHandle));
    ((codec_handle_t *)handle)->codecCapability = &s_wm8960_capability;
    return WM8960_Init(wm8960Handle, wm8960Config);
}