Linux-libre 5.4.48-gnu
[librecmc/linux-libre.git] / arch / unicore32 / include / asm / irq.h
1 /* SPDX-License-Identifier: GPL-2.0-only */
2 /*
3  * linux/arch/unicore32/include/asm/irq.h
4  *
5  * Code specific to PKUnity SoC and UniCore ISA
6  *
7  * Copyright (C) 2001-2010 GUAN Xue-tao
8  */
9 #ifndef __UNICORE_IRQ_H__
10 #define __UNICORE_IRQ_H__
11
12 #include <asm-generic/irq.h>
13
14 #define IRQ_GPIOLOW0            0x00
15 #define IRQ_GPIOLOW1            0x01
16 #define IRQ_GPIOLOW2            0x02
17 #define IRQ_GPIOLOW3            0x03
18 #define IRQ_GPIOLOW4            0x04
19 #define IRQ_GPIOLOW5            0x05
20 #define IRQ_GPIOLOW6            0x06
21 #define IRQ_GPIOLOW7            0x07
22 #define IRQ_GPIOHIGH            0x08
23 #define IRQ_USB                 0x09
24 #define IRQ_SDC                 0x0a
25 #define IRQ_AC97                0x0b
26 #define IRQ_SATA                0x0c
27 #define IRQ_MME                 0x0d
28 #define IRQ_PCI_BRIDGE          0x0e
29 #define IRQ_DDR                 0x0f
30 #define IRQ_SPI                 0x10
31 #define IRQ_UNIGFX              0x11
32 #define IRQ_I2C                 0x11
33 #define IRQ_UART1               0x12
34 #define IRQ_UART0               0x13
35 #define IRQ_UMAL                0x14
36 #define IRQ_NAND                0x15
37 #define IRQ_PS2_KBD             0x16
38 #define IRQ_PS2_AUX             0x17
39 #define IRQ_DMA                 0x18
40 #define IRQ_DMAERR              0x19
41 #define IRQ_TIMER0              0x1a
42 #define IRQ_TIMER1              0x1b
43 #define IRQ_TIMER2              0x1c
44 #define IRQ_TIMER3              0x1d
45 #define IRQ_RTC                 0x1e
46 #define IRQ_RTCAlarm            0x1f
47
48 #define IRQ_GPIO0               0x20
49 #define IRQ_GPIO1               0x21
50 #define IRQ_GPIO2               0x22
51 #define IRQ_GPIO3               0x23
52 #define IRQ_GPIO4               0x24
53 #define IRQ_GPIO5               0x25
54 #define IRQ_GPIO6               0x26
55 #define IRQ_GPIO7               0x27
56 #define IRQ_GPIO8               0x28
57 #define IRQ_GPIO9               0x29
58 #define IRQ_GPIO10              0x2a
59 #define IRQ_GPIO11              0x2b
60 #define IRQ_GPIO12              0x2c
61 #define IRQ_GPIO13              0x2d
62 #define IRQ_GPIO14              0x2e
63 #define IRQ_GPIO15              0x2f
64 #define IRQ_GPIO16              0x30
65 #define IRQ_GPIO17              0x31
66 #define IRQ_GPIO18              0x32
67 #define IRQ_GPIO19              0x33
68 #define IRQ_GPIO20              0x34
69 #define IRQ_GPIO21              0x35
70 #define IRQ_GPIO22              0x36
71 #define IRQ_GPIO23              0x37
72 #define IRQ_GPIO24              0x38
73 #define IRQ_GPIO25              0x39
74 #define IRQ_GPIO26              0x3a
75 #define IRQ_GPIO27              0x3b
76
77 #ifdef CONFIG_ARCH_FPGA
78 #define IRQ_PCIINTA             IRQ_GPIOLOW2
79 #define IRQ_PCIINTB             IRQ_GPIOLOW1
80 #define IRQ_PCIINTC             IRQ_GPIOLOW0
81 #define IRQ_PCIINTD             IRQ_GPIOLOW6
82 #endif
83
84 #if defined(CONFIG_PUV3_DB0913) || defined(CONFIG_PUV3_NB0916)  \
85         || defined(CONFIG_PUV3_SMW0919)
86 #define IRQ_PCIINTA             IRQ_GPIOLOW1
87 #define IRQ_PCIINTB             IRQ_GPIOLOW2
88 #define IRQ_PCIINTC             IRQ_GPIOLOW3
89 #define IRQ_PCIINTD             IRQ_GPIOLOW4
90 #endif
91
92 #define IRQ_SD_CD               IRQ_GPIO6 /* falling or rising trigger */
93
94 #ifndef __ASSEMBLY__
95 struct pt_regs;
96
97 extern void asm_do_IRQ(unsigned int, struct pt_regs *);
98
99 #endif
100
101 #endif
102