linux/drivers/pinctrl/spear/pinctrl-spear3xx.h
<<
>>
Prefs
   1/*
   2 * Header file for the ST Microelectronics SPEAr3xx pinmux
   3 *
   4 * Copyright (C) 2012 ST Microelectronics
   5 * Viresh Kumar <viresh.linux@gmail.com>
   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
  35extern struct spear_pingroup spear3xx_firda_pingroup;
  36extern struct spear_pingroup spear3xx_gpio0_pin0_pingroup;
  37extern struct spear_pingroup spear3xx_gpio0_pin1_pingroup;
  38extern struct spear_pingroup spear3xx_gpio0_pin2_pingroup;
  39extern struct spear_pingroup spear3xx_gpio0_pin3_pingroup;
  40extern struct spear_pingroup spear3xx_gpio0_pin4_pingroup;
  41extern struct spear_pingroup spear3xx_gpio0_pin5_pingroup;
  42extern struct spear_pingroup spear3xx_i2c_pingroup;
  43extern struct spear_pingroup spear3xx_mii_pingroup;
  44extern struct spear_pingroup spear3xx_ssp_cs_pingroup;
  45extern struct spear_pingroup spear3xx_ssp_pingroup;
  46extern struct spear_pingroup spear3xx_timer_0_1_pingroup;
  47extern struct spear_pingroup spear3xx_timer_2_3_pingroup;
  48extern struct spear_pingroup spear3xx_uart0_ext_pingroup;
  49extern 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
  68extern struct spear_function spear3xx_firda_function;
  69extern struct spear_function spear3xx_gpio0_function;
  70extern struct spear_function spear3xx_i2c_function;
  71extern struct spear_function spear3xx_mii_function;
  72extern struct spear_function spear3xx_ssp_cs_function;
  73extern struct spear_function spear3xx_ssp_function;
  74extern struct spear_function spear3xx_timer_0_1_function;
  75extern struct spear_function spear3xx_timer_2_3_function;
  76extern struct spear_function spear3xx_uart0_ext_function;
  77extern 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
  91extern struct spear_pinctrl_machdata spear3xx_machdata;
  92
  93#endif /* __PINMUX_SPEAR3XX_H__ */
  94