Linux Kernel
3.7.1
|
#include <linux/clk.h>
#include <linux/delay.h>
#include <linux/err.h>
#include <linux/init.h>
#include <linux/interrupt.h>
#include <linux/io.h>
#include <linux/i2c.h>
#include <linux/i2c/i2c-rcar.h>
#include <linux/kernel.h>
#include <linux/module.h>
#include <linux/platform_device.h>
#include <linux/pm_runtime.h>
#include <linux/slab.h>
#include <linux/spinlock.h>
Go to the source code of this file.
Data Structures | |
struct | rcar_i2c_priv |
Macros | |
#define | ICSCR 0x00 /* slave ctrl */ |
#define | ICMCR 0x04 /* master ctrl */ |
#define | ICSSR 0x08 /* slave status */ |
#define | ICMSR 0x0C /* master status */ |
#define | ICSIER 0x10 /* slave irq enable */ |
#define | ICMIER 0x14 /* master irq enable */ |
#define | ICCCR 0x18 /* clock dividers */ |
#define | ICSAR 0x1C /* slave address */ |
#define | ICMAR 0x20 /* master address */ |
#define | ICRXTX 0x24 /* data port */ |
#define | MDBS (1 << 7) /* non-fifo mode switch */ |
#define | FSCL (1 << 6) /* override SCL pin */ |
#define | FSDA (1 << 5) /* override SDA pin */ |
#define | OBPC (1 << 4) /* override pins */ |
#define | MIE (1 << 3) /* master if enable */ |
#define | TSBE (1 << 2) |
#define | FSB (1 << 1) /* force stop bit */ |
#define | ESG (1 << 0) /* en startbit gen */ |
#define | MNR (1 << 6) /* nack received */ |
#define | MAL (1 << 5) /* arbitration lost */ |
#define | MST (1 << 4) /* sent a stop */ |
#define | MDE (1 << 3) |
#define | MDT (1 << 2) |
#define | MDR (1 << 1) |
#define | MAT (1 << 0) /* slave addr xfer done */ |
#define | MNRE (1 << 6) /* nack irq en */ |
#define | MALE (1 << 5) /* arblos irq en */ |
#define | MSTE (1 << 4) /* stop irq en */ |
#define | MDEE (1 << 3) |
#define | MDTE (1 << 2) |
#define | MDRE (1 << 1) |
#define | MATE (1 << 0) /* address sent irq en */ |
#define | ID_LAST_MSG (1 << 0) |
#define | ID_IOERROR (1 << 1) |
#define | ID_DONE (1 << 2) |
#define | ID_ARBLOST (1 << 3) |
#define | ID_NACK (1 << 4) |
#define | rcar_i2c_priv_to_dev(p) ((p)->adap.dev.parent) |
#define | rcar_i2c_is_recv(p) ((p)->msg->flags & I2C_M_RD) |
#define | rcar_i2c_flags_set(p, f) ((p)->flags |= (f)) |
#define | rcar_i2c_flags_has(p, f) ((p)->flags & (f)) |
#define | LOOP_TIMEOUT 1024 |
#define | rcar_i2c_status_clear(priv) rcar_i2c_status_bit_clear(priv, 0xffffffff) |
#define | rcar_i2c_send_restart(priv) rcar_i2c_status_bit_clear(priv, (MAT | MDE)) |
#define | rcar_i2c_recv_restart(priv) rcar_i2c_status_bit_clear(priv, (MAT | MDR)) |
Enumerations | |
enum | { RCAR_BUS_PHASE_ADDR, RCAR_BUS_PHASE_DATA, RCAR_BUS_PHASE_STOP } |
enum | { RCAR_IRQ_CLOSE, RCAR_IRQ_OPEN_FOR_SEND, RCAR_IRQ_OPEN_FOR_RECV, RCAR_IRQ_OPEN_FOR_STOP } |
Functions | |
module_platform_driver (rcar_i2c_drv) | |
MODULE_LICENSE ("GPL") | |
MODULE_DESCRIPTION ("Renesas R-Car I2C bus driver") | |
MODULE_AUTHOR ("Kuninori Morimoto <[email protected]>") | |
#define ESG (1 << 0) /* en startbit gen */ |
Definition at line 61 of file i2c-rcar.c.
Definition at line 60 of file i2c-rcar.c.
Definition at line 55 of file i2c-rcar.c.
Definition at line 56 of file i2c-rcar.c.
#define ICCCR 0x18 /* clock dividers */ |
Definition at line 48 of file i2c-rcar.c.
#define ICMAR 0x20 /* master address */ |
Definition at line 50 of file i2c-rcar.c.
#define ICMCR 0x04 /* master ctrl */ |
Definition at line 43 of file i2c-rcar.c.
#define ICMIER 0x14 /* master irq enable */ |
Definition at line 47 of file i2c-rcar.c.
#define ICMSR 0x0C /* master status */ |
Definition at line 45 of file i2c-rcar.c.
#define ICRXTX 0x24 /* data port */ |
Definition at line 51 of file i2c-rcar.c.
#define ICSAR 0x1C /* slave address */ |
Definition at line 49 of file i2c-rcar.c.
#define ICSCR 0x00 /* slave ctrl */ |
Definition at line 42 of file i2c-rcar.c.
#define ICSIER 0x10 /* slave irq enable */ |
Definition at line 46 of file i2c-rcar.c.
#define ICSSR 0x08 /* slave status */ |
Definition at line 44 of file i2c-rcar.c.
#define ID_ARBLOST (1 << 3) |
Definition at line 101 of file i2c-rcar.c.
#define ID_DONE (1 << 2) |
Definition at line 100 of file i2c-rcar.c.
#define ID_IOERROR (1 << 1) |
Definition at line 99 of file i2c-rcar.c.
#define ID_LAST_MSG (1 << 0) |
Definition at line 98 of file i2c-rcar.c.
#define ID_NACK (1 << 4) |
Definition at line 102 of file i2c-rcar.c.
#define LOOP_TIMEOUT 1024 |
Definition at line 124 of file i2c-rcar.c.
#define MAL (1 << 5) /* arbitration lost */ |
Definition at line 65 of file i2c-rcar.c.
#define MALE (1 << 5) /* arblos irq en */ |
Definition at line 74 of file i2c-rcar.c.
Definition at line 70 of file i2c-rcar.c.
Definition at line 79 of file i2c-rcar.c.
Definition at line 54 of file i2c-rcar.c.
#define MDE (1 << 3) |
Definition at line 67 of file i2c-rcar.c.
#define MDEE (1 << 3) |
Definition at line 76 of file i2c-rcar.c.
#define MDR (1 << 1) |
Definition at line 69 of file i2c-rcar.c.
#define MDRE (1 << 1) |
Definition at line 78 of file i2c-rcar.c.
#define MDT (1 << 2) |
Definition at line 68 of file i2c-rcar.c.
#define MDTE (1 << 2) |
Definition at line 77 of file i2c-rcar.c.
Definition at line 58 of file i2c-rcar.c.
#define MNR (1 << 6) /* nack received */ |
Definition at line 64 of file i2c-rcar.c.
#define MNRE (1 << 6) /* nack irq en */ |
Definition at line 73 of file i2c-rcar.c.
Definition at line 66 of file i2c-rcar.c.
Definition at line 75 of file i2c-rcar.c.
#define OBPC (1 << 4) /* override pins */ |
Definition at line 57 of file i2c-rcar.c.
Definition at line 119 of file i2c-rcar.c.
#define rcar_i2c_priv_to_dev | ( | p | ) | ((p)->adap.dev.parent) |
Definition at line 118 of file i2c-rcar.c.
Definition at line 347 of file i2c-rcar.c.
Definition at line 346 of file i2c-rcar.c.
Definition at line 308 of file i2c-rcar.c.
#define TSBE (1 << 2) |
Definition at line 59 of file i2c-rcar.c.
anonymous enum |
Definition at line 82 of file i2c-rcar.c.
anonymous enum |
Definition at line 88 of file i2c-rcar.c.
MODULE_AUTHOR | ( | "Kuninori Morimoto <[email protected]>" | ) |
MODULE_LICENSE | ( | "GPL" | ) |
module_platform_driver | ( | rcar_i2c_drv | ) |