/*******************************************************************************
* mvCntmrFrqGet - get Counter/Timer Frequency.
*
* DESCRIPTION:
*       This routine retuen timer clock Frequency
*
* INPUT:
*       cntmrNum - Counter/Timer number.
*
* OUTPUT:
*       timer clock Frequency.
*
* RETURN:
*       ERROR - In case of invalid parameters.
*
*******************************************************************************/
MV_U32 mvCntmrFrqGet(MV_U32 cntmrNum)
{
	if (cntmrHalData.ctrlFamily==MV_78XX0)
	{
		if (INVALID_CNTMR(cntmrNum))
			return MV_ERROR;

		MV_U32 cntmrCtrl;
		cntmrCtrl = MV_REG_READ(CNTMR_CTRL_REG(cntmrNum));
		if (cntmrCtrl & CTCR_ARM_TIMER_25MhzFRQ_MASK(cntmrNum))
			return MV_BOARD_REFCLK_25MHZ;
	}
	return mvCpuL2ClkGet();
}
/*******************************************************************************
* mvCntmrIntClear - Clear an Counter/Timer interrupt
*
* DESCRIPTION:
*       This routine clears a specified Counter/Timer termination event in
*       Counter/Timer cause register.
*       The routine will preform argument validity check.
*
* INPUT:
*       cntmrNum - Counter/Timer number.
*
* OUTPUT:
*       None.
*
* RETURN:
*       OK    - If the bit was set
*       ERROR - In case of invalid parameters.
*
*******************************************************************************/
MV_STATUS mvCntmrIntClear(MV_U32 cntmrNum)
{
	if (INVALID_CNTMR(cntmrNum))
		return MV_ERROR;

	if (cntmrNum <= MAX_GLOBAL_TIMER) {
		/* Reset cause bit to acknowledge interrupt */
		MV_REG_WRITE(CNTMR_EVENTS_STATUS_REG_GLOBAL, ~(TIMER_GLOBAL_BIT(cntmrNum)));
	} else {

		MV_REG_WRITE(CNTMR_EVENTS_STATUS_REG_PRIVATE, ~(TIMER_PRIVATE_BIT(cntmrNum)));

	}
	return MV_OK;
}
Example #3
0
/*******************************************************************************
* mvCntmrFrqGet - get Counter/Timer Frequency.
*
* DESCRIPTION:
*       This routine retuen timer clock Frequency
*
* INPUT:
*       cntmrNum - Counter/Timer number.
*
* OUTPUT:
*       timer clock Frequency.
*
* RETURN:
*       ERROR - In case of invalid parameters.
*
*******************************************************************************/
MV_U32 mvCntmrFrqGet(MV_U32 cntmrNum)
{
#ifndef MV88F78X60_Z1
                if (INVALID_CNTMR(cntmrNum))
                                return MV_ERROR;
                {
                                MV_U32 cntmrCtrl;
                                cntmrCtrl = MV_REG_READ(CNTMR_CTRL_REG(cntmrNum));


                                if (cntmrCtrl & CTCR_ARM_TIMER_25MhzFRQ_MASK(cntmrNum))
                                                return MV_BOARD_REFCLK_25MHZ;
                }
#endif
                return mvCpuL2ClkGet();
}