diff options
| -rw-r--r-- | arch/arm/Kconfig | 1 | ||||
| -rw-r--r-- | arch/arm/plat-mxc/include/mach/irqs.h | 44 | ||||
| -rw-r--r-- | arch/arm/plat-mxc/include/mach/mx1.h | 111 | ||||
| -rw-r--r-- | arch/arm/plat-mxc/include/mach/mx21.h | 107 | ||||
| -rw-r--r-- | arch/arm/plat-mxc/include/mach/mx25.h | 72 | ||||
| -rw-r--r-- | arch/arm/plat-mxc/include/mach/mx27.h | 127 | ||||
| -rw-r--r-- | arch/arm/plat-mxc/include/mach/mx2x.h | 87 | ||||
| -rw-r--r-- | arch/arm/plat-mxc/include/mach/mx31.h | 118 | ||||
| -rw-r--r-- | arch/arm/plat-mxc/include/mach/mx35.h | 109 | ||||
| -rw-r--r-- | arch/arm/plat-mxc/include/mach/mx3x.h | 77 | ||||
| -rw-r--r-- | arch/arm/plat-mxc/include/mach/mx50.h | 187 | ||||
| -rw-r--r-- | arch/arm/plat-mxc/include/mach/mx51.h | 209 | ||||
| -rw-r--r-- | arch/arm/plat-mxc/include/mach/mx53.h | 217 | ||||
| -rw-r--r-- | drivers/media/video/mx1_camera.c | 1 | ||||
| -rw-r--r-- | sound/soc/fsl/imx-pcm-fiq.c | 1 |
15 files changed, 722 insertions, 746 deletions
diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig index 84449dd8f031..63f40b43b062 100644 --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig | |||
| @@ -446,6 +446,7 @@ config ARCH_MXC | |||
| 446 | select CLKSRC_MMIO | 446 | select CLKSRC_MMIO |
| 447 | select GENERIC_IRQ_CHIP | 447 | select GENERIC_IRQ_CHIP |
| 448 | select MULTI_IRQ_HANDLER | 448 | select MULTI_IRQ_HANDLER |
| 449 | select SPARSE_IRQ | ||
| 449 | help | 450 | help |
| 450 | Support for Freescale MXC/iMX-based family of processors | 451 | Support for Freescale MXC/iMX-based family of processors |
| 451 | 452 | ||
diff --git a/arch/arm/plat-mxc/include/mach/irqs.h b/arch/arm/plat-mxc/include/mach/irqs.h index fd9efb044656..d73f5e8ea9cb 100644 --- a/arch/arm/plat-mxc/include/mach/irqs.h +++ b/arch/arm/plat-mxc/include/mach/irqs.h | |||
| @@ -11,50 +11,6 @@ | |||
| 11 | #ifndef __ASM_ARCH_MXC_IRQS_H__ | 11 | #ifndef __ASM_ARCH_MXC_IRQS_H__ |
| 12 | #define __ASM_ARCH_MXC_IRQS_H__ | 12 | #define __ASM_ARCH_MXC_IRQS_H__ |
| 13 | 13 | ||
| 14 | #include <asm-generic/gpio.h> | ||
| 15 | |||
| 16 | /* | ||
| 17 | * SoCs with GIC interrupt controller have 160 IRQs, those with TZIC | ||
| 18 | * have 128 IRQs, and those with AVIC have 64. | ||
| 19 | * | ||
| 20 | * To support single image, the biggest number should be defined on | ||
| 21 | * top of the list. | ||
| 22 | */ | ||
| 23 | #if defined CONFIG_ARM_GIC | ||
| 24 | #define MXC_INTERNAL_IRQS 160 | ||
| 25 | #elif defined CONFIG_MXC_TZIC | ||
| 26 | #define MXC_INTERNAL_IRQS 128 | ||
| 27 | #else | ||
| 28 | #define MXC_INTERNAL_IRQS 64 | ||
| 29 | #endif | ||
| 30 | |||
| 31 | #define MXC_GPIO_IRQ_START MXC_INTERNAL_IRQS | ||
| 32 | |||
| 33 | /* | ||
| 34 | * The next 16 interrupts are for board specific purposes. Since | ||
| 35 | * the kernel can only run on one machine at a time, we can re-use | ||
| 36 | * these. If you need more, increase MXC_BOARD_IRQS, but keep it | ||
| 37 | * within sensible limits. | ||
| 38 | */ | ||
| 39 | #define MXC_BOARD_IRQ_START (MXC_INTERNAL_IRQS + ARCH_NR_GPIOS) | ||
| 40 | |||
| 41 | #ifdef CONFIG_MACH_MX31ADS_WM1133_EV1 | ||
| 42 | #define MXC_BOARD_IRQS 80 | ||
| 43 | #else | ||
| 44 | #define MXC_BOARD_IRQS 16 | ||
| 45 | #endif | ||
| 46 | |||
| 47 | #define MXC_IPU_IRQ_START (MXC_BOARD_IRQ_START + MXC_BOARD_IRQS) | ||
| 48 | |||
| 49 | #ifdef CONFIG_MX3_IPU_IRQS | ||
| 50 | #define MX3_IPU_IRQS CONFIG_MX3_IPU_IRQS | ||
| 51 | #else | ||
| 52 | #define MX3_IPU_IRQS 0 | ||
| 53 | #endif | ||
| 54 | /* REVISIT: Add IPU irqs on IMX51 */ | ||
| 55 | |||
| 56 | #define NR_IRQS (MXC_IPU_IRQ_START + MX3_IPU_IRQS) | ||
| 57 | |||
| 58 | extern int imx_irq_set_priority(unsigned char irq, unsigned char prio); | 14 | extern int imx_irq_set_priority(unsigned char irq, unsigned char prio); |
| 59 | 15 | ||
| 60 | /* all normal IRQs can be FIQs */ | 16 | /* all normal IRQs can be FIQs */ |
diff --git a/arch/arm/plat-mxc/include/mach/mx1.h b/arch/arm/plat-mxc/include/mach/mx1.h index 2b7c08d13e89..45bd31cc34d6 100644 --- a/arch/arm/plat-mxc/include/mach/mx1.h +++ b/arch/arm/plat-mxc/include/mach/mx1.h | |||
| @@ -78,61 +78,62 @@ | |||
| 78 | #define MX1_IO_ADDRESS(x) IOMEM(MX1_IO_P2V(x)) | 78 | #define MX1_IO_ADDRESS(x) IOMEM(MX1_IO_P2V(x)) |
| 79 | 79 | ||
| 80 | /* fixed interrput numbers */ | 80 | /* fixed interrput numbers */ |
| 81 | #define MX1_INT_SOFTINT 0 | 81 | #include <asm/irq.h> |
| 82 | #define MX1_INT_CSI 6 | 82 | #define MX1_INT_SOFTINT (NR_IRQS_LEGACY + 0) |
| 83 | #define MX1_DSPA_MAC_INT 7 | 83 | #define MX1_INT_CSI (NR_IRQS_LEGACY + 6) |
| 84 | #define MX1_DSPA_INT 8 | 84 | #define MX1_DSPA_MAC_INT (NR_IRQS_LEGACY + 7) |
| 85 | #define MX1_COMP_INT 9 | 85 | #define MX1_DSPA_INT (NR_IRQS_LEGACY + 8) |
| 86 | #define MX1_MSHC_XINT 10 | 86 | #define MX1_COMP_INT (NR_IRQS_LEGACY + 9) |
| 87 | #define MX1_GPIO_INT_PORTA 11 | 87 | #define MX1_MSHC_XINT (NR_IRQS_LEGACY + 10) |
| 88 | #define MX1_GPIO_INT_PORTB 12 | 88 | #define MX1_GPIO_INT_PORTA (NR_IRQS_LEGACY + 11) |
| 89 | #define MX1_GPIO_INT_PORTC 13 | 89 | #define MX1_GPIO_INT_PORTB (NR_IRQS_LEGACY + 12) |
| 90 | #define MX1_INT_LCDC 14 | 90 | #define MX1_GPIO_INT_PORTC (NR_IRQS_LEGACY + 13) |
| 91 | #define MX1_SIM_INT 15 | 91 | #define MX1_INT_LCDC (NR_IRQS_LEGACY + 14) |
| 92 | #define MX1_SIM_DATA_INT 16 | 92 | #define MX1_SIM_INT (NR_IRQS_LEGACY + 15) |
| 93 | #define MX1_RTC_INT 17 | 93 | #define MX1_SIM_DATA_INT (NR_IRQS_LEGACY + 16) |
| 94 | #define MX1_RTC_SAMINT 18 | 94 | #define MX1_RTC_INT (NR_IRQS_LEGACY + 17) |
| 95 | #define MX1_INT_UART2PFERR 19 | 95 | #define MX1_RTC_SAMINT (NR_IRQS_LEGACY + 18) |
| 96 | #define MX1_INT_UART2RTS 20 | 96 | #define MX1_INT_UART2PFERR (NR_IRQS_LEGACY + 19) |
| 97 | #define MX1_INT_UART2DTR 21 | 97 | #define MX1_INT_UART2RTS (NR_IRQS_LEGACY + 20) |
| 98 | #define MX1_INT_UART2UARTC 22 | 98 | #define MX1_INT_UART2DTR (NR_IRQS_LEGACY + 21) |
| 99 | #define MX1_INT_UART2TX 23 | 99 | #define MX1_INT_UART2UARTC (NR_IRQS_LEGACY + 22) |
| 100 | #define MX1_INT_UART2RX 24 | 100 | #define MX1_INT_UART2TX (NR_IRQS_LEGACY + 23) |
| 101 | #define MX1_INT_UART1PFERR 25 | 101 | #define MX1_INT_UART2RX (NR_IRQS_LEGACY + 24) |
| 102 | #define MX1_INT_UART1RTS 26 | 102 | #define MX1_INT_UART1PFERR (NR_IRQS_LEGACY + 25) |
| 103 | #define MX1_INT_UART1DTR 27 | 103 | #define MX1_INT_UART1RTS (NR_IRQS_LEGACY + 26) |
| 104 | #define MX1_INT_UART1UARTC 28 | 104 | #define MX1_INT_UART1DTR (NR_IRQS_LEGACY + 27) |
| 105 | #define MX1_INT_UART1TX 29 | 105 | #define MX1_INT_UART1UARTC (NR_IRQS_LEGACY + 28) |
| 106 | #define MX1_INT_UART1RX 30 | 106 | #define MX1_INT_UART1TX (NR_IRQS_LEGACY + 29) |
| 107 | #define MX1_VOICE_DAC_INT 31 | 107 | #define MX1_INT_UART1RX (NR_IRQS_LEGACY + 30) |
| 108 | #define MX1_VOICE_ADC_INT 32 | 108 | #define MX1_VOICE_DAC_INT (NR_IRQS_LEGACY + 31) |
| 109 | #define MX1_PEN_DATA_INT 33 | 109 | #define MX1_VOICE_ADC_INT (NR_IRQS_LEGACY + 32) |
| 110 | #define MX1_PWM_INT 34 | 110 | #define MX1_PEN_DATA_INT (NR_IRQS_LEGACY + 33) |
| 111 | #define MX1_SDHC_INT 35 | 111 | #define MX1_PWM_INT (NR_IRQS_LEGACY + 34) |
| 112 | #define MX1_INT_I2C 39 | 112 | #define MX1_SDHC_INT (NR_IRQS_LEGACY + 35) |
| 113 | #define MX1_INT_CSPI2 40 | 113 | #define MX1_INT_I2C (NR_IRQS_LEGACY + 39) |
| 114 | #define MX1_INT_CSPI1 41 | 114 | #define MX1_INT_CSPI2 (NR_IRQS_LEGACY + 40) |
| 115 | #define MX1_SSI_TX_INT 42 | 115 | #define MX1_INT_CSPI1 (NR_IRQS_LEGACY + 41) |
| 116 | #define MX1_SSI_TX_ERR_INT 43 | 116 | #define MX1_SSI_TX_INT (NR_IRQS_LEGACY + 42) |
| 117 | #define MX1_SSI_RX_INT 44 | 117 | #define MX1_SSI_TX_ERR_INT (NR_IRQS_LEGACY + 43) |
| 118 | #define MX1_SSI_RX_ERR_INT 45 | 118 | #define MX1_SSI_RX_INT (NR_IRQS_LEGACY + 44) |
| 119 | #define MX1_TOUCH_INT 46 | 119 | #define MX1_SSI_RX_ERR_INT (NR_IRQS_LEGACY + 45) |
| 120 | #define MX1_INT_USBD0 47 | 120 | #define MX1_TOUCH_INT (NR_IRQS_LEGACY + 46) |
| 121 | #define MX1_INT_USBD1 48 | 121 | #define MX1_INT_USBD0 (NR_IRQS_LEGACY + 47) |
| 122 | #define MX1_INT_USBD2 49 | 122 | #define MX1_INT_USBD1 (NR_IRQS_LEGACY + 48) |
| 123 | #define MX1_INT_USBD3 50 | 123 | #define MX1_INT_USBD2 (NR_IRQS_LEGACY + 49) |
| 124 | #define MX1_INT_USBD4 51 | 124 | #define MX1_INT_USBD3 (NR_IRQS_LEGACY + 50) |
| 125 | #define MX1_INT_USBD5 52 | 125 | #define MX1_INT_USBD4 (NR_IRQS_LEGACY + 51) |
| 126 | #define MX1_INT_USBD6 53 | 126 | #define MX1_INT_USBD5 (NR_IRQS_LEGACY + 52) |
| 127 | #define MX1_BTSYS_INT 55 | 127 | #define MX1_INT_USBD6 (NR_IRQS_LEGACY + 53) |
| 128 | #define MX1_BTTIM_INT 56 | 128 | #define MX1_BTSYS_INT (NR_IRQS_LEGACY + 55) |
| 129 | #define MX1_BTWUI_INT 57 | 129 | #define MX1_BTTIM_INT (NR_IRQS_LEGACY + 56) |
| 130 | #define MX1_TIM2_INT 58 | 130 | #define MX1_BTWUI_INT (NR_IRQS_LEGACY + 57) |
| 131 | #define MX1_TIM1_INT 59 | 131 | #define MX1_TIM2_INT (NR_IRQS_LEGACY + 58) |
| 132 | #define MX1_DMA_ERR 60 | 132 | #define MX1_TIM1_INT (NR_IRQS_LEGACY + 59) |
| 133 | #define MX1_DMA_INT 61 | 133 | #define MX1_DMA_ERR (NR_IRQS_LEGACY + 60) |
| 134 | #define MX1_GPIO_INT_PORTD 62 | 134 | #define MX1_DMA_INT (NR_IRQS_LEGACY + 61) |
| 135 | #define MX1_WDT_INT 63 | 135 | #define MX1_GPIO_INT_PORTD (NR_IRQS_LEGACY + 62) |
| 136 | #define MX1_WDT_INT (NR_IRQS_LEGACY + 63) | ||
| 136 | 137 | ||
| 137 | /* DMA */ | 138 | /* DMA */ |
| 138 | #define MX1_DMA_REQ_UART3_T 2 | 139 | #define MX1_DMA_REQ_UART3_T 2 |
diff --git a/arch/arm/plat-mxc/include/mach/mx21.h b/arch/arm/plat-mxc/include/mach/mx21.h index 6cd049ebbd8d..468738aa997f 100644 --- a/arch/arm/plat-mxc/include/mach/mx21.h +++ b/arch/arm/plat-mxc/include/mach/mx21.h | |||
| @@ -99,59 +99,60 @@ | |||
