aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-shmobile
diff options
context:
space:
mode:
Diffstat (limited to 'arch/arm/mach-shmobile')
-rw-r--r--arch/arm/mach-shmobile/pfc-sh73a0.c41
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
2771static 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
2768static struct pinmux_info sh73a0_pinmux_info = { 2806static 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
2790void sh73a0_pinmux_init(void) 2831void sh73a0_pinmux_init(void)