void bsp_wakelock_init(void){ void* dump_base_addr = NULL; dump_base_addr=bsp_pm_dump_get(PM_OM_WAKE,sizeof(struct wakelock_om_s)); if(dump_base_addr){ record = (struct wakelock_om_s*)dump_base_addr; } dump_base_addr = NULL; dump_base_addr = (void *)bsp_dump_register_field(DUMP_CP_DRX, "DRX_CCORE", 0, 0, PM_DUMP_CCORE_DRX_SIZE, 0); if(dump_base_addr){ wakelock_dump_addr = dump_base_addr; } }
void pmom_dump_test_func(u32 magic, u32 size) { char *dump_addr; char name[5]; (*(unsigned *)(name)) = magic; name[4]=0; dump_addr = bsp_pm_dump_get((u32)magic, size); if (NULL == dump_addr) { pmom_pr_err("no pm om mem\n"); } else { pmom_pr_err("[%s]0x%p\n", name, dump_addr); } }
void bsp_abb_init(void) { int ret = 0; u32 abb_version = 0; u32 is_supported = 0; bsp_abb_deassert_reset(); if (!g_abb_inited) { g_abb_base_addr = bsp_bbp_part_addr_get(BBP_ABB); ret = (int)bsp_nvm_read(NV_ID_DRV_NV_PWC_SWITCH, (u8*)&g_abb_pm_switch, sizeof(g_abb_pm_switch)); if (ret) { (void)memset_s((void *)&g_abb_pm_switch, sizeof(g_abb_pm_switch), 0, sizeof(g_abb_pm_switch)); bsp_trace(BSP_LOG_LEVEL_ERROR, BSP_MODU_ABB, "ABB read nv fail, ret = %d\n", ret); } } if (!g_abb_base_addr) { bsp_trace(BSP_LOG_LEVEL_ERROR, BSP_MODU_ABB, "fail to get abb base address\n"); return; } (void)bsp_abb_read(ABB_VERSION_ADDR, &abb_version); extern int bsp_abb_tv201_init(u32 abb_version, u32 *is_supported); ret |= bsp_abb_tv201_init(abb_version, &is_supported); extern int bsp_abb_tv210_init(u32 abb_version, u32 *is_supported); ret |= bsp_abb_tv210_init(abb_version, &is_supported); extern int bsp_abb_tv220_init(u32 abb_version, u32 *is_supported); ret |= bsp_abb_tv220_init(abb_version, &is_supported); extern int bsp_abb_tv230_init(u32 abb_version, u32 *is_supported); ret |= bsp_abb_tv230_init(abb_version, &is_supported); extern int bsp_abb_tv260_init(u32 abb_version, u32 *is_supported); ret |= bsp_abb_tv260_init(abb_version, &is_supported); extern int bsp_abb_tv300_init(u32 abb_version, u32 *is_supported); ret |= bsp_abb_tv300_init(abb_version, &is_supported); extern int bsp_abb_tv310_init(u32 abb_version, u32 *is_supported); ret |= bsp_abb_tv310_init(abb_version, &is_supported); if (bsp_rsracc_support()) { ret |= bsp_rsracc_register(&g_abb_rsracc_device, 1); } else { #ifdef CONFIG_CCORE_PM if (!g_abb_inited) { ret |= bsp_device_pm_add(&g_abb_dpm_device); if (ret) { bsp_trace(BSP_LOG_LEVEL_ERROR, BSP_MODU_ABB, "fail to add abb dpm device\r\n"); return; } } #endif } if (ret) { bsp_trace(BSP_LOG_LEVEL_ERROR, BSP_MODU_ABB, "ABB init fail\n"); return; } if (!is_supported) { bsp_trace(BSP_LOG_LEVEL_ERROR, BSP_MODU_ABB, "don't support this ABB version: 0x%x\n", abb_version); return; } if (!g_abb_inited) { g_abb_inited = 1; g_abb_ops.abb_om = (struct abb_om_info*)bsp_pm_dump_get(PM_OM_ABB, sizeof(struct abb_om_info)); if (!g_abb_ops.abb_om) g_abb_ops.abb_om = &g_abb_om_info; (void)memset_s((void *)(g_abb_ops.abb_om), sizeof(struct abb_om_info), 0, sizeof(struct abb_om_info)); bsp_trace(BSP_LOG_LEVEL_ERROR, BSP_MODU_ABB, "ABB init ok, version: 0x%x\n", abb_version); } }