Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Macros | Functions
gpio-mvebu.c File Reference
#include <linux/module.h>
#include <linux/gpio.h>
#include <linux/irq.h>
#include <linux/slab.h>
#include <linux/irqdomain.h>
#include <linux/io.h>
#include <linux/of_irq.h>
#include <linux/of_device.h>
#include <linux/platform_device.h>
#include <linux/pinctrl/consumer.h>

Go to the source code of this file.

Data Structures

struct  mvebu_gpio_chip
 

Macros

#define GPIO_OUT_OFF   0x0000
 
#define GPIO_IO_CONF_OFF   0x0004
 
#define GPIO_BLINK_EN_OFF   0x0008
 
#define GPIO_IN_POL_OFF   0x000c
 
#define GPIO_DATA_IN_OFF   0x0010
 
#define GPIO_EDGE_CAUSE_OFF   0x0014
 
#define GPIO_EDGE_MASK_OFF   0x0018
 
#define GPIO_LEVEL_MASK_OFF   0x001c
 
#define GPIO_EDGE_MASK_MV78200_OFF(cpu)   ((cpu) ? 0x30 : 0x18)
 
#define GPIO_LEVEL_MASK_MV78200_OFF(cpu)   ((cpu) ? 0x34 : 0x1C)
 
#define GPIO_EDGE_CAUSE_ARMADAXP_OFF(cpu)   ((cpu) * 0x4)
 
#define GPIO_EDGE_MASK_ARMADAXP_OFF(cpu)   (0x10 + (cpu) * 0x4)
 
#define GPIO_LEVEL_MASK_ARMADAXP_OFF(cpu)   (0x20 + (cpu) * 0x4)
 
#define MVEBU_GPIO_SOC_VARIANT_ORION   0x1
 
#define MVEBU_GPIO_SOC_VARIANT_MV78200   0x2
 
#define MVEBU_GPIO_SOC_VARIANT_ARMADAXP   0x3
 
#define MVEBU_MAX_GPIO_PER_BANK   32
 

Functions

int mvebu_gpio_request (struct gpio_chip *chip, unsigned pin)
 
void mvebu_gpio_free (struct gpio_chip *chip, unsigned pin)
 
 MODULE_DEVICE_TABLE (platform, mvebu_gpio_ids)
 
 MODULE_DEVICE_TABLE (of, mvebu_gpio_of_match)
 
 postcore_initcall (mvebu_gpio_init)
 

Macro Definition Documentation

#define GPIO_BLINK_EN_OFF   0x0008

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

#define GPIO_DATA_IN_OFF   0x0010

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

#define GPIO_EDGE_CAUSE_ARMADAXP_OFF (   cpu)    ((cpu) * 0x4)

Definition at line 66 of file gpio-mvebu.c.

#define GPIO_EDGE_CAUSE_OFF   0x0014

Definition at line 55 of file gpio-mvebu.c.

#define GPIO_EDGE_MASK_ARMADAXP_OFF (   cpu)    (0x10 + (cpu) * 0x4)

Definition at line 67 of file gpio-mvebu.c.

#define GPIO_EDGE_MASK_MV78200_OFF (   cpu)    ((cpu) ? 0x30 : 0x18)

Definition at line 60 of file gpio-mvebu.c.

#define GPIO_EDGE_MASK_OFF   0x0018

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

#define GPIO_IN_POL_OFF   0x000c

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

#define GPIO_IO_CONF_OFF   0x0004

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

#define GPIO_LEVEL_MASK_ARMADAXP_OFF (   cpu)    (0x20 + (cpu) * 0x4)

Definition at line 68 of file gpio-mvebu.c.

#define GPIO_LEVEL_MASK_MV78200_OFF (   cpu)    ((cpu) ? 0x34 : 0x1C)

Definition at line 61 of file gpio-mvebu.c.

#define GPIO_LEVEL_MASK_OFF   0x001c

Definition at line 57 of file gpio-mvebu.c.

#define GPIO_OUT_OFF   0x0000

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

#define MVEBU_GPIO_SOC_VARIANT_ARMADAXP   0x3

Definition at line 72 of file gpio-mvebu.c.

#define MVEBU_GPIO_SOC_VARIANT_MV78200   0x2

Definition at line 71 of file gpio-mvebu.c.

#define MVEBU_GPIO_SOC_VARIANT_ORION   0x1

Definition at line 70 of file gpio-mvebu.c.

#define MVEBU_MAX_GPIO_PER_BANK   32

Definition at line 74 of file gpio-mvebu.c.

Function Documentation

MODULE_DEVICE_TABLE ( platform  ,
mvebu_gpio_ids   
)
MODULE_DEVICE_TABLE ( of  ,
mvebu_gpio_of_match   
)
void mvebu_gpio_free ( struct gpio_chip *  chip,
unsigned  pin 
)

Definition at line 176 of file gpio-mvebu.c.

int mvebu_gpio_request ( struct gpio_chip *  chip,
unsigned  pin 
)

Definition at line 171 of file gpio-mvebu.c.

postcore_initcall ( mvebu_gpio_init  )