Files
banban/ql-kernel/threadx/common/include/intc_xirq.h

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_