Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Macros | Enumerations
pinctrl-samsung.h File Reference
#include <linux/pinctrl/pinctrl.h>
#include <linux/pinctrl/pinmux.h>
#include <linux/pinctrl/pinconf.h>
#include <linux/pinctrl/consumer.h>
#include <linux/pinctrl/machine.h>

Go to the source code of this file.

Data Structures

struct  samsung_pin_bank
 
struct  samsung_pin_ctrl
 
struct  samsung_pinctrl_drv_data
 
struct  samsung_pin_group
 
struct  samsung_pmx_func
 

Macros

#define DAT_REG   0x4
 
#define PUD_REG   0x8
 
#define DRV_REG   0xC
 
#define CONPDN_REG   0x10
 
#define PUDPDN_REG   0x14
 
#define FUNC_OUTPUT   0x1
 
#define PINCFG_TYPE_MASK   0xFF
 
#define PINCFG_VALUE_SHIFT   8
 
#define PINCFG_VALUE_MASK   (0xFF << PINCFG_VALUE_SHIFT)
 
#define PINCFG_PACK(type, value)   (((value) << PINCFG_VALUE_SHIFT) | type)
 
#define PINCFG_UNPACK_TYPE(cfg)   ((cfg) & PINCFG_TYPE_MASK)
 
#define PINCFG_UNPACK_VALUE(cfg)
 
#define PIN_NAME_LENGTH   10
 
#define PIN_GROUP(n, p, f)
 
#define PMX_FUNC(n, g)
 

Enumerations

enum  pincfg_type { PINCFG_TYPE_PUD, PINCFG_TYPE_DRV, PINCFG_TYPE_CON_PDN, PINCFG_TYPE_PUD_PDN }
 
enum  eint_type { EINT_TYPE_NONE, EINT_TYPE_GPIO, EINT_TYPE_WKUP }
 

Variables

: name of the pin function, used to lookup the function.

struct samsung_pmx_func: represent a pin function.

: one or more names of pin groups that provide this function. : number of groups included in .

struct samsung_pin_ctrl exynos4210_pin_ctrl []
 

Macro Definition Documentation

#define CONPDN_REG   0x10

Definition at line 30 of file pinctrl-samsung.h.

#define DAT_REG   0x4

Definition at line 27 of file pinctrl-samsung.h.

#define DRV_REG   0xC

Definition at line 29 of file pinctrl-samsung.h.

#define FUNC_OUTPUT   0x1

Definition at line 34 of file pinctrl-samsung.h.

#define PIN_GROUP (   n,
  p,
  f 
)
Value:
{ \
.name = n, \
.pins = p, \
.num_pins = ARRAY_SIZE(p), \
.func = f \
}

Definition at line 84 of file pinctrl-samsung.h.

#define PIN_NAME_LENGTH   10

Definition at line 82 of file pinctrl-samsung.h.

#define PINCFG_PACK (   type,
  value 
)    (((value) << PINCFG_VALUE_SHIFT) | type)

Definition at line 58 of file pinctrl-samsung.h.

#define PINCFG_TYPE_MASK   0xFF

Definition at line 55 of file pinctrl-samsung.h.

#define PINCFG_UNPACK_TYPE (   cfg)    ((cfg) & PINCFG_TYPE_MASK)

Definition at line 59 of file pinctrl-samsung.h.

#define PINCFG_UNPACK_VALUE (   cfg)
Value:
PINCFG_VALUE_SHIFT)

Definition at line 60 of file pinctrl-samsung.h.

#define PINCFG_VALUE_MASK   (0xFF << PINCFG_VALUE_SHIFT)

Definition at line 57 of file pinctrl-samsung.h.

#define PINCFG_VALUE_SHIFT   8

Definition at line 56 of file pinctrl-samsung.h.

#define PMX_FUNC (   n,
  g 
)
Value:
{ \
.name = n, \
.groups = g, \
.num_groups = ARRAY_SIZE(g), \
}

Definition at line 92 of file pinctrl-samsung.h.

#define PUD_REG   0x8

Definition at line 28 of file pinctrl-samsung.h.

#define PUDPDN_REG   0x14

Definition at line 31 of file pinctrl-samsung.h.

Enumeration Type Documentation

enum eint_type

enum eint_type - possible external interrupt types. : bank does not support external interrupts : bank supportes external gpio interrupts : bank supportes external wakeup interrupts

Samsung GPIO controller groups all the available pins into banks. The pins in a pin bank can support external gpio interrupts or external wakeup interrupts or no interrupts at all. From a software perspective, the only difference between external gpio and external wakeup interrupts is that the wakeup interrupts can additionally wakeup the system if it is in suspended state.

Enumerator:
EINT_TYPE_NONE 
EINT_TYPE_GPIO 
EINT_TYPE_WKUP 

Definition at line 75 of file pinctrl-samsung.h.

enum pincfg_type - possible pin configuration types supported. : Pull up/down configuration. : Drive strength configuration. : Pin function in power down mode. : Pull up/down configuration in power down mode.

Enumerator:
PINCFG_TYPE_PUD 
PINCFG_TYPE_DRV 
PINCFG_TYPE_CON_PDN 
PINCFG_TYPE_PUD_PDN 

Definition at line 43 of file pinctrl-samsung.h.

Variable Documentation

struct samsung_pin_ctrl exynos4210_pin_ctrl[]

Definition at line 538 of file pinctrl-exynos.c.