162306a36Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0 */ 262306a36Sopenharmony_ci/* 362306a36Sopenharmony_ci * arch/arm/mach-sa1100/include/mach/irqs.h 462306a36Sopenharmony_ci * 562306a36Sopenharmony_ci * Copyright (C) 1996 Russell King 662306a36Sopenharmony_ci * Copyright (C) 1998 Deborah Wallach (updates for SA1100/Brutus). 762306a36Sopenharmony_ci * Copyright (C) 1999 Nicolas Pitre (full GPIO irq isolation) 862306a36Sopenharmony_ci * 962306a36Sopenharmony_ci * 2001/11/14 RMK Cleaned up and standardised a lot of the IRQs. 1062306a36Sopenharmony_ci */ 1162306a36Sopenharmony_ci 1262306a36Sopenharmony_ci#define IRQ_GPIO0_SC 1 1362306a36Sopenharmony_ci#define IRQ_GPIO1_SC 2 1462306a36Sopenharmony_ci#define IRQ_GPIO2_SC 3 1562306a36Sopenharmony_ci#define IRQ_GPIO3_SC 4 1662306a36Sopenharmony_ci#define IRQ_GPIO4_SC 5 1762306a36Sopenharmony_ci#define IRQ_GPIO5_SC 6 1862306a36Sopenharmony_ci#define IRQ_GPIO6_SC 7 1962306a36Sopenharmony_ci#define IRQ_GPIO7_SC 8 2062306a36Sopenharmony_ci#define IRQ_GPIO8_SC 9 2162306a36Sopenharmony_ci#define IRQ_GPIO9_SC 10 2262306a36Sopenharmony_ci#define IRQ_GPIO10_SC 11 2362306a36Sopenharmony_ci#define IRQ_GPIO11_27 12 2462306a36Sopenharmony_ci#define IRQ_LCD 13 /* LCD controller */ 2562306a36Sopenharmony_ci#define IRQ_Ser0UDC 14 /* Ser. port 0 UDC */ 2662306a36Sopenharmony_ci#define IRQ_Ser1SDLC 15 /* Ser. port 1 SDLC */ 2762306a36Sopenharmony_ci#define IRQ_Ser1UART 16 /* Ser. port 1 UART */ 2862306a36Sopenharmony_ci#define IRQ_Ser2ICP 17 /* Ser. port 2 ICP */ 2962306a36Sopenharmony_ci#define IRQ_Ser3UART 18 /* Ser. port 3 UART */ 3062306a36Sopenharmony_ci#define IRQ_Ser4MCP 19 /* Ser. port 4 MCP */ 3162306a36Sopenharmony_ci#define IRQ_Ser4SSP 20 /* Ser. port 4 SSP */ 3262306a36Sopenharmony_ci#define IRQ_DMA0 21 /* DMA controller channel 0 */ 3362306a36Sopenharmony_ci#define IRQ_DMA1 22 /* DMA controller channel 1 */ 3462306a36Sopenharmony_ci#define IRQ_DMA2 23 /* DMA controller channel 2 */ 3562306a36Sopenharmony_ci#define IRQ_DMA3 24 /* DMA controller channel 3 */ 3662306a36Sopenharmony_ci#define IRQ_DMA4 25 /* DMA controller channel 4 */ 3762306a36Sopenharmony_ci#define IRQ_DMA5 26 /* DMA controller channel 5 */ 3862306a36Sopenharmony_ci#define IRQ_OST0 27 /* OS Timer match 0 */ 3962306a36Sopenharmony_ci#define IRQ_OST1 28 /* OS Timer match 1 */ 4062306a36Sopenharmony_ci#define IRQ_OST2 29 /* OS Timer match 2 */ 4162306a36Sopenharmony_ci#define IRQ_OST3 30 /* OS Timer match 3 */ 4262306a36Sopenharmony_ci#define IRQ_RTC1Hz 31 /* RTC 1 Hz clock */ 4362306a36Sopenharmony_ci#define IRQ_RTCAlrm 32 /* RTC Alarm */ 4462306a36Sopenharmony_ci 4562306a36Sopenharmony_ci#define IRQ_GPIO0 33 4662306a36Sopenharmony_ci#define IRQ_GPIO1 34 4762306a36Sopenharmony_ci#define IRQ_GPIO2 35 4862306a36Sopenharmony_ci#define IRQ_GPIO3 36 4962306a36Sopenharmony_ci#define IRQ_GPIO4 37 5062306a36Sopenharmony_ci#define IRQ_GPIO5 38 5162306a36Sopenharmony_ci#define IRQ_GPIO6 39 5262306a36Sopenharmony_ci#define IRQ_GPIO7 40 5362306a36Sopenharmony_ci#define IRQ_GPIO8 41 5462306a36Sopenharmony_ci#define IRQ_GPIO9 42 5562306a36Sopenharmony_ci#define IRQ_GPIO10 43 5662306a36Sopenharmony_ci#define IRQ_GPIO11 44 5762306a36Sopenharmony_ci#define IRQ_GPIO12 45 5862306a36Sopenharmony_ci#define IRQ_GPIO13 46 5962306a36Sopenharmony_ci#define IRQ_GPIO14 47 6062306a36Sopenharmony_ci#define IRQ_GPIO15 48 6162306a36Sopenharmony_ci#define IRQ_GPIO16 49 6262306a36Sopenharmony_ci#define IRQ_GPIO17 50 6362306a36Sopenharmony_ci#define IRQ_GPIO18 51 6462306a36Sopenharmony_ci#define IRQ_GPIO19 52 6562306a36Sopenharmony_ci#define IRQ_GPIO20 53 6662306a36Sopenharmony_ci#define IRQ_GPIO21 54 6762306a36Sopenharmony_ci#define IRQ_GPIO22 55 6862306a36Sopenharmony_ci#define IRQ_GPIO23 56 6962306a36Sopenharmony_ci#define IRQ_GPIO24 57 7062306a36Sopenharmony_ci#define IRQ_GPIO25 58 7162306a36Sopenharmony_ci#define IRQ_GPIO26 59 7262306a36Sopenharmony_ci#define IRQ_GPIO27 60 7362306a36Sopenharmony_ci 7462306a36Sopenharmony_ci/* 7562306a36Sopenharmony_ci * The next 16 interrupts are for board specific purposes. Since 7662306a36Sopenharmony_ci * the kernel can only run on one machine at a time, we can re-use 7762306a36Sopenharmony_ci * these. If you need more, increase IRQ_BOARD_END, but keep it 7862306a36Sopenharmony_ci * within sensible limits. IRQs 61 to 76 are available. 7962306a36Sopenharmony_ci */ 8062306a36Sopenharmony_ci#define IRQ_BOARD_START 61 8162306a36Sopenharmony_ci#define IRQ_BOARD_END 77 8262306a36Sopenharmony_ci 8362306a36Sopenharmony_ci/* 8462306a36Sopenharmony_ci * Figure out the MAX IRQ number. 8562306a36Sopenharmony_ci * 8662306a36Sopenharmony_ci * Neponset, SA1111 and UCB1x00 are sparse IRQ aware, so can dynamically 8762306a36Sopenharmony_ci * allocate their IRQs above NR_IRQS. 8862306a36Sopenharmony_ci * 8962306a36Sopenharmony_ci * LoCoMo has 4 additional IRQs, but is not sparse IRQ aware, and so has 9062306a36Sopenharmony_ci * to be included in the NR_IRQS calculation. 9162306a36Sopenharmony_ci */ 9262306a36Sopenharmony_ci#ifdef CONFIG_SHARP_LOCOMO 9362306a36Sopenharmony_ci#define NR_IRQS_LOCOMO 4 9462306a36Sopenharmony_ci#else 9562306a36Sopenharmony_ci#define NR_IRQS_LOCOMO 0 9662306a36Sopenharmony_ci#endif 9762306a36Sopenharmony_ci 9862306a36Sopenharmony_ci#ifndef NR_IRQS 9962306a36Sopenharmony_ci#define NR_IRQS (IRQ_BOARD_START + NR_IRQS_LOCOMO) 10062306a36Sopenharmony_ci#endif 10162306a36Sopenharmony_ci#define SA1100_NR_IRQS (IRQ_BOARD_START + NR_IRQS_LOCOMO) 102