diff options
Diffstat (limited to 'arch/arm/mach-shmobile')
-rw-r--r-- | arch/arm/mach-shmobile/pfc-sh73a0.c | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/arch/arm/mach-shmobile/pfc-sh73a0.c b/arch/arm/mach-shmobile/pfc-sh73a0.c index a26d9059036b..57322c9fd9b6 100644 --- a/arch/arm/mach-shmobile/pfc-sh73a0.c +++ b/arch/arm/mach-shmobile/pfc-sh73a0.c | |||
@@ -22,6 +22,7 @@ | |||
22 | #include <linux/kernel.h> | 22 | #include <linux/kernel.h> |
23 | #include <linux/gpio.h> | 23 | #include <linux/gpio.h> |
24 | #include <mach/sh73a0.h> | 24 | #include <mach/sh73a0.h> |
25 | #include <mach/irqs.h> | ||
25 | 26 | ||
26 | #define _1(fn, pfx, sfx) fn(pfx, sfx) | 27 | #define _1(fn, pfx, sfx) fn(pfx, sfx) |
27 | 28 | ||
@@ -2765,6 +2766,43 @@ static struct pinmux_data_reg pinmux_data_regs[] = { | |||
2765 | { }, | 2766 | { }, |
2766 | }; | 2767 | }; |
2767 | 2768 | ||
2769 | #define EXT_IRQ(n) gic_spi((n) + 1) /* GIC SPI starting from 1 for IRQ0 */ | ||
2770 | |||
2771 | static struct pinmux_irq pinmux_irqs[] = { | ||
2772 | PINMUX_IRQ(EXT_IRQ(19), PORT9_FN0), | ||
2773 | PINMUX_IRQ(EXT_IRQ(1), PORT10_FN0), | ||
2774 | PINMUX_IRQ(EXT_IRQ(0), PORT11_FN0), | ||
2775 | PINMUX_IRQ(EXT_IRQ(18), PORT13_FN0), | ||
2776 | PINMUX_IRQ(EXT_IRQ(20), PORT14_FN0), | ||
2777 | PINMUX_IRQ(EXT_IRQ(21), PORT15_FN0), | ||
2778 | PINMUX_IRQ(EXT_IRQ(31), PORT26_FN0), | ||
2779 | PINMUX_IRQ(EXT_IRQ(30), PORT27_FN0), | ||
2780 | PINMUX_IRQ(EXT_IRQ(29), PORT28_FN0), | ||
2781 | PINMUX_IRQ(EXT_IRQ(22), PORT40_FN0), | ||
2782 | PINMUX_IRQ(EXT_IRQ(23), PORT53_FN0), | ||
2783 | PINMUX_IRQ(EXT_IRQ(10), PORT54_FN0), | ||
2784 | PINMUX_IRQ(EXT_IRQ(9), PORT56_FN0), | ||
2785 | PINMUX_IRQ(EXT_IRQ(26), PORT115_FN0), | ||
2786 | PINMUX_IRQ(EXT_IRQ(27), PORT116_FN0), | ||
2787 | PINMUX_IRQ(EXT_IRQ(28), PORT117_FN0), | ||
2788 | PINMUX_IRQ(EXT_IRQ(24), PORT118_FN0), | ||
2789 | PINMUX_IRQ(EXT_IRQ(6), PORT147_FN0), | ||
2790 | PINMUX_IRQ(EXT_IRQ(2), PORT149_FN0), | ||
2791 | PINMUX_IRQ(EXT_IRQ(7), PORT150_FN0), | ||
2792 | PINMUX_IRQ(EXT_IRQ(12), PORT156_FN0), | ||
2793 | PINMUX_IRQ(EXT_IRQ(4), PORT159_FN0), | ||
2794 | PINMUX_IRQ(EXT_IRQ(25), PORT164_FN0), | ||
2795 | PINMUX_IRQ(EXT_IRQ(8), PORT223_FN0), | ||
2796 | PINMUX_IRQ(EXT_IRQ(3), PORT224_FN0), | ||
2797 | PINMUX_IRQ(EXT_IRQ(5), PORT227_FN0), | ||
2798 | PINMUX_IRQ(EXT_IRQ(17), PORT234_FN0), | ||
2799 | PINMUX_IRQ(EXT_IRQ(11), PORT238_FN0), | ||
2800 | PINMUX_IRQ(EXT_IRQ(13), PORT239_FN0), | ||
2801 | PINMUX_IRQ(EXT_IRQ(16), PORT249_FN0), | ||
2802 | PINMUX_IRQ(EXT_IRQ(14), PORT251_FN0), | ||
2803 | PINMUX_IRQ(EXT_IRQ(9), PORT308_FN0), | ||
2804 | }; | ||
2805 | |||
2768 | static struct pinmux_info sh73a0_pinmux_info = { | 2806 | static struct pinmux_info sh73a0_pinmux_info = { |
2769 | .name = "sh73a0_pfc", | 2807 | .name = "sh73a0_pfc", |
2770 | .reserved_id = PINMUX_RESERVED, | 2808 | .reserved_id = PINMUX_RESERVED, |
@@ -2785,6 +2823,9 @@ static struct pinmux_info sh73a0_pinmux_info = { | |||
2785 | 2823 | ||
2786 | .gpio_data = pinmux_data, | 2824 | .gpio_data = pinmux_data, |
2787 | .gpio_data_size = ARRAY_SIZE(pinmux_data), | 2825 | .gpio_data_size = ARRAY_SIZE(pinmux_data), |
2826 | |||
2827 | .gpio_irq = pinmux_irqs, | ||
2828 | .gpio_irq_size = ARRAY_SIZE(pinmux_irqs), | ||
2788 | }; | 2829 | }; |
2789 | 2830 | ||
2790 | void sh73a0_pinmux_init(void) | 2831 | void sh73a0_pinmux_init(void) |