Back to home page

OSCL-LXR

 
 

    


0001 /*
0002  * Header file for the ST Microelectronics SPEAr3xx pinmux
0003  *
0004  * Copyright (C) 2012 ST Microelectronics
0005  * Viresh Kumar <vireshk@kernel.org>
0006  *
0007  * This file is licensed under the terms of the GNU General Public
0008  * License version 2. This program is licensed "as is" without any
0009  * warranty of any kind, whether express or implied.
0010  */
0011 
0012 #ifndef __PINMUX_SPEAR3XX_H__
0013 #define __PINMUX_SPEAR3XX_H__
0014 
0015 #include "pinctrl-spear.h"
0016 
0017 /* pad mux declarations */
0018 #define PMX_PWM_MASK        (1 << 16)
0019 #define PMX_FIRDA_MASK      (1 << 14)
0020 #define PMX_I2C_MASK        (1 << 13)
0021 #define PMX_SSP_CS_MASK     (1 << 12)
0022 #define PMX_SSP_MASK        (1 << 11)
0023 #define PMX_MII_MASK        (1 << 10)
0024 #define PMX_GPIO_PIN0_MASK  (1 << 9)
0025 #define PMX_GPIO_PIN1_MASK  (1 << 8)
0026 #define PMX_GPIO_PIN2_MASK  (1 << 7)
0027 #define PMX_GPIO_PIN3_MASK  (1 << 6)
0028 #define PMX_GPIO_PIN4_MASK  (1 << 5)
0029 #define PMX_GPIO_PIN5_MASK  (1 << 4)
0030 #define PMX_UART0_MODEM_MASK    (1 << 3)
0031 #define PMX_UART0_MASK      (1 << 2)
0032 #define PMX_TIMER_2_3_MASK  (1 << 1)
0033 #define PMX_TIMER_0_1_MASK  (1 << 0)
0034 
0035 extern struct spear_pingroup spear3xx_firda_pingroup;
0036 extern struct spear_pingroup spear3xx_gpio0_pin0_pingroup;
0037 extern struct spear_pingroup spear3xx_gpio0_pin1_pingroup;
0038 extern struct spear_pingroup spear3xx_gpio0_pin2_pingroup;
0039 extern struct spear_pingroup spear3xx_gpio0_pin3_pingroup;
0040 extern struct spear_pingroup spear3xx_gpio0_pin4_pingroup;
0041 extern struct spear_pingroup spear3xx_gpio0_pin5_pingroup;
0042 extern struct spear_pingroup spear3xx_i2c_pingroup;
0043 extern struct spear_pingroup spear3xx_mii_pingroup;
0044 extern struct spear_pingroup spear3xx_ssp_cs_pingroup;
0045 extern struct spear_pingroup spear3xx_ssp_pingroup;
0046 extern struct spear_pingroup spear3xx_timer_0_1_pingroup;
0047 extern struct spear_pingroup spear3xx_timer_2_3_pingroup;
0048 extern struct spear_pingroup spear3xx_uart0_ext_pingroup;
0049 extern struct spear_pingroup spear3xx_uart0_pingroup;
0050 
0051 #define SPEAR3XX_COMMON_PINGROUPS       \
0052     &spear3xx_firda_pingroup,       \
0053     &spear3xx_gpio0_pin0_pingroup,      \
0054     &spear3xx_gpio0_pin1_pingroup,      \
0055     &spear3xx_gpio0_pin2_pingroup,      \
0056     &spear3xx_gpio0_pin3_pingroup,      \
0057     &spear3xx_gpio0_pin4_pingroup,      \
0058     &spear3xx_gpio0_pin5_pingroup,      \
0059     &spear3xx_i2c_pingroup,         \
0060     &spear3xx_mii_pingroup,         \
0061     &spear3xx_ssp_cs_pingroup,      \
0062     &spear3xx_ssp_pingroup,         \
0063     &spear3xx_timer_0_1_pingroup,       \
0064     &spear3xx_timer_2_3_pingroup,       \
0065     &spear3xx_uart0_ext_pingroup,       \
0066     &spear3xx_uart0_pingroup
0067 
0068 extern struct spear_function spear3xx_firda_function;
0069 extern struct spear_function spear3xx_gpio0_function;
0070 extern struct spear_function spear3xx_i2c_function;
0071 extern struct spear_function spear3xx_mii_function;
0072 extern struct spear_function spear3xx_ssp_cs_function;
0073 extern struct spear_function spear3xx_ssp_function;
0074 extern struct spear_function spear3xx_timer_0_1_function;
0075 extern struct spear_function spear3xx_timer_2_3_function;
0076 extern struct spear_function spear3xx_uart0_ext_function;
0077 extern struct spear_function spear3xx_uart0_function;
0078 
0079 #define SPEAR3XX_COMMON_FUNCTIONS       \
0080     &spear3xx_firda_function,       \
0081     &spear3xx_gpio0_function,       \
0082     &spear3xx_i2c_function,         \
0083     &spear3xx_mii_function,         \
0084     &spear3xx_ssp_cs_function,      \
0085     &spear3xx_ssp_function,         \
0086     &spear3xx_timer_0_1_function,       \
0087     &spear3xx_timer_2_3_function,       \
0088     &spear3xx_uart0_ext_function,       \
0089     &spear3xx_uart0_function
0090 
0091 extern struct spear_pinctrl_machdata spear3xx_machdata;
0092 
0093 #endif /* __PINMUX_SPEAR3XX_H__ */