Linux Kernel
3.7.1
|
#include <linux/clk.h>
#include <linux/completion.h>
#include <linux/err.h>
#include <linux/i2c.h>
#include <linux/interrupt.h>
#include <linux/io.h>
#include <linux/module.h>
#include <linux/of.h>
#include <linux/of_device.h>
#include <linux/of_i2c.h>
#include <linux/platform_device.h>
#include <linux/slab.h>
Go to the source code of this file.
Data Structures | |
struct | at91_twi_pdata |
struct | at91_twi_dev |
Macros | |
#define | TWI_CLK_HZ 100000 /* max 400 Kbits/s */ |
#define | AT91_I2C_TIMEOUT msecs_to_jiffies(100) /* transfer timeout */ |
#define | AT91_TWI_CR 0x0000 /* Control Register */ |
#define | AT91_TWI_START 0x0001 /* Send a Start Condition */ |
#define | AT91_TWI_STOP 0x0002 /* Send a Stop Condition */ |
#define | AT91_TWI_MSEN 0x0004 /* Master Transfer Enable */ |
#define | AT91_TWI_SVDIS 0x0020 /* Slave Transfer Disable */ |
#define | AT91_TWI_QUICK 0x0040 /* SMBus quick command */ |
#define | AT91_TWI_SWRST 0x0080 /* Software Reset */ |
#define | AT91_TWI_MMR 0x0004 /* Master Mode Register */ |
#define | AT91_TWI_IADRSZ_1 0x0100 /* Internal Device Address Size */ |
#define | AT91_TWI_MREAD 0x1000 /* Master Read Direction */ |
#define | AT91_TWI_IADR 0x000c /* Internal Address Register */ |
#define | AT91_TWI_CWGR 0x0010 /* Clock Waveform Generator Reg */ |
#define | AT91_TWI_SR 0x0020 /* Status Register */ |
#define | AT91_TWI_TXCOMP 0x0001 /* Transmission Complete */ |
#define | AT91_TWI_RXRDY 0x0002 /* Receive Holding Register Ready */ |
#define | AT91_TWI_TXRDY 0x0004 /* Transmit Holding Register Ready */ |
#define | AT91_TWI_OVRE 0x0040 /* Overrun Error */ |
#define | AT91_TWI_UNRE 0x0080 /* Underrun Error */ |
#define | AT91_TWI_NACK 0x0100 /* Not Acknowledged */ |
#define | AT91_TWI_IER 0x0024 /* Interrupt Enable Register */ |
#define | AT91_TWI_IDR 0x0028 /* Interrupt Disable Register */ |
#define | AT91_TWI_IMR 0x002c /* Interrupt Mask Register */ |
#define | AT91_TWI_RHR 0x0030 /* Receive Holding Register */ |
#define | AT91_TWI_THR 0x0034 /* Transmit Holding Register */ |
#define | atmel_twi_dt_ids NULL |
#define | at91_twi_pm_ops NULL |
Functions | |
subsys_initcall (at91_twi_init) | |
module_exit (at91_twi_exit) | |
MODULE_AUTHOR ("Nikolaus Voss <[email protected]>") | |
MODULE_DESCRIPTION ("I2C (TWI) driver for Atmel AT91") | |
MODULE_LICENSE ("GPL") | |
MODULE_ALIAS ("platform:at91_i2c") | |
#define AT91_I2C_TIMEOUT msecs_to_jiffies(100) /* transfer timeout */ |
Definition at line 34 of file i2c-at91.c.
#define AT91_TWI_CR 0x0000 /* Control Register */ |
Definition at line 37 of file i2c-at91.c.
#define AT91_TWI_CWGR 0x0010 /* Clock Waveform Generator Reg */ |
Definition at line 51 of file i2c-at91.c.
#define AT91_TWI_IADR 0x000c /* Internal Address Register */ |
Definition at line 49 of file i2c-at91.c.
#define AT91_TWI_IADRSZ_1 0x0100 /* Internal Device Address Size */ |
Definition at line 46 of file i2c-at91.c.
#define AT91_TWI_IDR 0x0028 /* Interrupt Disable Register */ |
Definition at line 63 of file i2c-at91.c.
#define AT91_TWI_IER 0x0024 /* Interrupt Enable Register */ |
Definition at line 62 of file i2c-at91.c.
#define AT91_TWI_IMR 0x002c /* Interrupt Mask Register */ |
Definition at line 64 of file i2c-at91.c.
#define AT91_TWI_MMR 0x0004 /* Master Mode Register */ |
Definition at line 45 of file i2c-at91.c.
#define AT91_TWI_MREAD 0x1000 /* Master Read Direction */ |
Definition at line 47 of file i2c-at91.c.
#define AT91_TWI_MSEN 0x0004 /* Master Transfer Enable */ |
Definition at line 40 of file i2c-at91.c.
#define AT91_TWI_NACK 0x0100 /* Not Acknowledged */ |
Definition at line 60 of file i2c-at91.c.
#define AT91_TWI_OVRE 0x0040 /* Overrun Error */ |
Definition at line 58 of file i2c-at91.c.
#define at91_twi_pm_ops NULL |
Definition at line 528 of file i2c-at91.c.
#define AT91_TWI_QUICK 0x0040 /* SMBus quick command */ |
Definition at line 42 of file i2c-at91.c.
#define AT91_TWI_RHR 0x0030 /* Receive Holding Register */ |
Definition at line 65 of file i2c-at91.c.
#define AT91_TWI_RXRDY 0x0002 /* Receive Holding Register Ready */ |
Definition at line 55 of file i2c-at91.c.
#define AT91_TWI_SR 0x0020 /* Status Register */ |
Definition at line 53 of file i2c-at91.c.
#define AT91_TWI_START 0x0001 /* Send a Start Condition */ |
Definition at line 38 of file i2c-at91.c.
#define AT91_TWI_STOP 0x0002 /* Send a Stop Condition */ |
Definition at line 39 of file i2c-at91.c.
#define AT91_TWI_SVDIS 0x0020 /* Slave Transfer Disable */ |
Definition at line 41 of file i2c-at91.c.
#define AT91_TWI_SWRST 0x0080 /* Software Reset */ |
Definition at line 43 of file i2c-at91.c.
#define AT91_TWI_THR 0x0034 /* Transmit Holding Register */ |
Definition at line 66 of file i2c-at91.c.
#define AT91_TWI_TXCOMP 0x0001 /* Transmission Complete */ |
Definition at line 54 of file i2c-at91.c.
#define AT91_TWI_TXRDY 0x0004 /* Transmit Holding Register Ready */ |
Definition at line 56 of file i2c-at91.c.
#define AT91_TWI_UNRE 0x0080 /* Underrun Error */ |
Definition at line 59 of file i2c-at91.c.
#define atmel_twi_dt_ids NULL |
Definition at line 405 of file i2c-at91.c.
Definition at line 33 of file i2c-at91.c.
MODULE_ALIAS | ( | "platform:at91_i2c" | ) |
MODULE_AUTHOR | ( | "Nikolaus Voss <[email protected]>" | ) |
module_exit | ( | at91_twi_exit | ) |
MODULE_LICENSE | ( | "GPL" | ) |
subsys_initcall | ( | at91_twi_init | ) |