aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/pinctrl/pinctrl-sunxi-pins.h
diff options
context:
space:
mode:
authorBoris BREZILLON <boris.brezillon@free-electrons.com>2014-04-10 09:52:44 -0400
committerLinus Walleij <linus.walleij@linaro.org>2014-04-22 07:45:08 -0400
commitd9d0e1f658afa52c5abfaab112e9b102e15dd971 (patch)
tree546c3fa0dd9bfa89a2a1c0fc63acec2e0742c529 /drivers/pinctrl/pinctrl-sunxi-pins.h
parentd83c82ce7ccd7acd9aab052aa25d40371cde62e4 (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.h74
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
2823static 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
2823static const struct sunxi_desc_pin sun7i_a20_pins[] = { 2891static 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
3926static 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
3858static const struct sunxi_pinctrl_desc sun7i_a20_pinctrl_data = { 3932static 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),