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