This is an automated email from the ASF dual-hosted git repository.

archer pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/nuttx.git


The following commit(s) were added to refs/heads/master by this push:
     new 60ae1681a2d arm/imx6: Fix IMX_IRQ definitions
60ae1681a2d is described below

commit 60ae1681a2d739dd529a4f2ca704311c139927b4
Author: Peter Barada <[email protected]>
AuthorDate: Thu Apr 9 13:48:51 2026 -0400

    arm/imx6: Fix IMX_IRQ definitions
    
    arch/arm/include/imx6/irq.h looks to originally be for i.MX6 Quad
    and includes multiple (re)definitions of IRQ names, some of which are
    different or don't exist on i.MX6 SoloLite/Solo/Dual/DualLite.
    Update irq.h to specify/reserve IRQ names/numbers as defined by the
    IM6SDLRM, IMX6DLRM, and IMX6DQRM reference manuals.
    
    Signed-off-by Peter Barada <[email protected]>
---
 arch/arm/include/imx6/irq.h | 140 ++++++++++++++++++++++++++++++++++++++++++--
 1 file changed, 134 insertions(+), 6 deletions(-)

diff --git a/arch/arm/include/imx6/irq.h b/arch/arm/include/imx6/irq.h
index 0097e820db5..89978da095c 100644
--- a/arch/arm/include/imx6/irq.h
+++ b/arch/arm/include/imx6/irq.h
@@ -31,6 +31,8 @@
  * Included Files
  ****************************************************************************/
 
+#include <nuttx/config.h>
+
 /****************************************************************************
  * Pre-processor Prototypes
  ****************************************************************************/
@@ -86,24 +88,60 @@
 #define IMX_IRQ_IOMUXC           32  /* General Purpose Register 1 from IOMUXC 
*/
 #define IMX_IRQ_DAP              33  /* Debug Access Port interrupt request */
 #define IMX_IRQ_SDMA             34  /* SDMA interrupt request from all 
channels */
-#define IMX_IRQ_VPU              35  /* JPEG codec interrupt request */
+#if defined(CONFIG_ARCH_CHIP_IMX6_6SOLOLITE)
+#define IMX_IRQ_RESERVED35       35  /* Reserved */
+#else
+#define IMX_IRQ_VPU_JPEG         35  /* JPEG codec interrupt request */
+#endif
 #define IMX_IRQ_SNVS             36  /* PMIC power off request */
+#if defined(CONFIG_ARCH_CHIP_IMX6_6SOLOLITE)
+#define IMX_IRQ_RNGB             37  /* Random Number Generator interrupt 
request */
+#define IMX_IRQ_RESERVED38       38  /* Reserved */
+#else
 #define IMX_IRQ_IPU              37  /* IPU error interrupt request */
 #define IMX_IRQ_IPU1             38  /* IPU1 sync interrupt request */
-#define IMX_IRQ_IPU2             39  /* IPU2 error interrupt request */
-#define IMX_IRQ_IPU2             40  /* IPU2 sync interrupt request */
+#endif
+#define IMX_IRQ_IPU2_ERR         39  /* IPU2 error interrupt request */
+#if defined(CONFIG_ARCH_CHIP_IMX6_6SOLOLITE) \
+  || defined(CONFIG_ARCH_CHIP_IMX6_6DUALLITE) \
+  || defined(CONFIG_ARCH_CHIP_IMX6_6DUAL)
+#define IMX_IRQ_RESERVED40       40  /* Reserved */
+#else
+#define IMX_IRQ_IPU2_SYNC        40  /* IPU2 sync interrupt request */
+#endif
+#if defined(CONFIG_ARCH_CHIP_IMX6_6SOLOLITE)
+#define IMX_IRQ_RESERVED41       41  /* Reserved */
+#else
 #define IMX_IRQ_GPU3D            41  /* GPU3D interrupt request */
+#endif
 #define IMX_IRQ_R2D              42  /* GPU2D R2D GPU2D general interrupt 
request */
+#if defined(CONFIG_ARCH_CHIP_IMX6_6SOLOLITE) \
+  || defined(CONFIG_ARCH_CHIP_IMX6_6QUAD)
 #define IMX_IRQ_V2D              43  /* GPU2D V2D GPU2D(OpenVG) general 
interrupt request */
+#else
+#define IMX_IRQ_RESERVED43       43  /* Reserved */
+#endif
+#if defined(CONFIG_ARCH_CHIP_IMX6_6SOLOLITE)
+#define IMX_IRQ_RESERVED44       44  /* Reserved */
+#define IMX_IRQ_RESERVED45       45  /* Reserved */
+#else
 #define IMX_IRQ_VPU              44  /* VPU interrupt request */
 #define IMX_IRQ_APBHDMA          45  /* APBH-Bridge-DMA channels 0-3 
interrupts */
+#endif
 #define IMX_IRQ_EIM              46  /* EIM interrupt request */
+#if defined(CONFIG_ARCH_CHIP_IMX6_6SOLOLITE)
+#define IMX_IRQ_RESERVED47       47  /* Reserved */
+#define IMX_IRQ_RESERVED48       48  /* Reserved */
+#define IMX_IRQ_RESERVED49       49  /* Reserved */
+#define IMX_IRQ_RESERVED50       50  /* Reserved */
+#else
 #define IMX_IRQ_BCH              47  /* BCH operation complete interrupt */
 #define IMX_IRQ_GPMI             48  /* GPMI operation timeout error interrupt 
*/
 #define IMX_IRQ_DTCP             49  /* DTCP interrupt request */
 #define IMX_IRQ_VDOA             50  /* VDOA interrupt requests */
-#define IMX_IRQ_SNVS             51  /* SRTC consolidated interrupt */
-#define IMX_IRQ_SNVS             52  /* SRTC security interrupt */
+#endif
+#define IMX_IRQ_SNVS_CONS        51  /* SRTC consolidated interrupt */
+#define IMX_IRQ_SNVS_SECURITY    52  /* SRTC security interrupt */
 #define IMX_IRQ_CSU              53  /* CSU interrupt request 1 */
 #define IMX_IRQ_USDHC1           54  /* uSDHC1 interrupt request */
 #define IMX_IRQ_USDHC2           55  /* uSDHC2 interrupt request */
@@ -118,13 +156,31 @@
 #define IMX_IRQ_ECSPI2           64  /* eCSPI2 interrupt request */
 #define IMX_IRQ_ECSPI3           65  /* eCSPI3 interrupt request */
 #define IMX_IRQ_ECSPI4           66  /* eCSPI4 interrupt request */
+#if defined(CONFIG_ARCH_CHIP_IMX6_6SOLOLITE)
+#define IMX_IRQ_RESERVED67       67  /* Reserved */
+#elif defined(CONFIG_ARCH_CHIP_IMX6_6SOLO) \
+  || defined(CONFIG_ARCH_CHIP_IMX6_6DUALLITE)
+#define IMX_IRQ_I2C4             67  /* I2C4 interrupt request */
+#else
 #define IMX_IRQ_ECSPI5           67  /* eCSPI5 interrupt request */
+#endif
 #define IMX_IRQ_I2C1             68  /* I2C1 interrupt request */
 #define IMX_IRQ_I2C2             69  /* I2C2 interrupt request */
 #define IMX_IRQ_I2C3             70  /* I2C3 interrupt request */
+#if defined(CONFIG_ARCH_CHIP_IMX6_6SOLOLITE)
+#define IMX_IRQ_LCDIF            71  /* LCDIF interrupt request */
+#elif defined(CONFIG_ARCH_CHIP_IMX6_6SOLO) \
+  || defined(CONFIG_ARCH_CHIP_IMX6_6DUALLITE)
+#define IMX_IRQ_RESERVED71       71  /* Reserved */
+#else
 #define IMX_IRQ_SATA             71  /* SATA interrupt request */
+#endif
 #define IMX_IRQ_USBHOST1         72  /* USB Host 1 interrupt request */
+#if defined(CONFIG_ARCH_CHIP_IMX6_6SOLOLITE)
+#define IMX_IRQ_RESERVED73       73  /* Reserved */
+#else
 #define IMX_IRQ_USBHOST2         73  /* USB Host 2 interrupt request */
+#endif
 #define IMX_IRQ_USBHOST3         74  /* USB Host 3 interrupt request */
 #define IMX_IRQ_USBOTG           75  /* USB OTG interrupt request */
 #define IMX_IRQ_USBPHY0          76  /* UTMI0 interrupt request */
@@ -133,10 +189,19 @@
 #define IMX_IRQ_SSI2             79  /* SSI2 interrupt request */
 #define IMX_IRQ_SSI3             80  /* SSI3 interrupt request */
 #define IMX_IRQ_TEMP             81  /* Temperature Sensor interrupt request */
+#if defined(CONFIG_ARCH_CHIP_IMX6_6SOLOLITE)
+#define IMX_IRQ_RESERVED82       82  /* Reserved */
+#define IMX_IRQ_RESERVED83       83  /* Reserved */
+#else
 #define IMX_IRQ_ASRC             82  /* ASRC interrupt request */
 #define IMX_IRQ_ESAI             83  /* ESAI interrupt request */
+#endif
 #define IMX_IRQ_SPDIF            84  /* SPDIF interrupt */
+#if defined(CONFIG_ARCH_CHIP_IMX6_6SOLOLITE)
+#define IMX_IRQ_RESERVED85       85  /* Reserved */
+#else
 #define IMX_IRQ_MLB150ERR        85  /* MLB error interrupt request */
+#endif
 #define IMX_IRQ_PMUANREG         86  /* Brown out of analog regulators 
occurred */
 #define IMX_IRQ_GPT              87  /* GPT interrupt lines */
 #define IMX_IRQ_EPIT1            88  /* EPIT1 output compare interrupt */
@@ -159,10 +224,17 @@
 #define IMX_IRQ_GPIO4_INT_16_31 105  /* GPIO4 signals 16-31 */
 #define IMX_IRQ_GPIO5_INT_0_15  106  /* GPIO5 signals 0-15 */
 #define IMX_IRQ_GPIO5_INT_16_31 107  /* GPIO5 signals 16-31 */
+#if defined(CONFIG_ARCH_CHIP_IMX6_6SOLOLITE)
+#define IMX_IRQ_RESERVED108     108  /* Reserved */
+#define IMX_IRQ_RESERVED109     109  /* Reserved */
+#define IMX_IRQ_RESERVED110     110  /* Reserved */
+#define IMX_IRQ_RESERVED111     111  /* Reserved */
+#else
 #define IMX_IRQ_GPIO6_INT_0_15  108  /* GPIO6 signals 0-15 */
 #define IMX_IRQ_GPIO6_INT_16_31 109  /* GPIO6 signals 16-31 */
 #define IMX_IRQ_GPIO7_INT_0_15  110  /* GPIO7 signals 0-15 */
 #define IMX_IRQ_GPIO7_INT_16_31 111  /* GPIO7 signals 16-31 */
+#endif
 #define IMX_IRQ_WDOG1           112  /* WDOG1 timer reset interrupt request */
 #define IMX_IRQ_WDOG2           113  /* WDOG2 timer reset interrupt request */
 #define IMX_IRQ_KPP             114  /* Key Pad interrupt request */
@@ -179,25 +251,80 @@
 #define IMX_IRQ_CPUPAR          125  /* Parity Check error interrupt request */
 #define IMX_IRQ_CPUPERF         126  /* Performance Unit interrupt */
 #define IMX_IRQ_CPUCTI          127  /* CTI trigger outputs interrupt */
-#define IMX_IRQ_SRC             128  /* CPU wdog interrupts (4x) out of SRC */
+#if defined(CONFIG_ARCH_CHIP_IMX6_6SOLOLITE) \
+  || defined(CONFIG_ARCH_CHIP_IMX6_6SOLO)
+#define IMX_IRQ_WDOG_SRC        128  /* CPU WDOG interrupt out of SRC */
+#elif defined(CONFIG_ARCH_CHIP_IMX6_6DUALLITE) \
+  || defined(CONFIG_ARCH_CHIP_IMX6_6DUAL)
+#define IMX_IRQ_WDOG_SRC        128  /* Combined CPU WDOG interrupts(x2) out 
of SRC */
+#else
+#define IMX_IRQ_WDOG_SRC        128  /* Combined CPU WDOG interrupts(x4) out 
of SRC */
+#endif
+#if defined(CONFIG_ARCH_CHIP_IMX6_6SOLOLITE) \
+  || defined(CONFIG_ARCH_CHIP_IMX6_6SOLO) \
+  || defined(CONFIG_ARCH_CHIP_IMX6_6DUALLITE)
+#define IMX_IRQ_EDPC            129  /* EDPC interrupt request */
+#define IMX_IRQ_PXP             130  /* PXP interrupt request */
+#else
 #define IMX_IRQ_RESERVED129     129  /* Reserved */
 #define IMX_IRQ_RESERVED130     130  /* Reserved */
+#endif
+#if defined(CONFIG_ARCH_CHIP_IMX6_6SOLOLITE)
+#define IMX_IRQ_DCP_GENERAL     131  /* DCP general interrupt request */
+#define IMX_IRQ_DCP_CHAN0       132  /* DCP channel 0 interrupt request */
+#define IMX_IRQ_DCP_SECURE      133  /* DCP secure  interrupt request */
+#define IMX_IRQ_RESERVED134     134  /* Reserved */
+#define IMX_IRQ_RESERVED135     135  /* Reserved */
+#else
 #define IMX_IRQ_RESERVED131     131  /* Reserved */
 #define IMX_IRQ_MIPICSI1        132  /* CSI interrupt request 1 */
 #define IMX_IRQ_MIPICSI2        133  /* CSI interrupt request 2 */
 #define IMX_IRQ_MIPIDSI         134  /* DSI interrupt request */
 #define IMX_IRQ_MIPIHSI         135  /* HSI interrupt request */
+#endif
 #define IMX_IRQ_SJC             136  /* SJC interrupt from General Purpose 
register */
+#if defined(CONFIG_ARCH_CHIP_IMX6_6SOLOLITE)
+#define IMX_IRQ_RESERVED137     137  /* Reserved */
+#define IMX_IRQ_RESERVED138     138  /* Reserved */
+#else
 #define IMX_IRQ_CAAM0           137  /* CAAM job ring 0 interrupt */
 #define IMX_IRQ_CAAM1           138  /* CAAM job ring 1 interrupt */
+#endif
 #define IMX_IRQ_RESERVED139     139  /* Reserved */
 #define IMX_IRQ_ASC1            140  /* ASC1 interrupt request */
+#if defined(CONFIG_ARCH_CHIP_IMX6_6SOLOLITE)
+#define IMX_IRQ_RESERVED141     141  /* Reserved */
+#else
 #define IMX_IRQ_ASC2            141  /* ASC2 interrupt request */
+#endif
+#if defined(CONFIG_ARCH_CHIP_IMX6_6SOLOLITE)
+#define IMX_IRQ_RESERVED142     142  /* Reserved */
+#define IMX_IRQ_RESERVED143     143  /* Reserved */
+#else
 #define IMX_IRQ_FLEXCAN1        142  /* FLEXCAN1 interrupt request */
 #define IMX_IRQ_FLEXCAN2        143  /* FLEXCAN2 interrupt request */
+#endif
 #define IMX_IRQ_RESERVED144     144  /* Reserved */
 #define IMX_IRQ_RESERVED145     145  /* Reserved */
+#if defined(CONFIG_ARCH_CHIP_IMX6_6SOLOLITE)
+#define IMX_IRQ_FEC             146  /* Fast Ethernet Controller interrupt 
request */
+#else
 #define IMX_IRQ_RESERVED146     146  /* Reserved */
+#endif
+#if defined(CONFIG_ARCH_CHIP_IMX6_6SOLOLITE)
+#define IMX_IRQ_RESERVED147     147  /* Reserved */
+#define IMX_IRQ_RESERVED148     148  /* Reserved */
+#define IMX_IRQ_RESERVED149     149  /* Reserved */
+#define IMX_IRQ_RESERVED150     150  /* Reserved */
+#define IMX_IRQ_RESERVED151     151  /* Reserved */
+#define IMX_IRQ_RESERVED152     152  /* Reserved */
+#define IMX_IRQ_RESERVED153     153  /* Reserved */
+#define IMX_IRQ_RESERVED154     154  /* Reserved */
+#define IMX_IRQ_RESERVED155     155  /* Reserved */
+#define IMX_IRQ_RESERVED156     156  /* Reserved */
+#define IMX_IRQ_RESERVED157     157  /* Reserved */
+#define IMX_IRQ_RESERVED158     158  /* Reserved */
+#else
 #define IMX_IRQ_HDMIMSTR        147  /* HDMI master interrupt request */
 #define IMX_IRQ_HDMICEC         148  /* HDMI CEC engine dedicated wake-up 
interrupt */
 #define IMX_IRQ_MLB150_0_31     149  /* Channels [31:0] interrupt requests */
@@ -210,6 +337,7 @@
 #define IMX_IRQ_DCIC1           156  /* DCIC1 interrupt requests */
 #define IMX_IRQ_DCIC2           157  /* DCIC2 interrupt requests */
 #define IMX_IRQ_MLB150_32_63    158  /* Channel[63:32] interrupt requests */
+#endif
 #define IMX_IRQ_PMUDIGREG       159  /* Brown out of digital regulators 
occurred */
 
 #define NR_IRQS                 160  /* Total number of interrupts */

Reply via email to