Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Macros | Typedefs | Functions
iomux-v3.h File Reference

Go to the source code of this file.

Macros

#define MUX_CTRL_OFS_SHIFT   0
 
#define MUX_CTRL_OFS_MASK   ((iomux_v3_cfg_t)0xfff << MUX_CTRL_OFS_SHIFT)
 
#define MUX_PAD_CTRL_OFS_SHIFT   12
 
#define MUX_PAD_CTRL_OFS_MASK   ((iomux_v3_cfg_t)0xfff << MUX_PAD_CTRL_OFS_SHIFT)
 
#define MUX_SEL_INPUT_OFS_SHIFT   24
 
#define MUX_SEL_INPUT_OFS_MASK   ((iomux_v3_cfg_t)0xfff << MUX_SEL_INPUT_OFS_SHIFT)
 
#define MUX_MODE_SHIFT   36
 
#define MUX_MODE_MASK   ((iomux_v3_cfg_t)0x1f << MUX_MODE_SHIFT)
 
#define MUX_PAD_CTRL_SHIFT   41
 
#define MUX_PAD_CTRL_MASK   ((iomux_v3_cfg_t)0x1ffff << MUX_PAD_CTRL_SHIFT)
 
#define MUX_SEL_INPUT_SHIFT   58
 
#define MUX_SEL_INPUT_MASK   ((iomux_v3_cfg_t)0xf << MUX_SEL_INPUT_SHIFT)
 
#define MUX_PAD_CTRL(x)   ((iomux_v3_cfg_t)(x) << MUX_PAD_CTRL_SHIFT)
 
#define IOMUX_PAD(_pad_ctrl_ofs, _mux_ctrl_ofs, _mux_mode, _sel_input_ofs, _sel_input, _pad_ctrl)
 
#define NEW_PAD_CTRL(cfg, pad)   (((cfg) & ~MUX_PAD_CTRL_MASK) | MUX_PAD_CTRL(pad))
 
#define NO_PAD_CTRL   (1 << 16)
 
#define PAD_CTL_DVS   (1 << 13)
 
#define PAD_CTL_HYS   (1 << 8)
 
#define PAD_CTL_PKE   (1 << 7)
 
#define PAD_CTL_PUE   (1 << 6 | PAD_CTL_PKE)
 
#define PAD_CTL_PUS_100K_DOWN   (0 << 4 | PAD_CTL_PUE)
 
#define PAD_CTL_PUS_47K_UP   (1 << 4 | PAD_CTL_PUE)
 
#define PAD_CTL_PUS_100K_UP   (2 << 4 | PAD_CTL_PUE)
 
#define PAD_CTL_PUS_22K_UP   (3 << 4 | PAD_CTL_PUE)
 
#define PAD_CTL_ODE   (1 << 3)
 
#define PAD_CTL_DSE_LOW   (0 << 1)
 
#define PAD_CTL_DSE_MED   (1 << 1)
 
#define PAD_CTL_DSE_HIGH   (2 << 1)
 
#define PAD_CTL_DSE_MAX   (3 << 1)
 
#define PAD_CTL_SRE_FAST   (1 << 0)
 
#define PAD_CTL_SRE_SLOW   (0 << 0)
 
#define IOMUX_CONFIG_SION   (0x1 << 4)
 
#define MX51_NUM_GPIO_PORT   4
 
#define GPIO_PIN_MASK   0x1f
 
#define GPIO_PORT_SHIFT   5
 
#define GPIO_PORT_MASK   (0x7 << GPIO_PORT_SHIFT)
 
#define GPIO_PORTA   (0 << GPIO_PORT_SHIFT)
 
#define GPIO_PORTB   (1 << GPIO_PORT_SHIFT)
 
#define GPIO_PORTC   (2 << GPIO_PORT_SHIFT)
 
#define GPIO_PORTD   (3 << GPIO_PORT_SHIFT)
 
#define GPIO_PORTE   (4 << GPIO_PORT_SHIFT)
 
#define GPIO_PORTF   (5 << GPIO_PORT_SHIFT)
 

Typedefs

typedef u64 iomux_v3_cfg_t
 

Functions

int mxc_iomux_v3_setup_pad (iomux_v3_cfg_t pad)
 
int mxc_iomux_v3_setup_multiple_pads (iomux_v3_cfg_t *pad_list, unsigned count)
 
void mxc_iomux_v3_init (void __iomem *iomux_v3_base)
 

Macro Definition Documentation

#define GPIO_PIN_MASK   0x1f

Definition at line 113 of file iomux-v3.h.

#define GPIO_PORT_MASK   (0x7 << GPIO_PORT_SHIFT)

Definition at line 116 of file iomux-v3.h.

#define GPIO_PORT_SHIFT   5

Definition at line 115 of file iomux-v3.h.

#define GPIO_PORTA   (0 << GPIO_PORT_SHIFT)

Definition at line 118 of file iomux-v3.h.

#define GPIO_PORTB   (1 << GPIO_PORT_SHIFT)

Definition at line 119 of file iomux-v3.h.

#define GPIO_PORTC   (2 << GPIO_PORT_SHIFT)

Definition at line 120 of file iomux-v3.h.

#define GPIO_PORTD   (3 << GPIO_PORT_SHIFT)

Definition at line 121 of file iomux-v3.h.

#define GPIO_PORTE   (4 << GPIO_PORT_SHIFT)

Definition at line 122 of file iomux-v3.h.

#define GPIO_PORTF   (5 << GPIO_PORT_SHIFT)

Definition at line 123 of file iomux-v3.h.

#define IOMUX_CONFIG_SION   (0x1 << 4)

Definition at line 109 of file iomux-v3.h.

#define IOMUX_PAD (   _pad_ctrl_ofs,
  _mux_ctrl_ofs,
  _mux_mode,
  _sel_input_ofs,
  _sel_input,
  _pad_ctrl 
)
Value:
(((iomux_v3_cfg_t)(_mux_ctrl_ofs) << MUX_CTRL_OFS_SHIFT) | \
((iomux_v3_cfg_t)(_mux_mode) << MUX_MODE_SHIFT) | \
((iomux_v3_cfg_t)(_pad_ctrl_ofs) << MUX_PAD_CTRL_OFS_SHIFT) | \
((iomux_v3_cfg_t)(_pad_ctrl) << MUX_PAD_CTRL_SHIFT) | \
((iomux_v3_cfg_t)(_sel_input_ofs) << MUX_SEL_INPUT_OFS_SHIFT) | \
((iomux_v3_cfg_t)(_sel_input) << MUX_SEL_INPUT_SHIFT))

Definition at line 74 of file iomux-v3.h.

#define MUX_CTRL_OFS_MASK   ((iomux_v3_cfg_t)0xfff << MUX_CTRL_OFS_SHIFT)

Definition at line 59 of file iomux-v3.h.

#define MUX_CTRL_OFS_SHIFT   0

Definition at line 58 of file iomux-v3.h.

#define MUX_MODE_MASK   ((iomux_v3_cfg_t)0x1f << MUX_MODE_SHIFT)

Definition at line 66 of file iomux-v3.h.

#define MUX_MODE_SHIFT   36

Definition at line 65 of file iomux-v3.h.

#define MUX_PAD_CTRL (   x)    ((iomux_v3_cfg_t)(x) << MUX_PAD_CTRL_SHIFT)

Definition at line 72 of file iomux-v3.h.

#define MUX_PAD_CTRL_MASK   ((iomux_v3_cfg_t)0x1ffff << MUX_PAD_CTRL_SHIFT)

Definition at line 68 of file iomux-v3.h.

#define MUX_PAD_CTRL_OFS_MASK   ((iomux_v3_cfg_t)0xfff << MUX_PAD_CTRL_OFS_SHIFT)

Definition at line 61 of file iomux-v3.h.

#define MUX_PAD_CTRL_OFS_SHIFT   12

Definition at line 60 of file iomux-v3.h.

#define MUX_PAD_CTRL_SHIFT   41

Definition at line 67 of file iomux-v3.h.

#define MUX_SEL_INPUT_MASK   ((iomux_v3_cfg_t)0xf << MUX_SEL_INPUT_SHIFT)

Definition at line 70 of file iomux-v3.h.

#define MUX_SEL_INPUT_OFS_MASK   ((iomux_v3_cfg_t)0xfff << MUX_SEL_INPUT_OFS_SHIFT)

Definition at line 63 of file iomux-v3.h.

#define MUX_SEL_INPUT_OFS_SHIFT   24

Definition at line 62 of file iomux-v3.h.

#define MUX_SEL_INPUT_SHIFT   58

Definition at line 69 of file iomux-v3.h.

#define MX51_NUM_GPIO_PORT   4

Definition at line 111 of file iomux-v3.h.

#define NEW_PAD_CTRL (   cfg,
  pad 
)    (((cfg) & ~MUX_PAD_CTRL_MASK) | MUX_PAD_CTRL(pad))

Definition at line 83 of file iomux-v3.h.

#define NO_PAD_CTRL   (1 << 16)

Definition at line 88 of file iomux-v3.h.

#define PAD_CTL_DSE_HIGH   (2 << 1)

Definition at line 103 of file iomux-v3.h.

#define PAD_CTL_DSE_LOW   (0 << 1)

Definition at line 101 of file iomux-v3.h.

#define PAD_CTL_DSE_MAX   (3 << 1)

Definition at line 104 of file iomux-v3.h.

#define PAD_CTL_DSE_MED   (1 << 1)

Definition at line 102 of file iomux-v3.h.

#define PAD_CTL_DVS   (1 << 13)

Definition at line 89 of file iomux-v3.h.

#define PAD_CTL_HYS   (1 << 8)

Definition at line 90 of file iomux-v3.h.

#define PAD_CTL_ODE   (1 << 3)

Definition at line 99 of file iomux-v3.h.

#define PAD_CTL_PKE   (1 << 7)

Definition at line 92 of file iomux-v3.h.

#define PAD_CTL_PUE   (1 << 6 | PAD_CTL_PKE)

Definition at line 93 of file iomux-v3.h.

#define PAD_CTL_PUS_100K_DOWN   (0 << 4 | PAD_CTL_PUE)

Definition at line 94 of file iomux-v3.h.

#define PAD_CTL_PUS_100K_UP   (2 << 4 | PAD_CTL_PUE)

Definition at line 96 of file iomux-v3.h.

#define PAD_CTL_PUS_22K_UP   (3 << 4 | PAD_CTL_PUE)

Definition at line 97 of file iomux-v3.h.

#define PAD_CTL_PUS_47K_UP   (1 << 4 | PAD_CTL_PUE)

Definition at line 95 of file iomux-v3.h.

#define PAD_CTL_SRE_FAST   (1 << 0)

Definition at line 106 of file iomux-v3.h.

#define PAD_CTL_SRE_SLOW   (0 << 0)

Definition at line 107 of file iomux-v3.h.

Typedef Documentation

Definition at line 56 of file iomux-v3.h.

Function Documentation

void mxc_iomux_v3_init ( void __iomem iomux_v3_base)

Definition at line 75 of file iomux-v3.c.

int mxc_iomux_v3_setup_multiple_pads ( iomux_v3_cfg_t pad_list,
unsigned  count 
)

Definition at line 59 of file iomux-v3.c.

int mxc_iomux_v3_setup_pad ( iomux_v3_cfg_t  pad)

Definition at line 37 of file iomux-v3.c.