Пример #1
0
/* ------------------------------------------------------------------------*//**
 * @FUNCTION		pwrdm54xx_logic_state_get
 * @BRIEF		return logic current state for this power domain
 * @RETURNS		power domain logic current state:
 *			PWRDM_OFF_STATE or PWRDM_ON_STATE
 *			PWRDM_STATE_MAX in case of error
 * @param[in]		id: valid power domain ID
 * @DESCRIPTION		return logic current state for this power domain
 *//*------------------------------------------------------------------------ */
pwrdm_state pwrdm54xx_logic_state_get(pwrdm54xx_id id)
{
	reg *pm_pwrstst;

	if (!cpu_is_omap54xx()) {
		fprintf(stderr, "%s(): CPU != 54XX\n", __func__);
		return PWRDM_STATE_MAX;
	}
	CHECK_ARG_LESS_THAN(id, PWRDM54XX_ID_MAX, PWRDM_STATE_MAX);

	/* Retrieve PM_xyz_PWRSTST pointer */
	pm_pwrstst = pwrdm54xx_pwrstst_reg_get(id);
	if (pm_pwrstst == NULL)
		return PWRDM_STATE_MAX;
	else
		/* Retrieve logic target state */
		return pwrdm_logic_state_get(pm_pwrstst);
}
Пример #2
0
/* ------------------------------------------------------------------------*//**
 * @FUNCTION		powerdm_logic_state_get
 * @BRIEF		return the current logic state of a given power domain
 * @RETURNS		current logic state on success
 *			PWRDM_STATE_MAX in case of error
 * @param[in]		powerdm: power domain name
 * @DESCRIPTION		return the current logic state of a given power domain
 *//*------------------------------------------------------------------------ */
pwrdm_state powerdm_logic_state_get(const char *powerdm)
{
	reg *pm_pwrstst;
	pwrdm_state state;

	CHECK_NULL_ARG(powerdm, PWRDM_STATE_MAX);

	pm_pwrstst = powerdm_pwrstst_reg_get(powerdm);
	if (pm_pwrstst == NULL) {
		dprintf("%s(%s): PM_PWRSTST==NULL!\n", __func__, powerdm);
		return PWRDM_STATE_MAX;
	}

	state = pwrdm_logic_state_get(pm_pwrstst);
	dprintf("%s(%s) = %s\n", __func__, powerdm,
		pwrdm_state_name_get(state));
	return state;
}