Exemple #1
0
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;
}
Exemple #2
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;
}
Exemple #3
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;
}
Exemple #4
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;
}