mirror of
https://github.com/apache/nuttx.git
synced 2026-10-03 04:07:55 +00:00
arch/arm/imxrt: Add imxrt118x irq definitions
Add interrupt numbering for imxrt118x in imxrt118x_irq.h, and support for more interrupts in imxrt_irq.c and imxrt_clrpend.c. The interrupt numbers are generated from the Reference Manual by AI Assisted-by: Claude Code:claude-opus-4-7 Signed-off-by: Jukka Laitinen <jukka.laitinen@tii.ae>
This commit is contained in:
parent
5095237337
commit
caa09a6557
4 changed files with 337 additions and 5 deletions
293
arch/arm/include/imxrt/imxrt118x_irq.h
Normal file
293
arch/arm/include/imxrt/imxrt118x_irq.h
Normal file
|
|
@ -0,0 +1,293 @@
|
|||
/****************************************************************************
|
||||
* arch/arm/include/imxrt/imxrt118x_irq.h
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*
|
||||
* 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.
|
||||
*
|
||||
****************************************************************************/
|
||||
|
||||
/* This file should never be included directly but, rather,
|
||||
* only indirectly through nuttx/irq.h
|
||||
*/
|
||||
|
||||
#ifndef __ARCH_ARM_INCLUDE_IMXRT_IMXRT118X_IRQ_H
|
||||
#define __ARCH_ARM_INCLUDE_IMXRT_IMXRT118X_IRQ_H
|
||||
|
||||
/****************************************************************************
|
||||
* Pre-processor Definitions
|
||||
****************************************************************************/
|
||||
|
||||
/* External interrupts (from IMXRT1180RM Ch. 4 Interrupts, Table 11).
|
||||
* Names extracted from the NXP MCUXpresso SDK IRQn_Type enumeration.
|
||||
*/
|
||||
|
||||
#define IMXRT_IRQ_TMR1 (IMXRT_IRQ_EXTINT + 0)
|
||||
#define IMXRT_IRQ_DAP (IMXRT_IRQ_EXTINT + 1)
|
||||
#define IMXRT_IRQ_M7_CTI_TRIGGER_OUTPUT (IMXRT_IRQ_EXTINT + 2)
|
||||
#define IMXRT_IRQ_M33_CTI_TRIGGER_OUTPUT (IMXRT_IRQ_EXTINT + 3)
|
||||
#define IMXRT_IRQ_TMR5 (IMXRT_IRQ_EXTINT + 4)
|
||||
#define IMXRT_IRQ_TMR6 (IMXRT_IRQ_EXTINT + 5)
|
||||
#define IMXRT_IRQ_TMR7 (IMXRT_IRQ_EXTINT + 6)
|
||||
#define IMXRT_IRQ_TMR8 (IMXRT_IRQ_EXTINT + 7)
|
||||
#define IMXRT_IRQ_CAN1 (IMXRT_IRQ_EXTINT + 8)
|
||||
#define IMXRT_IRQ_CAN1_ERROR (IMXRT_IRQ_EXTINT + 9)
|
||||
#define IMXRT_IRQ_GPIO1_0 (IMXRT_IRQ_EXTINT + 10)
|
||||
#define IMXRT_IRQ_GPIO1_1 (IMXRT_IRQ_EXTINT + 11)
|
||||
#define IMXRT_IRQ_I3C1 (IMXRT_IRQ_EXTINT + 12)
|
||||
#define IMXRT_IRQ_LPI2C1 (IMXRT_IRQ_EXTINT + 13)
|
||||
#define IMXRT_IRQ_LPI2C2 (IMXRT_IRQ_EXTINT + 14)
|
||||
#define IMXRT_IRQ_LPIT1 (IMXRT_IRQ_EXTINT + 15)
|
||||
#define IMXRT_IRQ_LPSPI1 (IMXRT_IRQ_EXTINT + 16)
|
||||
#define IMXRT_IRQ_LPSPI2 (IMXRT_IRQ_EXTINT + 17)
|
||||
#define IMXRT_IRQ_LPTMR1 (IMXRT_IRQ_EXTINT + 18)
|
||||
#define IMXRT_IRQ_LPUART1 (IMXRT_IRQ_EXTINT + 19)
|
||||
#define IMXRT_IRQ_LPUART2 (IMXRT_IRQ_EXTINT + 20)
|
||||
#define IMXRT_IRQ_MU1 (IMXRT_IRQ_EXTINT + 21)
|
||||
#define IMXRT_IRQ_MU2 (IMXRT_IRQ_EXTINT + 22)
|
||||
#define IMXRT_IRQ_PWM1_FAULT (IMXRT_IRQ_EXTINT + 23)
|
||||
#define IMXRT_IRQ_PWM1_0 (IMXRT_IRQ_EXTINT + 24)
|
||||
#define IMXRT_IRQ_PWM1_1 (IMXRT_IRQ_EXTINT + 25)
|
||||
#define IMXRT_IRQ_PWM1_2 (IMXRT_IRQ_EXTINT + 26)
|
||||
#define IMXRT_IRQ_PWM1_3 (IMXRT_IRQ_EXTINT + 27)
|
||||
#define IMXRT_IRQ_EDGELOCK_TRUST_MUA_RX_FULL (IMXRT_IRQ_EXTINT + 28)
|
||||
#define IMXRT_IRQ_EDGELOCK_TRUST_MUA_TX_EMPTY (IMXRT_IRQ_EXTINT + 29)
|
||||
#define IMXRT_IRQ_EDGELOCK_APPS_CORE_MUA_RX_FULL (IMXRT_IRQ_EXTINT + 30)
|
||||
#define IMXRT_IRQ_EDGELOCK_APPS_CORE_MUA_TX_EMPTY (IMXRT_IRQ_EXTINT + 31)
|
||||
#define IMXRT_IRQ_EDGELOCK_REALTIME_CORE_MUA_RX_FULL (IMXRT_IRQ_EXTINT + 32)
|
||||
#define IMXRT_IRQ_EDGELOCK_REALTIME_CORE_MUA_TX_EMPTY (IMXRT_IRQ_EXTINT + 33)
|
||||
#define IMXRT_IRQ_EDGELOCK_SECURE (IMXRT_IRQ_EXTINT + 34)
|
||||
#define IMXRT_IRQ_EDGELOCK_NONSECURE (IMXRT_IRQ_EXTINT + 35)
|
||||
#define IMXRT_IRQ_TPM1 (IMXRT_IRQ_EXTINT + 36)
|
||||
#define IMXRT_IRQ_TPM2 (IMXRT_IRQ_EXTINT + 37)
|
||||
#define IMXRT_IRQ_RTWDOG1 (IMXRT_IRQ_EXTINT + 38)
|
||||
#define IMXRT_IRQ_RTWDOG2 (IMXRT_IRQ_EXTINT + 39)
|
||||
#define IMXRT_IRQ_TRDC_MGR_AON (IMXRT_IRQ_EXTINT + 40)
|
||||
#define IMXRT_IRQ_PDM_HWVAD_EVENT (IMXRT_IRQ_EXTINT + 41)
|
||||
#define IMXRT_IRQ_PDM_HWVAD_ERROR (IMXRT_IRQ_EXTINT + 42)
|
||||
#define IMXRT_IRQ_PDM_EVENT (IMXRT_IRQ_EXTINT + 43)
|
||||
#define IMXRT_IRQ_PDM_ERROR (IMXRT_IRQ_EXTINT + 44)
|
||||
#define IMXRT_IRQ_SAI1 (IMXRT_IRQ_EXTINT + 45)
|
||||
#define IMXRT_IRQ_CM33_PS (IMXRT_IRQ_EXTINT + 46)
|
||||
#define IMXRT_IRQ_CM33_TCM_ECC (IMXRT_IRQ_EXTINT + 47)
|
||||
#define IMXRT_IRQ_CM33_TCM_ERROR (IMXRT_IRQ_EXTINT + 48)
|
||||
#define IMXRT_IRQ_CM7_TCM_ECC (IMXRT_IRQ_EXTINT + 49)
|
||||
#define IMXRT_IRQ_CM7_TCM_ERROR (IMXRT_IRQ_EXTINT + 50)
|
||||
#define IMXRT_IRQ_CAN2 (IMXRT_IRQ_EXTINT + 51)
|
||||
#define IMXRT_IRQ_CAN2_ERROR (IMXRT_IRQ_EXTINT + 52)
|
||||
#define IMXRT_IRQ_FLEXIO1 (IMXRT_IRQ_EXTINT + 53)
|
||||
#define IMXRT_IRQ_FLEXIO2 (IMXRT_IRQ_EXTINT + 54)
|
||||
#define IMXRT_IRQ_FLEXSPI1 (IMXRT_IRQ_EXTINT + 55)
|
||||
#define IMXRT_IRQ_FLEXSPI2 (IMXRT_IRQ_EXTINT + 56)
|
||||
#define IMXRT_IRQ_GPIO2_0 (IMXRT_IRQ_EXTINT + 57)
|
||||
#define IMXRT_IRQ_GPIO2_1 (IMXRT_IRQ_EXTINT + 58)
|
||||
#define IMXRT_IRQ_GPIO3_0 (IMXRT_IRQ_EXTINT + 59)
|
||||
#define IMXRT_IRQ_GPIO3_1 (IMXRT_IRQ_EXTINT + 60)
|
||||
#define IMXRT_IRQ_I3C2 (IMXRT_IRQ_EXTINT + 61)
|
||||
#define IMXRT_IRQ_LPI2C3 (IMXRT_IRQ_EXTINT + 62)
|
||||
#define IMXRT_IRQ_LPI2C4 (IMXRT_IRQ_EXTINT + 63)
|
||||
#define IMXRT_IRQ_LPIT2 (IMXRT_IRQ_EXTINT + 64)
|
||||
#define IMXRT_IRQ_LPSPI3 (IMXRT_IRQ_EXTINT + 65)
|
||||
#define IMXRT_IRQ_LPSPI4 (IMXRT_IRQ_EXTINT + 66)
|
||||
#define IMXRT_IRQ_LPTMR2 (IMXRT_IRQ_EXTINT + 67)
|
||||
#define IMXRT_IRQ_LPUART3 (IMXRT_IRQ_EXTINT + 68)
|
||||
#define IMXRT_IRQ_LPUART4 (IMXRT_IRQ_EXTINT + 69)
|
||||
#define IMXRT_IRQ_LPUART5 (IMXRT_IRQ_EXTINT + 70)
|
||||
#define IMXRT_IRQ_LPUART6 (IMXRT_IRQ_EXTINT + 71)
|
||||
#define IMXRT_IRQ_Reserved88 (IMXRT_IRQ_EXTINT + 72)
|
||||
#define IMXRT_IRQ_BBNSM (IMXRT_IRQ_EXTINT + 73)
|
||||
#define IMXRT_IRQ_SYS_CTR1 (IMXRT_IRQ_EXTINT + 74)
|
||||
#define IMXRT_IRQ_TPM3 (IMXRT_IRQ_EXTINT + 75)
|
||||
#define IMXRT_IRQ_TPM4 (IMXRT_IRQ_EXTINT + 76)
|
||||
#define IMXRT_IRQ_TPM5 (IMXRT_IRQ_EXTINT + 77)
|
||||
#define IMXRT_IRQ_TPM6 (IMXRT_IRQ_EXTINT + 78)
|
||||
#define IMXRT_IRQ_RTWDOG3 (IMXRT_IRQ_EXTINT + 79)
|
||||
#define IMXRT_IRQ_RTWDOG4 (IMXRT_IRQ_EXTINT + 80)
|
||||
#define IMXRT_IRQ_RTWDOG5 (IMXRT_IRQ_EXTINT + 81)
|
||||
#define IMXRT_IRQ_TRDC_MGR_WKUP (IMXRT_IRQ_EXTINT + 82)
|
||||
#define IMXRT_IRQ_TMPSNS_INT (IMXRT_IRQ_EXTINT + 83)
|
||||
#define IMXRT_IRQ_BBSM (IMXRT_IRQ_EXTINT + 84)
|
||||
#define IMXRT_IRQ_LDO_AON_ANA (IMXRT_IRQ_EXTINT + 85)
|
||||
#define IMXRT_IRQ_USDHC1 (IMXRT_IRQ_EXTINT + 86)
|
||||
#define IMXRT_IRQ_USDHC2 (IMXRT_IRQ_EXTINT + 87)
|
||||
#define IMXRT_IRQ_TRDC_MGR_MEGA (IMXRT_IRQ_EXTINT + 88)
|
||||
#define IMXRT_IRQ_SFA (IMXRT_IRQ_EXTINT + 89)
|
||||
#define IMXRT_IRQ_LDO_AON_DIG (IMXRT_IRQ_EXTINT + 90)
|
||||
#define IMXRT_IRQ_MECC1 (IMXRT_IRQ_EXTINT + 91)
|
||||
#define IMXRT_IRQ_MECC2 (IMXRT_IRQ_EXTINT + 92)
|
||||
#define IMXRT_IRQ_ADC1 (IMXRT_IRQ_EXTINT + 93)
|
||||
#define IMXRT_IRQ_DMA_ERROR (IMXRT_IRQ_EXTINT + 94)
|
||||
#define IMXRT_IRQ_DMA3_CH0 (IMXRT_IRQ_EXTINT + 95)
|
||||
#define IMXRT_IRQ_DMA3_CH1 (IMXRT_IRQ_EXTINT + 96)
|
||||
#define IMXRT_IRQ_DMA3_CH2 (IMXRT_IRQ_EXTINT + 97)
|
||||
#define IMXRT_IRQ_DMA3_CH3 (IMXRT_IRQ_EXTINT + 98)
|
||||
#define IMXRT_IRQ_DMA3_CH4 (IMXRT_IRQ_EXTINT + 99)
|
||||
#define IMXRT_IRQ_DMA3_CH5 (IMXRT_IRQ_EXTINT + 100)
|
||||
#define IMXRT_IRQ_DMA3_CH6 (IMXRT_IRQ_EXTINT + 101)
|
||||
#define IMXRT_IRQ_DMA3_CH7 (IMXRT_IRQ_EXTINT + 102)
|
||||
#define IMXRT_IRQ_DMA3_CH8 (IMXRT_IRQ_EXTINT + 103)
|
||||
#define IMXRT_IRQ_DMA3_CH9 (IMXRT_IRQ_EXTINT + 104)
|
||||
#define IMXRT_IRQ_DMA3_CH10 (IMXRT_IRQ_EXTINT + 105)
|
||||
#define IMXRT_IRQ_DMA3_CH11 (IMXRT_IRQ_EXTINT + 106)
|
||||
#define IMXRT_IRQ_DMA3_CH12 (IMXRT_IRQ_EXTINT + 107)
|
||||
#define IMXRT_IRQ_DMA3_CH13 (IMXRT_IRQ_EXTINT + 108)
|
||||
#define IMXRT_IRQ_DMA3_CH14 (IMXRT_IRQ_EXTINT + 109)
|
||||
#define IMXRT_IRQ_DMA3_CH15 (IMXRT_IRQ_EXTINT + 110)
|
||||
#define IMXRT_IRQ_DMA3_CH16 (IMXRT_IRQ_EXTINT + 111)
|
||||
#define IMXRT_IRQ_DMA3_CH17 (IMXRT_IRQ_EXTINT + 112)
|
||||
#define IMXRT_IRQ_DMA3_CH18 (IMXRT_IRQ_EXTINT + 113)
|
||||
#define IMXRT_IRQ_DMA3_CH19 (IMXRT_IRQ_EXTINT + 114)
|
||||
#define IMXRT_IRQ_DMA3_CH20 (IMXRT_IRQ_EXTINT + 115)
|
||||
#define IMXRT_IRQ_DMA3_CH21 (IMXRT_IRQ_EXTINT + 116)
|
||||
#define IMXRT_IRQ_DMA3_CH22 (IMXRT_IRQ_EXTINT + 117)
|
||||
#define IMXRT_IRQ_DMA3_CH23 (IMXRT_IRQ_EXTINT + 118)
|
||||
#define IMXRT_IRQ_DMA3_CH24 (IMXRT_IRQ_EXTINT + 119)
|
||||
#define IMXRT_IRQ_DMA3_CH25 (IMXRT_IRQ_EXTINT + 120)
|
||||
#define IMXRT_IRQ_DMA3_CH26 (IMXRT_IRQ_EXTINT + 121)
|
||||
#define IMXRT_IRQ_DMA3_CH27 (IMXRT_IRQ_EXTINT + 122)
|
||||
#define IMXRT_IRQ_DMA3_CH28 (IMXRT_IRQ_EXTINT + 123)
|
||||
#define IMXRT_IRQ_DMA3_CH29 (IMXRT_IRQ_EXTINT + 124)
|
||||
#define IMXRT_IRQ_DMA3_CH30 (IMXRT_IRQ_EXTINT + 125)
|
||||
#define IMXRT_IRQ_DMA3_CH31 (IMXRT_IRQ_EXTINT + 126)
|
||||
#define IMXRT_IRQ_DMA4_ERROR (IMXRT_IRQ_EXTINT + 127)
|
||||
#define IMXRT_IRQ_DMA4_CH0_CH1_CH32_CH33 (IMXRT_IRQ_EXTINT + 128)
|
||||
#define IMXRT_IRQ_DMA4_CH2_CH3_CH34_CH35 (IMXRT_IRQ_EXTINT + 129)
|
||||
#define IMXRT_IRQ_DMA4_CH4_CH5_CH36_CH37 (IMXRT_IRQ_EXTINT + 130)
|
||||
#define IMXRT_IRQ_DMA4_CH6_CH7_CH38_CH39 (IMXRT_IRQ_EXTINT + 131)
|
||||
#define IMXRT_IRQ_DMA4_CH8_CH9_CH40_CH41 (IMXRT_IRQ_EXTINT + 132)
|
||||
#define IMXRT_IRQ_DMA4_CH10_CH11_CH42_CH43 (IMXRT_IRQ_EXTINT + 133)
|
||||
#define IMXRT_IRQ_DMA4_CH12_CH13_CH44_CH45 (IMXRT_IRQ_EXTINT + 134)
|
||||
#define IMXRT_IRQ_DMA4_CH14_CH15_CH46_CH47 (IMXRT_IRQ_EXTINT + 135)
|
||||
#define IMXRT_IRQ_DMA4_CH16_CH17_CH48_CH49 (IMXRT_IRQ_EXTINT + 136)
|
||||
#define IMXRT_IRQ_DMA4_CH18_CH19_CH50_CH51 (IMXRT_IRQ_EXTINT + 137)
|
||||
#define IMXRT_IRQ_DMA4_CH20_CH21_CH52_CH53 (IMXRT_IRQ_EXTINT + 138)
|
||||
#define IMXRT_IRQ_DMA4_CH22_CH23_CH54_CH55 (IMXRT_IRQ_EXTINT + 139)
|
||||
#define IMXRT_IRQ_DMA4_CH24_CH25_CH56_CH57 (IMXRT_IRQ_EXTINT + 140)
|
||||
#define IMXRT_IRQ_DMA4_CH26_CH27_CH58_CH59 (IMXRT_IRQ_EXTINT + 141)
|
||||
#define IMXRT_IRQ_DMA4_CH28_CH29_CH60_CH61 (IMXRT_IRQ_EXTINT + 142)
|
||||
#define IMXRT_IRQ_DMA4_CH30_CH31_CH62_CH63 (IMXRT_IRQ_EXTINT + 143)
|
||||
#define IMXRT_IRQ_XBAR1_CH0_CH1 (IMXRT_IRQ_EXTINT + 144)
|
||||
#define IMXRT_IRQ_XBAR1_CH2_CH3 (IMXRT_IRQ_EXTINT + 145)
|
||||
#define IMXRT_IRQ_SINC3_CH0_CH1_CH2_CH3 (IMXRT_IRQ_EXTINT + 146)
|
||||
#define IMXRT_IRQ_EWM (IMXRT_IRQ_EXTINT + 147)
|
||||
#define IMXRT_IRQ_SEMC (IMXRT_IRQ_EXTINT + 148)
|
||||
#define IMXRT_IRQ_LPIT3 (IMXRT_IRQ_EXTINT + 149)
|
||||
#define IMXRT_IRQ_LPTMR3 (IMXRT_IRQ_EXTINT + 150)
|
||||
#define IMXRT_IRQ_TMR4 (IMXRT_IRQ_EXTINT + 151)
|
||||
#define IMXRT_IRQ_LPI2C5 (IMXRT_IRQ_EXTINT + 152)
|
||||
#define IMXRT_IRQ_LPI2C6 (IMXRT_IRQ_EXTINT + 153)
|
||||
#define IMXRT_IRQ_SAI4 (IMXRT_IRQ_EXTINT + 154)
|
||||
#define IMXRT_IRQ_SPDIF (IMXRT_IRQ_EXTINT + 155)
|
||||
#define IMXRT_IRQ_LPUART9 (IMXRT_IRQ_EXTINT + 156)
|
||||
#define IMXRT_IRQ_LPUART10 (IMXRT_IRQ_EXTINT + 157)
|
||||
#define IMXRT_IRQ_LPUART11 (IMXRT_IRQ_EXTINT + 158)
|
||||
#define IMXRT_IRQ_LPUART12 (IMXRT_IRQ_EXTINT + 159)
|
||||
#define IMXRT_IRQ_INTG_BOOTROM_DEBUG_CTRL (IMXRT_IRQ_EXTINT + 160)
|
||||
#define IMXRT_IRQ_EDGELOCK_REQ1 (IMXRT_IRQ_EXTINT + 161)
|
||||
#define IMXRT_IRQ_EDGELOCK_REQ2 (IMXRT_IRQ_EXTINT + 162)
|
||||
#define IMXRT_IRQ_EDGELOCK_REQ3 (IMXRT_IRQ_EXTINT + 163)
|
||||
#define IMXRT_IRQ_TMR3 (IMXRT_IRQ_EXTINT + 164)
|
||||
#define IMXRT_IRQ_JTAGC (IMXRT_IRQ_EXTINT + 165)
|
||||
#define IMXRT_IRQ_M33_SYSRESET_REQ (IMXRT_IRQ_EXTINT + 166)
|
||||
#define IMXRT_IRQ_M33_LOCKUP (IMXRT_IRQ_EXTINT + 167)
|
||||
#define IMXRT_IRQ_M7_SYSRESET_REQ (IMXRT_IRQ_EXTINT + 168)
|
||||
#define IMXRT_IRQ_M7_LOCKUP (IMXRT_IRQ_EXTINT + 169)
|
||||
#define IMXRT_IRQ_PWM2_FAULT (IMXRT_IRQ_EXTINT + 170)
|
||||
#define IMXRT_IRQ_PWM2_0 (IMXRT_IRQ_EXTINT + 171)
|
||||
#define IMXRT_IRQ_PWM2_1 (IMXRT_IRQ_EXTINT + 172)
|
||||
#define IMXRT_IRQ_PWM2_2 (IMXRT_IRQ_EXTINT + 173)
|
||||
#define IMXRT_IRQ_PWM2_3 (IMXRT_IRQ_EXTINT + 174)
|
||||
#define IMXRT_IRQ_PWM3_FAULT (IMXRT_IRQ_EXTINT + 175)
|
||||
#define IMXRT_IRQ_PWM3_0 (IMXRT_IRQ_EXTINT + 176)
|
||||
#define IMXRT_IRQ_PWM3_1 (IMXRT_IRQ_EXTINT + 177)
|
||||
#define IMXRT_IRQ_PWM3_2 (IMXRT_IRQ_EXTINT + 178)
|
||||
#define IMXRT_IRQ_PWM3_3 (IMXRT_IRQ_EXTINT + 179)
|
||||
#define IMXRT_IRQ_PWM4_FAULT (IMXRT_IRQ_EXTINT + 180)
|
||||
#define IMXRT_IRQ_PWM4_0 (IMXRT_IRQ_EXTINT + 181)
|
||||
#define IMXRT_IRQ_PWM4_1 (IMXRT_IRQ_EXTINT + 182)
|
||||
#define IMXRT_IRQ_PWM4_2 (IMXRT_IRQ_EXTINT + 183)
|
||||
#define IMXRT_IRQ_PWM4_3 (IMXRT_IRQ_EXTINT + 184)
|
||||
#define IMXRT_IRQ_EQDC1 (IMXRT_IRQ_EXTINT + 185)
|
||||
#define IMXRT_IRQ_EQDC2 (IMXRT_IRQ_EXTINT + 186)
|
||||
#define IMXRT_IRQ_EQDC3 (IMXRT_IRQ_EXTINT + 187)
|
||||
#define IMXRT_IRQ_EQDC4 (IMXRT_IRQ_EXTINT + 188)
|
||||
#define IMXRT_IRQ_ADC2 (IMXRT_IRQ_EXTINT + 189)
|
||||
#define IMXRT_IRQ_DCDC (IMXRT_IRQ_EXTINT + 190)
|
||||
#define IMXRT_IRQ_CAN3 (IMXRT_IRQ_EXTINT + 191)
|
||||
#define IMXRT_IRQ_CAN3_ERROR (IMXRT_IRQ_EXTINT + 192)
|
||||
#define IMXRT_IRQ_DAC (IMXRT_IRQ_EXTINT + 193)
|
||||
#define IMXRT_IRQ_LPSPI5 (IMXRT_IRQ_EXTINT + 194)
|
||||
#define IMXRT_IRQ_LPSPI6 (IMXRT_IRQ_EXTINT + 195)
|
||||
#define IMXRT_IRQ_LPUART7 (IMXRT_IRQ_EXTINT + 196)
|
||||
#define IMXRT_IRQ_LPUART8 (IMXRT_IRQ_EXTINT + 197)
|
||||
#define IMXRT_IRQ_SAI2 (IMXRT_IRQ_EXTINT + 198)
|
||||
#define IMXRT_IRQ_SAI3 (IMXRT_IRQ_EXTINT + 199)
|
||||
#define IMXRT_IRQ_ACMP1 (IMXRT_IRQ_EXTINT + 200)
|
||||
#define IMXRT_IRQ_ACMP2 (IMXRT_IRQ_EXTINT + 201)
|
||||
#define IMXRT_IRQ_ACMP3 (IMXRT_IRQ_EXTINT + 202)
|
||||
#define IMXRT_IRQ_ACMP4 (IMXRT_IRQ_EXTINT + 203)
|
||||
#define IMXRT_IRQ_CM7_PS (IMXRT_IRQ_EXTINT + 204)
|
||||
#define IMXRT_IRQ_CM7_MCM (IMXRT_IRQ_EXTINT + 205)
|
||||
#define IMXRT_IRQ_CM33_MCM (IMXRT_IRQ_EXTINT + 206)
|
||||
#define IMXRT_IRQ_ECAT_INT (IMXRT_IRQ_EXTINT + 207)
|
||||
#define IMXRT_IRQ_SAFETY_CLK_MON (IMXRT_IRQ_EXTINT + 208)
|
||||
#define IMXRT_IRQ_GPT1 (IMXRT_IRQ_EXTINT + 209)
|
||||
#define IMXRT_IRQ_GPT2 (IMXRT_IRQ_EXTINT + 210)
|
||||
#define IMXRT_IRQ_KPP (IMXRT_IRQ_EXTINT + 211)
|
||||
#define IMXRT_IRQ_USBPHY1 (IMXRT_IRQ_EXTINT + 212)
|
||||
#define IMXRT_IRQ_USBPHY2 (IMXRT_IRQ_EXTINT + 213)
|
||||
#define IMXRT_IRQ_USB_OTG2 (IMXRT_IRQ_EXTINT + 214)
|
||||
#define IMXRT_IRQ_USBOTG1 (IMXRT_IRQ_EXTINT + 215)
|
||||
#define IMXRT_IRQ_FLEXSPI_SLV (IMXRT_IRQ_EXTINT + 216)
|
||||
#define IMXRT_IRQ_NETC (IMXRT_IRQ_EXTINT + 217)
|
||||
#define IMXRT_IRQ_MSGINTR1 (IMXRT_IRQ_EXTINT + 218)
|
||||
#define IMXRT_IRQ_MSGINTR2 (IMXRT_IRQ_EXTINT + 219)
|
||||
#define IMXRT_IRQ_MSGINTR3 (IMXRT_IRQ_EXTINT + 220)
|
||||
#define IMXRT_IRQ_MSGINTR4 (IMXRT_IRQ_EXTINT + 221)
|
||||
#define IMXRT_IRQ_MSGINTR5 (IMXRT_IRQ_EXTINT + 222)
|
||||
#define IMXRT_IRQ_MSGINTR6 (IMXRT_IRQ_EXTINT + 223)
|
||||
#define IMXRT_IRQ_SINC1_CH0 (IMXRT_IRQ_EXTINT + 224)
|
||||
#define IMXRT_IRQ_SINC1_CH1 (IMXRT_IRQ_EXTINT + 225)
|
||||
#define IMXRT_IRQ_SINC1_CH2 (IMXRT_IRQ_EXTINT + 226)
|
||||
#define IMXRT_IRQ_SINC1_CH3 (IMXRT_IRQ_EXTINT + 227)
|
||||
#define IMXRT_IRQ_SINC2_CH0 (IMXRT_IRQ_EXTINT + 228)
|
||||
#define IMXRT_IRQ_SINC2_CH1 (IMXRT_IRQ_EXTINT + 229)
|
||||
#define IMXRT_IRQ_SINC2_CH2 (IMXRT_IRQ_EXTINT + 230)
|
||||
#define IMXRT_IRQ_SINC2_CH3 (IMXRT_IRQ_EXTINT + 231)
|
||||
#define IMXRT_IRQ_GPIO4 (IMXRT_IRQ_EXTINT + 232)
|
||||
#define IMXRT_IRQ_TMR2 (IMXRT_IRQ_EXTINT + 233)
|
||||
#define IMXRT_IRQ_GPIO5 (IMXRT_IRQ_EXTINT + 234)
|
||||
#define IMXRT_IRQ_ASRC (IMXRT_IRQ_EXTINT + 235)
|
||||
#define IMXRT_IRQ_GPIO6 (IMXRT_IRQ_EXTINT + 236)
|
||||
#define IMXRT_IRQ_DBG_TRACE (IMXRT_IRQ_EXTINT + 237)
|
||||
|
||||
/* Total number of external interrupts (matches the SDK IRQn_Type range). */
|
||||
|
||||
#define IMXRT_IRQ_NEXTINT (238)
|
||||
|
||||
/* Interrupt count for the M33 core on imxrt118x. */
|
||||
|
||||
#define ARMV8M_PERIPHERAL_INTERRUPTS IMXRT_IRQ_NEXTINT
|
||||
|
||||
/* No GPIO interrupts are wired up in the minimal port. */
|
||||
|
||||
#define IMXRT_GPIO_IRQ_FIRST (IMXRT_IRQ_EXTINT + IMXRT_IRQ_NEXTINT)
|
||||
#define IMXRT_GPIO_NIRQS (0)
|
||||
|
||||
#define NR_IRQS (IMXRT_IRQ_EXTINT + IMXRT_IRQ_NEXTINT + \
|
||||
IMXRT_GPIO_NIRQS)
|
||||
|
||||
#endif /* __ARCH_ARM_INCLUDE_IMXRT_IMXRT118X_IRQ_H */
|
||||
|
|
@ -42,6 +42,8 @@
|
|||
# include <arch/imxrt/imxrt106x_irq.h>
|
||||
#elif defined(CONFIG_ARCH_FAMILY_IMXRT117x)
|
||||
# include <arch/imxrt/imxrt117x_irq.h>
|
||||
#elif defined(CONFIG_ARCH_FAMILY_IMXRT118x)
|
||||
# include <arch/imxrt/imxrt118x_irq.h>
|
||||
#else
|
||||
# error Unrecognized i.MX RT architecture
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -89,6 +89,27 @@ void imxrt_clrpend(int irq)
|
|||
putreg32(1 << (irq - IMXRT_IRQ_EXTINT - 128),
|
||||
NVIC_IRQ128_159_CLRPEND);
|
||||
}
|
||||
#endif
|
||||
#if IMXRT_IRQ_NEXTINT >= 192
|
||||
else if (irq < (IMXRT_IRQ_EXTINT + 192))
|
||||
{
|
||||
putreg32(1 << (irq - IMXRT_IRQ_EXTINT - 160),
|
||||
NVIC_IRQ160_191_CLRPEND);
|
||||
}
|
||||
#endif
|
||||
#if IMXRT_IRQ_NEXTINT >= 224
|
||||
else if (irq < (IMXRT_IRQ_EXTINT + 224))
|
||||
{
|
||||
putreg32(1 << (irq - IMXRT_IRQ_EXTINT - 192),
|
||||
NVIC_IRQ192_223_CLRPEND);
|
||||
}
|
||||
#endif
|
||||
#if IMXRT_IRQ_NEXTINT >= 240
|
||||
else if (irq < (IMXRT_IRQ_EXTINT + 240))
|
||||
{
|
||||
putreg32(1 << (irq - IMXRT_IRQ_EXTINT - 224),
|
||||
NVIC_IRQ224_239_CLRPEND);
|
||||
}
|
||||
#endif
|
||||
else
|
||||
{
|
||||
|
|
|
|||
|
|
@ -200,12 +200,20 @@ static void imxrt_dumpnvic(const char *msg, int irq)
|
|||
getreg32(NVIC_IRQ204_207_PRIORITY));
|
||||
#endif
|
||||
#if IMXRT_IRQ_NEXTINT > 208
|
||||
irqinfo(" %08x %08x %08x\n",
|
||||
irqinfo(" %08x %08x %08x %08x\n",
|
||||
getreg32(NVIC_IRQ208_211_PRIORITY),
|
||||
getreg32(NVIC_IRQ212_215_PRIORITY),
|
||||
getreg32(NVIC_IRQ216_219_PRIORITY));
|
||||
getreg32(NVIC_IRQ216_219_PRIORITY),
|
||||
getreg32(NVIC_IRQ220_223_PRIORITY));
|
||||
#endif
|
||||
#if IMXRT_IRQ_NEXTINT > 218
|
||||
#if IMXRT_IRQ_NEXTINT > 224
|
||||
irqinfo(" %08x %08x %08x %08x\n",
|
||||
getreg32(NVIC_IRQ224_227_PRIORITY),
|
||||
getreg32(NVIC_IRQ228_231_PRIORITY),
|
||||
getreg32(NVIC_IRQ232_235_PRIORITY),
|
||||
getreg32(NVIC_IRQ236_239_PRIORITY));
|
||||
#endif
|
||||
#if IMXRT_IRQ_NEXTINT > 240
|
||||
# warning Missing logic
|
||||
#endif
|
||||
|
||||
|
|
@ -339,14 +347,22 @@ static int imxrt_irqinfo(int irq, uintptr_t *regaddr, uint32_t *bit,
|
|||
else
|
||||
#endif
|
||||
#if IMXRT_IRQ_NEXTINT > 192
|
||||
if (extint < 219)
|
||||
if (extint < 224)
|
||||
{
|
||||
*regaddr = (NVIC_IRQ192_223_ENABLE + offset);
|
||||
*bit = 1 << (extint - 192);
|
||||
}
|
||||
else
|
||||
#endif
|
||||
#if IMXRT_IRQ_NEXTINT > 218
|
||||
#if IMXRT_IRQ_NEXTINT > 224
|
||||
if (extint < 240)
|
||||
{
|
||||
*regaddr = (NVIC_IRQ224_239_ENABLE + offset);
|
||||
*bit = 1 << (extint - 224);
|
||||
}
|
||||
else
|
||||
#endif
|
||||
#if IMXRT_IRQ_NEXTINT > 240
|
||||
# error Missing logic
|
||||
#endif
|
||||
{
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue