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