Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Macros | Functions
ad7291.c File Reference
#include <linux/interrupt.h>
#include <linux/device.h>
#include <linux/kernel.h>
#include <linux/slab.h>
#include <linux/sysfs.h>
#include <linux/i2c.h>
#include <linux/module.h>
#include <linux/mutex.h>
#include <linux/regulator/consumer.h>
#include <linux/err.h>
#include <linux/iio/iio.h>
#include <linux/iio/sysfs.h>
#include <linux/iio/events.h>

Go to the source code of this file.

Data Structures

struct  ad7291_chip_info
 

Macros

#define AD7291_COMMAND   0x00
 
#define AD7291_VOLTAGE   0x01
 
#define AD7291_T_SENSE   0x02
 
#define AD7291_T_AVERAGE   0x03
 
#define AD7291_CH0_DATA_HIGH   0x04
 
#define AD7291_CH0_DATA_LOW   0x05
 
#define AD7291_CH0_HYST   0x06
 
#define AD7291_CH1_DATA_HIGH   0x07
 
#define AD7291_CH1_DATA_LOW   0x08
 
#define AD7291_CH1_HYST   0x09
 
#define AD7291_CH2_DATA_HIGH   0x0A
 
#define AD7291_CH2_DATA_LOW   0x0B
 
#define AD7291_CH2_HYST   0x0C
 
#define AD7291_CH3_DATA_HIGH   0x0D
 
#define AD7291_CH3_DATA_LOW   0x0E
 
#define AD7291_CH3_HYST   0x0F
 
#define AD7291_CH4_DATA_HIGH   0x10
 
#define AD7291_CH4_DATA_LOW   0x11
 
#define AD7291_CH4_HYST   0x12
 
#define AD7291_CH5_DATA_HIGH   0x13
 
#define AD7291_CH5_DATA_LOW   0x14
 
#define AD7291_CH5_HYST   0x15
 
#define AD7291_CH6_DATA_HIGH   0x16
 
#define AD7291_CH6_DATA_LOW   0x17
 
#define AD7291_CH6_HYST   0x18
 
#define AD7291_CH7_DATA_HIGH   0x19
 
#define AD7291_CH7_DATA_LOW   0x1A
 
#define AD7291_CH7_HYST   0x2B
 
#define AD7291_T_SENSE_HIGH   0x1C
 
#define AD7291_T_SENSE_LOW   0x1D
 
#define AD7291_T_SENSE_HYST   0x1E
 
#define AD7291_VOLTAGE_ALERT_STATUS   0x1F
 
#define AD7291_T_ALERT_STATUS   0x20
 
#define AD7291_VOLTAGE_LIMIT_COUNT   8
 
#define AD7291_AUTOCYCLE   (1 << 0)
 
#define AD7291_RESET   (1 << 1)
 
#define AD7291_ALERT_CLEAR   (1 << 2)
 
#define AD7291_ALERT_POLARITY   (1 << 3)
 
#define AD7291_EXT_REF   (1 << 4)
 
#define AD7291_NOISE_DELAY   (1 << 5)
 
#define AD7291_T_SENSE_MASK   (1 << 7)
 
#define AD7291_VOLTAGE_MASK   0xFF00
 
#define AD7291_VOLTAGE_OFFSET   0x8
 
#define AD7291_CHANNEL_MASK   0xF000
 
#define AD7291_BITS   12
 
#define AD7291_VALUE_MASK   0xFFF
 
#define AD7291_T_VALUE_SIGN   0x400
 
#define AD7291_T_VALUE_FLOAT_OFFSET   2
 
#define AD7291_T_VALUE_FLOAT_MASK   0x2
 
#define AD7291_BITS   12
 
#define AD7291_VOLTAGE_CHAN(_chan)
 

Functions

 MODULE_DEVICE_TABLE (i2c, ad7291_id)
 
 module_i2c_driver (ad7291_driver)
 
 MODULE_AUTHOR ("Sonic Zhang <[email protected]>")
 
 MODULE_DESCRIPTION ("Analog Devices AD7291 ADC driver")
 
 MODULE_LICENSE ("GPL v2")
 

Macro Definition Documentation

#define AD7291_ALERT_CLEAR   (1 << 2)

Definition at line 80 of file ad7291.c.

#define AD7291_ALERT_POLARITY   (1 << 3)

Definition at line 81 of file ad7291.c.

#define AD7291_AUTOCYCLE   (1 << 0)

Definition at line 78 of file ad7291.c.

#define AD7291_BITS   12

Definition at line 98 of file ad7291.c.

#define AD7291_BITS   12

Definition at line 98 of file ad7291.c.

#define AD7291_CH0_DATA_HIGH   0x04

Definition at line 42 of file ad7291.c.

#define AD7291_CH0_DATA_LOW   0x05

Definition at line 43 of file ad7291.c.

#define AD7291_CH0_HYST   0x06

Definition at line 44 of file ad7291.c.

#define AD7291_CH1_DATA_HIGH   0x07

Definition at line 45 of file ad7291.c.

#define AD7291_CH1_DATA_LOW   0x08

Definition at line 46 of file ad7291.c.

#define AD7291_CH1_HYST   0x09

Definition at line 47 of file ad7291.c.

#define AD7291_CH2_DATA_HIGH   0x0A

Definition at line 48 of file ad7291.c.

#define AD7291_CH2_DATA_LOW   0x0B

Definition at line 49 of file ad7291.c.

#define AD7291_CH2_HYST   0x0C

Definition at line 50 of file ad7291.c.

#define AD7291_CH3_DATA_HIGH   0x0D

Definition at line 51 of file ad7291.c.

#define AD7291_CH3_DATA_LOW   0x0E

Definition at line 52 of file ad7291.c.

#define AD7291_CH3_HYST   0x0F

Definition at line 53 of file ad7291.c.

#define AD7291_CH4_DATA_HIGH   0x10

Definition at line 54 of file ad7291.c.

#define AD7291_CH4_DATA_LOW   0x11

Definition at line 55 of file ad7291.c.

#define AD7291_CH4_HYST   0x12

Definition at line 56 of file ad7291.c.

#define AD7291_CH5_DATA_HIGH   0x13

Definition at line 57 of file ad7291.c.

#define AD7291_CH5_DATA_LOW   0x14

Definition at line 58 of file ad7291.c.

#define AD7291_CH5_HYST   0x15

Definition at line 59 of file ad7291.c.

#define AD7291_CH6_DATA_HIGH   0x16

Definition at line 60 of file ad7291.c.

#define AD7291_CH6_DATA_LOW   0x17

Definition at line 61 of file ad7291.c.

#define AD7291_CH6_HYST   0x18

Definition at line 62 of file ad7291.c.

#define AD7291_CH7_DATA_HIGH   0x19

Definition at line 63 of file ad7291.c.

#define AD7291_CH7_DATA_LOW   0x1A

Definition at line 64 of file ad7291.c.

#define AD7291_CH7_HYST   0x2B

Definition at line 65 of file ad7291.c.

#define AD7291_CHANNEL_MASK   0xF000

Definition at line 91 of file ad7291.c.

#define AD7291_COMMAND   0x00

Definition at line 38 of file ad7291.c.

#define AD7291_EXT_REF   (1 << 4)

Definition at line 82 of file ad7291.c.

#define AD7291_NOISE_DELAY   (1 << 5)

Definition at line 83 of file ad7291.c.

#define AD7291_RESET   (1 << 1)

Definition at line 79 of file ad7291.c.

#define AD7291_T_ALERT_STATUS   0x20

Definition at line 70 of file ad7291.c.

#define AD7291_T_AVERAGE   0x03

Definition at line 41 of file ad7291.c.

#define AD7291_T_SENSE   0x02

Definition at line 40 of file ad7291.c.

#define AD7291_T_SENSE_HIGH   0x1C

Definition at line 66 of file ad7291.c.

#define AD7291_T_SENSE_HYST   0x1E

Definition at line 68 of file ad7291.c.

#define AD7291_T_SENSE_LOW   0x1D

Definition at line 67 of file ad7291.c.

#define AD7291_T_SENSE_MASK   (1 << 7)

Definition at line 84 of file ad7291.c.

#define AD7291_T_VALUE_FLOAT_MASK   0x2

Definition at line 96 of file ad7291.c.

#define AD7291_T_VALUE_FLOAT_OFFSET   2

Definition at line 95 of file ad7291.c.

#define AD7291_T_VALUE_SIGN   0x400

Definition at line 94 of file ad7291.c.

#define AD7291_VALUE_MASK   0xFFF

Definition at line 93 of file ad7291.c.

#define AD7291_VOLTAGE   0x01

Definition at line 39 of file ad7291.c.

#define AD7291_VOLTAGE_ALERT_STATUS   0x1F

Definition at line 69 of file ad7291.c.

#define AD7291_VOLTAGE_CHAN (   _chan)
Value:
{ \
.type = IIO_VOLTAGE, \
IIO_CHAN_INFO_SCALE_SHARED_BIT, \
.indexed = 1, \
.channel = _chan, \
}

Definition at line 536 of file ad7291.c.

#define AD7291_VOLTAGE_LIMIT_COUNT   8

Definition at line 72 of file ad7291.c.

#define AD7291_VOLTAGE_MASK   0xFF00

Definition at line 85 of file ad7291.c.

#define AD7291_VOLTAGE_OFFSET   0x8

Definition at line 86 of file ad7291.c.

Function Documentation

MODULE_AUTHOR ( "Sonic Zhang <[email protected]>"  )
MODULE_DESCRIPTION ( "Analog Devices AD7291 ADC driver )
MODULE_DEVICE_TABLE ( i2c  ,
ad7291_id   
)
module_i2c_driver ( ad7291_driver  )
MODULE_LICENSE ( "GPL v2 )