diff options
Diffstat (limited to 'c/src/lib/libbsp/arm/tms570/include/tms570-vim.h')
-rw-r--r-- | c/src/lib/libbsp/arm/tms570/include/tms570-vim.h | 75 |
1 files changed, 75 insertions, 0 deletions
diff --git a/c/src/lib/libbsp/arm/tms570/include/tms570-vim.h b/c/src/lib/libbsp/arm/tms570/include/tms570-vim.h new file mode 100644 index 0000000000..136af531f8 --- /dev/null +++ b/c/src/lib/libbsp/arm/tms570/include/tms570-vim.h @@ -0,0 +1,75 @@ +/** + * @file tms570-vim.h + * + * @ingroup tms570 + * + * @brief Vectored Interrupt Module (VIM) header file. + */ + +/* + * Copyright (c) 2014 Premysl Houdek <kom541000@gmail.com> + * + * Google Summer of Code 2014 at + * Czech Technical University in Prague + * Zikova 1903/4 + * 166 36 Praha 6 + * Czech Republic + * + * Based on LPC24xx and LPC1768 BSP + * by embedded brains GmbH and others + * + * The license and distribution terms for this file may be + * found in the file LICENSE in this distribution or at + * http://www.rtems.org/license/LICENSE. + */ + +#ifndef LIBBSP_ARM_TMS570_VIM_H +#define LIBBSP_ARM_TMS570_VIM_H + +#ifndef ASM +#include <rtems.h> +#include <stdint.h> + +#ifdef __cplusplus +extern "C" { +#endif /* __cplusplus */ + +typedef struct{ + uint32_t PARFLG; /* InterruptVectorTableParityFlagRegister */ + uint32_t PARCTL; /* InterruptVectorTableParityControlRegister */ + uint32_t ADDERR; /* AddressParityErrorRegister */ + uint32_t FBPARERR; /* Fall-BackAddressParityErrorRegister */ + uint32_t reserved1 [0x4/4]; + uint32_t IRQINDEX; /* IRQIndexOffsetVectorRegister */ + uint32_t FIQINDEX; /* FIQIndexOffsetVectorRegister */ + uint32_t reserved2 [0x8/4]; + uint32_t FIRQPR[3]; /* FIQ/IRQProgramControlRegister0 */ + uint32_t reserved3 [0x4/4]; + uint32_t INTREQ[3]; /* PendingInterruptReadLocationRegister0 */ + uint32_t reserved4 [0x4/4]; + uint32_t REQENASET[3]; /* InterruptEnableSetRegister0 */ + uint32_t reserved5 [0x4/4]; + uint32_t REQENACLR[3]; /* InterruptEnableClearRegister0 */ + uint32_t reserved6 [0x4/4]; + uint32_t WAKEENASET[3]; /* Wake-upEnableSetRegister0 */ + uint32_t reserved7 [0x4/4]; + uint32_t WAKEENACLR[3]; /* Wake-upEnableClearRegister0 */ + uint32_t reserved8 [0x4/4]; + uint32_t IRQVECREG; /* IRQInterruptVectorRegister */ + uint32_t FIQVECREG; /* FIQInterruptVectorRegister */ + uint32_t CAPEVT; /* CaptureEventRegister */ + uint32_t reserved9 [0x4/4]; + uint32_t CHANCTRL [0x5c/4]; /* VIM Interrupt Control Register (PARSER ERROR) */ +}tms570_vim_t; + +#define TMS570_VIM (*(volatile tms570_vim_t*)0xFFFFFDEC) + +#endif + +/** @} */ + +#ifdef __cplusplus +} +#endif /* __cplusplus */ + +#endif /* LIBBSP_ARM_TMS570_IRQ_H */ |