blob: 779f1bc15f9a6697c24bacaa560ed95778d43db1 [file] [log] [blame]
/*****************************************************************************
* (c) 2014 Microchip Technology Inc. and its subsidiaries.
* You may use this software and any derivatives exclusively with
* Microchip products.
* THIS SOFTWARE IS SUPPLIED BY MICROCHIP "AS IS".
* NO WARRANTIES, WHETHER EXPRESS, IMPLIED OR STATUTORY, APPLY TO THIS SOFTWARE,
* INCLUDING ANY IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY,
* AND FITNESS FOR A PARTICULAR PURPOSE, OR ITS INTERACTION WITH MICROCHIP
* PRODUCTS, COMBINATION WITH ANY OTHER PRODUCTS, OR USE IN ANY APPLICATION.
* IN NO EVENT WILL MICROCHIP BE LIABLE FOR ANY INDIRECT, SPECIAL, PUNITIVE,
* INCIDENTAL OR CONSEQUENTIAL LOSS, DAMAGE, COST OR EXPENSE OF ANY KIND
* WHATSOEVER RELATED TO THE SOFTWARE, HOWEVER CAUSED, EVEN IF MICROCHIP HAS
* BEEN ADVISED OF THE POSSIBILITY OR THE DAMAGES ARE FORESEEABLE.
* TO THE FULLEST EXTENT ALLOWED BY LAW, MICROCHIP'S TOTAL LIABILITY ON ALL
* CLAIMS IN ANY WAY RELATED TO THIS SOFTWARE WILL NOT EXCEED THE AMOUNT OF
* FEES, IF ANY, THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR THIS SOFTWARE.
* MICROCHIP PROVIDES THIS SOFTWARE CONDITIONALLY UPON YOUR ACCEPTANCE
* OF THESE TERMS.
*****************************************************************************/
/** @file mec14xx_girqm.h
*MEC14xx JTVIC Disaggregation Control Flags
*/
/** @defgroup MEC14xx interrupt
*/
/*
* This file is intended to be included in both C source and assembly language
* files. The assembly language C pre-processor cannot handle complex macros.
* Keep it simple!
*/
/* Include FreeRTOS configuration settings.
* These include porting layer switches affecting interrupt aggregation
* of GIRQ23 & GIRQ24
*/
#include "FreeRTOSConfig.h"
/*
* Set to 0 for Aggregated GIRQ
* Set to 1 for Dis-aggregated(Jump Table) GIRQ
*/
#define GIRQ08_DISAGG (0)
#define GIRQ09_DISAGG (0)
#define GIRQ10_DISAGG (0)
#define GIRQ11_DISAGG (0)
#define GIRQ12_DISAGG (0)
#define GIRQ13_DISAGG (0)
#define GIRQ14_DISAGG (0)
#define GIRQ15_DISAGG (0)
#define GIRQ16_DISAGG (0)
#define GIRQ17_DISAGG (0)
#define GIRQ18_DISAGG (0)
#define GIRQ19_DISAGG (0)
#define GIRQ20_DISAGG (0)
#define GIRQ21_DISAGG (0)
#define GIRQ22_DISAGG (0)
#if configTIMERS_DISAGGREGATED_ISRS == 0
#define GIRQ23_DISAGG (0)
#else
#define GIRQ23_DISAGG (1)
#endif
#if configCPU_DISAGGREGATED_ISRS == 0
#define GIRQ24_DISAGG (0)
#else
#define GIRQ24_DISAGG (1)
#endif
#define GIRQ25_DISAGG (0)
#define GIRQ26_DISAGG (0)
/*
* Aggregated/Dis-aggrated bit-map
*/
#define JTVIC_DISAGR_BITMAP ( ((GIRQ08_DISAGG)<<0) + \
((GIRQ09_DISAGG)<<1) + ((GIRQ10_DISAGG)<<2) + \
((GIRQ11_DISAGG)<<3) + ((GIRQ12_DISAGG)<<4) + \
((GIRQ13_DISAGG)<<5) + ((GIRQ14_DISAGG)<<6) + \
((GIRQ15_DISAGG)<<7) + ((GIRQ16_DISAGG)<<8) + \
((GIRQ17_DISAGG)<<9) + ((GIRQ18_DISAGG)<<10) + \
((GIRQ19_DISAGG)<<11) + ((GIRQ20_DISAGG)<<12) + \
((GIRQ21_DISAGG)<<13) + ((GIRQ22_DISAGG)<<14) + \
((GIRQ23_DISAGG)<<15) + ((GIRQ24_DISAGG)<<16) + \
((GIRQ25_DISAGG)<<17) + ((GIRQ26_DISAGG)<<18) )
#define GIRQ08_NUM_SOURCES (23)
#define GIRQ08_SRC_MASK (0x007FFFFFul)
#define GIRQ09_NUM_SOURCES (31)
#define GIRQ09_SRC_MASK (0x7FFFFFFFul)
#define GIRQ10_NUM_SOURCES (24)
#define GIRQ10_SRC_MASK (0x00FFFFFFul)
#define GIRQ11_NUM_SOURCES (30)
#define GIRQ11_SRC_MASK (0x7FFFFFFEul)
#define GIRQ12_NUM_SOURCES (3)
#define GIRQ12_SRC_MASK (0x00000007ul)
#define GIRQ13_NUM_SOURCES (7)
#define GIRQ13_SRC_MASK (0x0000007Ful)
#define GIRQ14_NUM_SOURCES (6)
#define GIRQ14_SRC_MASK (0x0000003Ful)
#define GIRQ15_NUM_SOURCES (19)
#define GIRQ15_SRC_MASK (0x0007FFFFul)
#define GIRQ16_NUM_SOURCES (10)
#define GIRQ16_SRC_MASK (0x000003FFul)
#define GIRQ17_NUM_SOURCES (11)
#define GIRQ17_SRC_MASK (0x000007FFul)
#define GIRQ18_NUM_SOURCES (1)
#define GIRQ18_SRC_MASK (0x00000001ul)
#define GIRQ19_NUM_SOURCES (9)
#define GIRQ19_SRC_MASK (0x000001FFul)
#define GIRQ20_NUM_SOURCES (6)
#define GIRQ20_SRC_MASK (0x0000003Ful)
#define GIRQ21_NUM_SOURCES (3)
#define GIRQ21_SRC_MASK (0x00000007ul)
#define GIRQ22_NUM_SOURCES (10)
#define GIRQ22_SRC_MASK (0x000003FFul)
#define GIRQ23_NUM_SOURCES (14)
#define GIRQ23_SRC_MASK (0x00003FFFul)
#define GIRQ24_NUM_SOURCES (3)
#define GIRQ24_SRC_MASK (0x00000007ul)
#define GIRQ25_NUM_SOURCES (28)
#define GIRQ25_SRC_MASK (0x0FFFFFFFul)
#define GIRQ26_NUM_SOURCES (12)
#define GIRQ26_SRC_MASK (0x00000FFFul)
/** @}
*/