mirror of
https://github.com/RIOT-OS/RIOT.git
synced 2024-12-29 04:50:03 +01:00
df37e69b90
Currently the cc2538 is based on from-scratch adaption which is not feature complete and thus lacks defines etc. Introducing the official vendor header will ease future extension and adaptions of the CPU and its features.
154 lines
7.0 KiB
C
Executable File
154 lines
7.0 KiB
C
Executable File
/******************************************************************************
|
|
* 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__
|