57 lines
2.4 KiB
C
57 lines
2.4 KiB
C
/*------------------------------------------------------------
|
|
(C) Copyright [2006-2008] Marvell International Ltd.
|
|
All Rights Reserved
|
|
------------------------------------------------------------*/
|
|
|
|
/************************************************************************/
|
|
/* */
|
|
/* Title: XIRQ specific interface Header File */
|
|
/* */
|
|
/* Filename: intc_xirq.h */
|
|
/* */
|
|
/* Author: Anton */
|
|
/* */
|
|
/* Target, subsystem: Common Platform, HAL/HOP */
|
|
/************************************************************************/
|
|
#ifndef _INTC_XIRQ_H_
|
|
#define _INTC_XIRQ_H_
|
|
|
|
#include "global_types.h"
|
|
#include "xirq_config.h"
|
|
#include "intc.h"
|
|
|
|
/*
|
|
* The following functions are XIRQ-specific and do not belong to the generic INTC API
|
|
* INTC_InterruptSources argument for these functions should be an XIRQ entry ID (not INTC enumeration)
|
|
*/
|
|
#if defined(SINTC_XIRQ) && !defined(SINTC_DOES_SRC_CONVERSION)
|
|
#define XIRQ_InterruptSources int
|
|
#else
|
|
#define XIRQ_InterruptSources INTC_InterruptSources
|
|
#endif
|
|
|
|
// Functions
|
|
INTC_ReturnCode INTCSwIntCrossAssert(XIRQ_InterruptSources isrSource);
|
|
void INTCXswiAssert(UINT16 prio);
|
|
INTC_ReturnCode INTCConfigureSwi(XIRQ_InterruptSources isrSource, INTC_FastNormal fastNormal,
|
|
INTC_ActivationType activationType,UINT8 priority);
|
|
|
|
|
|
INTC_ReturnCode INTCBindVirtual(UINT32 virtualIntAbsNum,INTC_ISR isr);
|
|
void INTCEdgeLevel(XIRQ_InterruptSources isrSource , BOOLEAN EdgeFl);
|
|
UINT32 get_int_status_0(void);
|
|
UINT32 get_int_status_1(void);
|
|
UINT32 get_int_status_2(void);
|
|
UINT32 get_int_status_3(void);
|
|
UINT32 INTCGetIntVirtualNum(UINT32 IntAbsNum);
|
|
|
|
/*
|
|
* INTCIsInterruptPending.
|
|
* Returns YES if any interrupts are pending and NO otherwise.
|
|
*/
|
|
#define IC_ACTIVE_IRQ_MASK_LOCAL 0x88UL /* The API h-file should not import all the HW definitions except for this */
|
|
#if 0
|
|
#define INTCIsInterruptPending() (((*(volatile UINT16*)(IRQCTRL_BASE_ADDR+IC_ACTIVE_IRQ_MASK_LOCAL))==0) ? NO : YES)
|
|
#endif
|
|
#endif // _INTC_XIRQ_H_
|