diff options
author | Boris BREZILLON <boris.brezillon@free-electrons.com> | 2014-04-10 09:52:44 -0400 |
---|---|---|
committer | Linus Walleij <linus.walleij@linaro.org> | 2014-04-22 07:45:08 -0400 |
commit | d9d0e1f658afa52c5abfaab112e9b102e15dd971 (patch) | |
tree | 546c3fa0dd9bfa89a2a1c0fc63acec2e0742c529 /drivers/pinctrl/pinctrl-sunxi-pins.h | |
parent | d83c82ce7ccd7acd9aab052aa25d40371cde62e4 (diff) |
pinctrl: sunxi: define A31 R_PIO pin functions
The A31 SoC provides both PL and PM pio bank through the R_PIO block.
These pins all support gpio function and can bbe assigned to system
peripherals (like TWI, P2WI, JTAG, ...)
Signed-off-by: Boris BREZILLON <boris.brezillon@free-electrons.com>
Acked-by: Maxime Ripard <maxime.ripard@free-electrons.com>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Diffstat (limited to 'drivers/pinctrl/pinctrl-sunxi-pins.h')
-rw-r--r-- | drivers/pinctrl/pinctrl-sunxi-pins.h | 74 |
1 files changed, 74 insertions, 0 deletions
diff --git a/drivers/pinctrl/pinctrl-sunxi-pins.h b/drivers/pinctrl/pinctrl-sunxi-pins.h index 3d6066988a72..51100caf05f9 100644 --- a/drivers/pinctrl/pinctrl-sunxi-pins.h +++ b/drivers/pinctrl/pinctrl-sunxi-pins.h | |||
@@ -2820,6 +2820,74 @@ static const struct sunxi_desc_pin sun6i_a31_pins[] = { | |||
2820 | SUNXI_FUNCTION(0x2, "nand1")), /* CE3 */ | 2820 | SUNXI_FUNCTION(0x2, "nand1")), /* CE3 */ |
2821 | }; | 2821 | }; |
2822 | 2822 | ||
2823 | static const struct sunxi_desc_pin sun6i_a31_r_pins[] = { | ||
2824 | SUNXI_PIN(SUNXI_PINCTRL_PIN_PL0, | ||
2825 | SUNXI_FUNCTION(0x0, "gpio_in"), | ||
2826 | SUNXI_FUNCTION(0x1, "gpio_out"), | ||
2827 | SUNXI_FUNCTION(0x2, "s_twi"), /* SCK */ | ||
2828 | SUNXI_FUNCTION(0x3, "s_p2wi")), /* SCK */ | ||
2829 | SUNXI_PIN(SUNXI_PINCTRL_PIN_PL1, | ||
2830 | SUNXI_FUNCTION(0x0, "gpio_in"), | ||
2831 | SUNXI_FUNCTION(0x1, "gpio_out"), | ||
2832 | SUNXI_FUNCTION(0x2, "s_twi"), /* SDA */ | ||
2833 | SUNXI_FUNCTION(0x3, "s_p2wi")), /* SDA */ | ||
2834 | SUNXI_PIN(SUNXI_PINCTRL_PIN_PL2, | ||
2835 | SUNXI_FUNCTION(0x0, "gpio_in"), | ||
2836 | SUNXI_FUNCTION(0x1, "gpio_out"), | ||
2837 | SUNXI_FUNCTION(0x2, "s_uart")), /* TX */ | ||
2838 | SUNXI_PIN(SUNXI_PINCTRL_PIN_PL3, | ||
2839 | SUNXI_FUNCTION(0x0, "gpio_in"), | ||
2840 | SUNXI_FUNCTION(0x1, "gpio_out"), | ||
2841 | SUNXI_FUNCTION(0x2, "s_uart")), /* RX */ | ||
2842 | SUNXI_PIN(SUNXI_PINCTRL_PIN_PL4, | ||
2843 | SUNXI_FUNCTION(0x0, "gpio_in"), | ||
2844 | SUNXI_FUNCTION(0x1, "gpio_out"), | ||
2845 | SUNXI_FUNCTION(0x2, "s_ir")), /* RX */ | ||
2846 | SUNXI_PIN(SUNXI_PINCTRL_PIN_PL5, | ||
2847 | SUNXI_FUNCTION(0x0, "gpio_in"), | ||
2848 | SUNXI_FUNCTION(0x1, "gpio_out"), | ||
2849 | SUNXI_FUNCTION(0x3, "s_jtag")), /* MS */ | ||
2850 | SUNXI_PIN(SUNXI_PINCTRL_PIN_PL6, | ||
2851 | SUNXI_FUNCTION(0x0, "gpio_in"), | ||
2852 | SUNXI_FUNCTION(0x1, "gpio_out"), | ||
2853 | SUNXI_FUNCTION(0x3, "s_jtag")), /* CK */ | ||
2854 | SUNXI_PIN(SUNXI_PINCTRL_PIN_PL7, | ||
2855 | SUNXI_FUNCTION(0x0, "gpio_in"), | ||
2856 | SUNXI_FUNCTION(0x1, "gpio_out"), | ||
2857 | SUNXI_FUNCTION(0x3, "s_jtag")), /* DO */ | ||
2858 | SUNXI_PIN(SUNXI_PINCTRL_PIN_PL8, | ||
2859 | SUNXI_FUNCTION(0x0, "gpio_in"), | ||
2860 | SUNXI_FUNCTION(0x1, "gpio_out"), | ||
2861 | SUNXI_FUNCTION(0x3, "s_jtag")), /* DI */ | ||
2862 | /* Hole */ | ||
2863 | SUNXI_PIN(SUNXI_PINCTRL_PIN_PM0, | ||
2864 | SUNXI_FUNCTION(0x0, "gpio_in"), | ||
2865 | SUNXI_FUNCTION(0x1, "gpio_out")), | ||
2866 | SUNXI_PIN(SUNXI_PINCTRL_PIN_PM1, | ||
2867 | SUNXI_FUNCTION(0x0, "gpio_in"), | ||
2868 | SUNXI_FUNCTION(0x1, "gpio_out")), | ||
2869 | SUNXI_PIN(SUNXI_PINCTRL_PIN_PM2, | ||
2870 | SUNXI_FUNCTION(0x0, "gpio_in"), | ||
2871 | SUNXI_FUNCTION(0x1, "gpio_out"), | ||
2872 | SUNXI_FUNCTION(0x3, "1wire")), | ||
2873 | SUNXI_PIN(SUNXI_PINCTRL_PIN_PM3, | ||
2874 | SUNXI_FUNCTION(0x0, "gpio_in"), | ||
2875 | SUNXI_FUNCTION(0x1, "gpio_out")), | ||
2876 | SUNXI_PIN(SUNXI_PINCTRL_PIN_PM4, | ||
2877 | SUNXI_FUNCTION(0x0, "gpio_in"), | ||
2878 | SUNXI_FUNCTION(0x1, "gpio_out")), | ||
2879 | SUNXI_PIN(SUNXI_PINCTRL_PIN_PM5, | ||
2880 | SUNXI_FUNCTION(0x0, "gpio_in"), | ||
2881 | SUNXI_FUNCTION(0x1, "gpio_out")), | ||
2882 | SUNXI_PIN(SUNXI_PINCTRL_PIN_PM6, | ||
2883 | SUNXI_FUNCTION(0x0, "gpio_in"), | ||
2884 | SUNXI_FUNCTION(0x1, "gpio_out")), | ||
2885 | SUNXI_PIN(SUNXI_PINCTRL_PIN_PM7, | ||
2886 | SUNXI_FUNCTION(0x0, "gpio_in"), | ||
2887 | SUNXI_FUNCTION(0x1, "gpio_out"), | ||
2888 | SUNXI_FUNCTION(0x3, "rtc")), /* CLKO */ | ||
2889 | }; | ||
2890 | |||
2823 | static const struct sunxi_desc_pin sun7i_a20_pins[] = { | 2891 | static const struct sunxi_desc_pin sun7i_a20_pins[] = { |
2824 | SUNXI_PIN(SUNXI_PINCTRL_PIN_PA0, | 2892 | SUNXI_PIN(SUNXI_PINCTRL_PIN_PA0, |
2825 | SUNXI_FUNCTION(0x0, "gpio_in"), | 2893 | SUNXI_FUNCTION(0x0, "gpio_in"), |
@@ -3855,6 +3923,12 @@ static const struct sunxi_pinctrl_desc sun6i_a31_pinctrl_data = { | |||
3855 | .npins = ARRAY_SIZE(sun6i_a31_pins), | 3923 | .npins = ARRAY_SIZE(sun6i_a31_pins), |
3856 | }; | 3924 | }; |
3857 | 3925 | ||
3926 | static const struct sunxi_pinctrl_desc sun6i_a31_r_pinctrl_data = { | ||
3927 | .pins = sun6i_a31_r_pins, | ||
3928 | .npins = ARRAY_SIZE(sun6i_a31_r_pins), | ||
3929 | .pin_base = PL_BASE, | ||
3930 | }; | ||
3931 | |||
3858 | static const struct sunxi_pinctrl_desc sun7i_a20_pinctrl_data = { | 3932 | static const struct sunxi_pinctrl_desc sun7i_a20_pinctrl_data = { |
3859 | .pins = sun7i_a20_pins, | 3933 | .pins = sun7i_a20_pins, |
3860 | .npins = ARRAY_SIZE(sun7i_a20_pins), | 3934 | .npins = ARRAY_SIZE(sun7i_a20_pins), |