Commit edcf6009 authored by Lars-Peter Clausen's avatar Lars-Peter Clausen Committed by Jonathan Cameron

staging:iio:adis16220: Use adis library

Use the new adis library for the adis16220 driver. The adis16220 driver is a bit
special and so we can only make use of the generic register access and control
functions for now.
Signed-off-by: default avatarLars-Peter Clausen <lars@metafoo.de>
Signed-off-by: default avatarJonathan Cameron <jic23@kernel.org>
parent 511fb29e
#ifndef SPI_ADIS16220_H_ #ifndef SPI_ADIS16220_H_
#define SPI_ADIS16220_H_ #define SPI_ADIS16220_H_
#define ADIS16220_STARTUP_DELAY 220 /* ms */ #include "../imu/adis.h"
#define ADIS16220_READ_REG(a) a #define ADIS16220_STARTUP_DELAY 220 /* ms */
#define ADIS16220_WRITE_REG(a) ((a) | 0x80)
/* Flash memory write count */ /* Flash memory write count */
#define ADIS16220_FLASH_CNT 0x00 #define ADIS16220_FLASH_CNT 0x00
...@@ -102,15 +101,15 @@ ...@@ -102,15 +101,15 @@
#define ADIS16220_DIAG_STAT_FLASH_CHK (1<<6) #define ADIS16220_DIAG_STAT_FLASH_CHK (1<<6)
#define ADIS16220_DIAG_STAT_SELF_TEST (1<<5) #define ADIS16220_DIAG_STAT_SELF_TEST (1<<5)
/* Capture period violation/interruption */ /* Capture period violation/interruption */
#define ADIS16220_DIAG_STAT_VIOLATION (1<<4) #define ADIS16220_DIAG_STAT_VIOLATION_BIT 4
/* SPI communications failure */ /* SPI communications failure */
#define ADIS16220_DIAG_STAT_SPI_FAIL (1<<3) #define ADIS16220_DIAG_STAT_SPI_FAIL_BIT 3
/* Flash update failure */ /* Flash update failure */
#define ADIS16220_DIAG_STAT_FLASH_UPT (1<<2) #define ADIS16220_DIAG_STAT_FLASH_UPT_BIT 2
/* Power supply above 3.625 V */ /* Power supply above 3.625 V */
#define ADIS16220_DIAG_STAT_POWER_HIGH (1<<1) #define ADIS16220_DIAG_STAT_POWER_HIGH_BIT 1
/* Power supply below 3.15 V */ /* Power supply below 3.15 V */
#define ADIS16220_DIAG_STAT_POWER_LOW (1<<0) #define ADIS16220_DIAG_STAT_POWER_LOW_BIT 0
/* GLOB_CMD */ /* GLOB_CMD */
#define ADIS16220_GLOB_CMD_SW_RESET (1<<7) #define ADIS16220_GLOB_CMD_SW_RESET (1<<7)
...@@ -125,13 +124,14 @@ ...@@ -125,13 +124,14 @@
/** /**
* struct adis16220_state - device instance specific data * struct adis16220_state - device instance specific data
* @us: actual spi_device * @adis: adis device
* @tx: transmit buffer * @tx: transmit buffer
* @rx: receive buffer * @rx: receive buffer
* @buf_lock: mutex to protect tx and rx * @buf_lock: mutex to protect tx and rx
**/ **/
struct adis16220_state { struct adis16220_state {
struct spi_device *us; struct adis adis;
struct mutex buf_lock; struct mutex buf_lock;
u8 tx[ADIS16220_MAX_TX] ____cacheline_aligned; u8 tx[ADIS16220_MAX_TX] ____cacheline_aligned;
u8 rx[ADIS16220_MAX_RX]; u8 rx[ADIS16220_MAX_RX];
......
This diff is collapsed.
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment