1 | /* |
2 | * Header file for the ST Microelectronics SPEAr3xx pinmux |
3 | * |
4 | * Copyright (C) 2012 ST Microelectronics |
5 | * Viresh Kumar <vireshk@kernel.org> |
6 | * |
7 | * This file is licensed under the terms of the GNU General Public |
8 | * License version 2. This program is licensed "as is" without any |
9 | * warranty of any kind, whether express or implied. |
10 | */ |
11 | |
12 | #ifndef __PINMUX_SPEAR3XX_H__ |
13 | #define __PINMUX_SPEAR3XX_H__ |
14 | |
15 | #include "pinctrl-spear.h" |
16 | |
17 | /* pad mux declarations */ |
18 | #define PMX_PWM_MASK (1 << 16) |
19 | #define PMX_FIRDA_MASK (1 << 14) |
20 | #define PMX_I2C_MASK (1 << 13) |
21 | #define PMX_SSP_CS_MASK (1 << 12) |
22 | #define PMX_SSP_MASK (1 << 11) |
23 | #define PMX_MII_MASK (1 << 10) |
24 | #define PMX_GPIO_PIN0_MASK (1 << 9) |
25 | #define PMX_GPIO_PIN1_MASK (1 << 8) |
26 | #define PMX_GPIO_PIN2_MASK (1 << 7) |
27 | #define PMX_GPIO_PIN3_MASK (1 << 6) |
28 | #define PMX_GPIO_PIN4_MASK (1 << 5) |
29 | #define PMX_GPIO_PIN5_MASK (1 << 4) |
30 | #define PMX_UART0_MODEM_MASK (1 << 3) |
31 | #define PMX_UART0_MASK (1 << 2) |
32 | #define PMX_TIMER_2_3_MASK (1 << 1) |
33 | #define PMX_TIMER_0_1_MASK (1 << 0) |
34 | |
35 | extern struct spear_pingroup spear3xx_firda_pingroup; |
36 | extern struct spear_pingroup spear3xx_gpio0_pin0_pingroup; |
37 | extern struct spear_pingroup spear3xx_gpio0_pin1_pingroup; |
38 | extern struct spear_pingroup spear3xx_gpio0_pin2_pingroup; |
39 | extern struct spear_pingroup spear3xx_gpio0_pin3_pingroup; |
40 | extern struct spear_pingroup spear3xx_gpio0_pin4_pingroup; |
41 | extern struct spear_pingroup spear3xx_gpio0_pin5_pingroup; |
42 | extern struct spear_pingroup spear3xx_i2c_pingroup; |
43 | extern struct spear_pingroup spear3xx_mii_pingroup; |
44 | extern struct spear_pingroup spear3xx_ssp_cs_pingroup; |
45 | extern struct spear_pingroup spear3xx_ssp_pingroup; |
46 | extern struct spear_pingroup spear3xx_timer_0_1_pingroup; |
47 | extern struct spear_pingroup spear3xx_timer_2_3_pingroup; |
48 | extern struct spear_pingroup spear3xx_uart0_ext_pingroup; |
49 | extern struct spear_pingroup spear3xx_uart0_pingroup; |
50 | |
51 | #define SPEAR3XX_COMMON_PINGROUPS \ |
52 | &spear3xx_firda_pingroup, \ |
53 | &spear3xx_gpio0_pin0_pingroup, \ |
54 | &spear3xx_gpio0_pin1_pingroup, \ |
55 | &spear3xx_gpio0_pin2_pingroup, \ |
56 | &spear3xx_gpio0_pin3_pingroup, \ |
57 | &spear3xx_gpio0_pin4_pingroup, \ |
58 | &spear3xx_gpio0_pin5_pingroup, \ |
59 | &spear3xx_i2c_pingroup, \ |
60 | &spear3xx_mii_pingroup, \ |
61 | &spear3xx_ssp_cs_pingroup, \ |
62 | &spear3xx_ssp_pingroup, \ |
63 | &spear3xx_timer_0_1_pingroup, \ |
64 | &spear3xx_timer_2_3_pingroup, \ |
65 | &spear3xx_uart0_ext_pingroup, \ |
66 | &spear3xx_uart0_pingroup |
67 | |
68 | extern struct spear_function spear3xx_firda_function; |
69 | extern struct spear_function spear3xx_gpio0_function; |
70 | extern struct spear_function spear3xx_i2c_function; |
71 | extern struct spear_function spear3xx_mii_function; |
72 | extern struct spear_function spear3xx_ssp_cs_function; |
73 | extern struct spear_function spear3xx_ssp_function; |
74 | extern struct spear_function spear3xx_timer_0_1_function; |
75 | extern struct spear_function spear3xx_timer_2_3_function; |
76 | extern struct spear_function spear3xx_uart0_ext_function; |
77 | extern struct spear_function spear3xx_uart0_function; |
78 | |
79 | #define SPEAR3XX_COMMON_FUNCTIONS \ |
80 | &spear3xx_firda_function, \ |
81 | &spear3xx_gpio0_function, \ |
82 | &spear3xx_i2c_function, \ |
83 | &spear3xx_mii_function, \ |
84 | &spear3xx_ssp_cs_function, \ |
85 | &spear3xx_ssp_function, \ |
86 | &spear3xx_timer_0_1_function, \ |
87 | &spear3xx_timer_2_3_function, \ |
88 | &spear3xx_uart0_ext_function, \ |
89 | &spear3xx_uart0_function |
90 | |
91 | extern struct spear_pinctrl_machdata spear3xx_machdata; |
92 | |
93 | #endif /* __PINMUX_SPEAR3XX_H__ */ |
94 | |