Linux Kernel
3.7.1
|
#include <linux/kernel.h>
#include <linux/errno.h>
#include <linux/module.h>
#include <linux/types.h>
#include <linux/slab.h>
#include <linux/usb.h>
#include <linux/i2c.h>
Go to the source code of this file.
Data Structures | |
struct | i2c_diolan_u2c |
Macros | |
#define | DRIVER_NAME "i2c-diolan-u2c" |
#define | USB_VENDOR_ID_DIOLAN 0x0abf |
#define | USB_DEVICE_ID_DIOLAN_U2C 0x3370 |
#define | DIOLAN_OUT_EP 0x02 |
#define | DIOLAN_IN_EP 0x84 |
#define | CMD_I2C_READ 0x01 |
#define | CMD_I2C_WRITE 0x02 |
#define | CMD_I2C_SCAN 0x03 /* Returns list of detected devices */ |
#define | CMD_I2C_RELEASE_SDA 0x04 |
#define | CMD_I2C_RELEASE_SCL 0x05 |
#define | CMD_I2C_DROP_SDA 0x06 |
#define | CMD_I2C_DROP_SCL 0x07 |
#define | CMD_I2C_READ_SDA 0x08 |
#define | CMD_I2C_READ_SCL 0x09 |
#define | CMD_GET_FW_VERSION 0x0a |
#define | CMD_GET_SERIAL 0x0b |
#define | CMD_I2C_START 0x0c |
#define | CMD_I2C_STOP 0x0d |
#define | CMD_I2C_REPEATED_START 0x0e |
#define | CMD_I2C_PUT_BYTE 0x0f |
#define | CMD_I2C_GET_BYTE 0x10 |
#define | CMD_I2C_PUT_ACK 0x11 |
#define | CMD_I2C_GET_ACK 0x12 |
#define | CMD_I2C_PUT_BYTE_ACK 0x13 |
#define | CMD_I2C_GET_BYTE_ACK 0x14 |
#define | CMD_I2C_SET_SPEED 0x1b |
#define | CMD_I2C_GET_SPEED 0x1c |
#define | CMD_I2C_SET_CLK_SYNC 0x24 |
#define | CMD_I2C_GET_CLK_SYNC 0x25 |
#define | CMD_I2C_SET_CLK_SYNC_TO 0x26 |
#define | CMD_I2C_GET_CLK_SYNC_TO 0x27 |
#define | RESP_OK 0x00 |
#define | RESP_FAILED 0x01 |
#define | RESP_BAD_MEMADDR 0x04 |
#define | RESP_DATA_ERR 0x05 |
#define | RESP_NOT_IMPLEMENTED 0x06 |
#define | RESP_NACK 0x07 |
#define | RESP_TIMEOUT 0x09 |
#define | U2C_I2C_SPEED_FAST 0 /* 400 kHz */ |
#define | U2C_I2C_SPEED_STD 1 /* 100 kHz */ |
#define | U2C_I2C_SPEED_2KHZ 242 /* 2 kHz, minimum speed */ |
#define | U2C_I2C_SPEED(f) ((DIV_ROUND_UP(1000000, (f)) - 10) / 2 + 1) |
#define | U2C_I2C_FREQ_FAST 400000 |
#define | U2C_I2C_FREQ_STD 100000 |
#define | U2C_I2C_FREQ(s) (1000000 / (2 * (s - 1) + 10)) |
#define | DIOLAN_USB_TIMEOUT 100 /* in ms */ |
#define | DIOLAN_SYNC_TIMEOUT 20 /* in ms */ |
#define | DIOLAN_OUTBUF_LEN 128 |
#define | DIOLAN_FLUSH_LEN (DIOLAN_OUTBUF_LEN - 4) |
#define | DIOLAN_INBUF_LEN 256 /* Maximum supported receive length */ |
Functions | |
module_param (frequency, uint, S_IRUGO|S_IWUSR) | |
MODULE_PARM_DESC (frequency,"I2C clock frequency in hertz") | |
MODULE_DEVICE_TABLE (usb, diolan_u2c_table) | |
module_usb_driver (diolan_u2c_driver) | |
MODULE_AUTHOR ("Guenter Roeck <[email protected]>") | |
MODULE_DESCRIPTION (DRIVER_NAME" driver") | |
MODULE_LICENSE ("GPL") | |
#define CMD_GET_FW_VERSION 0x0a |
Definition at line 41 of file i2c-diolan-u2c.c.
#define CMD_GET_SERIAL 0x0b |
Definition at line 42 of file i2c-diolan-u2c.c.
#define CMD_I2C_DROP_SCL 0x07 |
Definition at line 38 of file i2c-diolan-u2c.c.
#define CMD_I2C_DROP_SDA 0x06 |
Definition at line 37 of file i2c-diolan-u2c.c.
#define CMD_I2C_GET_ACK 0x12 |
Definition at line 49 of file i2c-diolan-u2c.c.
#define CMD_I2C_GET_BYTE 0x10 |
Definition at line 47 of file i2c-diolan-u2c.c.
#define CMD_I2C_GET_BYTE_ACK 0x14 |
Definition at line 51 of file i2c-diolan-u2c.c.
#define CMD_I2C_GET_CLK_SYNC 0x25 |
Definition at line 55 of file i2c-diolan-u2c.c.
#define CMD_I2C_GET_CLK_SYNC_TO 0x27 |
Definition at line 57 of file i2c-diolan-u2c.c.
#define CMD_I2C_GET_SPEED 0x1c |
Definition at line 53 of file i2c-diolan-u2c.c.
#define CMD_I2C_PUT_ACK 0x11 |
Definition at line 48 of file i2c-diolan-u2c.c.
#define CMD_I2C_PUT_BYTE 0x0f |
Definition at line 46 of file i2c-diolan-u2c.c.
#define CMD_I2C_PUT_BYTE_ACK 0x13 |
Definition at line 50 of file i2c-diolan-u2c.c.
#define CMD_I2C_READ 0x01 |
Definition at line 32 of file i2c-diolan-u2c.c.
#define CMD_I2C_READ_SCL 0x09 |
Definition at line 40 of file i2c-diolan-u2c.c.
#define CMD_I2C_READ_SDA 0x08 |
Definition at line 39 of file i2c-diolan-u2c.c.
#define CMD_I2C_RELEASE_SCL 0x05 |
Definition at line 36 of file i2c-diolan-u2c.c.
#define CMD_I2C_RELEASE_SDA 0x04 |
Definition at line 35 of file i2c-diolan-u2c.c.
#define CMD_I2C_REPEATED_START 0x0e |
Definition at line 45 of file i2c-diolan-u2c.c.
#define CMD_I2C_SCAN 0x03 /* Returns list of detected devices */ |
Definition at line 34 of file i2c-diolan-u2c.c.
#define CMD_I2C_SET_CLK_SYNC 0x24 |
Definition at line 54 of file i2c-diolan-u2c.c.
#define CMD_I2C_SET_CLK_SYNC_TO 0x26 |
Definition at line 56 of file i2c-diolan-u2c.c.
#define CMD_I2C_SET_SPEED 0x1b |
Definition at line 52 of file i2c-diolan-u2c.c.
#define CMD_I2C_START 0x0c |
Definition at line 43 of file i2c-diolan-u2c.c.
#define CMD_I2C_STOP 0x0d |
Definition at line 44 of file i2c-diolan-u2c.c.
#define CMD_I2C_WRITE 0x02 |
Definition at line 33 of file i2c-diolan-u2c.c.
#define DIOLAN_FLUSH_LEN (DIOLAN_OUTBUF_LEN - 4) |
Definition at line 80 of file i2c-diolan-u2c.c.
#define DIOLAN_IN_EP 0x84 |
Definition at line 29 of file i2c-diolan-u2c.c.
#define DIOLAN_INBUF_LEN 256 /* Maximum supported receive length */ |
Definition at line 81 of file i2c-diolan-u2c.c.
#define DIOLAN_OUT_EP 0x02 |
Definition at line 28 of file i2c-diolan-u2c.c.
#define DIOLAN_OUTBUF_LEN 128 |
Definition at line 79 of file i2c-diolan-u2c.c.
Definition at line 77 of file i2c-diolan-u2c.c.
Definition at line 76 of file i2c-diolan-u2c.c.
#define DRIVER_NAME "i2c-diolan-u2c" |
Definition at line 23 of file i2c-diolan-u2c.c.
#define RESP_BAD_MEMADDR 0x04 |
Definition at line 61 of file i2c-diolan-u2c.c.
#define RESP_DATA_ERR 0x05 |
Definition at line 62 of file i2c-diolan-u2c.c.
#define RESP_FAILED 0x01 |
Definition at line 60 of file i2c-diolan-u2c.c.
#define RESP_NACK 0x07 |
Definition at line 64 of file i2c-diolan-u2c.c.
#define RESP_NOT_IMPLEMENTED 0x06 |
Definition at line 63 of file i2c-diolan-u2c.c.
#define RESP_OK 0x00 |
Definition at line 59 of file i2c-diolan-u2c.c.
#define RESP_TIMEOUT 0x09 |
Definition at line 65 of file i2c-diolan-u2c.c.
Definition at line 74 of file i2c-diolan-u2c.c.
#define U2C_I2C_FREQ_FAST 400000 |
Definition at line 72 of file i2c-diolan-u2c.c.
#define U2C_I2C_FREQ_STD 100000 |
Definition at line 73 of file i2c-diolan-u2c.c.
#define U2C_I2C_SPEED | ( | f | ) | ((DIV_ROUND_UP(1000000, (f)) - 10) / 2 + 1) |
Definition at line 70 of file i2c-diolan-u2c.c.
Definition at line 69 of file i2c-diolan-u2c.c.
#define U2C_I2C_SPEED_FAST 0 /* 400 kHz */ |
Definition at line 67 of file i2c-diolan-u2c.c.
#define U2C_I2C_SPEED_STD 1 /* 100 kHz */ |
Definition at line 68 of file i2c-diolan-u2c.c.
#define USB_DEVICE_ID_DIOLAN_U2C 0x3370 |
Definition at line 26 of file i2c-diolan-u2c.c.
#define USB_VENDOR_ID_DIOLAN 0x0abf |
Definition at line 25 of file i2c-diolan-u2c.c.
MODULE_AUTHOR | ( | "Guenter Roeck <[email protected]>" | ) |
MODULE_DESCRIPTION | ( | DRIVER_NAME" driver" | ) |
MODULE_DEVICE_TABLE | ( | usb | , |
diolan_u2c_table | |||
) |
MODULE_LICENSE | ( | "GPL" | ) |
module_usb_driver | ( | diolan_u2c_driver | ) |