static int brcm_pm_memc1_initialized(void) { if (memc1_config.initialized == MEMC_STATE_UNKNOWN) { brcm_pm_memc1_clock_start(); /* do this only once */ memc1_config.initialized = __brcm_pm_memc1_initialized() ? MEMC_STATE_ON : MEMC_STATE_OFF; } return memc1_config.initialized == MEMC_STATE_ON; }
int brcm_pm_memc1_resume(void) { CHECK_MEMC1_INIT(); /* Restart the clocks */ brcm_pm_memc1_clock_start(); __brcm_pm_memc1_resume(0); brcm_pm_memc1_sspd_control(0); return 0; }
int brcm_pm_memc1_resume(void) { CHECK_MEMC1_INIT(); /* Restart the clocks */ brcm_pm_memc1_clock_start(); __brcm_pm_memc1_resume(0); brcm_pm_memc1_ddr_params(1); brcm_pm_memc1_arb_params(1); brcm_pm_save_restore_rts(BCHP_MEMC_ARB_1_REG_START, memc1_config.client_info, 1); brcm_pm_memc1_sspd_control(0); return 0; }
int brcm_pm_memc1_powerup(void) { CHECK_MEMC1_INIT(); if (!memc1_config.valid || !memc1_config.shmoo_valid) { printk(KERN_ERR "%s: no valid saved configuration %d %d\n", __func__, memc1_config.valid, memc1_config.shmoo_valid); return -1; } DBG(KERN_DEBUG "%s\n", __func__); /* Restart the clocks */ brcm_pm_memc1_clock_start(); __brcm_pm_memc1_resume(1); __brcm_pm_memc1_powerup(); brcm_pm_memc1_ddr_params(1); brcm_pm_memc1_arb_params(1); brcm_pm_memc1_client_info(1); brcm_pm_memc1_sspd_control(0); return 0; }