* arch/arm/include/sam34/sam4cm_irq.h
*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership. The
* ASF licenses this file to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance with the
* License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
* License for the specific language governing permissions and limitations
* under the License.
*
****************************************************************************/
* only indirectly through nuttx/irq.h
*/
#ifndef __ARCH_ARM_INCLUDE_SAM34_SAM4CM_IRQ_H
#define __ARCH_ARM_INCLUDE_SAM34_SAM4CM_IRQ_H
* Included Files
****************************************************************************/
* Pre-processor Prototypes
****************************************************************************/
#define SAM_PID_SUPC (0)
#define SAM_PID_RSTC (1)
#define SAM_PID_RTC (2)
#define SAM_PID_RTT (3)
#define SAM_PID_WDT (4)
#define SAM_PID_PMC (5)
#define SAM_PID_EEFC0 (6)
#define SAM_PID_RESERVED_7 (7)
#define SAM_PID_UART0 (8)
#define SAM_PID_RESERVED_9 (9)
#define SAM_PID_SMC (10)
#define SAM_PID_PIOA (11)
#define SAM_PID_PIOB (12)
#define SAM_PID_RESERVED_13 (13)
#define SAM_PID_USART0 (14)
#define SAM_PID_USART1 (15)
#define SAM_PID_USART2 (16)
#define SAM_PID_USART3 (17)
#define SAM_PID_RESERVED_18 (18)
#define SAM_PID_TWI0 (19)
#define SAM_PID_TWI1 (20)
#define SAM_PID_SPI0 (21)
#define SAM_PID_RESERVED_22 (22)
#define SAM_PID_TC0 (23)
#define SAM_PID_TC1 (24)
#define SAM_PID_TC2 (25)
#define SAM_PID_TC3 (26)
#define SAM_PID_TC4 (27)
#define SAM_PID_TC5 (28)
#define SAM_PID_ADC (29)
#define SAM_PID_ARM (30)
#define SAM_PID_IPC0 (31)
#define SAM_PID_SLCDC (32)
#define SAM_PID_TRNG (33)
#define SAM_PID_ICM (34)
#define SAM_PID_CPKCC (35)
#define SAM_PID_AES (36)
#define SAM_PID_PIOC (37)
#define SAM_PID_UART1 (38)
#define SAM_PID_IPC1 (39)
#define SAM_PID_RESERVED_40 (40)
#define SAM_PID_PWM (41)
#define SAM_PID_SRAM (42)
#define SAM_PID_SMC1 (43)
#define NR_PIDS (44)
#define SAM_IRQ_SUPC (SAM_IRQ_EXTINT+SAM_PID_SUPC)
#define SAM_IRQ_RSTC (SAM_IRQ_EXTINT+SAM_PID_RSTC)
#define SAM_IRQ_RTC (SAM_IRQ_EXTINT+SAM_PID_RTC)
#define SAM_IRQ_RTT (SAM_IRQ_EXTINT+SAM_PID_RTT)
#define SAM_IRQ_WDT (SAM_IRQ_EXTINT+SAM_PID_WDT)
#define SAM_IRQ_PMC (SAM_IRQ_EXTINT+SAM_PID_PMC)
#define SAM_IRQ_EEFC0 (SAM_IRQ_EXTINT+SAM_PID_EEFC0)
#define SAM_IRQ_RESERVED_7 (SAM_IRQ_EXTINT+SAM_PID_RESERVED_7)
#define SAM_IRQ_UART0 (SAM_IRQ_EXTINT+SAM_PID_UART0)
#define SAM_IRQ_RESERVED_9 (SAM_IRQ_EXTINT+SAM_PID_RESERVED_9)
#define SAM_IRQ_SMC (SAM_IRQ_EXTINT+SAM_PID_SMC)
#define SAM_IRQ_PIOA (SAM_IRQ_EXTINT+SAM_PID_PIOA)
#define SAM_IRQ_PIOB (SAM_IRQ_EXTINT+SAM_PID_PIOB)
#define SAM_IRQ_RESERVED_13 (SAM_IRQ_EXTINT+SAM_PID_RESERVED_13)
#define SAM_IRQ_USART0 (SAM_IRQ_EXTINT+SAM_PID_USART0)
#define SAM_IRQ_USART1 (SAM_IRQ_EXTINT+SAM_PID_USART1)
#define SAM_IRQ_USART2 (SAM_IRQ_EXTINT+SAM_PID_USART2)
#define SAM_IRQ_USART3 (SAM_IRQ_EXTINT+SAM_PID_USART3)
#define SAM_IRQ_RESERVED_18 (SAM_IRQ_EXTINT+SAM_PID_RESERVED_18)
#define SAM_IRQ_TWI0 (SAM_IRQ_EXTINT+SAM_PID_TWI0)
#define SAM_IRQ_TWI1 (SAM_IRQ_EXTINT+SAM_PID_TWI1)
#define SAM_IRQ_SPI0 (SAM_IRQ_EXTINT+SAM_PID_SPI0)
#define SAM_IRQ_RESERVED_22 (SAM_IRQ_EXTINT+SAM_PID_RESERVED_22)
#define SAM_IRQ_TC0 (SAM_IRQ_EXTINT+SAM_PID_TC0)
#define SAM_IRQ_TC1 (SAM_IRQ_EXTINT+SAM_PID_TC1)
#define SAM_IRQ_TC2 (SAM_IRQ_EXTINT+SAM_PID_TC2)
#define SAM_IRQ_TC3 (SAM_IRQ_EXTINT+SAM_PID_TC3)
#define SAM_IRQ_TC4 (SAM_IRQ_EXTINT+SAM_PID_TC4)
#define SAM_IRQ_TC5 (SAM_IRQ_EXTINT+SAM_PID_TC5)
#define SAM_IRQ_ADC (SAM_IRQ_EXTINT+SAM_PID_ADC)
#define SAM_IRQ_ARM (SAM_IRQ_EXTINT+SAM_PID_ARM)
#define SAM_IRQ_SMP_CALL0 (SAM_IRQ_EXTINT+SAM_PID_IPC0)
#define SAM_IRQ_SLCDC (SAM_IRQ_EXTINT+SAM_PID_SLCDC)
#define SAM_IRQ_TRNG (SAM_IRQ_EXTINT+SAM_PID_TRNG)
#define SAM_IRQ_ICM (SAM_IRQ_EXTINT+SAM_PID_ICM)
#define SAM_IRQ_CPKCC (SAM_IRQ_EXTINT+SAM_PID_CPKCC)
#define SAM_IRQ_AES (SAM_IRQ_EXTINT+SAM_PID_AES)
#define SAM_IRQ_PIOC (SAM_IRQ_EXTINT+SAM_PID_PIOC)
#define SAM_IRQ_UART1 (SAM_IRQ_EXTINT+SAM_PID_UART1)
#define SAM_IRQ_SMP_CALL1 (SAM_IRQ_EXTINT+SAM_PID_IPC1)
#define SAM_IRQ_RESERVED_40 (SAM_IRQ_EXTINT+SAM_PID_RESERVED_40)
#define SAM_IRQ_PWM (SAM_IRQ_EXTINT+SAM_PID_PWM)
#define SAM_IRQ_SRAM (SAM_IRQ_EXTINT+SAM_PID_SRAM)
#define SAM_IRQ_SMC1 (SAM_IRQ_EXTINT+SAM_PID_SMC1)
#define SAM_IRQ_NEXTINT NR_PIDS
#define SAM_IRQ_NIRQS (SAM_IRQ_EXTINT + NR_PIDS)
#ifdef CONFIG_GPIOA_IRQ
# define SAM_IRQ_GPIOA_PINS (SAM_IRQ_EXTINT + SAM_IRQ_NEXTINT)
# define SAM_IRQ_PA0 (SAM_IRQ_GPIOA_PINS+0)
# define SAM_IRQ_PA1 (SAM_IRQ_GPIOA_PINS+1)
# define SAM_IRQ_PA2 (SAM_IRQ_GPIOA_PINS+2)
# define SAM_IRQ_PA3 (SAM_IRQ_GPIOA_PINS+3)
# define SAM_IRQ_PA4 (SAM_IRQ_GPIOA_PINS+4)
# define SAM_IRQ_PA5 (SAM_IRQ_GPIOA_PINS+5)
# define SAM_IRQ_PA6 (SAM_IRQ_GPIOA_PINS+6)
# define SAM_IRQ_PA7 (SAM_IRQ_GPIOA_PINS+7)
# define SAM_IRQ_PA8 (SAM_IRQ_GPIOA_PINS+8)
# define SAM_IRQ_PA9 (SAM_IRQ_GPIOA_PINS+9)
# define SAM_IRQ_PA10 (SAM_IRQ_GPIOA_PINS+10)
# define SAM_IRQ_PA11 (SAM_IRQ_GPIOA_PINS+11)
# define SAM_IRQ_PA12 (SAM_IRQ_GPIOA_PINS+12)
# define SAM_IRQ_PA13 (SAM_IRQ_GPIOA_PINS+13)
# define SAM_IRQ_PA14 (SAM_IRQ_GPIOA_PINS+14)
# define SAM_IRQ_PA15 (SAM_IRQ_GPIOA_PINS+15)
# define SAM_IRQ_PA16 (SAM_IRQ_GPIOA_PINS+16)
# define SAM_IRQ_PA17 (SAM_IRQ_GPIOA_PINS+17)
# define SAM_IRQ_PA18 (SAM_IRQ_GPIOA_PINS+18)
# define SAM_IRQ_PA19 (SAM_IRQ_GPIOA_PINS+19)
# define SAM_IRQ_PA20 (SAM_IRQ_GPIOA_PINS+20)
# define SAM_IRQ_PA21 (SAM_IRQ_GPIOA_PINS+21)
# define SAM_IRQ_PA22 (SAM_IRQ_GPIOA_PINS+22)
# define SAM_IRQ_PA23 (SAM_IRQ_GPIOA_PINS+23)
# define SAM_IRQ_PA24 (SAM_IRQ_GPIOA_PINS+24)
# define SAM_IRQ_PA25 (SAM_IRQ_GPIOA_PINS+25)
# define SAM_IRQ_PA26 (SAM_IRQ_GPIOA_PINS+26)
# define SAM_IRQ_PA27 (SAM_IRQ_GPIOA_PINS+27)
# define SAM_IRQ_PA28 (SAM_IRQ_GPIOA_PINS+28)
# define SAM_IRQ_PA29 (SAM_IRQ_GPIOA_PINS+29)
# define SAM_IRQ_PA30 (SAM_IRQ_GPIOA_PINS+30)
# define SAM_IRQ_PA31 (SAM_IRQ_GPIOA_PINS+31)
# define SAM_NGPIOAIRQS 32
#else
# define SAM_NGPIOAIRQS 0
#endif
#ifdef CONFIG_GPIOB_IRQ
# define SAM_IRQ_GPIOB_PINS (SAM_IRQ_EXTINT + SAM_IRQ_NEXTINT + SAM_NGPIOAIRQS)
# define SAM_IRQ_PB0 (SAM_IRQ_GPIOB_PINS+0)
# define SAM_IRQ_PB1 (SAM_IRQ_GPIOB_PINS+1)
# define SAM_IRQ_PB2 (SAM_IRQ_GPIOB_PINS+2)
# define SAM_IRQ_PB3 (SAM_IRQ_GPIOB_PINS+3)
# define SAM_IRQ_PB4 (SAM_IRQ_GPIOB_PINS+4)
# define SAM_IRQ_PB5 (SAM_IRQ_GPIOB_PINS+5)
# define SAM_IRQ_PB6 (SAM_IRQ_GPIOB_PINS+6)
# define SAM_IRQ_PB7 (SAM_IRQ_GPIOB_PINS+7)
# define SAM_IRQ_PB8 (SAM_IRQ_GPIOB_PINS+8)
# define SAM_IRQ_PB9 (SAM_IRQ_GPIOB_PINS+9)
# define SAM_IRQ_PB10 (SAM_IRQ_GPIOB_PINS+10)
# define SAM_IRQ_PB11 (SAM_IRQ_GPIOB_PINS+11)
# define SAM_IRQ_PB12 (SAM_IRQ_GPIOB_PINS+12)
# define SAM_IRQ_PB13 (SAM_IRQ_GPIOB_PINS+13)
# define SAM_IRQ_PB14 (SAM_IRQ_GPIOB_PINS+14)
# define SAM_IRQ_PB15 (SAM_IRQ_GPIOB_PINS+15)
# define SAM_IRQ_PB16 (SAM_IRQ_GPIOB_PINS+16)
# define SAM_IRQ_PB17 (SAM_IRQ_GPIOB_PINS+17)
# define SAM_IRQ_PB18 (SAM_IRQ_GPIOB_PINS+18)
# define SAM_IRQ_PB19 (SAM_IRQ_GPIOB_PINS+19)
# define SAM_IRQ_PB20 (SAM_IRQ_GPIOB_PINS+20)
# define SAM_IRQ_PB21 (SAM_IRQ_GPIOB_PINS+21)
# define SAM_IRQ_PB22 (SAM_IRQ_GPIOB_PINS+22)
# define SAM_IRQ_PB23 (SAM_IRQ_GPIOB_PINS+23)
# define SAM_IRQ_PB24 (SAM_IRQ_GPIOB_PINS+24)
# define SAM_IRQ_PB25 (SAM_IRQ_GPIOB_PINS+25)
# define SAM_IRQ_PB26 (SAM_IRQ_GPIOB_PINS+26)
# define SAM_IRQ_PB27 (SAM_IRQ_GPIOB_PINS+27)
# define SAM_IRQ_PB28 (SAM_IRQ_GPIOB_PINS+28)
# define SAM_IRQ_PB29 (SAM_IRQ_GPIOB_PINS+29)
# define SAM_IRQ_PB30 (SAM_IRQ_GPIOB_PINS+30)
# define SAM_IRQ_PB31 (SAM_IRQ_GPIOB_PINS+31)
# define SAM_NGPIOBIRQS 32
#else
# define SAM_NGPIOBIRQS 0
#endif
#ifdef CONFIG_GPIOC_IRQ
# define SAM_IRQ_GPIOC_PINS (SAM_IRQ_EXTINT + SAM_IRQ_NEXTINT + SAM_NGPIOAIRQS + SAM_NGPIOBIRQS)
# define SAM_IRQ_PC0 (SAM_IRQ_GPIOC_PINS+0)
# define SAM_IRQ_PC1 (SAM_IRQ_GPIOC_PINS+1)
# define SAM_IRQ_PC2 (SAM_IRQ_GPIOC_PINS+2)
# define SAM_IRQ_PC3 (SAM_IRQ_GPIOC_PINS+3)
# define SAM_IRQ_PC4 (SAM_IRQ_GPIOC_PINS+4)
# define SAM_IRQ_PC5 (SAM_IRQ_GPIOC_PINS+5)
# define SAM_IRQ_PC6 (SAM_IRQ_GPIOC_PINS+6)
# define SAM_IRQ_PC7 (SAM_IRQ_GPIOC_PINS+7)
# define SAM_IRQ_PC8 (SAM_IRQ_GPIOC_PINS+8)
# define SAM_IRQ_PC9 (SAM_IRQ_GPIOC_PINS+9)
# define SAM_IRQ_PC10 (SAM_IRQ_GPIOC_PINS+10)
# define SAM_IRQ_PC11 (SAM_IRQ_GPIOC_PINS+11)
# define SAM_IRQ_PC12 (SAM_IRQ_GPIOC_PINS+12)
# define SAM_IRQ_PC13 (SAM_IRQ_GPIOC_PINS+13)
# define SAM_IRQ_PC14 (SAM_IRQ_GPIOC_PINS+14)
# define SAM_IRQ_PC15 (SAM_IRQ_GPIOC_PINS+15)
# define SAM_IRQ_PC16 (SAM_IRQ_GPIOC_PINS+16)
# define SAM_IRQ_PC17 (SAM_IRQ_GPIOC_PINS+17)
# define SAM_IRQ_PC18 (SAM_IRQ_GPIOC_PINS+18)
# define SAM_IRQ_PC19 (SAM_IRQ_GPIOC_PINS+19)
# define SAM_IRQ_PC20 (SAM_IRQ_GPIOC_PINS+20)
# define SAM_IRQ_PC21 (SAM_IRQ_GPIOC_PINS+21)
# define SAM_IRQ_PC22 (SAM_IRQ_GPIOC_PINS+22)
# define SAM_IRQ_PC23 (SAM_IRQ_GPIOC_PINS+23)
# define SAM_IRQ_PC24 (SAM_IRQ_GPIOC_PINS+24)
# define SAM_IRQ_PC25 (SAM_IRQ_GPIOC_PINS+25)
# define SAM_IRQ_PC26 (SAM_IRQ_GPIOC_PINS+26)
# define SAM_IRQ_PC27 (SAM_IRQ_GPIOC_PINS+27)
# define SAM_IRQ_PC28 (SAM_IRQ_GPIOC_PINS+28)
# define SAM_IRQ_PC29 (SAM_IRQ_GPIOC_PINS+29)
# define SAM_IRQ_PC30 (SAM_IRQ_GPIOC_PINS+30)
# define SAM_IRQ_PC31 (SAM_IRQ_GPIOC_PINS+31)
# define SAM_NGPIOCIRQS 32
#else
# define SAM_NGPIOCIRQS 0
#endif
#define NR_IRQS (SAM_IRQ_EXTINT + SAM_IRQ_NEXTINT + \
SAM_NGPIOAIRQS + SAM_NGPIOBIRQS + SAM_NGPIOCIRQS)
* Public Types
****************************************************************************/
* Inline functions
****************************************************************************/
* Public Data
****************************************************************************/
#ifndef __ASSEMBLY__
#ifdef __cplusplus
#define EXTERN extern "C"
extern "C"
{
#else
#define EXTERN extern
#endif
* Public Function Prototypes
****************************************************************************/
#undef EXTERN
#ifdef __cplusplus
}
#endif
#endif
#endif