📄 csl_irqhal.h
字号:
/******************************************************************************\
* Copyright (C) 1999-2000 Texas Instruments Incorporated.
* All Rights Reserved
*------------------------------------------------------------------------------
* FILENAME...... csl_irqhal.h
* DATE CREATED.. 06/20/1999
* LAST MODIFIED. 10/03/2000
*------------------------------------------------------------------------------
* REGISTERS
*
* MUXH - interrupt multiplexer high register
* MUXL - interrupt multiplexer low register
* EXTPOL - external interrupt polarity register
*
\******************************************************************************/
#ifndef _CSL_IRQHAL_H_
#define _CSL_IRQHAL_H_
#include <csl_stdinchal.h>
#include <csl_chip.h>
#if (IRQ_SUPPORT)
/******************************************************************************\
* MISC section
\******************************************************************************/
/******************************************************************************\
* module level register/field access macros
\******************************************************************************/
/* ----------------- */
/* FIELD MAKE MACROS */
/* ----------------- */
#define IRQ_FMK(REG,FIELD,x)\
_PER_FMK(IRQ,##REG,##FIELD,x)
#define IRQ_FMKS(REG,FIELD,SYM)\
_PER_FMKS(IRQ,##REG,##FIELD,##SYM)
/* -------------------------------- */
/* RAW REGISTER/FIELD ACCESS MACROS */
/* -------------------------------- */
#define IRQ_ADDR(REG)\
_IRQ_##REG##_ADDR
#define IRQ_RGET(REG)\
_PER_RGET(_IRQ_##REG##_ADDR,IRQ,##REG)
#define IRQ_RSET(REG,x)\
_PER_RSET(_IRQ_##REG##_ADDR,IRQ,##REG,x)
#define IRQ_FGET(REG,FIELD)\
_IRQ_##REG##_FGET(##FIELD)
#define IRQ_FSET(REG,FIELD,x)\
_IRQ_##REG##_FSET(##FIELD,##x)
#define IRQ_FSETS(REG,FIELD,SYM)\
_IRQ_##REG##_FSETS(##FIELD,##SYM)
/* ------------------------------------------ */
/* ADDRESS BASED REGISTER/FIELD ACCESS MACROS */
/* ------------------------------------------ */
#define IRQ_RGETA(addr,REG)\
_PER_RGET(addr,IRQ,##REG)
#define IRQ_RSETA(addr,REG,x)\
_PER_RSET(addr,IRQ,##REG,x)
#define IRQ_FGETA(addr,REG,FIELD)\
_PER_FGET(addr,IRQ,##REG,##FIELD)
#define IRQ_FSETA(addr,REG,FIELD,x)\
_PER_FSET(addr,IRQ,##REG,##FIELD,x)
#define IRQ_FSETSA(addr,REG,FIELD,SYM)\
_PER_FSETS(addr,IRQ,##REG,##FIELD,##SYM)
/******************************************************************************\
* _____________________
* | |
* | M U X H |
* |___________________|
*
* MUXH - interrupt multiplexer high register
*
* FIELDS (msb -> lsb)
* (rw) INTSEL15
* (rw) INTSEL14
* (rw) INTSEL13
* (rw) INTSEL12
* (rw) INTSEL11
* (rw) INTSEL10
*
\******************************************************************************/
#define _IRQ_MUXH_ADDR 0x019C0000u
#define _IRQ_MUXH_INTSEL15_MASK 0x7C000000u
#define _IRQ_MUXH_INTSEL15_SHIFT 0x0000001Au
#define IRQ_MUXH_INTSEL15_DEFAULT 0x00000002u
#define IRQ_MUXH_INTSEL15_OF(x) _VALUEOF(x)
#define _IRQ_MUXH_INTSEL14_MASK 0x03E00000u
#define _IRQ_MUXH_INTSEL14_SHIFT 0x00000015u
#define IRQ_MUXH_INTSEL14_DEFAULT 0x00000001u
#define IRQ_MUXH_INTSEL14_OF(x) _VALUEOF(x)
#define _IRQ_MUXH_INTSEL13_MASK 0x001F0000u
#define _IRQ_MUXH_INTSEL13_SHIFT 0x00000010u
#define IRQ_MUXH_INTSEL13_DEFAULT 0x00000000u
#define IRQ_MUXH_INTSEL13_OF(x) _VALUEOF(x)
#define _IRQ_MUXH_INTSEL12_MASK 0x00007C00u
#define _IRQ_MUXH_INTSEL12_SHIFT 0x0000000Au
#define IRQ_MUXH_INTSEL12_DEFAULT 0x0000000Bu
#define IRQ_MUXH_INTSEL12_OF(x) _VALUEOF(x)
#define _IRQ_MUXH_INTSEL11_MASK 0x000003E0u
#define _IRQ_MUXH_INTSEL11_SHIFT 0x00000005u
#define IRQ_MUXH_INTSEL11_DEFAULT 0x0000000Au
#define IRQ_MUXH_INTSEL11_OF(x) _VALUEOF(x)
#define _IRQ_MUXH_INTSEL10_MASK 0x0000001Fu
#define _IRQ_MUXH_INTSEL10_SHIFT 0x00000000u
#define IRQ_MUXH_INTSEL10_DEFAULT 0x00000003u
#define IRQ_MUXH_INTSEL10_OF(x) _VALUEOF(x)
#define IRQ_MUXH_OF(x) _VALUEOF(x)
#define IRQ_MUXH_DEFAULT (Uint32)( \
_PER_FDEFAULT(IRQ,MUXH,INTSEL15) \
|_PER_FDEFAULT(IRQ,MUXH,INTSEL14) \
|_PER_FDEFAULT(IRQ,MUXH,INTSEL13) \
|_PER_FDEFAULT(IRQ,MUXH,INTSEL12) \
|_PER_FDEFAULT(IRQ,MUXH,INTSEL11) \
|_PER_FDEFAULT(IRQ,MUXH,INTSEL10) \
)
#define IRQ_MUXH_RMK(intsel15,intsel14,intsel13,intsel12,intsel11,intsel10) \
(Uint32)( \
_PER_FMK(IRQ,MUXH,INTSEL15,intsel15) \
|_PER_FMK(IRQ,MUXH,INTSEL14,intsel14) \
|_PER_FMK(IRQ,MUXH,INTSEL13,intsel13) \
|_PER_FMK(IRQ,MUXH,INTSEL12,intsel12) \
|_PER_FMK(IRQ,MUXH,INTSEL11,intsel11) \
|_PER_FMK(IRQ,MUXH,INTSEL10,intsel10) \
)
#define _IRQ_MUXH_FGET(FIELD)\
_PER_FGET(_IRQ_MUXH_ADDR,IRQ,MUXH,##FIELD)
#define _IRQ_MUXH_FSET(FIELD,field)\
_PER_FSET(_IRQ_MUXH_ADDR,IRQ,MUXH,##FIELD,field)
#define _IRQ_MUXH_FSETS(FIELD,SYM)\
_PER_FSETS(_IRQ_MUXH_ADDR,IRQ,MUXH,##FIELD,##SYM)
/******************************************************************************\
* _____________________
* | |
* | M U X L |
* |___________________|
*
* MUXL - interrupt multiplexer low register
*
* FIELDS (msb -> lsb)
* (rw) INTSEL9
* (rw) INTSEL8
* (rw) INTSEL7
* (rw) INTSEL6
* (rw) INTSEL5
* (rw) INTSEL4
*
\******************************************************************************/
#define _IRQ_MUXL_ADDR 0x019C0004u
#define _IRQ_MUXL_INTSEL9_MASK 0x7C000000u
#define _IRQ_MUXL_INTSEL9_SHIFT 0x0000001Au
#define IRQ_MUXL_INTSEL9_DEFAULT 0x00000009u
#define IRQ_MUXL_INTSEL9_OF(x) _VALUEOF(x)
#define _IRQ_MUXL_INTSEL8_MASK 0x03E00000u
#define _IRQ_MUXL_INTSEL8_SHIFT 0x00000015u
#define IRQ_MUXL_INTSEL8_DEFAULT 0x00000008u
#define IRQ_MUXL_INTSEL8_OF(x) _VALUEOF(x)
#define _IRQ_MUXL_INTSEL7_MASK 0x001F0000u
#define _IRQ_MUXL_INTSEL7_SHIFT 0x00000010u
#define IRQ_MUXL_INTSEL7_DEFAULT 0x00000007u
#define IRQ_MUXL_INTSEL7_OF(x) _VALUEOF(x)
#define _IRQ_MUXL_INTSEL6_MASK 0x00007C00u
#define _IRQ_MUXL_INTSEL6_SHIFT 0x0000000Au
#define IRQ_MUXL_INTSEL6_DEFAULT 0x00000006u
#define IRQ_MUXL_INTSEL6_OF(x) _VALUEOF(x)
#define _IRQ_MUXL_INTSEL5_MASK 0x000003E0u
#define _IRQ_MUXL_INTSEL5_SHIFT 0x00000005u
#define IRQ_MUXL_INTSEL5_DEFAULT 0x00000005u
#define IRQ_MUXL_INTSEL5_OF(x) _VALUEOF(x)
#define _IRQ_MUXL_INTSEL4_MASK 0x0000001Fu
#define _IRQ_MUXL_INTSEL4_SHIFT 0x00000000u
#define IRQ_MUXL_INTSEL4_DEFAULT 0x00000004u
#define IRQ_MUXL_INTSEL4_OF(x) _VALUEOF(x)
#define IRQ_MUXL_OF(x) _VALUEOF(x)
#define IRQ_MUXL_DEFAULT (Uint32)( \
_PER_FDEFAULT(IRQ,MUXL,INTSEL9) \
|_PER_FDEFAULT(IRQ,MUXL,INTSEL8) \
|_PER_FDEFAULT(IRQ,MUXL,INTSEL7) \
|_PER_FDEFAULT(IRQ,MUXL,INTSEL6) \
|_PER_FDEFAULT(IRQ,MUXL,INTSEL5) \
|_PER_FDEFAULT(IRQ,MUXL,INTSEL4) \
)
#define IRQ_MUXL_RMK(intsel9,intsel8,intsel7,intsel6,intsel5,intsel4) \
(Uint32)( \
_PER_FMK(IRQ,MUXL,INTSEL9,intsel9) \
|_PER_FMK(IRQ,MUXL,INTSEL8,intsel8) \
|_PER_FMK(IRQ,MUXL,INTSEL7,intsel7) \
|_PER_FMK(IRQ,MUXL,INTSEL6,intsel6) \
|_PER_FMK(IRQ,MUXL,INTSEL5,intsel5) \
|_PER_FMK(IRQ,MUXL,INTSEL4,intsel4) \
)
#define _IRQ_MUXL_FGET(FIELD)\
_PER_FGET(_IRQ_MUXL_ADDR,IRQ,MUXL,##FIELD)
#define _IRQ_MUXL_FSET(FIELD,field)\
_PER_FSET(_IRQ_MUXL_ADDR,IRQ,MUXL,##FIELD,field)
#define _IRQ_MUXL_FSETS(FIELD,SYM)\
_PER_FSETS(_IRQ_MUXL_ADDR,IRQ,MUXL,##FIELD,##SYM)
/******************************************************************************\
* _____________________
* | |
* | E X T P O L |
* |___________________|
*
* EXTPOL - external interrupt polarity register
*
* FIELDS (msb -> lsb)
* (rw) XIP
*
\******************************************************************************/
#define _IRQ_EXTPOL_ADDR 0x019C0008u
#define _IRQ_EXTPOL_XIP_MASK 0x0000000Fu
#define _IRQ_EXTPOL_XIP_SHIFT 0x00000000u
#define IRQ_EXTPOL_XIP_DEFAULT 0x00000000u
#define IRQ_EXTPOL_XIP_OF(x) _VALUEOF(x)
#define IRQ_EXTPOL_OF(x) _VALUEOF(x)
#define IRQ_EXTPOL_DEFAULT (Uint32)( \
_PER_FDEFAULT(IRQ,EXTPOL,XIP) \
)
#define IRQ_EXTPOL_RMK(xip) (Uint32)( \
_PER_FMK(IRQ,EXTPOL,XIP,xip) \
)
#define _IRQ_EXTPOL_FGET(FIELD)\
_PER_FGET(_IRQ_EXTPOL_ADDR,IRQ,EXTPOL,##FIELD)
#define _IRQ_EXTPOL_FSET(FIELD,field)\
_PER_FSET(_IRQ_EXTPOL_ADDR,IRQ,EXTPOL,##FIELD,field)
#define _IRQ_EXTPOL_FSETS(FIELD,SYM)\
_PER_FSETS(_IRQ_EXTPOL_ADDR,IRQ,EXTPOL,##FIELD,##SYM)
/*----------------------------------------------------------------------------*/
#endif /* IRQ_SUPPORT */
#endif /* _CSL_IRQHAL_H_ */
/******************************************************************************\
* End of csl_irqhal.h
\******************************************************************************/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -