staging: iio: max517: Fix iio_info changes
[pandora-kernel.git] / drivers / staging / iio / gyro / adxrs450.h
1 #ifndef SPI_ADXRS450_H_
2 #define SPI_ADXRS450_H_
3
4 #define ADXRS450_STARTUP_DELAY  50 /* ms */
5
6 /* The MSB for the spi commands */
7 #define ADXRS450_SENSOR_DATA    0x20
8 #define ADXRS450_WRITE_DATA     0x40
9 #define ADXRS450_READ_DATA      0x80
10
11 #define ADXRS450_RATE1  0x00    /* Rate Registers */
12 #define ADXRS450_TEMP1  0x02    /* Temperature Registers */
13 #define ADXRS450_LOCST1 0x04    /* Low CST Memory Registers */
14 #define ADXRS450_HICST1 0x06    /* High CST Memory Registers */
15 #define ADXRS450_QUAD1  0x08    /* Quad Memory Registers */
16 #define ADXRS450_FAULT1 0x0A    /* Fault Registers */
17 #define ADXRS450_PID1   0x0C    /* Part ID Register 1 */
18 #define ADXRS450_SNH    0x0E    /* Serial Number Registers, 4 bytes */
19 #define ADXRS450_SNL    0x10
20 #define ADXRS450_DNC1   0x12    /* Dynamic Null Correction Registers */
21 /* Check bits */
22 #define ADXRS450_P      0x01
23 #define ADXRS450_CHK    0x02
24 #define ADXRS450_CST    0x04
25 #define ADXRS450_PWR    0x08
26 #define ADXRS450_POR    0x10
27 #define ADXRS450_NVM    0x20
28 #define ADXRS450_Q      0x40
29 #define ADXRS450_PLL    0x80
30 #define ADXRS450_UV     0x100
31 #define ADXRS450_OV     0x200
32 #define ADXRS450_AMP    0x400
33 #define ADXRS450_FAIL   0x800
34
35 #define ADXRS450_WRERR_MASK     (0x7 << 29)
36
37 #define ADXRS450_MAX_RX 4
38 #define ADXRS450_MAX_TX 4
39
40 #define ADXRS450_GET_ST(a)      ((a >> 26) & 0x3)
41
42 /**
43  * struct adxrs450_state - device instance specific data
44  * @us:                 actual spi_device
45  * @indio_dev:          industrial I/O device structure
46  * @tx:                 transmit buffer
47  * @rx:                 recieve buffer
48  * @buf_lock:           mutex to protect tx and rx
49  **/
50 struct adxrs450_state {
51         struct spi_device               *us;
52         struct iio_dev                  *indio_dev;
53         u8                              *tx;
54         u8                              *rx;
55         struct mutex                    buf_lock;
56 };
57
58 #endif /* SPI_ADXRS450_H_ */