diff options
author | Magnus Damm <damm@opensource.se> | 2010-02-09 01:49:48 -0500 |
---|---|---|
committer | Paul Mundt <lethal@linux-sh.org> | 2010-02-09 04:24:29 -0500 |
commit | 8d9adabac3a3a3742c7a47da9e456108a0fd2efb (patch) | |
tree | ab977746ccde97d9eb98ebd106356bcfb94e7b6a /arch/sh/kernel/cpu/sh4a/setup-sh7722.c | |
parent | 7896cd0f5a4fa7eb833064e31d8970b95c9faac5 (diff) |
sh: sh7722/Migo-R SDHI vector merge
Merge the SDHI vectors in the sh7722 INTC table
and update the SDHI platform data for Migo-R.
Signed-off-by: Magnus Damm <damm@opensource.se>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Diffstat (limited to 'arch/sh/kernel/cpu/sh4a/setup-sh7722.c')
-rw-r--r-- | arch/sh/kernel/cpu/sh4a/setup-sh7722.c | 18 |
1 files changed, 10 insertions, 8 deletions
diff --git a/arch/sh/kernel/cpu/sh4a/setup-sh7722.c b/arch/sh/kernel/cpu/sh4a/setup-sh7722.c index b5335b5e309c..0949135a125c 100644 --- a/arch/sh/kernel/cpu/sh4a/setup-sh7722.c +++ b/arch/sh/kernel/cpu/sh4a/setup-sh7722.c | |||
@@ -446,6 +446,7 @@ void __init plat_early_device_setup(void) | |||
446 | 446 | ||
447 | enum { | 447 | enum { |
448 | UNUSED=0, | 448 | UNUSED=0, |
449 | ENABLED, | ||
449 | 450 | ||
450 | /* interrupt sources */ | 451 | /* interrupt sources */ |
451 | IRQ0, IRQ1, IRQ2, IRQ3, IRQ4, IRQ5, IRQ6, IRQ7, | 452 | IRQ0, IRQ1, IRQ2, IRQ3, IRQ4, IRQ5, IRQ6, IRQ7, |
@@ -461,7 +462,6 @@ enum { | |||
461 | SCIF0, SCIF1, SCIF2, SIOF0, SIOF1, SIO, | 462 | SCIF0, SCIF1, SCIF2, SIOF0, SIOF1, SIO, |
462 | FLCTL_FLSTEI, FLCTL_FLENDI, FLCTL_FLTREQ0I, FLCTL_FLTREQ1I, | 463 | FLCTL_FLSTEI, FLCTL_FLENDI, FLCTL_FLTREQ0I, FLCTL_FLTREQ1I, |
463 | I2C_ALI, I2C_TACKI, I2C_WAITI, I2C_DTEI, | 464 | I2C_ALI, I2C_TACKI, I2C_WAITI, I2C_DTEI, |
464 | SDHI0, SDHI1, SDHI2, SDHI3, | ||
465 | CMT, TSIF, SIU, TWODG, | 465 | CMT, TSIF, SIU, TWODG, |
466 | TMU0, TMU1, TMU2, | 466 | TMU0, TMU1, TMU2, |
467 | IRDA, JPU, LCDC, | 467 | IRDA, JPU, LCDC, |
@@ -494,8 +494,8 @@ static struct intc_vect vectors[] __initdata = { | |||
494 | INTC_VECT(FLCTL_FLTREQ0I, 0xdc0), INTC_VECT(FLCTL_FLTREQ1I, 0xde0), | 494 | INTC_VECT(FLCTL_FLTREQ0I, 0xdc0), INTC_VECT(FLCTL_FLTREQ1I, 0xde0), |
495 | INTC_VECT(I2C_ALI, 0xe00), INTC_VECT(I2C_TACKI, 0xe20), | 495 | INTC_VECT(I2C_ALI, 0xe00), INTC_VECT(I2C_TACKI, 0xe20), |
496 | INTC_VECT(I2C_WAITI, 0xe40), INTC_VECT(I2C_DTEI, 0xe60), | 496 | INTC_VECT(I2C_WAITI, 0xe40), INTC_VECT(I2C_DTEI, 0xe60), |
497 | INTC_VECT(SDHI0, 0xe80), INTC_VECT(SDHI1, 0xea0), | 497 | INTC_VECT(SDHI, 0xe80), INTC_VECT(SDHI, 0xea0), |
498 | INTC_VECT(SDHI2, 0xec0), INTC_VECT(SDHI3, 0xee0), | 498 | INTC_VECT(SDHI, 0xec0), INTC_VECT(SDHI, 0xee0), |
499 | INTC_VECT(CMT, 0xf00), INTC_VECT(TSIF, 0xf20), | 499 | INTC_VECT(CMT, 0xf00), INTC_VECT(TSIF, 0xf20), |
500 | INTC_VECT(SIU, 0xf80), INTC_VECT(TWODG, 0xfa0), | 500 | INTC_VECT(SIU, 0xf80), INTC_VECT(TWODG, 0xfa0), |
501 | INTC_VECT(TMU0, 0x400), INTC_VECT(TMU1, 0x420), | 501 | INTC_VECT(TMU0, 0x400), INTC_VECT(TMU1, 0x420), |
@@ -513,7 +513,6 @@ static struct intc_group groups[] __initdata = { | |||
513 | INTC_GROUP(FLCTL, FLCTL_FLSTEI, FLCTL_FLENDI, | 513 | INTC_GROUP(FLCTL, FLCTL_FLSTEI, FLCTL_FLENDI, |
514 | FLCTL_FLTREQ0I, FLCTL_FLTREQ1I), | 514 | FLCTL_FLTREQ0I, FLCTL_FLTREQ1I), |
515 | INTC_GROUP(I2C, I2C_ALI, I2C_TACKI, I2C_WAITI, I2C_DTEI), | 515 | INTC_GROUP(I2C, I2C_ALI, I2C_TACKI, I2C_WAITI, I2C_DTEI), |
516 | INTC_GROUP(SDHI, SDHI0, SDHI1, SDHI2, SDHI3), | ||
517 | }; | 516 | }; |
518 | 517 | ||
519 | static struct intc_mask_reg mask_registers[] __initdata = { | 518 | static struct intc_mask_reg mask_registers[] __initdata = { |
@@ -535,7 +534,7 @@ static struct intc_mask_reg mask_registers[] __initdata = { | |||
535 | { I2C_DTEI, I2C_WAITI, I2C_TACKI, I2C_ALI, | 534 | { I2C_DTEI, I2C_WAITI, I2C_TACKI, I2C_ALI, |
536 | FLCTL_FLTREQ1I, FLCTL_FLTREQ0I, FLCTL_FLENDI, FLCTL_FLSTEI } }, | 535 | FLCTL_FLTREQ1I, FLCTL_FLTREQ0I, FLCTL_FLENDI, FLCTL_FLSTEI } }, |
537 | { 0xa40800a0, 0xa40800e0, 8, /* IMR8 / IMCR8 */ | 536 | { 0xa40800a0, 0xa40800e0, 8, /* IMR8 / IMCR8 */ |
538 | { SDHI3, SDHI2, SDHI1, SDHI0, 0, 0, TWODG, SIU } }, | 537 | { 0, 0, ENABLED, ENABLED, 0, 0, TWODG, SIU } }, |
539 | { 0xa40800a4, 0xa40800e4, 8, /* IMR9 / IMCR9 */ | 538 | { 0xa40800a4, 0xa40800e4, 8, /* IMR9 / IMCR9 */ |
540 | { 0, 0, 0, CMT, 0, USB_USBI1, USB_USBI0, } }, | 539 | { 0, 0, 0, CMT, 0, USB_USBI1, USB_USBI0, } }, |
541 | { 0xa40800a8, 0xa40800e8, 8, /* IMR10 / IMCR10 */ | 540 | { 0xa40800a8, 0xa40800e8, 8, /* IMR10 / IMCR10 */ |
@@ -573,9 +572,12 @@ static struct intc_mask_reg ack_registers[] __initdata = { | |||
573 | { IRQ0, IRQ1, IRQ2, IRQ3, IRQ4, IRQ5, IRQ6, IRQ7 } }, | 572 | { IRQ0, IRQ1, IRQ2, IRQ3, IRQ4, IRQ5, IRQ6, IRQ7 } }, |
574 | }; | 573 | }; |
575 | 574 | ||
576 | static DECLARE_INTC_DESC_ACK(intc_desc, "sh7722", vectors, groups, | 575 | static struct intc_desc intc_desc __initdata = { |
577 | mask_registers, prio_registers, sense_registers, | 576 | .name = "sh7722", |
578 | ack_registers); | 577 | .force_enable = ENABLED, |
578 | .hw = INTC_HW_DESC(vectors, groups, mask_registers, | ||
579 | prio_registers, sense_registers, ack_registers), | ||
580 | }; | ||
579 | 581 | ||
580 | void __init plat_irq_setup(void) | 582 | void __init plat_irq_setup(void) |
581 | { | 583 | { |