diff options
author | Magnus Damm <damm@opensource.se> | 2010-02-09 01:49:56 -0500 |
---|---|---|
committer | Paul Mundt <lethal@linux-sh.org> | 2010-02-09 04:24:30 -0500 |
commit | e3e80046e0ce2a595e607a62b650a9b4efea6558 (patch) | |
tree | 05cd4e1c960a113d5b0aacca84a584e0a57026c9 /arch/sh | |
parent | 8d9adabac3a3a3742c7a47da9e456108a0fd2efb (diff) |
sh: sh7723/AP325 SDHI vector merge
Merge the SDHI vectors in the sh7723 INTC table
and update the SDHI platform data for AP325.
Signed-off-by: Magnus Damm <damm@opensource.se>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Diffstat (limited to 'arch/sh')
-rw-r--r-- | arch/sh/boards/mach-ap325rxa/setup.c | 4 | ||||
-rw-r--r-- | arch/sh/kernel/cpu/sh4a/setup-sh7723.c | 32 |
2 files changed, 19 insertions, 17 deletions
diff --git a/arch/sh/boards/mach-ap325rxa/setup.c b/arch/sh/boards/mach-ap325rxa/setup.c index 27277cbdb636..b5980696abbe 100644 --- a/arch/sh/boards/mach-ap325rxa/setup.c +++ b/arch/sh/boards/mach-ap325rxa/setup.c | |||
@@ -420,7 +420,7 @@ static struct resource sdhi0_cn3_resources[] = { | |||
420 | .flags = IORESOURCE_MEM, | 420 | .flags = IORESOURCE_MEM, |
421 | }, | 421 | }, |
422 | [1] = { | 422 | [1] = { |
423 | .start = 101, | 423 | .start = 100, |
424 | .flags = IORESOURCE_IRQ, | 424 | .flags = IORESOURCE_IRQ, |
425 | }, | 425 | }, |
426 | }; | 426 | }; |
@@ -443,7 +443,7 @@ static struct resource sdhi1_cn7_resources[] = { | |||
443 | .flags = IORESOURCE_MEM, | 443 | .flags = IORESOURCE_MEM, |
444 | }, | 444 | }, |
445 | [1] = { | 445 | [1] = { |
446 | .start = 24, | 446 | .start = 23, |
447 | .flags = IORESOURCE_IRQ, | 447 | .flags = IORESOURCE_IRQ, |
448 | }, | 448 | }, |
449 | }; | 449 | }; |
diff --git a/arch/sh/kernel/cpu/sh4a/setup-sh7723.c b/arch/sh/kernel/cpu/sh4a/setup-sh7723.c index 9e8620e3ad3e..7b90ebcfa20e 100644 --- a/arch/sh/kernel/cpu/sh4a/setup-sh7723.c +++ b/arch/sh/kernel/cpu/sh4a/setup-sh7723.c | |||
@@ -601,6 +601,7 @@ void l2_cache_init(void) | |||
601 | 601 | ||
602 | enum { | 602 | enum { |
603 | UNUSED=0, | 603 | UNUSED=0, |
604 | ENABLED, | ||
604 | 605 | ||
605 | /* interrupt sources */ | 606 | /* interrupt sources */ |
606 | IRQ0, IRQ1, IRQ2, IRQ3, IRQ4, IRQ5, IRQ6, IRQ7, | 607 | IRQ0, IRQ1, IRQ2, IRQ3, IRQ4, IRQ5, IRQ6, IRQ7, |
@@ -623,7 +624,6 @@ enum { | |||
623 | SCIFA_SCIFA1, | 624 | SCIFA_SCIFA1, |
624 | FLCTL_FLSTEI,FLCTL_FLTENDI,FLCTL_FLTREQ0I,FLCTL_FLTREQ1I, | 625 | FLCTL_FLSTEI,FLCTL_FLTENDI,FLCTL_FLTREQ0I,FLCTL_FLTREQ1I, |
625 | I2C_ALI,I2C_TACKI,I2C_WAITI,I2C_DTEI, | 626 | I2C_ALI,I2C_TACKI,I2C_WAITI,I2C_DTEI, |
626 | SDHI0_SDHII0,SDHI0_SDHII1,SDHI0_SDHII2, | ||
627 | CMT_CMTI, | 627 | CMT_CMTI, |
628 | TSIF_TSIFI, | 628 | TSIF_TSIFI, |
629 | SIU_SIUI, | 629 | SIU_SIUI, |
@@ -631,7 +631,6 @@ enum { | |||
631 | TMU0_TUNI0, TMU0_TUNI1, TMU0_TUNI2, | 631 | TMU0_TUNI0, TMU0_TUNI1, TMU0_TUNI2, |
632 | IRDA_IRDAI, | 632 | IRDA_IRDAI, |
633 | ATAPI_ATAPII, | 633 | ATAPI_ATAPII, |
634 | SDHI1_SDHII0,SDHI1_SDHII1,SDHI1_SDHII2, | ||
635 | VEU2H1_VEU2HI, | 634 | VEU2H1_VEU2HI, |
636 | LCDC_LCDCI, | 635 | LCDC_LCDCI, |
637 | TMU1_TUNI0,TMU1_TUNI1,TMU1_TUNI2, | 636 | TMU1_TUNI0,TMU1_TUNI1,TMU1_TUNI2, |
@@ -702,9 +701,9 @@ static struct intc_vect vectors[] __initdata = { | |||
702 | INTC_VECT(I2C_WAITI,0xE40), | 701 | INTC_VECT(I2C_WAITI,0xE40), |
703 | INTC_VECT(I2C_DTEI,0xE60), | 702 | INTC_VECT(I2C_DTEI,0xE60), |
704 | 703 | ||
705 | INTC_VECT(SDHI0_SDHII0,0xE80), | 704 | INTC_VECT(SDHI0, 0xE80), |
706 | INTC_VECT(SDHI0_SDHII1,0xEA0), | 705 | INTC_VECT(SDHI0, 0xEA0), |
707 | INTC_VECT(SDHI0_SDHII2,0xEC0), | 706 | INTC_VECT(SDHI0, 0xEC0), |
708 | 707 | ||
709 | INTC_VECT(CMT_CMTI,0xF00), | 708 | INTC_VECT(CMT_CMTI,0xF00), |
710 | INTC_VECT(TSIF_TSIFI,0xF20), | 709 | INTC_VECT(TSIF_TSIFI,0xF20), |
@@ -718,9 +717,9 @@ static struct intc_vect vectors[] __initdata = { | |||
718 | INTC_VECT(IRDA_IRDAI,0x480), | 717 | INTC_VECT(IRDA_IRDAI,0x480), |
719 | INTC_VECT(ATAPI_ATAPII,0x4A0), | 718 | INTC_VECT(ATAPI_ATAPII,0x4A0), |
720 | 719 | ||
721 | INTC_VECT(SDHI1_SDHII0,0x4E0), | 720 | INTC_VECT(SDHI1, 0x4E0), |
722 | INTC_VECT(SDHI1_SDHII1,0x500), | 721 | INTC_VECT(SDHI1, 0x500), |
723 | INTC_VECT(SDHI1_SDHII2,0x520), | 722 | INTC_VECT(SDHI1, 0x520), |
724 | 723 | ||
725 | INTC_VECT(VEU2H1_VEU2HI,0x560), | 724 | INTC_VECT(VEU2H1_VEU2HI,0x560), |
726 | INTC_VECT(LCDC_LCDCI,0x580), | 725 | INTC_VECT(LCDC_LCDCI,0x580), |
@@ -739,15 +738,14 @@ static struct intc_group groups[] __initdata = { | |||
739 | INTC_GROUP(FLCTL,FLCTL_FLSTEI,FLCTL_FLTENDI,FLCTL_FLTREQ0I,FLCTL_FLTREQ1I), | 738 | INTC_GROUP(FLCTL,FLCTL_FLSTEI,FLCTL_FLTENDI,FLCTL_FLTREQ0I,FLCTL_FLTREQ1I), |
740 | INTC_GROUP(I2C,I2C_ALI,I2C_TACKI,I2C_WAITI,I2C_DTEI), | 739 | INTC_GROUP(I2C,I2C_ALI,I2C_TACKI,I2C_WAITI,I2C_DTEI), |
741 | INTC_GROUP(_2DG, _2DG_TRI,_2DG_INI,_2DG_CEI), | 740 | INTC_GROUP(_2DG, _2DG_TRI,_2DG_INI,_2DG_CEI), |
742 | INTC_GROUP(SDHI1, SDHI1_SDHII0,SDHI1_SDHII1,SDHI1_SDHII2), | ||
743 | INTC_GROUP(RTC, RTC_ATI,RTC_PRI,RTC_CUI), | 741 | INTC_GROUP(RTC, RTC_ATI,RTC_PRI,RTC_CUI), |
744 | INTC_GROUP(DMAC1B, DMAC1B_DEI4,DMAC1B_DEI5,DMAC1B_DADERR), | 742 | INTC_GROUP(DMAC1B, DMAC1B_DEI4,DMAC1B_DEI5,DMAC1B_DADERR), |
745 | INTC_GROUP(SDHI0,SDHI0_SDHII0,SDHI0_SDHII1,SDHI0_SDHII2), | ||
746 | }; | 743 | }; |
747 | 744 | ||
748 | static struct intc_mask_reg mask_registers[] __initdata = { | 745 | static struct intc_mask_reg mask_registers[] __initdata = { |
749 | { 0xa4080080, 0xa40800c0, 8, /* IMR0 / IMCR0 */ | 746 | { 0xa4080080, 0xa40800c0, 8, /* IMR0 / IMCR0 */ |
750 | { 0, TMU1_TUNI2,TMU1_TUNI1,TMU1_TUNI0,0,SDHI1_SDHII2,SDHI1_SDHII1,SDHI1_SDHII0} }, | 747 | { 0, TMU1_TUNI2, TMU1_TUNI1, TMU1_TUNI0, |
748 | 0, 0, ENABLED, ENABLED } }, | ||
751 | { 0xa4080084, 0xa40800c4, 8, /* IMR1 / IMCR1 */ | 749 | { 0xa4080084, 0xa40800c4, 8, /* IMR1 / IMCR1 */ |
752 | { VIO_VOUI, VIO_VEU2HI,VIO_BEUI,VIO_CEUI,DMAC0A_DEI3,DMAC0A_DEI2,DMAC0A_DEI1,DMAC0A_DEI0 } }, | 750 | { VIO_VOUI, VIO_VEU2HI,VIO_BEUI,VIO_CEUI,DMAC0A_DEI3,DMAC0A_DEI2,DMAC0A_DEI1,DMAC0A_DEI0 } }, |
753 | { 0xa4080088, 0xa40800c8, 8, /* IMR2 / IMCR2 */ | 751 | { 0xa4080088, 0xa40800c8, 8, /* IMR2 / IMCR2 */ |
@@ -764,7 +762,8 @@ static struct intc_mask_reg mask_registers[] __initdata = { | |||
764 | { I2C_DTEI, I2C_WAITI, I2C_TACKI, I2C_ALI, | 762 | { I2C_DTEI, I2C_WAITI, I2C_TACKI, I2C_ALI, |
765 | FLCTL_FLTREQ1I, FLCTL_FLTREQ0I, FLCTL_FLTENDI, FLCTL_FLSTEI } }, | 763 | FLCTL_FLTREQ1I, FLCTL_FLTREQ0I, FLCTL_FLTENDI, FLCTL_FLSTEI } }, |
766 | { 0xa40800a0, 0xa40800e0, 8, /* IMR8 / IMCR8 */ | 764 | { 0xa40800a0, 0xa40800e0, 8, /* IMR8 / IMCR8 */ |
767 | { 0,SDHI0_SDHII2,SDHI0_SDHII1,SDHI0_SDHII0,0,0,SCIFA_SCIFA2,SIU_SIUI } }, | 765 | { 0, 0, ENABLED, ENABLED, |
766 | 0, 0, SCIFA_SCIFA2, SIU_SIUI } }, | ||
768 | { 0xa40800a4, 0xa40800e4, 8, /* IMR9 / IMCR9 */ | 767 | { 0xa40800a4, 0xa40800e4, 8, /* IMR9 / IMCR9 */ |
769 | { 0, 0, 0, CMT_CMTI, 0, 0, USB_USI0,0 } }, | 768 | { 0, 0, 0, CMT_CMTI, 0, 0, USB_USI0,0 } }, |
770 | { 0xa40800a8, 0xa40800e8, 8, /* IMR10 / IMCR10 */ | 769 | { 0xa40800a8, 0xa40800e8, 8, /* IMR10 / IMCR10 */ |
@@ -804,9 +803,12 @@ static struct intc_mask_reg ack_registers[] __initdata = { | |||
804 | { IRQ0, IRQ1, IRQ2, IRQ3, IRQ4, IRQ5, IRQ6, IRQ7 } }, | 803 | { IRQ0, IRQ1, IRQ2, IRQ3, IRQ4, IRQ5, IRQ6, IRQ7 } }, |
805 | }; | 804 | }; |
806 | 805 | ||
807 | static DECLARE_INTC_DESC_ACK(intc_desc, "sh7723", vectors, groups, | 806 | static struct intc_desc intc_desc __initdata = { |
808 | mask_registers, prio_registers, sense_registers, | 807 | .name = "sh7723", |
809 | ack_registers); | 808 | .force_enable = ENABLED, |
809 | .hw = INTC_HW_DESC(vectors, groups, mask_registers, | ||
810 | prio_registers, sense_registers, ack_registers), | ||
811 | }; | ||
810 | 812 | ||
811 | void __init plat_irq_setup(void) | 813 | void __init plat_irq_setup(void) |
812 | { | 814 | { |