mirror of
https://github.com/RIOT-OS/RIOT.git
synced 2024-12-29 04:50:03 +01:00
9d836888c2
C files should not be executable.
154 lines
7.0 KiB
C
154 lines
7.0 KiB
C
/******************************************************************************
|
|
* Filename: hw_ints.h
|
|
* Revised: $Date: 2013-04-29 09:49:55 +0200 (Mon, 29 Apr 2013) $
|
|
* Revision: $Revision: 9923 $
|
|
*
|
|
* Description: Macros that define the interrupt assignment on Stellaris.
|
|
*
|
|
* Copyright (C) 2013 Texas Instruments Incorporated - http://www.ti.com/
|
|
*
|
|
*
|
|
* Redistribution and use in source and binary forms, with or without
|
|
* modification, are permitted provided that the following conditions
|
|
* are met:
|
|
*
|
|
* Redistributions of source code must retain the above copyright
|
|
* notice, this list of conditions and the following disclaimer.
|
|
*
|
|
* Redistributions in binary form must reproduce the above copyright
|
|
* notice, this list of conditions and the following disclaimer in the
|
|
* documentation and/or other materials provided with the distribution.
|
|
*
|
|
* Neither the name of Texas Instruments Incorporated nor the names of
|
|
* its contributors may be used to endorse or promote products derived
|
|
* from this software without specific prior written permission.
|
|
*
|
|
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
|
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
|
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
|
* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
|
* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
|
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
|
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
|
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
|
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
|
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
|
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
*
|
|
******************************************************************************/
|
|
|
|
|
|
#ifndef __HW_INTS_H__
|
|
#define __HW_INTS_H__
|
|
|
|
// Note: Use the following define if alternate interrupt map is to be used.
|
|
// This map is smaller. The function IntAltMapEnable() must be called
|
|
// to enable The alternate map.
|
|
// #define CC2538_USE_ALTERNATE_INTERRUPT_MAP 1
|
|
|
|
//*****************************************************************************
|
|
//
|
|
// The following are defines for the fault assignments.
|
|
//
|
|
//*****************************************************************************
|
|
#define FAULT_NMI 2 // NMI fault
|
|
#define FAULT_HARD 3 // Hard fault
|
|
#define FAULT_MPU 4 // MPU fault
|
|
#define FAULT_BUS 5 // Bus fault
|
|
#define FAULT_USAGE 6 // Usage fault
|
|
#define FAULT_SVCALL 11 // SVCall
|
|
#define FAULT_DEBUG 12 // Debug monitor
|
|
#define FAULT_PENDSV 14 // PendSV
|
|
#define FAULT_SYSTICK 15 // System Tick
|
|
|
|
//*****************************************************************************
|
|
//
|
|
// The following are defines for the interrupt assignments.
|
|
//
|
|
//*****************************************************************************
|
|
#define INT_GPIOA 16 // GPIO Port A
|
|
#define INT_GPIOB 17 // GPIO Port B
|
|
#define INT_GPIOC 18 // GPIO Port C
|
|
#define INT_GPIOD 19 // GPIO Port D
|
|
// 20 not in use
|
|
#define INT_UART0 21 // UART0 Rx and Tx
|
|
#define INT_UART1 22 // UART1 Rx and Tx
|
|
#define INT_SSI0 23 // SSI0 Rx and Tx
|
|
#define INT_I2C0 24 // I2C0 Master and Slave
|
|
// 25 - 29 not in use
|
|
#define INT_ADC0 30 // ADC0 Sequence 0
|
|
// 31 - 33 not in use
|
|
#define INT_WATCHDOG 34 // Watchdog timer
|
|
#define INT_WATCHDOG0 34 // Watchdog Timer0
|
|
#define INT_TIMER0A 35 // Timer 0 subtimer A
|
|
#define INT_TIMER0B 36 // Timer 0 subtimer B
|
|
#define INT_TIMER1A 37 // Timer 1 subtimer A
|
|
#define INT_TIMER1B 38 // Timer 1 subtimer B
|
|
#define INT_TIMER2A 39 // Timer 2 subtimer A
|
|
#define INT_TIMER2B 40 // Timer 2 subtimer B
|
|
#define INT_COMP0 41 // Analog Comparator 0
|
|
|
|
// 42 - 44 only in use for alternate map
|
|
#ifdef CC2538_USE_ALTERNATE_INTERRUPT_MAP
|
|
#define INT_RFCORERTX 42 // RFCORE RX/TX
|
|
#define INT_RFCOREERR 43 // RFCORE Error
|
|
#define INT_ICEPICK 44 // Icepick
|
|
#endif // CC2538_USE_ALTERNATE_INTERRUPT_MAP
|
|
|
|
#define INT_FLASH 45 // FLASH Control
|
|
|
|
// 46 - 49 only in use for alternate map
|
|
#ifdef CC2538_USE_ALTERNATE_INTERRUPT_MAP
|
|
#define INT_AES 46 // AES
|
|
#define INT_PKA 47 // PKA
|
|
#define INT_SMTIM 48 // SMTimer
|
|
#define INT_MACTIMR 49 // MACTimer
|
|
#endif // CC2538_USE_ALTERNATE_INTERRUPT_MAP
|
|
|
|
#define INT_SSI1 50 // SSI1 Rx and Tx
|
|
#define INT_TIMER3A 51 // Timer 3 subtimer A
|
|
#define INT_TIMER3B 52 // Timer 3 subtimer B
|
|
// 53 - 59 not in use
|
|
// 60 only in use for alternate map
|
|
#ifdef CC2538_USE_ALTERNATE_INTERRUPT_MAP
|
|
#define INT_USB2538 60 // USB new for 2538
|
|
#endif // CC2538_USE_ALTERNATE_INTERRUPT_MAP
|
|
|
|
// 61 not in use
|
|
#define INT_UDMA 62 // uDMA controller
|
|
#define INT_UDMAERR 63 // uDMA Error
|
|
|
|
// 64 - 155 not in use
|
|
// 156-162 only in use in basic map
|
|
#ifndef CC2538_USE_ALTERNATE_INTERRUPT_MAP
|
|
#define INT_USB2538 156 // USB new for 2538
|
|
#define INT_RFCORERTX 157 // RFCORE RX/TX
|
|
#define INT_RFCOREERR 158 // RFCORE Error
|
|
#define INT_AES 159 // AES
|
|
#define INT_PKA 160 // PKA
|
|
#define INT_SMTIM 161 // SMTimer
|
|
#define INT_MACTIMR 162 // MACTimer
|
|
#endif // not CC2538_USE_ALTERNATE_INTERRUPT_MAP
|
|
|
|
//*****************************************************************************
|
|
//
|
|
// The following are defines for the total number of interrupts.
|
|
//
|
|
//*****************************************************************************
|
|
|
|
#ifdef CC2538_USE_ALTERNATE_INTERRUPT_MAP
|
|
#define NUM_INTERRUPTS 64
|
|
#else
|
|
#define NUM_INTERRUPTS 163
|
|
#endif // CC2538_USE_ALTERNATE_INTERRUPT_MAP
|
|
|
|
//*****************************************************************************
|
|
//
|
|
// The following are defines for the total number of priority levels.
|
|
//
|
|
//*****************************************************************************
|
|
#define NUM_PRIORITY 8
|
|
#define NUM_PRIORITY_BITS 3
|
|
|
|
#endif // __HW_INTS_H__
|