Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Macros | Enumerations | Functions
gpio-vr41xx.c File Reference
#include <linux/errno.h>
#include <linux/fs.h>
#include <linux/gpio.h>
#include <linux/init.h>
#include <linux/interrupt.h>
#include <linux/io.h>
#include <linux/irq.h>
#include <linux/kernel.h>
#include <linux/module.h>
#include <linux/platform_device.h>
#include <linux/spinlock.h>
#include <linux/types.h>
#include <asm/vr41xx/giu.h>
#include <asm/vr41xx/irq.h>
#include <asm/vr41xx/vr41xx.h>

Go to the source code of this file.

Macros

#define GIUIOSELL   0x00
 
#define GIUIOSELH   0x02
 
#define GIUPIODL   0x04
 
#define GIUPIODH   0x06
 
#define GIUINTSTATL   0x08
 
#define GIUINTSTATH   0x0a
 
#define GIUINTENL   0x0c
 
#define GIUINTENH   0x0e
 
#define GIUINTTYPL   0x10
 
#define GIUINTTYPH   0x12
 
#define GIUINTALSELL   0x14
 
#define GIUINTALSELH   0x16
 
#define GIUINTHTSELL   0x18
 
#define GIUINTHTSELH   0x1a
 
#define GIUPODATL   0x1c
 
#define GIUPODATEN   0x1c
 
#define GIUPODATH   0x1e
 
#define PIOEN0   0x0100
 
#define PIOEN1   0x0200
 
#define GIUPODAT   0x1e
 
#define GIUFEDGEINHL   0x20
 
#define GIUFEDGEINHH   0x22
 
#define GIUREDGEINHL   0x24
 
#define GIUREDGEINHH   0x26
 
#define GIUUSEUPDN   0x1e0
 
#define GIUTERMUPDN   0x1e2
 
#define GPIO_HAS_PULLUPDOWN_IO   0x0001
 
#define GPIO_HAS_OUTPUT_ENABLE   0x0002
 
#define GPIO_HAS_INTERRUPT_EDGE_SELECT   0x0100
 
#define giu_read(offset)   readw(giu_base + (offset))
 
#define giu_write(offset, value)   writew((value), giu_base + (offset))
 
#define GPIO_PIN_OF_IRQ(irq)   ((irq) - GIU_IRQ_BASE)
 
#define GIUINT_HIGH_OFFSET   16
 
#define GIUINT_HIGH_MAX   32
 

Enumerations

enum  { GPIO_INPUT, GPIO_OUTPUT }
 

Functions

 MODULE_AUTHOR ("Yoichi Yuasa <[email protected]>")
 
 MODULE_DESCRIPTION ("NEC VR4100 series General-purpose I/O Unit driver")
 
 MODULE_LICENSE ("GPL")
 
void vr41xx_set_irq_trigger (unsigned int pin, irq_trigger_t trigger, irq_signal_t signal)
 
 EXPORT_SYMBOL_GPL (vr41xx_set_irq_trigger)
 
void vr41xx_set_irq_level (unsigned int pin, irq_level_t level)
 
 EXPORT_SYMBOL_GPL (vr41xx_set_irq_level)
 
int vr41xx_gpio_pullupdown (unsigned int pin, gpio_pull_t pull)
 
 EXPORT_SYMBOL_GPL (vr41xx_gpio_pullupdown)
 
 module_platform_driver (giu_device_driver)
 

Macro Definition Documentation

#define giu_read (   offset)    readw(giu_base + (offset))

Definition at line 85 of file gpio-vr41xx.c.

#define giu_write (   offset,
  value 
)    writew((value), giu_base + (offset))

Definition at line 86 of file gpio-vr41xx.c.

#define GIUFEDGEINHH   0x22

Definition at line 64 of file gpio-vr41xx.c.

#define GIUFEDGEINHL   0x20

Definition at line 63 of file gpio-vr41xx.c.

#define GIUINT_HIGH_MAX   32

Definition at line 90 of file gpio-vr41xx.c.

#define GIUINT_HIGH_OFFSET   16

Definition at line 89 of file gpio-vr41xx.c.

#define GIUINTALSELH   0x16

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

#define GIUINTALSELL   0x14

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

#define GIUINTENH   0x0e

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

#define GIUINTENL   0x0c

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

#define GIUINTHTSELH   0x1a

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

#define GIUINTHTSELL   0x18

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

#define GIUINTSTATH   0x0a

Definition at line 48 of file gpio-vr41xx.c.

#define GIUINTSTATL   0x08

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

#define GIUINTTYPH   0x12

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

#define GIUINTTYPL   0x10

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

#define GIUIOSELH   0x02

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

#define GIUIOSELL   0x00

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

#define GIUPIODH   0x06

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

#define GIUPIODL   0x04

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

#define GIUPODAT   0x1e

Definition at line 62 of file gpio-vr41xx.c.

#define GIUPODATEN   0x1c

Definition at line 58 of file gpio-vr41xx.c.

#define GIUPODATH   0x1e

Definition at line 59 of file gpio-vr41xx.c.

#define GIUPODATL   0x1c

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

#define GIUREDGEINHH   0x26

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

#define GIUREDGEINHL   0x24

Definition at line 65 of file gpio-vr41xx.c.

#define GIUTERMUPDN   0x1e2

Definition at line 69 of file gpio-vr41xx.c.

#define GIUUSEUPDN   0x1e0

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

#define GPIO_HAS_INTERRUPT_EDGE_SELECT   0x0100

Definition at line 73 of file gpio-vr41xx.c.

#define GPIO_HAS_OUTPUT_ENABLE   0x0002

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

#define GPIO_HAS_PULLUPDOWN_IO   0x0001

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

#define GPIO_PIN_OF_IRQ (   irq)    ((irq) - GIU_IRQ_BASE)

Definition at line 88 of file gpio-vr41xx.c.

#define PIOEN0   0x0100

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

#define PIOEN1   0x0200

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

Enumeration Type Documentation

anonymous enum
Enumerator:
GPIO_INPUT 
GPIO_OUTPUT 

Definition at line 75 of file gpio-vr41xx.c.

Function Documentation

EXPORT_SYMBOL_GPL ( vr41xx_set_irq_trigger  )
EXPORT_SYMBOL_GPL ( vr41xx_set_irq_level  )
EXPORT_SYMBOL_GPL ( vr41xx_gpio_pullupdown  )
MODULE_AUTHOR ( "Yoichi Yuasa <[email protected]>"  )
MODULE_DESCRIPTION ( "NEC VR4100 series General-purpose I/O Unit driver )
MODULE_LICENSE ( "GPL"  )
module_platform_driver ( giu_device_driver  )
int vr41xx_gpio_pullupdown ( unsigned int  pin,
gpio_pull_t  pull 
)

Definition at line 361 of file gpio-vr41xx.c.

void vr41xx_set_irq_level ( unsigned int  pin,
irq_level_t  level 
)

Definition at line 291 of file gpio-vr41xx.c.

void vr41xx_set_irq_trigger ( unsigned int  pin,
irq_trigger_t  trigger,
irq_signal_t  signal 
)

Definition at line 212 of file gpio-vr41xx.c.