Viresh Kumar | 52130b6 | 2012-03-28 22:27:07 +0530 | [diff] [blame] | 1 | /* |
| 2 | * Header file for the ST Microelectronics SPEAr3xx pinmux |
| 3 | * |
| 4 | * Copyright (C) 2012 ST Microelectronics |
Viresh Kumar | 10d8935 | 2012-06-20 12:53:02 -0700 | [diff] [blame] | 5 | * Viresh Kumar <viresh.linux@gmail.com> |
Viresh Kumar | 52130b6 | 2012-03-28 22:27:07 +0530 | [diff] [blame] | 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 */ |
Shiraz Hashim | a778005 | 2012-10-27 14:47:47 +0530 | [diff] [blame] | 18 | #define PMX_PWM_MASK (1 << 16) |
Viresh Kumar | 52130b6 | 2012-03-28 22:27:07 +0530 | [diff] [blame] | 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__ */ |