diff options
author | Magnus Damm <damm@opensource.se> | 2013-03-26 09:50:09 -0400 |
---|---|---|
committer | Simon Horman <horms+renesas@verge.net.au> | 2013-04-02 21:30:39 -0400 |
commit | c96931ca88b583a2d7c8bb02a33871c982bd5b68 (patch) | |
tree | fbc9c74302382f8373a9b9794e91248b3844b9d5 /drivers/pinctrl | |
parent | f365bfcc8723e41b9110c5e7eb292a39b26ad8ba (diff) |
sh-pfc: r8a73a4: GPIO IRQ support
V2 of code to add GPIO -> IRQ mappings to the
PFC table for the r8a73a4 SoC. Requires the IRQs
to be mapped at a fixed location in Linux IRQ
space. The actual IRQs are not handled by the
PFC, instead IRQC is used on r8a73a4.
Signed-off-by: Magnus Damm <damm@opensource.se>
Acked-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
Diffstat (limited to 'drivers/pinctrl')
-rw-r--r-- | drivers/pinctrl/sh-pfc/pfc-r8a73a4.c | 63 |
1 files changed, 63 insertions, 0 deletions
diff --git a/drivers/pinctrl/sh-pfc/pfc-r8a73a4.c b/drivers/pinctrl/sh-pfc/pfc-r8a73a4.c index 5dd68fb96274..01773291ea91 100644 --- a/drivers/pinctrl/sh-pfc/pfc-r8a73a4.c +++ b/drivers/pinctrl/sh-pfc/pfc-r8a73a4.c | |||
@@ -2818,6 +2818,66 @@ static const struct pinmux_data_reg pinmux_data_regs[] = { | |||
2818 | { }, | 2818 | { }, |
2819 | }; | 2819 | }; |
2820 | 2820 | ||
2821 | static const struct pinmux_irq pinmux_irqs[] = { | ||
2822 | PINMUX_IRQ(irq_pin(0), 0), | ||
2823 | PINMUX_IRQ(irq_pin(1), 1), | ||
2824 | PINMUX_IRQ(irq_pin(2), 2), | ||
2825 | PINMUX_IRQ(irq_pin(3), 3), | ||
2826 | PINMUX_IRQ(irq_pin(4), 4), | ||
2827 | PINMUX_IRQ(irq_pin(5), 5), | ||
2828 | PINMUX_IRQ(irq_pin(6), 6), | ||
2829 | PINMUX_IRQ(irq_pin(7), 7), | ||
2830 | PINMUX_IRQ(irq_pin(8), 8), | ||
2831 | PINMUX_IRQ(irq_pin(9), 9), | ||
2832 | PINMUX_IRQ(irq_pin(10), 10), | ||
2833 | PINMUX_IRQ(irq_pin(11), 11), | ||
2834 | PINMUX_IRQ(irq_pin(12), 12), | ||
2835 | PINMUX_IRQ(irq_pin(13), 13), | ||
2836 | PINMUX_IRQ(irq_pin(14), 14), | ||
2837 | PINMUX_IRQ(irq_pin(15), 15), | ||
2838 | PINMUX_IRQ(irq_pin(16), 320), | ||
2839 | PINMUX_IRQ(irq_pin(17), 321), | ||
2840 | PINMUX_IRQ(irq_pin(18), 85), | ||
2841 | PINMUX_IRQ(irq_pin(19), 84), | ||
2842 | PINMUX_IRQ(irq_pin(20), 160), | ||
2843 | PINMUX_IRQ(irq_pin(21), 161), | ||
2844 | PINMUX_IRQ(irq_pin(22), 162), | ||
2845 | PINMUX_IRQ(irq_pin(23), 163), | ||
2846 | PINMUX_IRQ(irq_pin(24), 175), | ||
2847 | PINMUX_IRQ(irq_pin(25), 176), | ||
2848 | PINMUX_IRQ(irq_pin(26), 177), | ||
2849 | PINMUX_IRQ(irq_pin(27), 178), | ||
2850 | PINMUX_IRQ(irq_pin(28), 322), | ||
2851 | PINMUX_IRQ(irq_pin(29), 323), | ||
2852 | PINMUX_IRQ(irq_pin(30), 324), | ||
2853 | PINMUX_IRQ(irq_pin(31), 192), | ||
2854 | PINMUX_IRQ(irq_pin(32), 193), | ||
2855 | PINMUX_IRQ(irq_pin(33), 194), | ||
2856 | PINMUX_IRQ(irq_pin(34), 195), | ||
2857 | PINMUX_IRQ(irq_pin(35), 196), | ||
2858 | PINMUX_IRQ(irq_pin(36), 197), | ||
2859 | PINMUX_IRQ(irq_pin(37), 198), | ||
2860 | PINMUX_IRQ(irq_pin(38), 199), | ||
2861 | PINMUX_IRQ(irq_pin(39), 200), | ||
2862 | PINMUX_IRQ(irq_pin(40), 66), | ||
2863 | PINMUX_IRQ(irq_pin(41), 102), | ||
2864 | PINMUX_IRQ(irq_pin(42), 103), | ||
2865 | PINMUX_IRQ(irq_pin(43), 109), | ||
2866 | PINMUX_IRQ(irq_pin(44), 110), | ||
2867 | PINMUX_IRQ(irq_pin(45), 111), | ||
2868 | PINMUX_IRQ(irq_pin(46), 112), | ||
2869 | PINMUX_IRQ(irq_pin(47), 113), | ||
2870 | PINMUX_IRQ(irq_pin(48), 114), | ||
2871 | PINMUX_IRQ(irq_pin(49), 115), | ||
2872 | PINMUX_IRQ(irq_pin(50), 301), | ||
2873 | PINMUX_IRQ(irq_pin(51), 290), | ||
2874 | PINMUX_IRQ(irq_pin(52), 296), | ||
2875 | PINMUX_IRQ(irq_pin(53), 325), | ||
2876 | PINMUX_IRQ(irq_pin(54), 326), | ||
2877 | PINMUX_IRQ(irq_pin(55), 327), | ||
2878 | PINMUX_IRQ(irq_pin(56), 328), | ||
2879 | PINMUX_IRQ(irq_pin(57), 329), | ||
2880 | }; | ||
2821 | const struct sh_pfc_soc_info r8a73a4_pinmux_info = { | 2881 | const struct sh_pfc_soc_info r8a73a4_pinmux_info = { |
2822 | .name = "r8a73a4_pfc", | 2882 | .name = "r8a73a4_pfc", |
2823 | 2883 | ||
@@ -2839,4 +2899,7 @@ const struct sh_pfc_soc_info r8a73a4_pinmux_info = { | |||
2839 | 2899 | ||
2840 | .gpio_data = pinmux_data, | 2900 | .gpio_data = pinmux_data, |
2841 | .gpio_data_size = ARRAY_SIZE(pinmux_data), | 2901 | .gpio_data_size = ARRAY_SIZE(pinmux_data), |
2902 | |||
2903 | .gpio_irq = pinmux_irqs, | ||
2904 | .gpio_irq_size = ARRAY_SIZE(pinmux_irqs), | ||
2842 | }; | 2905 | }; |