nuttx/arch/renesas/include/rx65n/irq.h
Xiang Xiao 3d1ce144df arch: Move up_getsp from arch.h to irq.h
since all other special register operation in irq.h

Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2022-07-01 10:44:55 -03:00

1091 lines
43 KiB
C

/****************************************************************************
* arch/renesas/include/rx65n/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.
*
****************************************************************************/
#ifndef __ARCH_RENESAS_INCLUDE_RX65N_IRQ_H
#define __ARCH_RENESAS_INCLUDE_RX65N_IRQ_H
/* SCI */
#define RX_RXI_IRQ_OFFSET (0) /* RxIn */
#define RX_TXI_IRQ_OFFSET (1) /* TxIn */
#define RX_ERI_IRQ_OFFSET (2) /* ERIn */
#define RX_TEI_IRQ_OFFSET (3) /* TEIn */
#define RX_SCI_NIRQS (4)
#define RX65N_TRAP_IRQBASE (0)
#define RX65N_TRAP0_IRQ (RX65N_TRAP_IRQBASE)
#define RX65N_TRAP1_IRQ (RX65N_TRAP_IRQBASE+1)
#define RX65N_TRAP2_IRQ (RX65N_TRAP_IRQBASE+2)
#define RX65N_TRAP3_IRQ (RX65N_TRAP_IRQBASE+3)
#define RX65N_TRAP4_IRQ (RX65N_TRAP_IRQBASE+4)
#define RX65N_TRAP5_IRQ (RX65N_TRAP_IRQBASE+5)
#define RX65N_TRAP6_IRQ (RX65N_TRAP_IRQBASE+6)
#define RX65N_TRAP7_IRQ (RX65N_TRAP_IRQBASE+7)
#define RX65N_TRAP8_IRQ (RX65N_TRAP_IRQBASE+8)
#define RX65N_TRAP9_IRQ (RX65N_TRAP_IRQBASE+9)
#define RX65N_TRAP10_IRQ (RX65N_TRAP_IRQBASE+10)
#define RX65N_TRAP11_IRQ (RX65N_TRAP_IRQBASE+11)
#define RX65N_TRAP12_IRQ (RX65N_TRAP_IRQBASE+12)
#define RX65N_TRAP13_IRQ (RX65N_TRAP_IRQBASE+13)
#define RX65N_TRAP14_IRQ (RX65N_TRAP_IRQBASE+14)
#define RX65N_TRAP15_IRQ (RX65N_TRAP_IRQBASE+15)
#define RX65N_BUSERR_IRQBASE (RX65N_TRAP_IRQBASE+16)
#if defined(CONFIG_BSC) || defined(CONFIG_RX65N_BSC)
# define RX65N_BUSERR_IRQ (RX65N_BUSERR_IRQBASE)
# define RX65N_RAMERR_IRQBASE (RX65N_BUSERR_IRQBASE + 1)
#else
# define RX65N_RAMERR_IRQBASE (RX65N_BUSERR_IRQBASE)
#endif
#if defined(CONFIG_RAM) || defined(CONFIG_RX65N_RAM)
# define RX65N_RAMERR_IRQ (RX65N_RAMERR_IRQBASE)
# define RX65N_FIFERR_IRQBASE (RX65N_RAMERR_IRQBASE + 1)
#else
# define RX65N_FIFERR_IRQBASE (RX65N_RAMERR_IRQBASE)
#endif
#if defined(CONFIG_FIFERR) || defined(CONFIG_RX65N_FIFERR)
# define RX65N_FIFERR_IRQ (RX65N_FIFERR_IRQBASE)
# define RX65N_FRDYI_IRQBASE (RX65N_FIFERR_IRQBASE + 1)
#else
# define RX65N_FRDYI_IRQBASE (RX65N_FIFERR_IRQBASE)
#endif
#if defined(CONFIG_FRDYI) || defined(CONFIG_RX65N_FRDYI)
# define RX65N_FRDYI_IRQ (RX65N_FRDYI_IRQBASE)
# define RX65N_SWINT2_IRQBASE (RX65N_FRDYI_IRQBASE + 1)
#else
# define RX65N_SWINT2_IRQBASE (RX65N_FRDYI_IRQBASE)
#endif
# define RX65N_SWINT2_IRQ (RX65N_SWINT2_IRQBASE)
# define RX65N_SWINT_IRQBASE (RX65N_SWINT2_IRQBASE + 1)
# define RX65N_SWINT_IRQ (RX65N_SWINT_IRQBASE)
# define RX65N_CMT0_IRQBASE (RX65N_SWINT_IRQBASE+1)
#define RX65N_CMI0_IRQ (RX65N_CMT0_IRQBASE)
#define RX65N_CMT1_IRQBASE (RX65N_CMT0_IRQBASE + 1)
#ifdef CONFIG_RX65N_CMT1
# define RX65N_CMI1_IRQ (RX65N_CMT1_IRQBASE)
# define RX65N_CMTW0_IRQBASE (RX65N_CMT1_IRQBASE + 1)
#else
# define RX65N_CMTW0_IRQBASE (RX65N_CMT1_IRQBASE)
#endif
#ifdef CONFIG_RX65N_CMTW0
# define RX65N_CMWI0_IRQ (RX65N_CMTW0_IRQBASE)
# define RX65N_CMTW1_IRQBASE (RX65N_CMTW0_IRQBASE + 1)
#else
# define RX65N_CMTW1_IRQBASE (RX65N_CMTW0_IRQBASE)
#endif
#ifdef CONFIG_RX65N_CMTW1
# define RX65N_CMWI1_IRQ (RX65N_CMTW1_IRQBASE)
# define RX65N_USB0_IRQBASE (RX65N_CMTW1_IRQBASE + 1)
#else
# define RX65N_USB0_IRQBASE (RX65N_CMTW1_IRQBASE)
#endif
#ifdef CONFIG_RX65N_USB0
# define RX65N_D0FIFO0_IRQ (RX65N_USB0_IRQBASE)
# define RX65N_D1FIFO0_IRQ (RX65N_USB0_IRQBASE + 1)
# define RX65N_RSPI0_IRQBASE (RX65N_USB0_IRQBASE + 2)
#else
# define RX65N_RSPI0_IRQBASE (RX65N_USB0_IRQBASE)
#endif
#ifdef CONFIG_RX65N_RSPI0
# define RX65N_SPRI0_IRQ (RX65N_RSPI0_IRQBASE)
# define RX65N_SPTI0_IRQ (RX65N_RSPI0_IRQBASE + 1)
# define RX65N_SPEI0_IRQ (RX65N_RSPI0_IRQBASE + 2)
# define RX65N_SPII0_IRQ (RX65N_RSPI0_IRQBASE + 3)
# define RX65N_RSPI1_IRQBASE (RX65N_RSPI0_IRQBASE + 4)
#else
# define RX65N_RSPI1_IRQBASE (RX65N_RSPI0_IRQBASE)
#endif
#ifdef CONFIG_RX65N_RSPI1
# define RX65N_SPRI1_IRQ (RX65N_RSPI1_IRQBASE)
# define RX65N_SPTI1_IRQ (RX65N_RSPI1_IRQBASE + 1)
# define RX65N_SPEI1_IRQ (RX65N_RSPI1_IRQBASE + 2)
# define RX65N_SPII1_IRQ (RX65N_RSPI1_IRQBASE + 3)
# define RX65N_QSPI_IRQBASE (RX65N_RSPI1_IRQBASE + 4)
#else
# define RX65N_QSPI_IRQBASE (RX65N_RSPI1_IRQBASE)
#endif
#ifdef CONFIG_RX65N_QSPI
# define RX65N_SPRI_IRQ (RX65N_QSPI_IRQBASE)
# define RX65N_SPTI_IRQ (RX65N_QSPI_IRQBASE + 1)
# define RX65N_SDHI_IRQBASE (RX65N_QSPI_IRQBASE + 2)
#else
# define RX65N_SDHI_IRQBASE (RX65N_QSPI_IRQBASE)
#endif
#ifdef CONFIG_RX65N_SDHI
# define RX65N_SBFAI_IRQ (RX65N_SDHI_IRQBASE)
# define RX65N_MMCIF_IRQBASE (RX65N_SDHI_IRQBASE + 1)
#else
# define RX65N_MMCIF_IRQBASE (RX65N_SDHI_IRQBASE)
#endif
#ifdef CONFIG_RX65N_MMCIF
# define RX65N_MBFAI_IRQ (RX65N_MMCIF_IRQBASE)
# define RX65N_RIIC1_IRQBASE (RX65N_MMCIF_IRQBASE + 1)
#else
# define RX65N_RIIC1_IRQBASE (RX65N_MMCIF_IRQBASE)
#endif
#ifdef CONFIG_RX65N_RIIC1
# define RX65N_RIIC1_RXI1_IRQ (RX65N_RIIC1_IRQBASE)
# define RX65N_RIIC1_TXI1_IRQ (RX65N_RIIC1_IRQBASE + 1)
# define RX65N_RIIC1_TEI1_IRQ (RX65N_RIIC1_IRQBASE + 2)
# define RX65N_RIIC1_EEI1_IRQ (RX65N_RIIC1_IRQBASE + 3)
# define RX65N_RIIC0_IRQBASE (RX65N_RIIC1_IRQBASE + 4)
#else
# define RX65N_RIIC0_IRQBASE (RX65N_RIIC1_IRQBASE)
#endif
#ifdef CONFIG_RX65N_RIIC0
# define RX65N_RIIC0_RXI0_IRQ (RX65N_RIIC0_IRQBASE)
# define RX65N_RIIC0_TXI0_IRQ (RX65N_RIIC0_IRQBASE + 1)
# define RX65N_RIIC0_TEI0_IRQ (RX65N_RIIC0_IRQBASE + 2)
# define RX65N_RIIC0_EEI0_IRQ (RX65N_RIIC0_IRQBASE + 3)
# define RX65N_RIIC2_IRQBASE (RX65N_RIIC0_IRQBASE + 4)
#else
# define RX65N_RIIC2_IRQBASE (RX65N_RIIC0_IRQBASE)
#endif
#ifdef CONFIG_RX65N_RIIC2
# define RX65N_RIIC2_RXI2_IRQ (RX65N_RIIC2_IRQBASE)
# define RX65N_RIIC2_TXI2_IRQ (RX65N_RIIC2_IRQBASE + 1)
# define RX65N_RIIC2_TEI2_IRQ (RX65N_RIIC2_IRQBASE + 2)
# define RX65N_RIIC2_EEI2_IRQ (RX65N_RIIC2_IRQBASE + 3)
# define RX65N_SCI0_IRQBASE (RX65N_RIIC2_IRQBASE + 4)
#else
# define RX65N_SCI0_IRQBASE (RX65N_RIIC2_IRQBASE)
#endif
#ifdef CONFIG_RX65N_SCI0
# define RX65N_RXI0_IRQ (RX65N_SCI0_IRQBASE + RX_RXI_IRQ_OFFSET)
# define RX65N_TXI0_IRQ (RX65N_SCI0_IRQBASE + RX_TXI_IRQ_OFFSET)
# define RX65N_ERI0_IRQ (RX65N_SCI0_IRQBASE + RX_ERI_IRQ_OFFSET)
# define RX65N_TEI0_IRQ (RX65N_SCI0_IRQBASE + RX_TEI_IRQ_OFFSET)
# define RX65N_SCI1_IRQBASE (RX65N_SCI0_IRQBASE + RX_SCI_NIRQS)
#else
# define RX65N_SCI1_IRQBASE (RX65N_SCI0_IRQBASE)
#endif
#ifdef CONFIG_RX65N_SCI1
# define RX65N_RXI1_IRQ (RX65N_SCI1_IRQBASE + RX_RXI_IRQ_OFFSET)
# define RX65N_TXI1_IRQ (RX65N_SCI1_IRQBASE + RX_TXI_IRQ_OFFSET)
# define RX65N_ERI1_IRQ (RX65N_SCI1_IRQBASE + RX_ERI_IRQ_OFFSET)
# define RX65N_TEI1_IRQ (RX65N_SCI1_IRQBASE + RX_TEI_IRQ_OFFSET)
# define RX65N_SCI2_IRQBASE (RX65N_SCI1_IRQBASE + RX_SCI_NIRQS)
#else
# define RX65N_SCI2_IRQBASE (RX65N_SCI1_IRQBASE)
#endif
#ifdef CONFIG_RX65N_SCI2
# define RX65N_RXI2_IRQ (RX65N_SCI2_IRQBASE + RX_RXI_IRQ_OFFSET)
# define RX65N_TXI2_IRQ (RX65N_SCI2_IRQBASE + RX_TXI_IRQ_OFFSET)
# define RX65N_ERI2_IRQ (RX65N_SCI2_IRQBASE + RX_ERI_IRQ_OFFSET)
# define RX65N_TEI2_IRQ (RX65N_SCI2_IRQBASE + RX_TEI_IRQ_OFFSET)
# define RX65N_ICU_IRQ_IRQBASE (RX65N_SCI2_IRQBASE + RX_SCI_NIRQS)
#else
# define RX65N_ICU_IRQ_IRQBASE (RX65N_SCI2_IRQBASE)
#endif
#if defined(CONFIG_RX65N_ICU)
# define RX65N_IRQ0_IRQ (RX65N_ICU_IRQ_IRQBASE)
# define RX65N_IRQ1_IRQ (RX65N_ICU_IRQ_IRQBASE+1)
# define RX65N_IRQ2_IRQ (RX65N_ICU_IRQ_IRQBASE+2)
# define RX65N_IRQ3_IRQ (RX65N_ICU_IRQ_IRQBASE+3)
# define RX65N_IRQ4_IRQ (RX65N_ICU_IRQ_IRQBASE+4)
# define RX65N_IRQ5_IRQ (RX65N_ICU_IRQ_IRQBASE+5)
# define RX65N_IRQ6_IRQ (RX65N_ICU_IRQ_IRQBASE+6)
# define RX65N_IRQ7_IRQ (RX65N_ICU_IRQ_IRQBASE+7)
# define RX65N_IRQ8_IRQ (RX65N_ICU_IRQ_IRQBASE+8)
# define RX65N_IRQ9_IRQ (RX65N_ICU_IRQ_IRQBASE+9)
# define RX65N_IRQ10_IRQ (RX65N_ICU_IRQ_IRQBASE+10)
# define RX65N_IRQ11_IRQ (RX65N_ICU_IRQ_IRQBASE+11)
# define RX65N_IRQ12_IRQ (RX65N_ICU_IRQ_IRQBASE+12)
# define RX65N_IRQ13_IRQ (RX65N_ICU_IRQ_IRQBASE+13)
# define RX65N_IRQ14_IRQ (RX65N_ICU_IRQ_IRQBASE+14)
# define RX65N_IRQ15_IRQ (RX65N_ICU_IRQ_IRQBASE+15)
# define RX65N_SCI3_IRQBASE (RX65N_ICU_IRQ_IRQBASE+16)
#else
# define RX65N_SCI3_IRQBASE (RX65N_ICU_IRQ_IRQBASE)
#endif
#ifdef CONFIG_RX65N_SCI3
# define RX65N_RXI3_IRQ (RX65N_SCI3_IRQBASE + RX_RXI_IRQ_OFFSET)
# define RX65N_TXI3_IRQ (RX65N_SCI3_IRQBASE + RX_TXI_IRQ_OFFSET)
# define RX65N_ERI3_IRQ (RX65N_SCI3_IRQBASE + RX_ERI_IRQ_OFFSET)
# define RX65N_TEI3_IRQ (RX65N_SCI3_IRQBASE + RX_TEI_IRQ_OFFSET)
# define RX65N_SCI4_IRQBASE (RX65N_SCI3_IRQBASE + RX_SCI_NIRQS)
#else
# define RX65N_SCI4_IRQBASE (RX65N_SCI3_IRQBASE)
#endif
#ifdef CONFIG_RX65N_SCI4
# define RX65N_RXI4_IRQ (RX65N_SCI4_IRQBASE + RX_RXI_IRQ_OFFSET)
# define RX65N_TXI4_IRQ (RX65N_SCI4_IRQBASE + RX_TXI_IRQ_OFFSET)
# define RX65N_ERI4_IRQ (RX65N_SCI4_IRQBASE + RX_ERI_IRQ_OFFSET)
# define RX65N_TEI4_IRQ (RX65N_SCI4_IRQBASE + RX_TEI_IRQ_OFFSET)
# define RX65N_SCI5_IRQBASE (RX65N_SCI4_IRQBASE + RX_SCI_NIRQS)
#else
# define RX65N_SCI5_IRQBASE (RX65N_SCI4_IRQBASE)
#endif
#ifdef CONFIG_RX65N_SCI5
# define RX65N_RXI5_IRQ (RX65N_SCI5_IRQBASE + RX_RXI_IRQ_OFFSET)
# define RX65N_TXI5_IRQ (RX65N_SCI5_IRQBASE + RX_TXI_IRQ_OFFSET)
# define RX65N_ERI5_IRQ (RX65N_SCI5_IRQBASE + RX_ERI_IRQ_OFFSET)
# define RX65N_TEI5_IRQ (RX65N_SCI5_IRQBASE + RX_TEI_IRQ_OFFSET)
# define RX65N_SCI6_IRQBASE (RX65N_SCI5_IRQBASE + RX_SCI_NIRQS)
#else
# define RX65N_SCI6_IRQBASE (RX65N_SCI5_IRQBASE)
#endif
#ifdef CONFIG_RX65N_SCI6
# define RX65N_RXI6_IRQ (RX65N_SCI6_IRQBASE + RX_RXI_IRQ_OFFSET)
# define RX65N_TXI6_IRQ (RX65N_SCI6_IRQBASE + RX_TXI_IRQ_OFFSET)
# define RX65N_ERI6_IRQ (RX65N_SCI6_IRQBASE + RX_ERI_IRQ_OFFSET)
# define RX65N_TEI6_IRQ (RX65N_SCI6_IRQBASE + RX_TEI_IRQ_OFFSET)
# define RX65N_LVD1_IRQBASE (RX65N_SCI6_IRQBASE + RX_SCI_NIRQS)
#else
# define RX65N_LVD1_IRQBASE (RX65N_SCI6_IRQBASE)
#endif
#ifdef CONFIG_RX65N_LVD1
# define RX65N_LVD1_IRQ (RX65N_LVD1_IRQBASE)
# define RX65N_LVD2_IRQBASE (RX65N_LVD1_IRQBASE + 1)
#else
# define RX65N_LVD2_IRQBASE (RX65N_LVD1_IRQBASE)
#endif
#ifdef CONFIG_RX65N_LVD2
# define RX65N_LVD2_IRQ (RX65N_LVD2_IRQBASE)
# define RX65N_USB0_R0_IRQBASE (RX65N_LVD2_IRQBASE + 1)
#else
# define RX65N_USB0_R0_IRQBASE (RX65N_LVD2_IRQBASE)
#endif
#ifdef CONFIG_RX65N_USB0_R0
# define RX65N_USBR0_IRQ (RX65N_USB0_R0_IRQBASE)
# define RX65N_RTC_IRQBASE (RX65N_USB0_R0_IRQBASE)
#else
# define RX65N_RTC_IRQBASE (RX65N_USB0_R0_IRQBASE)
#endif
#ifdef CONFIG_RX65N_RTC
# define RX65N_ALM_IRQ (RX65N_RTC_IRQBASE)
# define RX65N_PRD_IRQ (RX65N_RTC_IRQBASE + 1)
# define RX65N_IWDT_IRQBASE (RX65N_RTC_IRQBASE + 2)
#else
# define RX65N_IWDT_IRQBASE (RX65N_RTC_IRQBASE)
#endif
#ifdef CONFIG_RX65N_IWDT
# define RX65N_IWUNI_IRQ (RX65N_IWDT_IRQBASE)
# define RX65N_WDT_IRQBASE (RX65N_IWDT_IRQBASE + 1)
#else
# define RX65N_WDT_IRQBASE (RX65N_IWDT_IRQBASE)
#endif
#ifdef CONFIG_RX65N_WDT
# define RX65N_WUNI_IRQ (RX65N_WDT_IRQBASE)
# define RX65N_PDC_IRQBASE (RX65N_WDT_IRQBASE + 1)
#else
# define RX65N_PDC_IRQBASE (RX65N_WDT_IRQBASE)
#endif
#ifdef CONFIG_RX65N_PDC
# define RX65N_PCDFI_IRQ (RX65N_PDC_IRQBASE)
# define RX65N_SCI7_IRQBASE (RX65N_PDC_IRQBASE + 1)
#else
# define RX65N_SCI7_IRQBASE (RX65N_PDC_IRQBASE)
#endif
#ifdef CONFIG_RX65N_SCI7
# define RX65N_RXI7_IRQ (RX65N_SCI7_IRQBASE + RX_RXI_IRQ_OFFSET)
# define RX65N_TXI7_IRQ (RX65N_SCI7_IRQBASE + RX_TXI_IRQ_OFFSET)
# define RX65N_ERI7_IRQ (RX65N_SCI7_IRQBASE + RX_ERI_IRQ_OFFSET)
# define RX65N_TEI7_IRQ (RX65N_SCI7_IRQBASE + RX_TEI_IRQ_OFFSET)
# define RX65N_SCI8_IRQBASE (RX65N_SCI7_IRQBASE + RX_SCI_NIRQS)
#else
# define RX65N_SCI8_IRQBASE (RX65N_SCI7_IRQBASE)
#endif
#ifdef CONFIG_RX65N_SCI8
# define RX65N_RXI8_IRQ (RX65N_SCI8_IRQBASE + RX_RXI_IRQ_OFFSET)
# define RX65N_TXI8_IRQ (RX65N_SCI8_IRQBASE + RX_TXI_IRQ_OFFSET)
# define RX65N_ERI8_IRQ (RX65N_SCI8_IRQBASE + RX_ERI_IRQ_OFFSET)
# define RX65N_TEI8_IRQ (RX65N_SCI8_IRQBASE + RX_TEI_IRQ_OFFSET)
# define RX65N_SCI9_IRQBASE (RX65N_SCI8_IRQBASE + RX_SCI_NIRQS)
#else
# define RX65N_SCI9_IRQBASE (RX65N_SCI8_IRQBASE)
#endif
#ifdef CONFIG_RX65N_SCI9
# define RX65N_RXI9_IRQ (RX65N_SCI9_IRQBASE + RX_RXI_IRQ_OFFSET)
# define RX65N_TXI9_IRQ (RX65N_SCI9_IRQBASE + RX_TXI_IRQ_OFFSET)
# define RX65N_ERI9_IRQ (RX65N_SCI9_IRQBASE + RX_ERI_IRQ_OFFSET)
# define RX65N_TEI9_IRQ (RX65N_SCI9_IRQBASE + RX_TEI_IRQ_OFFSET)
# define RX65N_SCI10_IRQBASE (RX65N_SCI9_IRQBASE + RX_SCI_NIRQS)
#else
# define RX65N_SCI10_IRQBASE (RX65N_SCI9_IRQBASE)
#endif
#ifdef CONFIG_RX65N_SCI10
# define RX65N_RXI10_IRQ (RX65N_SCI10_IRQBASE + RX_RXI_IRQ_OFFSET)
# define RX65N_TXI10_IRQ (RX65N_SCI10_IRQBASE + RX_TXI_IRQ_OFFSET)
# define RX65N_ERI10_IRQ (RX65N_SCI10_IRQBASE + RX_ERI_IRQ_OFFSET)
# define RX65N_TEI10_IRQ (RX65N_SCI10_IRQBASE + RX_TEI_IRQ_OFFSET)
# define RX65N_IRQ_GROUPB_IRQBASE (RX65N_SCI10_IRQBASE + RX_SCI_NIRQS)
#else
# define RX65N_IRQ_GROUPB_IRQBASE (RX65N_SCI10_IRQBASE)
#endif
#ifdef CONFIG_RX65N_IRQ_GROUP
# define RX65N_GROUPBE0_IRQ (RX65N_IRQ_GROUPB_IRQBASE)
# define RX65N_GROUPBL2_IRQ (RX65N_IRQ_GROUPB_IRQBASE + 1)
# define RX65N_RSPI2_IRQBASE (RX65N_IRQ_GROUPB_IRQBASE + 2)
#else
# define RX65N_RSPI2_IRQBASE (RX65N_IRQ_GROUPB_IRQBASE)
#endif
#ifdef CONFIG_RX65N_RSPI2
# define RX65N_SPRI2_IRQ (RX65N_RSPI2_IRQBASE)
# define RX65N_SPTI2_IRQ (RX65N_RSPI2_IRQBASE + 1)
# define RX65N_SPEI2_IRQ (RX65N_RSPI2_IRQBASE + 2)
# define RX65N_SPII2_IRQ (RX65N_RSPI2_IRQBASE + 3)
# define RX65N_IRQ_GROUPBL_IRQBASE (RX65N_RSPI2_IRQBASE + 4)
#else
# define RX65N_IRQ_GROUPBL_IRQBASE (RX65N_RSPI2_IRQBASE)
#endif
#ifdef CONFIG_RX65N_IRQ_GROUP
# define RX65N_GROUPBL0_IRQ (RX65N_IRQ_GROUPBL_IRQBASE)
# define RX65N_GROUPBL1_IRQ (RX65N_IRQ_GROUPBL_IRQBASE + 1)
# define RX65N_GROUPAL0_IRQ (RX65N_IRQ_GROUPBL_IRQBASE + 2)
# define RX65N_GROUPAL1_IRQ (RX65N_IRQ_GROUPBL_IRQBASE + 3)
# define RX65N_ETH_IRQBASE (RX65N_IRQ_GROUPBL_IRQBASE + 4)
#else
# define RX65N_ETH_IRQBASE (RX65N_IRQ_GROUPBL_IRQBASE)
#endif
#ifdef CONFIG_RX65N_EMAC0
# define RX65N_ETH_IRQ RX65N_ETH_IRQBASE
# define RX65N_SCI11_IRQBASE (RX65N_ETH_IRQBASE + 1)
#else
# define RX65N_SCI11_IRQBASE (RX65N_ETH_IRQBASE)
#endif
#ifdef CONFIG_RX65N_SCI11
# define RX65N_RXI11_IRQ (RX65N_SCI11_IRQBASE + RX_RXI_IRQ_OFFSET)
# define RX65N_TXI11_IRQ (RX65N_SCI11_IRQBASE + RX_TXI_IRQ_OFFSET)
# define RX65N_ERI11_IRQ (RX65N_SCI11_IRQBASE + RX_ERI_IRQ_OFFSET)
# define RX65N_TEI11_IRQ (RX65N_SCI11_IRQBASE + RX_TEI_IRQ_OFFSET)
# define RX65N_SCI12_IRQBASE (RX65N_SCI11_IRQBASE + RX_SCI_NIRQS)
#else
# define RX65N_SCI12_IRQBASE (RX65N_SCI11_IRQBASE)
#endif
#ifdef CONFIG_RX65N_SCI12
# define RX65N_RXI12_IRQ (RX65N_SCI12_IRQBASE + RX_RXI_IRQ_OFFSET)
# define RX65N_TXI12_IRQ (RX65N_SCI12_IRQBASE + RX_TXI_IRQ_OFFSET)
# define RX65N_ERI12_IRQ (RX65N_SCI12_IRQBASE + RX_ERI_IRQ_OFFSET)
# define RX65N_TEI12_IRQ (RX65N_SCI12_IRQBASE + RX_TEI_IRQ_OFFSET)
# define RX65N_DMAC_IRQBASE (RX65N_SCI12_IRQBASE + RX_SCI_NIRQS)
#else
# define RX65N_DMAC_IRQBASE (RX65N_SCI12_IRQBASE)
#endif
#ifdef CONFIG_RX65N_DMAC
# define RX65N_DMAC0I_IRQ (RX65N_DMAC_IRQBASE)
# define RX65N_DMAC1I_IRQ (RX65N_DMAC_IRQBASE + 1)
# define RX65N_DMAC2I_IRQ (RX65N_DMAC_IRQBASE + 2)
# define RX65N_DMAC3I_IRQ (RX65N_DMAC_IRQBASE + 3)
# define RX65N_DMAC74I_IRQ (RX65N_DMAC_IRQBASE + 4)
# define RX65N_OST_IRQBASE (RX65N_DMAC_IRQBASE + 5)
#else
# define RX65N_OST_IRQBASE (RX65N_DMAC_IRQBASE)
#endif
#ifdef CONFIG_RX65N_OST
# define RX65N_OSTD1_IRQ (RX65N_OST_IRQBASE)
# define RX65N_EXDMAC_IRQBASE (RX65N_OST_IRQBASE + 1)
#else
# define RX65N_EXDMAC_IRQBASE (RX65N_OST_IRQBASE)
#endif
#ifdef CONFIG_RX65N_EXDMAC
# define RX65N_EXDMAC0I_IRQ (RX65N_EXDMAC_IRQBASE)
# define RX65N_EXDMAC1I_IRQ (RX65N_EXDMAC_IRQBASE + 1)
# define RX65N_PERIB_IRQBASE (RX65N_EXDMAC_IRQBASE + 2)
#else
# define RX65N_PERIB_IRQBASE (RX65N_EXDMAC_IRQBASE)
#endif
# ifdef CONFIG_RX65N_PERIB
# define RX65N_INTB128_IRQ (RX65N_PERIB_IRQBASE)
# define RX65N_INTB129_IRQ (RX65N_PERIB_IRQBASE + 1)
# define RX65N_INTB130_IRQ (RX65N_PERIB_IRQBASE + 2)
# define RX65N_INTB131_IRQ (RX65N_PERIB_IRQBASE + 3)
# define RX65N_INTB132_IRQ (RX65N_PERIB_IRQBASE + 4)
# define RX65N_INTB133_IRQ (RX65N_PERIB_IRQBASE + 5)
# define RX65N_INTB134_IRQ (RX65N_PERIB_IRQBASE + 6)
# define RX65N_INTB135_IRQ (RX65N_PERIB_IRQBASE + 7)
# define RX65N_INTB136_IRQ (RX65N_PERIB_IRQBASE + 8)
# define RX65N_INTB137_IRQ (RX65N_PERIB_IRQBASE + 9)
# define RX65N_INTB138_IRQ (RX65N_PERIB_IRQBASE + 10)
# define RX65N_INTB139_IRQ (RX65N_PERIB_IRQBASE + 11)
# define RX65N_INTB140_IRQ (RX65N_PERIB_IRQBASE + 12)
# define RX65N_INTB141_IRQ (RX65N_PERIB_IRQBASE + 13)
# define RX65N_INTB142_IRQ (RX65N_PERIB_IRQBASE + 14)
# define RX65N_INTB143_IRQ (RX65N_PERIB_IRQBASE + 15)
# define RX65N_INTB144_IRQ (RX65N_PERIB_IRQBASE + 16)
# define RX65N_INTB145_IRQ (RX65N_PERIB_IRQBASE + 17)
# define RX65N_INTB146_IRQ (RX65N_PERIB_IRQBASE + 18)
# define RX65N_INTB147_IRQ (RX65N_PERIB_IRQBASE + 19)
# define RX65N_INTB148_IRQ (RX65N_PERIB_IRQBASE + 20)
# define RX65N_INTB149_IRQ (RX65N_PERIB_IRQBASE + 21)
# define RX65N_INTB150_IRQ (RX65N_PERIB_IRQBASE + 22)
# define RX65N_INTB151_IRQ (RX65N_PERIB_IRQBASE + 23)
# define RX65N_INTB152_IRQ (RX65N_PERIB_IRQBASE + 24)
# define RX65N_INTB153_IRQ (RX65N_PERIB_IRQBASE + 25)
# define RX65N_INTB154_IRQ (RX65N_PERIB_IRQBASE + 26)
# define RX65N_INTB155_IRQ (RX65N_PERIB_IRQBASE + 27)
# define RX65N_INTB156_IRQ (RX65N_PERIB_IRQBASE + 28)
# define RX65N_INTB157_IRQ (RX65N_PERIB_IRQBASE + 29)
# define RX65N_INTB158_IRQ (RX65N_PERIB_IRQBASE + 30)
# define RX65N_INTB159_IRQ (RX65N_PERIB_IRQBASE + 31)
# define RX65N_INTB160_IRQ (RX65N_PERIB_IRQBASE + 32)
# define RX65N_INTB161_IRQ (RX65N_PERIB_IRQBASE + 33)
# define RX65N_INTB162_IRQ (RX65N_PERIB_IRQBASE + 34)
# define RX65N_INTB163_IRQ (RX65N_PERIB_IRQBASE + 35)
# define RX65N_INTB164_IRQ (RX65N_PERIB_IRQBASE + 36)
# define RX65N_INTB165_IRQ (RX65N_PERIB_IRQBASE + 37)
# define RX65N_INTB166_IRQ (RX65N_PERIB_IRQBASE + 38)
# define RX65N_INTB167_IRQ (RX65N_PERIB_IRQBASE + 39)
# define RX65N_INTB168_IRQ (RX65N_PERIB_IRQBASE + 40)
# define RX65N_INTB169_IRQ (RX65N_PERIB_IRQBASE + 41)
/* using for CONFIG_RX65N_CMTW0 */
# define RX65N_INTB170_IRQ (RX65N_PERIB_IRQBASE + 42)
/* using for CONFIG_RX65N_CMTW1 */
# define RX65N_INTB171_IRQ (RX65N_PERIB_IRQBASE + 43)
# define RX65N_INTB172_IRQ (RX65N_PERIB_IRQBASE + 44)
# define RX65N_INTB173_IRQ (RX65N_PERIB_IRQBASE + 45)
# define RX65N_INTB174_IRQ (RX65N_PERIB_IRQBASE + 46)
# define RX65N_INTB175_IRQ (RX65N_PERIB_IRQBASE + 47)
# define RX65N_INTB176_IRQ (RX65N_PERIB_IRQBASE + 48)
# define RX65N_INTB177_IRQ (RX65N_PERIB_IRQBASE + 49)
# define RX65N_INTB178_IRQ (RX65N_PERIB_IRQBASE + 50)
# define RX65N_INTB179_IRQ (RX65N_PERIB_IRQBASE + 51)
# define RX65N_INTB180_IRQ (RX65N_PERIB_IRQBASE + 52)
# define RX65N_INTB181_IRQ (RX65N_PERIB_IRQBASE + 53)
# define RX65N_INTB182_IRQ (RX65N_PERIB_IRQBASE + 54)
# define RX65N_INTB183_IRQ (RX65N_PERIB_IRQBASE + 55)
# define RX65N_INTB184_IRQ (RX65N_PERIB_IRQBASE + 56)
# define RX65N_INTB185_IRQ (RX65N_PERIB_IRQBASE + 57)
# define RX65N_INTB186_IRQ (RX65N_PERIB_IRQBASE + 58)
# define RX65N_INTB187_IRQ (RX65N_PERIB_IRQBASE + 59)
# define RX65N_INTB188_IRQ (RX65N_PERIB_IRQBASE + 60)
# define RX65N_INTB189_IRQ (RX65N_PERIB_IRQBASE + 61)
# define RX65N_INTB190_IRQ (RX65N_PERIB_IRQBASE + 62)
# define RX65N_INTB191_IRQ (RX65N_PERIB_IRQBASE + 63)
# define RX65N_INTB192_IRQ (RX65N_PERIB_IRQBASE + 64)
# define RX65N_INTB193_IRQ (RX65N_PERIB_IRQBASE + 65)
# define RX65N_INTB194_IRQ (RX65N_PERIB_IRQBASE + 66)
# define RX65N_INTB195_IRQ (RX65N_PERIB_IRQBASE + 67)
# define RX65N_INTB196_IRQ (RX65N_PERIB_IRQBASE + 68)
# define RX65N_INTB197_IRQ (RX65N_PERIB_IRQBASE + 69)
# define RX65N_INTB198_IRQ (RX65N_PERIB_IRQBASE + 70)
# define RX65N_INTB199_IRQ (RX65N_PERIB_IRQBASE + 71)
# define RX65N_INTB200_IRQ (RX65N_PERIB_IRQBASE + 72)
# define RX65N_INTB201_IRQ (RX65N_PERIB_IRQBASE + 73)
# define RX65N_INTB202_IRQ (RX65N_PERIB_IRQBASE + 74)
# define RX65N_INTB203_IRQ (RX65N_PERIB_IRQBASE + 75)
# define RX65N_INTB204_IRQ (RX65N_PERIB_IRQBASE + 76)
# define RX65N_INTB205_IRQ (RX65N_PERIB_IRQBASE + 77)
# define RX65N_INTB206_IRQ (RX65N_PERIB_IRQBASE + 78)
# define RX65N_INTB207_IRQ (RX65N_PERIB_IRQBASE + 79)
# define RX65N_PERIA_IRQBASE (RX65N_PERIB_IRQBASE + 80)
#else
# define RX65N_PERIA_IRQBASE (RX65N_PERIB_IRQBASE)
#endif
#ifdef CONFIG_RX65N_PERIA
# define RX65N_INTA208_IRQ (RX65N_PERIA_IRQBASE)
# define RX65N_INTA209_IRQ (RX65N_PERIA_IRQBASE + 1)
# define RX65N_INTA210_IRQ (RX65N_PERIA_IRQBASE + 2)
# define RX65N_INTA211_IRQ (RX65N_PERIA_IRQBASE + 3)
# define RX65N_INTA212_IRQ (RX65N_PERIA_IRQBASE + 4)
# define RX65N_INTA213_IRQ (RX65N_PERIA_IRQBASE + 5)
# define RX65N_INTA214_IRQ (RX65N_PERIA_IRQBASE + 6)
# define RX65N_INTA215_IRQ (RX65N_PERIA_IRQBASE + 7)
# define RX65N_INTA216_IRQ (RX65N_PERIA_IRQBASE + 8)
# define RX65N_INTA217_IRQ (RX65N_PERIA_IRQBASE + 9)
# define RX65N_INTA218_IRQ (RX65N_PERIA_IRQBASE + 10)
# define RX65N_INTA219_IRQ (RX65N_PERIA_IRQBASE + 11)
# define RX65N_INTA220_IRQ (RX65N_PERIA_IRQBASE + 12)
# define RX65N_INTA221_IRQ (RX65N_PERIA_IRQBASE + 13)
# define RX65N_INTA222_IRQ (RX65N_PERIA_IRQBASE + 14)
# define RX65N_INTA223_IRQ (RX65N_PERIA_IRQBASE + 15)
# define RX65N_INTA224_IRQ (RX65N_PERIA_IRQBASE + 16)
# define RX65N_INTA225_IRQ (RX65N_PERIA_IRQBASE + 17)
# define RX65N_INTA226_IRQ (RX65N_PERIA_IRQBASE + 18)
# define RX65N_INTA227_IRQ (RX65N_PERIA_IRQBASE + 19)
# define RX65N_INTA228_IRQ (RX65N_PERIA_IRQBASE + 20)
# define RX65N_INTA229_IRQ (RX65N_PERIA_IRQBASE + 21)
# define RX65N_INTA230_IRQ (RX65N_PERIA_IRQBASE + 22)
# define RX65N_INTA231_IRQ (RX65N_PERIA_IRQBASE + 23)
# define RX65N_INTA232_IRQ (RX65N_PERIA_IRQBASE + 24)
# define RX65N_INTA233_IRQ (RX65N_PERIA_IRQBASE + 25)
# define RX65N_INTA234_IRQ (RX65N_PERIA_IRQBASE + 26)
# define RX65N_INTA235_IRQ (RX65N_PERIA_IRQBASE + 27)
# define RX65N_INTA236_IRQ (RX65N_PERIA_IRQBASE + 28)
# define RX65N_INTA237_IRQ (RX65N_PERIA_IRQBASE + 29)
# define RX65N_INTA238_IRQ (RX65N_PERIA_IRQBASE + 30)
# define RX65N_INTA239_IRQ (RX65N_PERIA_IRQBASE + 31)
# define RX65N_INTA240_IRQ (RX65N_PERIA_IRQBASE + 32)
# define RX65N_INTA241_IRQ (RX65N_PERIA_IRQBASE + 33)
# define RX65N_INTA242_IRQ (RX65N_PERIA_IRQBASE + 34)
# define RX65N_INTA243_IRQ (RX65N_PERIA_IRQBASE + 35)
# define RX65N_INTA244_IRQ (RX65N_PERIA_IRQBASE + 36)
# define RX65N_INTA245_IRQ (RX65N_PERIA_IRQBASE + 37)
# define RX65N_INTA246_IRQ (RX65N_PERIA_IRQBASE + 38)
# define RX65N_INTA247_IRQ (RX65N_PERIA_IRQBASE + 39)
# define RX65N_INTA248_IRQ (RX65N_PERIA_IRQBASE + 40)
# define RX65N_INTA249_IRQ (RX65N_PERIA_IRQBASE + 41)
# define RX65N_INTA250_IRQ (RX65N_PERIA_IRQBASE + 42)
# define RX65N_INTA251_IRQ (RX65N_PERIA_IRQBASE + 43)
# define RX65N_INTA252_IRQ (RX65N_PERIA_IRQBASE + 44)
# define RX65N_INTA253_IRQ (RX65N_PERIA_IRQBASE + 45)
# define RX65N_INTA254_IRQ (RX65N_PERIA_IRQBASE + 46)
# define RX65N_INTA255_IRQ (RX65N_PERIA_IRQBASE + 47)
# define NR_IRQS (RX65N_PERIA_IRQBASE + 48)
#else
# define NR_IRQS (RX65N_PERIA_IRQBASE)
#endif
/* IRQ Stack Frame Format. The RX65N has a push down stack. The PC
* and SR are pushed by hardware at the time an IRQ is taken.
*/
/* Saved to the stacked by up_vector */
/* Vector table offsets */
/* Trap instruction */
#define RX65N_TRAP_VNDX (0)
#define RX65N_TRAP0_VNDX (RX65N_TRAP_VNDX)
#define RX65N_TRAP1_VNDX (RX65N_TRAP_VNDX + 1)
#define RX65N_TRAP2_VNDX (RX65N_TRAP_VNDX + 2)
#define RX65N_TRAP3_VNDX (RX65N_TRAP_VNDX + 3)
#define RX65N_TRAP4_VNDX (RX65N_TRAP_VNDX + 4)
#define RX65N_TRAP5_VNDX (RX65N_TRAP_VNDX + 5)
#define RX65N_TRAP6_VNDX (RX65N_TRAP_VNDX + 6)
#define RX65N_TRAP7_VNDX (RX65N_TRAP_VNDX + 7)
#define RX65N_TRAP8_VNDX (RX65N_TRAP_VNDX + 8)
#define RX65N_TRAP9_VNDX (RX65N_TRAP_VNDX + 9)
#define RX65N_TRAP10_VNDX (RX65N_TRAP_VNDX + 10)
#define RX65N_TRAP11_VNDX (RX65N_TRAP_VNDX + 11)
#define RX65N_TRAP12_VNDX (RX65N_TRAP_VNDX + 12)
#define RX65N_TRAP13_VNDX (RX65N_TRAP_VNDX + 13)
#define RX65N_TRAP14_VNDX (RX65N_TRAP_VNDX + 14)
#define RX65N_TRAP15_VNDX (RX65N_TRAP_VNDX + 15)
/* Bus Error */
# define RX65N_BUSERR_VNDX (VECT_BSC_BUSERR)
/* RAM Error */
#define RX65N_RAMERR_VNDX (VECT_RAM_RAMERR)
/* FIFERR Error */
#define RX65N_FIFERR_VNDX (VECT_FCU_FIFERR)
/* FRDYI */
#define RX65N_FRDYI_VNDX (VECT_FCU_FRDYI)
/* ICU Interrupts */
#define RX65N_SWINT2_VNDX (VECT_ICU_SWINT2)
#define RX65N_SWINT_VNDX (VECT_ICU_SWINT)
#define RX65N_IRQ0_VNDX (VECT_ICU_IRQ0)
#define RX65N_IRQ1_VNDX (VECT_ICU_IRQ1)
#define RX65N_IRQ2_VNDX (VECT_ICU_IRQ2)
#define RX65N_IRQ3_VNDX (VECT_ICU_IRQ3)
#define RX65N_IRQ4_VNDX (VECT_ICU_IRQ4)
#define RX65N_IRQ5_VNDX (VECT_ICU_IRQ5)
#define RX65N_IRQ6_VNDX (VECT_ICU_IRQ6)
#define RX65N_IRQ7_VNDX (VECT_ICU_IRQ7)
#define RX65N_IRQ8_VNDX (VECT_ICU_IRQ8)
#define RX65N_IRQ9_VNDX (VECT_ICU_IRQ9)
#define RX65N_IRQ10_VNDX (VECT_ICU_IRQ10)
#define RX65N_IRQ11_VNDX (VECT_ICU_IRQ11)
#define RX65N_IRQ12_VNDX (VECT_ICU_IRQ12)
#define RX65N_IRQ13_VNDX (VECT_ICU_IRQ13)
#define RX65N_IRQ14_VNDX (VECT_ICU_IRQ14)
#define RX65N_IRQ15_VNDX (VECT_ICU_IRQ15)
#define RX65N_GROUPBE0_VNDX (VECT_ICU_GROUPBE0)
#define RX65N_GROUPBL0_VNDX (VECT_ICU_GROUPBL0)
#define RX65N_GROUPBL1_VNDX (VECT_ICU_GROUPBL1)
#define RX65N_GROUPBL2_VNDX (VECT_ICU_GROUPBL2)
#define RX65N_GROUPAL0_VNDX (VECT_ICU_GROUPAL0)
#define RX65N_GROUPAL1_VNDX (VECT_ICU_GROUPAL1)
/* CMT Interrupts */
#define RX65N_CMI0_VNDX (VECT_CMT0_CMI0)
#define RX65N_CMI1_VNDX (VECT_CMT0_CMI1)
#define RX65N_CMWI0_VNDX (VECT_CMT0_CMWI0)
#define RX65N_CMWI1_VNDX (VECT_CMT0_CMWI1)
/* USB Interrupts */
#define RX65N_D0FIFO0_VNDX (VECT_USB0_D0FIFO0)
#define RX65N_D1FIFO0_VNDX (VECT_USB0_D1FIFO0)
#define RX65N_USBR0_VNDX (VECT_USB0_USBR0)
/* RSPI Interrupts */
#define RX65N_SPRI0_VNDX (VECT_RSPI0_SPRI0)
#define RX65N_SPTI0_VNDX (VECT_RSPI0_SPTI0)
#define RX65N_SPRI1_VNDX (VECT_RSPI1_SPRI1)
#define RX65N_SPTI1_VNDX (VECT_RSPI1_SPTI1)
#define RX65N_SPRI2_VNDX (VECT_RSPI2_SPRI2)
#define RX65N_SPTI2_VNDX (VECT_RSPI2_SPTI2)
/* QSPI Interrupts */
#define RX65N_SPRI_VNDX (VECT_QSPI_SPRI)
#define RX65N_SPTI_VNDX (VECT_QSPI_SPTI)
/* SDHI MMC Interrupts */
#define RX65N_SBFAI_VNDX (VECT_SDHI_SBFAI)
#define RX65N_MBFAI_VNDX (VECT_MMCIF_MBFAI)
/* RIIC Interrupts */
#define RX65N_RIIC0_EEI0_VNDX (VECT_ICU_GROUPBL1)
#define RX65N_RIIC0_RXI0_VNDX (VECT_RIIC0_RXI0)
#define RX65N_RIIC0_TXI0_VNDX (VECT_RIIC0_TXI0)
#define RX65N_RIIC0_TEI0_VNDX (VECT_ICU_GROUPBL1)
#define RX65N_RIIC1_EEI1_VNDX (VECT_ICU_GROUPBL1)
#define RX65N_RIIC1_RXI1_VNDX (VECT_RIIC1_RXI1)
#define RX65N_RIIC1_TXI1_VNDX (VECT_RIIC1_TXI1)
#define RX65N_RIIC1_TEI1_VNDX (VECT_ICU_GROUPBL1)
#define RX65N_RIIC2_EEI2_VNDX (VECT_ICU_GROUPBL1)
#define RX65N_RIIC2_RXI2_VNDX (VECT_RIIC2_RXI2)
#define RX65N_RIIC2_TXI2_VNDX (VECT_RIIC2_TXI2)
#define RX65N_RIIC2_TEI2_VNDX (VECT_ICU_GROUPBL1)
/* SCI Interrupts */
#define RX65N_ERI0_VNDX (VECT_ICU_GROUPBL0)
#define RX65N_RXI0_VNDX (VECT_SCI0_RXI0)
#define RX65N_TXI0_VNDX (VECT_SCI0_TXI0)
#define RX65N_TEI0_VNDX (VECT_ICU_GROUPBL0)
#define RX65N_ERI1_VNDX (VECT_ICU_GROUPBL0)
#define RX65N_RXI1_VNDX (VECT_SCI1_RXI1)
#define RX65N_TXI1_VNDX (VECT_SCI1_TXI1)
#define RX65N_TEI1_VNDX (VECT_ICU_GROUPBL0)
#define RX65N_ERI2_VNDX (VECT_ICU_GROUPBL0)
#define RX65N_RXI2_VNDX (VECT_SCI2_RXI2)
#define RX65N_TXI2_VNDX (VECT_SCI2_TXI2)
#define RX65N_TEI2_VNDX (VECT_ICU_GROUPBL0)
#define RX65N_ERI3_VNDX (VECT_ICU_GROUPBL0)
#define RX65N_RXI3_VNDX (VECT_SCI3_RXI3)
#define RX65N_TXI3_VNDX (VECT_SCI3_TXI3)
#define RX65N_TEI3_VNDX (VECT_ICU_GROUPBL0)
#define RX65N_ERI4_VNDX (VECT_ICU_GROUPBL0)
#define RX65N_RXI4_VNDX (VECT_SCI4_RXI4)
#define RX65N_TXI4_VNDX (VECT_SCI4_TXI4)
#define RX65N_TEI4_VNDX (VECT_ICU_GROUPBL0)
#define RX65N_ERI5_VNDX (VECT_ICU_GROUPBL0)
#define RX65N_RXI5_VNDX (VECT_SCI5_RXI5)
#define RX65N_TXI5_VNDX (VECT_SCI5_TXI5)
#define RX65N_TEI5_VNDX (VECT_ICU_GROUPBL0)
#define RX65N_ERI6_VNDX (VECT_ICU_GROUPBL0)
#define RX65N_RXI6_VNDX (VECT_SCI6_RXI6)
#define RX65N_TXI6_VNDX (VECT_SCI6_TXI6)
#define RX65N_TEI6_VNDX (VECT_ICU_GROUPBL0)
#define RX65N_ERI7_VNDX (VECT_ICU_GROUPBL0)
#define RX65N_RXI7_VNDX (VECT_SCI7_RXI7)
#define RX65N_TXI7_VNDX (VECT_SCI7_TXI7)
#define RX65N_TEI7_VNDX (VECT_ICU_GROUPBL0)
#define RX65N_ERI8_VNDX (VECT_ICU_GROUPBL1)
#define RX65N_RXI8_VNDX (VECT_SCI8_RXI8)
#define RX65N_TXI8_VNDX (VECT_SCI8_TXI8)
#define RX65N_TEI8_VNDX (VECT_ICU_GROUPBL1)
#define RX65N_ERI9_VNDX (VECT_ICU_GROUPBL1)
#define RX65N_RXI9_VNDX (VECT_SCI9_RXI9)
#define RX65N_TXI9_VNDX (VECT_SCI9_TXI9)
#define RX65N_TEI9_VNDX (VECT_ICU_GROUPBL1)
#define RX65N_ERI10_VNDX (VECT_ICU_GROUPAL0)
#define RX65N_RXI10_VNDX (VECT_SCI10_RXI10)
#define RX65N_TXI10_VNDX (VECT_SCI10_TXI10)
#define RX65N_TEI10_VNDX (VECT_ICU_GROUPAL0)
#define RX65N_ERI11_VNDX (VECT_ICU_GROUPAL0)
#define RX65N_RXI11_VNDX (VECT_SCI11_RXI11)
#define RX65N_TXI11_VNDX (VECT_SCI11_TXI11)
#define RX65N_TEI11_VNDX (VECT_ICU_GROUPAL0)
#define RX65N_ERI12_VNDX (VECT_ICU_GROUPBL0)
#define RX65N_RXI12_VNDX (VECT_SCI12_RXI12)
#define RX65N_TXI12_VNDX (VECT_SCI12_TXI12)
#define RX65N_TEI12_VNDX (VECT_ICU_GROUPBL0)
/* LVD Interrupts */
#define RX65N_LVD1_VNDX (VECT_LVD1_LVD1)
#define RX65N_LVD2_VNDX (VECT_LVD2_LVD2)
/* RTC Interrupts */
#define RX65N_ALM_VNDX (VECT_RTC_ALM)
#define RX65N_PRD_VNDX (VECT_RTC_PRD)
/* WDT Interrupts */
#define RX65N_IWUNI_VNDX (VECT_IWDT_IWUNI)
#define RX65N_WUNI_VNDX (VECT_WDT_WUNI)
/* PDC Interrupts */
#define RX65N_PCDFI_VNDX (VECT_PDC_PCDFI)
/* DMAC Interrupts */
#define RX65N_DMAC0I_VNDX (VECT_DMAC_DMAC0I)
#define RX65N_DMAC1I_VNDX (VECT_DMAC_DMAC1I)
#define RX65N_DMAC2I_VNDX (VECT_DMAC_DMAC2I)
#define RX65N_DMAC3I_VNDX (VECT_DMAC_DMAC3I)
#define RX65N_DMAC74I_VNDX (VECT_DMAC_DMAC74I)
/* OST Interrupts */
#define RX65N_OSTDI_VNDX (VECT_OST_OSTDI)
/* EXDMAC Interrupts */
#define RX65N_EXDMAC0I_VNDX (VECT_EXDMAC_EXDMAC0I)
#define RX65N_EXDMAC1I_VNDX (VECT_EXDMAC_EXDMAC1I)
/* PERIB Interrupts */
#define RX65N_INTB128_VNDX (VECT_PERIB_INTB128)
#define RX65N_INTB129_VNDX (VECT_PERIB_INTB129)
#define RX65N_INTB130_VNDX (VECT_PERIB_INTB130)
#define RX65N_INTB131_VNDX (VECT_PERIB_INTB131)
#define RX65N_INTB132_VNDX (VECT_PERIB_INTB132)
#define RX65N_INTB133_VNDX (VECT_PERIB_INTB133)
#define RX65N_INTB134_VNDX (VECT_PERIB_INTB134)
#define RX65N_INTB135_VNDX (VECT_PERIB_INTB135)
#define RX65N_INTB136_VNDX (VECT_PERIB_INTB136)
#define RX65N_INTB137_VNDX (VECT_PERIB_INTB137)
#define RX65N_INTB138_VNDX (VECT_PERIB_INTB138)
#define RX65N_INTB139_VNDX (VECT_PERIB_INTB139)
#define RX65N_INTB140_VNDX (VECT_PERIB_INTB140)
#define RX65N_INTB141_VNDX (VECT_PERIB_INTB141)
#define RX65N_INTB142_VNDX (VECT_PERIB_INTB142)
#define RX65N_INTB143_VNDX (VECT_PERIB_INTB143)
#define RX65N_INTB144_VNDX (VECT_PERIB_INTB144)
#define RX65N_INTB145_VNDX (VECT_PERIB_INTB145)
#define RX65N_INTB146_VNDX (VECT_PERIB_INTB146)
#define RX65N_INTB147_VNDX (VECT_PERIB_INTB147)
#define RX65N_INTB148_VNDX (VECT_PERIB_INTB148)
#define RX65N_INTB149_VNDX (VECT_PERIB_INTB149)
#define RX65N_INTB150_VNDX (VECT_PERIB_INTB150)
#define RX65N_INTB151_VNDX (VECT_PERIB_INTB151)
#define RX65N_INTB152_VNDX (VECT_PERIB_INTB152)
#define RX65N_INTB153_VNDX (VECT_PERIB_INTB153)
#define RX65N_INTB154_VNDX (VECT_PERIB_INTB154)
#define RX65N_INTB155_VNDX (VECT_PERIB_INTB155)
#define RX65N_INTB156_VNDX (VECT_PERIB_INTB156)
#define RX65N_INTB157_VNDX (VECT_PERIB_INTB157)
#define RX65N_INTB158_VNDX (VECT_PERIB_INTB158)
#define RX65N_INTB159_VNDX (VECT_PERIB_INTB159)
#define RX65N_INTB160_VNDX (VECT_PERIB_INTB160)
#define RX65N_INTB161_VNDX (VECT_PERIB_INTB161)
#define RX65N_INTB162_VNDX (VECT_PERIB_INTB162)
#define RX65N_INTB163_VNDX (VECT_PERIB_INTB163)
#define RX65N_INTB164_VNDX (VECT_PERIB_INTB164)
#define RX65N_INTB165_VNDX (VECT_PERIB_INTB165)
#define RX65N_INTB166_VNDX (VECT_PERIB_INTB166)
#define RX65N_INTB167_VNDX (VECT_PERIB_INTB167)
#define RX65N_INTB168_VNDX (VECT_PERIB_INTB168)
#define RX65N_INTB169_VNDX (VECT_PERIB_INTB169)
#define RX65N_INTB170_VNDX (VECT_PERIB_INTB170)
#define RX65N_INTB171_VNDX (VECT_PERIB_INTB171)
#define RX65N_INTB172_VNDX (VECT_PERIB_INTB172)
#define RX65N_INTB173_VNDX (VECT_PERIB_INTB173)
#define RX65N_INTB174_VNDX (VECT_PERIB_INTB174)
#define RX65N_INTB175_VNDX (VECT_PERIB_INTB175)
#define RX65N_INTB176_VNDX (VECT_PERIB_INTB176)
#define RX65N_INTB177_VNDX (VECT_PERIB_INTB177)
#define RX65N_INTB178_VNDX (VECT_PERIB_INTB178)
#define RX65N_INTB179_VNDX (VECT_PERIB_INTB179)
#define RX65N_INTB180_VNDX (VECT_PERIB_INTB180)
#define RX65N_INTB181_VNDX (VECT_PERIB_INTB181)
#define RX65N_INTB182_VNDX (VECT_PERIB_INTB182)
#define RX65N_INTB183_VNDX (VECT_PERIB_INTB183)
#define RX65N_INTB184_VNDX (VECT_PERIB_INTB184)
#define RX65N_INTB185_VNDX (VECT_PERIB_INTB185)
#define RX65N_INTB186_VNDX (VECT_PERIB_INTB186)
#define RX65N_INTB187_VNDX (VECT_PERIB_INTB187)
#define RX65N_INTB188_VNDX (VECT_PERIB_INTB188)
#define RX65N_INTB189_VNDX (VECT_PERIB_INTB189)
#define RX65N_INTB190_VNDX (VECT_PERIB_INTB190)
#define RX65N_INTB191_VNDX (VECT_PERIB_INTB191)
#define RX65N_INTB192_VNDX (VECT_PERIB_INTB192)
#define RX65N_INTB193_VNDX (VECT_PERIB_INTB193)
#define RX65N_INTB194_VNDX (VECT_PERIB_INTB194)
#define RX65N_INTB195_VNDX (VECT_PERIB_INTB195)
#define RX65N_INTB196_VNDX (VECT_PERIB_INTB196)
#define RX65N_INTB197_VNDX (VECT_PERIB_INTB197)
#define RX65N_INTB198_VNDX (VECT_PERIB_INTB198)
#define RX65N_INTB199_VNDX (VECT_PERIB_INTB199)
#define RX65N_INTB200_VNDX (VECT_PERIB_INTB200)
#define RX65N_INTB201_VNDX (VECT_PERIB_INTB201)
#define RX65N_INTB202_VNDX (VECT_PERIB_INTB202)
#define RX65N_INTB203_VNDX (VECT_PERIB_INTB203)
#define RX65N_INTB204_VNDX (VECT_PERIB_INTB204)
#define RX65N_INTB205_VNDX (VECT_PERIB_INTB205)
#define RX65N_INTB206_VNDX (VECT_PERIB_INTB206)
#define RX65N_INTB207_VNDX (VECT_PERIB_INTB207)
/* PERIA Interrupts */
#define RX65N_INTA208_VNDX (VECT_PERIA_INTA208)
#define RX65N_INTA209_VNDX (VECT_PERIA_INTA209)
#define RX65N_INTA210_VNDX (VECT_PERIA_INTA210)
#define RX65N_INTA211_VNDX (VECT_PERIA_INTA211)
#define RX65N_INTA212_VNDX (VECT_PERIA_INTA212)
#define RX65N_INTA213_VNDX (VECT_PERIA_INTA213)
#define RX65N_INTA214_VNDX (VECT_PERIA_INTA214)
#define RX65N_INTA215_VNDX (VECT_PERIA_INTA215)
#define RX65N_INTA216_VNDX (VECT_PERIA_INTA216)
#define RX65N_INTA217_VNDX (VECT_PERIA_INTA217)
#define RX65N_INTA218_VNDX (VECT_PERIA_INTA218)
#define RX65N_INTA219_VNDX (VECT_PERIA_INTA219)
#define RX65N_INTA220_VNDX (VECT_PERIA_INTA220)
#define RX65N_INTA221_VNDX (VECT_PERIA_INTA221)
#define RX65N_INTA222_VNDX (VECT_PERIA_INTA222)
#define RX65N_INTA223_VNDX (VECT_PERIA_INTA223)
#define RX65N_INTA224_VNDX (VECT_PERIA_INTA224)
#define RX65N_INTA225_VNDX (VECT_PERIA_INTA225)
#define RX65N_INTA226_VNDX (VECT_PERIA_INTA226)
#define RX65N_INTA227_VNDX (VECT_PERIA_INTA227)
#define RX65N_INTA228_VNDX (VECT_PERIA_INTA228)
#define RX65N_INTA229_VNDX (VECT_PERIA_INTA229)
#define RX65N_INTA230_VNDX (VECT_PERIA_INTA230)
#define RX65N_INTA231_VNDX (VECT_PERIA_INTA231)
#define RX65N_INTA232_VNDX (VECT_PERIA_INTA232)
#define RX65N_INTA233_VNDX (VECT_PERIA_INTA233)
#define RX65N_INTA234_VNDX (VECT_PERIA_INTA234)
#define RX65N_INTA235_VNDX (VECT_PERIA_INTA235)
#define RX65N_INTA236_VNDX (VECT_PERIA_INTA236)
#define RX65N_INTA237_VNDX (VECT_PERIA_INTA237)
#define RX65N_INTA238_VNDX (VECT_PERIA_INTA238)
#define RX65N_INTA239_VNDX (VECT_PERIA_INTA239)
#define RX65N_INTA240_VNDX (VECT_PERIA_INTA240)
#define RX65N_INTA241_VNDX (VECT_PERIA_INTA241)
#define RX65N_INTA242_VNDX (VECT_PERIA_INTA242)
#define RX65N_INTA243_VNDX (VECT_PERIA_INTA243)
#define RX65N_INTA244_VNDX (VECT_PERIA_INTA244)
#define RX65N_INTA245_VNDX (VECT_PERIA_INTA245)
#define RX65N_INTA246_VNDX (VECT_PERIA_INTA246)
#define RX65N_INTA247_VNDX (VECT_PERIA_INTA247)
#define RX65N_INTA248_VNDX (VECT_PERIA_INTA248)
#define RX65N_INTA249_VNDX (VECT_PERIA_INTA249)
#define RX65N_INTA250_VNDX (VECT_PERIA_INTA250)
#define RX65N_INTA251_VNDX (VECT_PERIA_INTA251)
#define RX65N_INTA252_VNDX (VECT_PERIA_INTA252)
#define RX65N_INTA253_VNDX (VECT_PERIA_INTA253)
#define RX65N_INTA254_VNDX (VECT_PERIA_INTA254)
#define RX65N_INTA255_VNDX (VECT_PERIA_INTA255)
#define RX65N_NVECTORS (256)
/* Register information */
#define REG_SP ( 0)
#define REG_ACC0LO ( 1)
#define REG_ACC0HI ( 2)
#define REG_ACC0GU ( 3)
#define REG_ACC1LO ( 4)
#define REG_ACC1HI ( 5)
#define REG_ACC1GU ( 6)
#define REG_FPSW ( 7)
#define REG_R1 ( 8)
#define REG_R2 ( 9)
#define REG_R3 (10)
#define REG_R4 (11)
#define REG_R5 (12)
#define REG_R6 (13)
#define REG_R7 (14)
#define REG_R8 (15)
#define REG_R9 (16)
#define REG_R10 (17)
#define REG_R11 (18)
#define REG_R12 (19)
#define REG_R13 (20)
#define REG_R14 (21)
#define REG_R15 (22)
#define REG_PC (23)
#define REG_PSW (24)
#define XCPTCONTEXT_REGS (25)
#define XCPTCONTEXT_SIZE (4 * XCPTCONTEXT_REGS)
#ifndef __ASSEMBLY__
struct xcptcontext
{
/* The following function pointer is non-zero if there are pending signals
* to be processed.
*/
void *sigdeliver; /* Actual type is sig_deliver_t */
/* These are saved copies of LR and SR used during signal processing. */
uint32_t saved_pc;
uint32_t saved_sr;
/* Register save area */
uint32_t regs[XCPTCONTEXT_REGS];
};
/* Name: up_irq_save, up_irq_restore, and friends.
*
* NOTE: This function should never be called from application code and,
* as a general rule unless you really know what you are doing, this
* function should not be called directly from operation system code either:
* Typically, the wrapper functions, enter_critical_section() and
* leave_critical section(), are probably what you really want.
*/
#define RX65N_PSW_INTERRUPT (0x00010000)
/* Return the current interrupt enable state and disable IRQs */
/* Get the current value of the SR */
static inline irqstate_t __getsr(void)
{
irqstate_t flags;
__asm__ __volatile__("mvfc psw, %0":"=r"(flags));
return flags;
}
/* Set the new value of the SR */
static inline void __setsr(irqstate_t psw)
{
__asm__ __volatile__("mvtc %0, psw": :"r"(psw));
}
/* Return the current value of the stack pointer */
static inline uint16_t up_getsp(void)
{
uint16_t sp;
__asm__ __volatile__
(
"\tmvfc usp, %0\n\t"
: "=r" (sp)
:
:"memory"
);
return sp;
}
/* Disable interrupts */
static inline void up_irq_disable(void)
{
__asm__ __volatile__("CLRPSW I");
}
/* Enable interrupts */
static inline void up_irq_enable(void)
{
__asm__ __volatile__("SETPSW I");
}
/* Return the current interrupt enable state and disable interrupts */
static inline irqstate_t up_irq_save(void)
{
irqstate_t flags = __getsr();
up_irq_disable();
return flags;
}
/* Restore saved interrupt state */
static inline void up_irq_restore(irqstate_t flags)
{
if (RX65N_PSW_INTERRUPT == (flags & RX65N_PSW_INTERRUPT))
{
up_irq_enable();
}
else
{
up_irq_disable();
}
}
#endif /* __ASSEMBLY__ */
#endif /* __ARCH_RENESAS_INCLUDE_RX65N_IRQ_H */