diff options
author | Pannaga Bhushan <p.bhushan@samsung.com> | 2010-05-24 02:08:31 -0400 |
---|---|---|
committer | Ben Dooks <ben-linux@fluff.org> | 2010-05-26 06:09:50 -0400 |
commit | 5fae405838527c136a920eb7b9a2edfc5d2b6198 (patch) | |
tree | 5d5bdf81c15d383c67632552d0a1f10efd31ee7c /arch/arm/mach-s5pv210 | |
parent | b1cdc4670b9508fcd47a15fbd12f70d269880b37 (diff) |
ARM: S5P: Fix the platform external interrupt issues.
This patch does the following:
1. Corrects the common platform code for external interrupts for using the
VIC mask/unmask bits also.
2. Moves the common defines related to external interrupt for plat-s5p
to common files.
3. Based on the new common defines, corresponding changes are made in the
affected platforms (S5P6440, S5P6442 and S5PC100).
Signed-off-by: Pannaga Bhushan <p.bhushan@samsung.com>
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Diffstat (limited to 'arch/arm/mach-s5pv210')
-rw-r--r-- | arch/arm/mach-s5pv210/include/mach/irqs.h | 14 | ||||
-rw-r--r-- | arch/arm/mach-s5pv210/include/mach/regs-gpio.h | 14 |
2 files changed, 11 insertions, 17 deletions
diff --git a/arch/arm/mach-s5pv210/include/mach/irqs.h b/arch/arm/mach-s5pv210/include/mach/irqs.h index 92fc6c7fc064..96895378ea27 100644 --- a/arch/arm/mach-s5pv210/include/mach/irqs.h +++ b/arch/arm/mach-s5pv210/include/mach/irqs.h | |||
@@ -118,22 +118,12 @@ | |||
118 | #define IRQ_MDNIE3 S5P_IRQ_VIC3(8) | 118 | #define IRQ_MDNIE3 S5P_IRQ_VIC3(8) |
119 | #define IRQ_VIC_END S5P_IRQ_VIC3(31) | 119 | #define IRQ_VIC_END S5P_IRQ_VIC3(31) |
120 | 120 | ||
121 | #define S5P_EINT_16_31_BASE (IRQ_VIC_END + 1) | 121 | #define S5P_EINT_BASE1 (S5P_IRQ_VIC0(0)) |
122 | 122 | #define S5P_EINT_BASE2 (IRQ_VIC_END + 1) | |
123 | #define EINT_MODE S3C_GPIO_SFN(0xf) | ||
124 | |||
125 | #define IRQ_EINT(x) ((x) < 16 ? ((x) + S5P_IRQ_VIC0(0)) \ | ||
126 | : ((x) + S5P_EINT_16_31_BASE)) | ||
127 | 123 | ||
128 | /* Set the default NR_IRQS */ | 124 | /* Set the default NR_IRQS */ |
129 | |||
130 | #define NR_IRQS (IRQ_EINT(31) + 1) | 125 | #define NR_IRQS (IRQ_EINT(31) + 1) |
131 | 126 | ||
132 | #define EINT_GPIO_0(x) S5PV210_GPH0(x) | ||
133 | #define EINT_GPIO_1(x) S5PV210_GPH1(x) | ||
134 | #define EINT_GPIO_2(x) S5PV210_GPH2(x) | ||
135 | #define EINT_GPIO_3(x) S5PV210_GPH3(x) | ||
136 | |||
137 | /* Compatibility */ | 127 | /* Compatibility */ |
138 | #define IRQ_LCD_FIFO IRQ_LCD0 | 128 | #define IRQ_LCD_FIFO IRQ_LCD0 |
139 | #define IRQ_LCD_VSYNC IRQ_LCD1 | 129 | #define IRQ_LCD_VSYNC IRQ_LCD1 |
diff --git a/arch/arm/mach-s5pv210/include/mach/regs-gpio.h b/arch/arm/mach-s5pv210/include/mach/regs-gpio.h index 6d068091c36c..49e029b4978a 100644 --- a/arch/arm/mach-s5pv210/include/mach/regs-gpio.h +++ b/arch/arm/mach-s5pv210/include/mach/regs-gpio.h | |||
@@ -27,12 +27,9 @@ | |||
27 | #define S5PV210_EINT30PEND (S5P_VA_GPIO + 0xF40) | 27 | #define S5PV210_EINT30PEND (S5P_VA_GPIO + 0xF40) |
28 | #define S5P_EINT_PEND(x) (S5PV210_EINT30PEND + ((x) * 0x4)) | 28 | #define S5P_EINT_PEND(x) (S5PV210_EINT30PEND + ((x) * 0x4)) |
29 | 29 | ||
30 | #define eint_offset(irq) ((irq) < IRQ_EINT16_31 ? ((irq) - IRQ_EINT(0)) \ | 30 | #define EINT_REG_NR(x) (EINT_OFFSET(x) >> 3) |
31 | : ((irq) - S5P_EINT_16_31_BASE)) | ||
32 | 31 | ||
33 | #define EINT_REG_NR(x) (eint_offset(x) >> 3) | 32 | #define eint_irq_to_bit(irq) (1 << (EINT_OFFSET(irq) & 0x7)) |
34 | |||
35 | #define eint_irq_to_bit(irq) (1 << (eint_offset(irq) & 0x7)) | ||
36 | 33 | ||
37 | /* values for S5P_EXTINT0 */ | 34 | /* values for S5P_EXTINT0 */ |
38 | #define S5P_EXTINT_LOWLEV (0x00) | 35 | #define S5P_EXTINT_LOWLEV (0x00) |
@@ -41,4 +38,11 @@ | |||
41 | #define S5P_EXTINT_RISEEDGE (0x03) | 38 | #define S5P_EXTINT_RISEEDGE (0x03) |
42 | #define S5P_EXTINT_BOTHEDGE (0x04) | 39 | #define S5P_EXTINT_BOTHEDGE (0x04) |
43 | 40 | ||
41 | #define EINT_MODE S3C_GPIO_SFN(0xf) | ||
42 | |||
43 | #define EINT_GPIO_0(x) S5PV210_GPH0(x) | ||
44 | #define EINT_GPIO_1(x) S5PV210_GPH1(x) | ||
45 | #define EINT_GPIO_2(x) S5PV210_GPH2(x) | ||
46 | #define EINT_GPIO_3(x) S5PV210_GPH3(x) | ||
47 | |||
44 | #endif /* __ASM_ARCH_REGS_GPIO_H */ | 48 | #endif /* __ASM_ARCH_REGS_GPIO_H */ |