Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 59259
b: refs/heads/master
c: c08b7b3
h: refs/heads/master
i:
  59257: c4002f1
  59255: 6fca264
v: v3
  • Loading branch information
Eric Miao authored and Russell King committed Jul 12, 2007
1 parent 918bc47 commit 440c19b
Show file tree
Hide file tree
Showing 3 changed files with 23 additions and 20 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 486c955118dbbb0f13dc4d40cc5dac2b23f82676
refs/heads/master: c08b7b3ef6bf489ddabadc03e050f3db2ea44b5d
26 changes: 16 additions & 10 deletions trunk/arch/arm/mach-pxa/irq.c
Original file line number Diff line number Diff line change
Expand Up @@ -67,7 +67,7 @@ static struct irq_chip pxa_internal_chip_low = {
.set_wake = pxa_set_wake,
};

#if PXA_INTERNAL_IRQS > 32
#ifdef CONFIG_PXA27x

/*
* This is for the second set of internal IRQs as found on the PXA27x.
Expand All @@ -90,6 +90,19 @@ static struct irq_chip pxa_internal_chip_high = {
.unmask = pxa_unmask_high_irq,
};

void __init pxa_init_irq_high(void)
{
int irq;

ICMR2 = 0;
ICLR2 = 0;

for (irq = PXA_IRQ(32); irq < PXA_IRQ(64); irq++) {
set_irq_chip(irq, &pxa_internal_chip_high);
set_irq_handler(irq, handle_level_irq);
set_irq_flags(irq, IRQF_VALID);
}
}
#endif

/* Note that if an input/irq line ever gets changed to an output during
Expand Down Expand Up @@ -314,7 +327,6 @@ static struct irq_chip pxa_muxed_gpio_chip = {
.set_wake = pxa_set_gpio_wake,
};


void __init pxa_init_irq(void)
{
int irq;
Expand All @@ -338,8 +350,6 @@ void __init pxa_init_irq(void)

#ifdef CONFIG_PXA27x
/* And similarly for the extra regs on the PXA27x */
ICMR2 = 0;
ICLR2 = 0;
GFER3 = 0;
GRER3 = 0;
GEDR3 = GEDR3;
Expand All @@ -357,12 +367,8 @@ void __init pxa_init_irq(void)
set_irq_flags(irq, IRQF_VALID);
}

#if PXA_INTERNAL_IRQS > 32
for (irq = PXA_IRQ(32); irq < PXA_IRQ(PXA_INTERNAL_IRQS); irq++) {
set_irq_chip(irq, &pxa_internal_chip_high);
set_irq_handler(irq, handle_level_irq);
set_irq_flags(irq, IRQF_VALID);
}
#ifdef CONFIG_PXA27x
pxa_init_irq_high();
#endif

for (irq = IRQ_GPIO0; irq <= IRQ_GPIO1; irq++) {
Expand Down
15 changes: 6 additions & 9 deletions trunk/include/asm-arm/arch-pxa/irqs.h
Original file line number Diff line number Diff line change
Expand Up @@ -55,18 +55,15 @@
#ifdef CONFIG_PXA27x
#define IRQ_TPM PXA_IRQ(32) /* TPM interrupt */
#define IRQ_CAMERA PXA_IRQ(33) /* Camera Interface */

#define PXA_INTERNAL_IRQS 34
#else
#define PXA_INTERNAL_IRQS 32
#endif

#define GPIO_2_x_TO_IRQ(x) \
PXA_IRQ((x) - 2 + PXA_INTERNAL_IRQS)
#define PXA_GPIO_IRQ_BASE (64)
#define PXA_GPIO_IRQ_NUM (128)

#define GPIO_2_x_TO_IRQ(x) (PXA_GPIO_IRQ_BASE + (x))
#define IRQ_GPIO(x) (((x) < 2) ? (IRQ_GPIO0 + (x)) : GPIO_2_x_TO_IRQ(x))

#define IRQ_TO_GPIO_2_x(i) \
((i) - IRQ_GPIO(2) + 2)
#define IRQ_TO_GPIO_2_x(i) ((i) - PXA_GPIO_IRQ_BASE)
#define IRQ_TO_GPIO(i) (((i) < IRQ_GPIO(2)) ? ((i) - IRQ_GPIO0) : IRQ_TO_GPIO_2_x(i))

#if defined(CONFIG_PXA25x)
Expand All @@ -81,7 +78,7 @@
* these. If you need more, increase IRQ_BOARD_END, but keep it
* within sensible limits.
*/
#define IRQ_BOARD_START (IRQ_GPIO(PXA_LAST_GPIO) + 1)
#define IRQ_BOARD_START (PXA_GPIO_IRQ_BASE + PXA_GPIO_IRQ_NUM)
#define IRQ_BOARD_END (IRQ_BOARD_START + 16)

#define IRQ_SA1111_START (IRQ_BOARD_END)
Expand Down

0 comments on commit 440c19b

Please sign in to comment.