1
0
mirror of https://github.com/RIOT-OS/RIOT.git synced 2024-12-29 04:50:03 +01:00
RIOT/cpu/cc2538/include/vendor/hw_ints.h
Benjamin Valentin 9d836888c2 treewide: fix file permissions
C files should not be executable.
2020-07-08 17:32:36 +02:00

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__