RTEMS: Clock Manager Interrupt Management

| RTEMS 5.4-rc2

Loading...
Searching...
No Matches
Functions
Clock Manager Interrupt Management
Board Support Packages » ARM » Intel Cyclone V » Contributed Code » The Clock Manager API

## Functions
ALT_STATUS_CODE | alt_clk_irq_disable (ALT_CLK_PLL_LOCK_STATUS_t lock_stat_mask)
ALT_STATUS_CODE | alt_clk_irq_enable (ALT_CLK_PLL_LOCK_STATUS_t lock_stat_mask)

## Detailed Description

The functions in this group provide management of interrupts originating from the Clock Manager.

The following interrupt request (IRQ) signals are sourced from the Clock Manager:

- clkmgr_IRQ - Clock Manager lock status interrupt output. The PLL lock status interrupt is the logical OR of six interrupt sources defining the loss or achievement of lock status for each PLL. The six PLL lock status conditions are:

  - Main PLL Achieved Lock
  - Main PLL Lost Lock
  - Peripheral PLL Achieved Lock
  - Peripheral PLL Lost Lock
  - SDRAM PLL Achieved Lock
  - SDRAM PLL Lost Lock

  They are enumeratated by the type ALT_CLK_PLL_LOCK_STATUS_t.

  Each PLL lock condition may be individually disabled/enabled as a contributor to the determination of the clkmgr_IRQ assertion status.

  The alt_clk_lock_status_clear() function is used to clear the PLL lock conditions causing the clkmgr_IRQ assertion.

- mpuwakeup_IRQ - MPU wakeup interrupt output. This interrupt notifies the MPU to "wake up" after a transition of the Main PLL into or out of bypass mode has been safely achieved. The need for the "wake up" notification is because the PLL clocks pause for a short number of clock cycles during bypass state transition. ARM recommeds that the CPUs are placed in standby if the clocks are ever paused.

NOTE: mpuwakeup_IRQ appears to be an Altera private interrupt and may not be part of the public API although clearly it has important utility in implementing safe changes to PLL settings and transitions into and out of bypass mode.

## Function Documentation

## ◆ alt_clk_irq_disable()

ALT_STATUS_CODE alt_clk_irq_disable | ( | ALT_CLK_PLL_LOCK_STATUS_t | lock_stat_mask | ) |

Disable the clkmgr_IRQ interrupt signal source lock status condition(s).

This function disables one or more of the lock status conditions as contributors to the clkmgr_IRQ interrupt signal state.

NOTE: A set bit for a PLL lock status condition in the mask value does not have the effect of enabling it as a contributor to the clkmgr_IRQ interrupt signal state. The function alt_clk_irq_enable is used to enable PLL lock status source condition(s).

Parameters

  lock_stat_mask | Specifies the PLL lock status conditions to disable as interrupt source contributors. lock_stat_mask is a mask of logically OR'ed ALT_CLK_PLL_LOCK_STATUS_t values that designate the PLL lock conditions to disable.

Return values

  ALT_E_SUCCESS | Successful status.
  ALT_E_BAD_ARG | The lock_stat_mask argument contains an unknown condition value.

## ◆ alt_clk_irq_enable()

ALT_STATUS_CODE alt_clk_irq_enable | ( | ALT_CLK_PLL_LOCK_STATUS_t | lock_stat_mask | ) |

Enable the clkmgr_IRQ interrupt signal source lock status condition(s).

This function enables one or more of the lock status conditions as contributors to the clkmgr_IRQ interrupt signal state.

NOTE: A cleared bit for any PLL lock status condition in the mask value does not have the effect of disabling it as a contributor to the clkmgr_IRQ interrupt signal state. The function alt_clk_irq_disable is used to disable PLL lock status source condition(s).

Parameters

  lock_stat_mask | Specifies the PLL lock status conditions to enable as interrupt source contributors. lock_stat_mask is a mask of logically OR'ed ALT_CLK_PLL_LOCK_STATUS_t values that designate the PLL lock conditions to enable.

Return values

  ALT_E_SUCCESS | Successful status.
  ALT_E_BAD_ARG | The lock_stat_mask argument contains an unknown condition value.