Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Macros | Functions
mv64x60_i2c.c File Reference
#include <stdarg.h>
#include <stddef.h>
#include "types.h"
#include "elf.h"
#include "page.h"
#include "string.h"
#include "stdio.h"
#include "io.h"
#include "ops.h"
#include "mv64x60.h"

Go to the source code of this file.

Macros

#define MV64x60_I2C_REG_SLAVE_ADDR   0x00
 
#define MV64x60_I2C_REG_DATA   0x04
 
#define MV64x60_I2C_REG_CONTROL   0x08
 
#define MV64x60_I2C_REG_STATUS   0x0c
 
#define MV64x60_I2C_REG_BAUD   0x0c
 
#define MV64x60_I2C_REG_EXT_SLAVE_ADDR   0x10
 
#define MV64x60_I2C_REG_SOFT_RESET   0x1c
 
#define MV64x60_I2C_CONTROL_ACK   0x04
 
#define MV64x60_I2C_CONTROL_IFLG   0x08
 
#define MV64x60_I2C_CONTROL_STOP   0x10
 
#define MV64x60_I2C_CONTROL_START   0x20
 
#define MV64x60_I2C_CONTROL_TWSIEN   0x40
 
#define MV64x60_I2C_CONTROL_INTEN   0x80
 
#define MV64x60_I2C_STATUS_BUS_ERR   0x00
 
#define MV64x60_I2C_STATUS_MAST_START   0x08
 
#define MV64x60_I2C_STATUS_MAST_REPEAT_START   0x10
 
#define MV64x60_I2C_STATUS_MAST_WR_ADDR_ACK   0x18
 
#define MV64x60_I2C_STATUS_MAST_WR_ADDR_NO_ACK   0x20
 
#define MV64x60_I2C_STATUS_MAST_WR_ACK   0x28
 
#define MV64x60_I2C_STATUS_MAST_WR_NO_ACK   0x30
 
#define MV64x60_I2C_STATUS_MAST_LOST_ARB   0x38
 
#define MV64x60_I2C_STATUS_MAST_RD_ADDR_ACK   0x40
 
#define MV64x60_I2C_STATUS_MAST_RD_ADDR_NO_ACK   0x48
 
#define MV64x60_I2C_STATUS_MAST_RD_DATA_ACK   0x50
 
#define MV64x60_I2C_STATUS_MAST_RD_DATA_NO_ACK   0x58
 
#define MV64x60_I2C_STATUS_MAST_WR_ADDR_2_ACK   0xd0
 
#define MV64x60_I2C_STATUS_MAST_WR_ADDR_2_NO_ACK   0xd8
 
#define MV64x60_I2C_STATUS_MAST_RD_ADDR_2_ACK   0xe0
 
#define MV64x60_I2C_STATUS_MAST_RD_ADDR_2_NO_ACK   0xe8
 
#define MV64x60_I2C_STATUS_NO_STATUS   0xf8
 

Functions

int mv64x60_i2c_read (u32 devaddr, u8 *buf, u32 offset, u32 offset_size, u32 count)
 
int mv64x60_i2c_open (void)
 
void mv64x60_i2c_close (void)
 

Macro Definition Documentation

#define MV64x60_I2C_CONTROL_ACK   0x04

Definition at line 33 of file mv64x60_i2c.c.

#define MV64x60_I2C_CONTROL_IFLG   0x08

Definition at line 34 of file mv64x60_i2c.c.

#define MV64x60_I2C_CONTROL_INTEN   0x80

Definition at line 38 of file mv64x60_i2c.c.

#define MV64x60_I2C_CONTROL_START   0x20

Definition at line 36 of file mv64x60_i2c.c.

#define MV64x60_I2C_CONTROL_STOP   0x10

Definition at line 35 of file mv64x60_i2c.c.

#define MV64x60_I2C_CONTROL_TWSIEN   0x40

Definition at line 37 of file mv64x60_i2c.c.

#define MV64x60_I2C_REG_BAUD   0x0c

Definition at line 29 of file mv64x60_i2c.c.

#define MV64x60_I2C_REG_CONTROL   0x08

Definition at line 27 of file mv64x60_i2c.c.

#define MV64x60_I2C_REG_DATA   0x04

Definition at line 26 of file mv64x60_i2c.c.

#define MV64x60_I2C_REG_EXT_SLAVE_ADDR   0x10

Definition at line 30 of file mv64x60_i2c.c.

#define MV64x60_I2C_REG_SLAVE_ADDR   0x00

Definition at line 25 of file mv64x60_i2c.c.

#define MV64x60_I2C_REG_SOFT_RESET   0x1c

Definition at line 31 of file mv64x60_i2c.c.

#define MV64x60_I2C_REG_STATUS   0x0c

Definition at line 28 of file mv64x60_i2c.c.

#define MV64x60_I2C_STATUS_BUS_ERR   0x00

Definition at line 40 of file mv64x60_i2c.c.

#define MV64x60_I2C_STATUS_MAST_LOST_ARB   0x38

Definition at line 47 of file mv64x60_i2c.c.

#define MV64x60_I2C_STATUS_MAST_RD_ADDR_2_ACK   0xe0

Definition at line 54 of file mv64x60_i2c.c.

#define MV64x60_I2C_STATUS_MAST_RD_ADDR_2_NO_ACK   0xe8

Definition at line 55 of file mv64x60_i2c.c.

#define MV64x60_I2C_STATUS_MAST_RD_ADDR_ACK   0x40

Definition at line 48 of file mv64x60_i2c.c.

#define MV64x60_I2C_STATUS_MAST_RD_ADDR_NO_ACK   0x48

Definition at line 49 of file mv64x60_i2c.c.

#define MV64x60_I2C_STATUS_MAST_RD_DATA_ACK   0x50

Definition at line 50 of file mv64x60_i2c.c.

#define MV64x60_I2C_STATUS_MAST_RD_DATA_NO_ACK   0x58

Definition at line 51 of file mv64x60_i2c.c.

#define MV64x60_I2C_STATUS_MAST_REPEAT_START   0x10

Definition at line 42 of file mv64x60_i2c.c.

#define MV64x60_I2C_STATUS_MAST_START   0x08

Definition at line 41 of file mv64x60_i2c.c.

#define MV64x60_I2C_STATUS_MAST_WR_ACK   0x28

Definition at line 45 of file mv64x60_i2c.c.

#define MV64x60_I2C_STATUS_MAST_WR_ADDR_2_ACK   0xd0

Definition at line 52 of file mv64x60_i2c.c.

#define MV64x60_I2C_STATUS_MAST_WR_ADDR_2_NO_ACK   0xd8

Definition at line 53 of file mv64x60_i2c.c.

#define MV64x60_I2C_STATUS_MAST_WR_ADDR_ACK   0x18

Definition at line 43 of file mv64x60_i2c.c.

#define MV64x60_I2C_STATUS_MAST_WR_ADDR_NO_ACK   0x20

Definition at line 44 of file mv64x60_i2c.c.

#define MV64x60_I2C_STATUS_MAST_WR_NO_ACK   0x30

Definition at line 46 of file mv64x60_i2c.c.

#define MV64x60_I2C_STATUS_NO_STATUS   0xf8

Definition at line 56 of file mv64x60_i2c.c.

Function Documentation

void mv64x60_i2c_close ( void  )

Definition at line 201 of file mv64x60_i2c.c.

int mv64x60_i2c_open ( void  )

Definition at line 183 of file mv64x60_i2c.c.

int mv64x60_i2c_read ( u32  devaddr,
u8 buf,
u32  offset,
u32  offset_size,
u32  count 
)

Definition at line 96 of file mv64x60_i2c.c.