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

Go to the source code of this file.

Data Structures

struct  sh_mobile_i2c_data
 

Macros

#define IIC_FLAG_HAS_ICIC67   (1 << 0)
 
#define NORMAL_SPEED   100000 /* FAST_SPEED 400000 */
 
#define ICDR   0x00
 
#define ICCR   0x04
 
#define ICSR   0x08
 
#define ICIC   0x0c
 
#define ICCL   0x10
 
#define ICCH   0x14
 
#define ICCR_ICE   0x80
 
#define ICCR_RACK   0x40
 
#define ICCR_TRS   0x10
 
#define ICCR_BBSY   0x04
 
#define ICCR_SCP   0x01
 
#define ICSR_SCLM   0x80
 
#define ICSR_SDAM   0x40
 
#define SW_DONE   0x20
 
#define ICSR_BUSY   0x10
 
#define ICSR_AL   0x08
 
#define ICSR_TACK   0x04
 
#define ICSR_WAIT   0x02
 
#define ICSR_DTE   0x01
 
#define ICIC_ICCLB8   0x80
 
#define ICIC_ICCHB8   0x40
 
#define ICIC_ALE   0x08
 
#define ICIC_TACKE   0x04
 
#define ICIC_WAITE   0x02
 
#define ICIC_DTEE   0x01
 

Enumerations

enum  sh_mobile_i2c_op {
  OP_START = 0, OP_TX_FIRST, OP_TX, OP_TX_STOP,
  OP_TX_TO_RX, OP_RX, OP_RX_STOP, OP_RX_STOP_DATA
}
 

Functions

 MODULE_DEVICE_TABLE (of, sh_mobile_i2c_dt_ids)
 
 subsys_initcall (sh_mobile_i2c_adap_init)
 
 module_exit (sh_mobile_i2c_adap_exit)
 
 MODULE_DESCRIPTION ("SuperH Mobile I2C Bus Controller driver")
 
 MODULE_AUTHOR ("Magnus Damm")
 
 MODULE_LICENSE ("GPL v2")
 
 MODULE_ALIAS ("platform:i2c-sh_mobile")
 

Macro Definition Documentation

#define ICCH   0x14

Definition at line 146 of file i2c-sh_mobile.c.

#define ICCL   0x10

Definition at line 145 of file i2c-sh_mobile.c.

#define ICCR   0x04

Definition at line 142 of file i2c-sh_mobile.c.

#define ICCR_BBSY   0x04

Definition at line 152 of file i2c-sh_mobile.c.

#define ICCR_ICE   0x80

Definition at line 149 of file i2c-sh_mobile.c.

#define ICCR_RACK   0x40

Definition at line 150 of file i2c-sh_mobile.c.

#define ICCR_SCP   0x01

Definition at line 153 of file i2c-sh_mobile.c.

#define ICCR_TRS   0x10

Definition at line 151 of file i2c-sh_mobile.c.

#define ICDR   0x00

Definition at line 141 of file i2c-sh_mobile.c.

#define ICIC   0x0c

Definition at line 144 of file i2c-sh_mobile.c.

#define ICIC_ALE   0x08

Definition at line 166 of file i2c-sh_mobile.c.

#define ICIC_DTEE   0x01

Definition at line 169 of file i2c-sh_mobile.c.

#define ICIC_ICCHB8   0x40

Definition at line 165 of file i2c-sh_mobile.c.

#define ICIC_ICCLB8   0x80

Definition at line 164 of file i2c-sh_mobile.c.

#define ICIC_TACKE   0x04

Definition at line 167 of file i2c-sh_mobile.c.

#define ICIC_WAITE   0x02

Definition at line 168 of file i2c-sh_mobile.c.

#define ICSR   0x08

Definition at line 143 of file i2c-sh_mobile.c.

#define ICSR_AL   0x08

Definition at line 159 of file i2c-sh_mobile.c.

#define ICSR_BUSY   0x10

Definition at line 158 of file i2c-sh_mobile.c.

#define ICSR_DTE   0x01

Definition at line 162 of file i2c-sh_mobile.c.

#define ICSR_SCLM   0x80

Definition at line 155 of file i2c-sh_mobile.c.

#define ICSR_SDAM   0x40

Definition at line 156 of file i2c-sh_mobile.c.

#define ICSR_TACK   0x04

Definition at line 160 of file i2c-sh_mobile.c.

#define ICSR_WAIT   0x02

Definition at line 161 of file i2c-sh_mobile.c.

#define IIC_FLAG_HAS_ICIC67   (1 << 0)

Definition at line 136 of file i2c-sh_mobile.c.

#define NORMAL_SPEED   100000 /* FAST_SPEED 400000 */

Definition at line 138 of file i2c-sh_mobile.c.

#define SW_DONE   0x20

Definition at line 157 of file i2c-sh_mobile.c.

Enumeration Type Documentation

Enumerator:
OP_START 
OP_TX_FIRST 
OP_TX 
OP_TX_STOP 
OP_TX_TO_RX 
OP_RX 
OP_RX_STOP 
OP_RX_STOP_DATA 

Definition at line 107 of file i2c-sh_mobile.c.

Function Documentation

MODULE_ALIAS ( "platform:i2c-sh_mobile"  )
MODULE_AUTHOR ( "Magnus Damm"  )
MODULE_DESCRIPTION ( "SuperH Mobile I2C Bus Controller driver )
MODULE_DEVICE_TABLE ( of  ,
sh_mobile_i2c_dt_ids   
)
module_exit ( sh_mobile_i2c_adap_exit  )
MODULE_LICENSE ( "GPL v2 )
subsys_initcall ( sh_mobile_i2c_adap_init  )