Commit 1e3864e6 authored by Barry Song's avatar Barry Song Committed by Greg Kroah-Hartman
Browse files

staging:iio:imu ADIS16300 driver

parent 9d8ae6c8
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -41,6 +41,7 @@ config IIO_TRIGGER

source "drivers/staging/iio/accel/Kconfig"
source "drivers/staging/iio/adc/Kconfig"
source "drivers/staging/iio/imu/Kconfig"
source "drivers/staging/iio/light/Kconfig"

source "drivers/staging/iio/trigger/Kconfig"
+1 −0
Original line number Diff line number Diff line
@@ -11,6 +11,7 @@ obj-$(CONFIG_IIO_SW_RING) += ring_sw.o

obj-y += accel/
obj-y += adc/
obj-y += imu/
obj-y += light/

obj-y += trigger/
 No newline at end of file
+3 −0
Original line number Diff line number Diff line
@@ -16,6 +16,9 @@
#define IIO_DEV_ATTR_IN_RAW(_num, _show, _addr)				\
	IIO_DEVICE_ATTR(in##_num##_raw, S_IRUGO, _show, NULL, _addr)

#define IIO_DEV_ATTR_IN_NAMED_RAW(_name, _show, _addr)			\
	IIO_DEVICE_ATTR(in_##_name##_raw, S_IRUGO, _show, NULL, _addr)

#define IIO_DEV_ATTR_IN_DIFF_RAW(_nump, _numn, _show, _addr)		\
	IIO_DEVICE_ATTR_NAMED(in##_nump##min##_numn##_raw,		\
			      in##_nump-in##_numn##_raw,		\
+76 −0
Original line number Diff line number Diff line

#include "../sysfs.h"

/* Gyroscope types of attribute */

#define IIO_DEV_ATTR_GYRO_OFFSET(_mode, _show, _store, _addr)	\
	IIO_DEVICE_ATTR(gyro_offset, _mode, _show, _store, _addr)

#define IIO_DEV_ATTR_GYRO_X_OFFSET(_mode, _show, _store, _addr)	\
	IIO_DEVICE_ATTR(gyro_x_offset, _mode, _show, _store, _addr)

#define IIO_DEV_ATTR_GYRO_Y_OFFSET(_mode, _show, _store, _addr)	\
	IIO_DEVICE_ATTR(gyro_y_offset, _mode, _show, _store, _addr)

#define IIO_DEV_ATTR_GYRO_Z_OFFSET(_mode, _show, _store, _addr)	\
	IIO_DEVICE_ATTR(gyro_z_offset, _mode, _show, _store, _addr)

#define IIO_DEV_ATTR_GYRO_X_GAIN(_mode, _show, _store, _addr)		\
	IIO_DEVICE_ATTR(gyro_x_gain, _mode, _show, _store, _addr)

#define IIO_DEV_ATTR_GYRO_Y_GAIN(_mode, _show, _store, _addr)		\
	IIO_DEVICE_ATTR(gyro_y_gain, _mode, _show, _store, _addr)

#define IIO_DEV_ATTR_GYRO_Z_GAIN(_mode, _show, _store, _addr)		\
	IIO_DEVICE_ATTR(gyro_z_gain, _mode, _show, _store, _addr)

#define IIO_DEV_ATTR_GYRO_SCALE(_mode, _show, _store, _addr)		\
	IIO_DEVICE_ATTR(gyro_scale, S_IRUGO, _show, _store, _addr)

#define IIO_DEV_ATTR_GYRO(_show, _addr)			\
	IIO_DEVICE_ATTR(gyro, S_IRUGO, _show, NULL, _addr)

#define IIO_DEV_ATTR_GYRO_X(_show, _addr)			\
	IIO_DEVICE_ATTR(gyro_x, S_IRUGO, _show, NULL, _addr)

#define IIO_DEV_ATTR_GYRO_Y(_show, _addr)			\
	IIO_DEVICE_ATTR(gyro_y, S_IRUGO, _show, NULL, _addr)

#define IIO_DEV_ATTR_GYRO_Z(_show, _addr)			\
	IIO_DEVICE_ATTR(gyro_z, S_IRUGO, _show, NULL, _addr)

#define IIO_DEV_ATTR_TEMP_X(_show, _addr)			\
	IIO_DEVICE_ATTR(temp_x, S_IRUGO, _show, NULL, _addr)

#define IIO_DEV_ATTR_TEMP_Y(_show, _addr)			\
	IIO_DEVICE_ATTR(temp_y, S_IRUGO, _show, NULL, _addr)

#define IIO_DEV_ATTR_TEMP_Z(_show, _addr)			\
	IIO_DEVICE_ATTR(temp_z, S_IRUGO, _show, NULL, _addr)

#define IIO_DEV_ATTR_INCLI_X(_show, _addr)			\
	IIO_DEVICE_ATTR(incli_x, S_IRUGO, _show, NULL, _addr)

#define IIO_DEV_ATTR_INCLI_Y(_show, _addr)			\
	IIO_DEVICE_ATTR(incli_y, S_IRUGO, _show, NULL, _addr)

#define IIO_DEV_ATTR_INCLI_Z(_show, _addr)			\
	IIO_DEVICE_ATTR(incli_z, S_IRUGO, _show, NULL, _addr)

#define IIO_DEV_ATTR_INCLI_X_OFFSET(_mode, _show, _store, _addr) \
	IIO_DEVICE_ATTR(incli_x_offset, _mode, _show, _store, _addr)

#define IIO_DEV_ATTR_INCLI_Y_OFFSET(_mode, _show, _store, _addr) \
	IIO_DEVICE_ATTR(incli_y_offset, _mode, _show, _store, _addr)

#define IIO_DEV_ATTR_INCLI_Z_OFFSET(_mode, _show, _store, _addr) \
	IIO_DEVICE_ATTR(incli_z_offset, _mode, _show, _store, _addr)

#define IIO_DEV_ATTR_ROT(_show, _addr)                    \
	IIO_DEVICE_ATTR(rot, S_IRUGO, _show, NULL, _addr)

#define IIO_DEV_ATTR_ROT_OFFSET(_mode, _show, _store, _addr) \
	IIO_DEVICE_ATTR(rot_offset, _mode, _show, _store, _addr)

#define IIO_DEV_ATTR_ANGL(_show, _addr)                         \
	IIO_DEVICE_ATTR(angl, S_IRUGO, _show, NULL, _addr)
+14 −0
Original line number Diff line number Diff line
#
# IIO imu drivers configuration
#
comment "Inertial measurement units"

config ADIS16300
	tristate "Analog Devices ADIS16300 IMU SPI driver"
	depends on SPI
	select IIO_SW_RING
	select IIO_RING_BUFFER
	select IIO_TRIGGER
	help
	  Say yes here to build support for Analog Devices adis16300 four degrees
	  of freedom inertial sensor.
Loading