int brcm_pm_memc1_suspend(void) { CHECK_MEMC1_INIT(); __brcm_pm_memc1_suspend(0); /* Stop the clocks */ brcm_pm_memc1_clock_stop(); 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_sspd_control(0); return 0; }
int brcm_pm_memc1_suspend(void) { CHECK_MEMC1_INIT(); brcm_pm_save_restore_rts(BCHP_MEMC_ARB_1_REG_START, memc1_config.client_info, 0); brcm_pm_memc1_ddr_params(0); brcm_pm_memc1_arb_params(0); __brcm_pm_memc1_suspend(0); /* Stop the clocks */ brcm_pm_memc1_clock_stop(); 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_powerdown(void) { CHECK_MEMC1_INIT(); DBG(KERN_DEBUG "%s\n", __func__); brcm_pm_memc1_client_info(0); brcm_pm_memc1_ddr_params(0); brcm_pm_memc1_arb_params(0); __brcm_pm_memc1_powerdown(); /* Stop the clocks */ brcm_pm_memc1_clock_stop(); memc1_config.valid = 1; return 0; }
int brcm_pm_memc1_powerdown(void) { CHECK_MEMC1_INIT(); DBG(KERN_DEBUG "%s\n", __func__); brcm_pm_save_restore_rts(BCHP_MEMC_ARB_1_REG_START, memc1_config.client_info, 0); brcm_pm_memc1_ddr_params(0); brcm_pm_memc1_arb_params(0); __brcm_pm_memc1_powerdown(); /* Stop the clocks */ brcm_pm_memc1_clock_stop(); memc1_config.valid = 1; 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; }