Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Macros | Enumerations | Functions
i2c-nuc900.c File Reference
#include <linux/kernel.h>
#include <linux/module.h>
#include <linux/i2c.h>
#include <linux/init.h>
#include <linux/time.h>
#include <linux/interrupt.h>
#include <linux/delay.h>
#include <linux/errno.h>
#include <linux/err.h>
#include <linux/platform_device.h>
#include <linux/clk.h>
#include <linux/cpufreq.h>
#include <linux/slab.h>
#include <linux/io.h>
#include <mach/mfp.h>
#include <linux/platform_data/i2c-nuc900.h>

Go to the source code of this file.

Data Structures

struct  nuc900_i2c
 

Macros

#define CSR   0x00
 
#define DIVIDER   0x04
 
#define CMDR   0x08
 
#define SWR   0x0C
 
#define RXR   0x10
 
#define TXR   0x14
 
#define IRQEN   0x003
 
#define I2CBUSY   0x400
 
#define I2CSTART   0x018
 
#define IRQFLAG   0x004
 
#define ARBIT_LOST   0x200
 
#define SLAVE_ACK   0x800
 
#define I2C_CMD_START   0x10
 
#define I2C_CMD_STOP   0x08
 
#define I2C_CMD_READ   0x04
 
#define I2C_CMD_WRITE   0x02
 
#define I2C_CMD_NACK   0x01
 

Enumerations

enum  nuc900_i2c_state {
  STATE_IDLE, STATE_START, STATE_READ, STATE_WRITE,
  STATE_STOP
}
 

Functions

 subsys_initcall (i2c_adap_nuc900_init)
 
 module_exit (i2c_adap_nuc900_exit)
 
 MODULE_DESCRIPTION ("NUC900 I2C Bus driver")
 
 MODULE_AUTHOR ("Wan ZongShun, <[email protected]>")
 
 MODULE_LICENSE ("GPL")
 
 MODULE_ALIAS ("platform:nuc900-i2c0")
 

Macro Definition Documentation

#define ARBIT_LOST   0x200

Definition at line 49 of file i2c-nuc900.c.

#define CMDR   0x08

Definition at line 38 of file i2c-nuc900.c.

#define CSR   0x00

Definition at line 36 of file i2c-nuc900.c.

#define DIVIDER   0x04

Definition at line 37 of file i2c-nuc900.c.

#define I2C_CMD_NACK   0x01

Definition at line 58 of file i2c-nuc900.c.

#define I2C_CMD_READ   0x04

Definition at line 56 of file i2c-nuc900.c.

#define I2C_CMD_START   0x10

Definition at line 54 of file i2c-nuc900.c.

#define I2C_CMD_STOP   0x08

Definition at line 55 of file i2c-nuc900.c.

#define I2C_CMD_WRITE   0x02

Definition at line 57 of file i2c-nuc900.c.

#define I2CBUSY   0x400

Definition at line 46 of file i2c-nuc900.c.

#define I2CSTART   0x018

Definition at line 47 of file i2c-nuc900.c.

#define IRQEN   0x003

Definition at line 45 of file i2c-nuc900.c.

#define IRQFLAG   0x004

Definition at line 48 of file i2c-nuc900.c.

#define RXR   0x10

Definition at line 40 of file i2c-nuc900.c.

#define SLAVE_ACK   0x800

Definition at line 50 of file i2c-nuc900.c.

#define SWR   0x0C

Definition at line 39 of file i2c-nuc900.c.

#define TXR   0x14

Definition at line 41 of file i2c-nuc900.c.

Enumeration Type Documentation

Enumerator:
STATE_IDLE 
STATE_START 
STATE_READ 
STATE_WRITE 
STATE_STOP 

Definition at line 62 of file i2c-nuc900.c.

Function Documentation

MODULE_ALIAS ( "platform:nuc900-i2c0"  )
MODULE_AUTHOR ( "Wan  ZongShun,
< mcuos.com-Re5JQEeQqe8AvxtiuMwx3w @public.gmane.org >"   
)
MODULE_DESCRIPTION ( "NUC900 I2C Bus driver )
module_exit ( i2c_adap_nuc900_exit  )
MODULE_LICENSE ( "GPL"  )
subsys_initcall ( i2c_adap_nuc900_init  )