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