Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Macros | Enumerations | Functions
gpio-mxs.c File Reference
#include <linux/init.h>
#include <linux/interrupt.h>
#include <linux/io.h>
#include <linux/irq.h>
#include <linux/irqdomain.h>
#include <linux/gpio.h>
#include <linux/of.h>
#include <linux/of_address.h>
#include <linux/of_device.h>
#include <linux/platform_device.h>
#include <linux/slab.h>
#include <linux/basic_mmio_gpio.h>
#include <linux/module.h>

Go to the source code of this file.

Data Structures

struct  mxs_gpio_port
 

Macros

#define MXS_SET   0x4
 
#define MXS_CLR   0x8
 
#define PINCTRL_DOUT(p)   ((is_imx23_gpio(p) ? 0x0500 : 0x0700) + (p->id) * 0x10)
 
#define PINCTRL_DIN(p)   ((is_imx23_gpio(p) ? 0x0600 : 0x0900) + (p->id) * 0x10)
 
#define PINCTRL_DOE(p)   ((is_imx23_gpio(p) ? 0x0700 : 0x0b00) + (p->id) * 0x10)
 
#define PINCTRL_PIN2IRQ(p)   ((is_imx23_gpio(p) ? 0x0800 : 0x1000) + (p->id) * 0x10)
 
#define PINCTRL_IRQEN(p)   ((is_imx23_gpio(p) ? 0x0900 : 0x1100) + (p->id) * 0x10)
 
#define PINCTRL_IRQLEV(p)   ((is_imx23_gpio(p) ? 0x0a00 : 0x1200) + (p->id) * 0x10)
 
#define PINCTRL_IRQPOL(p)   ((is_imx23_gpio(p) ? 0x0b00 : 0x1300) + (p->id) * 0x10)
 
#define PINCTRL_IRQSTAT(p)   ((is_imx23_gpio(p) ? 0x0c00 : 0x1400) + (p->id) * 0x10)
 
#define GPIO_INT_FALL_EDGE   0x0
 
#define GPIO_INT_LOW_LEV   0x1
 
#define GPIO_INT_RISE_EDGE   0x2
 
#define GPIO_INT_HIGH_LEV   0x3
 
#define GPIO_INT_LEV_MASK   (1 << 0)
 
#define GPIO_INT_POL_MASK   (1 << 1)
 

Enumerations

enum  mxs_gpio_id { IMX23_GPIO, IMX28_GPIO }
 

Functions

 MODULE_DEVICE_TABLE (platform, mxs_gpio_ids)
 
 MODULE_DEVICE_TABLE (of, mxs_gpio_dt_ids)
 
 postcore_initcall (mxs_gpio_init)
 
 MODULE_AUTHOR ("Freescale Semiconductor, ""Daniel Mack <danielncaiaq.de>, ""Juergen Beisert <[email protected]>")
 
 MODULE_DESCRIPTION ("Freescale MXS GPIO")
 
 MODULE_LICENSE ("GPL")
 

Macro Definition Documentation

#define GPIO_INT_FALL_EDGE   0x0

Definition at line 49 of file gpio-mxs.c.

#define GPIO_INT_HIGH_LEV   0x3

Definition at line 52 of file gpio-mxs.c.

#define GPIO_INT_LEV_MASK   (1 << 0)

Definition at line 53 of file gpio-mxs.c.

#define GPIO_INT_LOW_LEV   0x1

Definition at line 50 of file gpio-mxs.c.

#define GPIO_INT_POL_MASK   (1 << 1)

Definition at line 54 of file gpio-mxs.c.

#define GPIO_INT_RISE_EDGE   0x2

Definition at line 51 of file gpio-mxs.c.

#define MXS_CLR   0x8

Definition at line 38 of file gpio-mxs.c.

#define MXS_SET   0x4

Definition at line 37 of file gpio-mxs.c.

#define PINCTRL_DIN (   p)    ((is_imx23_gpio(p) ? 0x0600 : 0x0900) + (p->id) * 0x10)

Definition at line 41 of file gpio-mxs.c.

#define PINCTRL_DOE (   p)    ((is_imx23_gpio(p) ? 0x0700 : 0x0b00) + (p->id) * 0x10)

Definition at line 42 of file gpio-mxs.c.

#define PINCTRL_DOUT (   p)    ((is_imx23_gpio(p) ? 0x0500 : 0x0700) + (p->id) * 0x10)

Definition at line 40 of file gpio-mxs.c.

#define PINCTRL_IRQEN (   p)    ((is_imx23_gpio(p) ? 0x0900 : 0x1100) + (p->id) * 0x10)

Definition at line 44 of file gpio-mxs.c.

#define PINCTRL_IRQLEV (   p)    ((is_imx23_gpio(p) ? 0x0a00 : 0x1200) + (p->id) * 0x10)

Definition at line 45 of file gpio-mxs.c.

#define PINCTRL_IRQPOL (   p)    ((is_imx23_gpio(p) ? 0x0b00 : 0x1300) + (p->id) * 0x10)

Definition at line 46 of file gpio-mxs.c.

#define PINCTRL_IRQSTAT (   p)    ((is_imx23_gpio(p) ? 0x0c00 : 0x1400) + (p->id) * 0x10)

Definition at line 47 of file gpio-mxs.c.

#define PINCTRL_PIN2IRQ (   p)    ((is_imx23_gpio(p) ? 0x0800 : 0x1000) + (p->id) * 0x10)

Definition at line 43 of file gpio-mxs.c.

Enumeration Type Documentation

Enumerator:
IMX23_GPIO 
IMX28_GPIO 

Definition at line 56 of file gpio-mxs.c.

Function Documentation

MODULE_AUTHOR ( "Freescale  Semiconductor,
""Daniel Mack< danielncaiaq.de >  ,
""Juergen Beisert< kernel @pengutronix.de >"   
)
MODULE_DESCRIPTION ( "Freescale MXS GPIO )
MODULE_DEVICE_TABLE ( platform  ,
mxs_gpio_ids   
)
MODULE_DEVICE_TABLE ( of  ,
mxs_gpio_dt_ids   
)
MODULE_LICENSE ( "GPL"  )
postcore_initcall ( mxs_gpio_init  )