linux/drivers/iio/imu/adis16460.c

// SPDX-License-Identifier: GPL-2.0+
/*
 * ADIS16460 IMU driver
 *
 * Copyright 2019 Analog Devices Inc.
 */

#include <linux/module.h>
#include <linux/spi/spi.h>

#include <linux/iio/iio.h>
#include <linux/iio/imu/adis.h>

#include <linux/debugfs.h>

#define ADIS16460_REG_FLASH_CNT
#define ADIS16460_REG_DIAG_STAT
#define ADIS16460_REG_X_GYRO_LOW
#define ADIS16460_REG_X_GYRO_OUT
#define ADIS16460_REG_Y_GYRO_LOW
#define ADIS16460_REG_Y_GYRO_OUT
#define ADIS16460_REG_Z_GYRO_LOW
#define ADIS16460_REG_Z_GYRO_OUT
#define ADIS16460_REG_X_ACCL_LOW
#define ADIS16460_REG_X_ACCL_OUT
#define ADIS16460_REG_Y_ACCL_LOW
#define ADIS16460_REG_Y_ACCL_OUT
#define ADIS16460_REG_Z_ACCL_LOW
#define ADIS16460_REG_Z_ACCL_OUT
#define ADIS16460_REG_SMPL_CNTR
#define ADIS16460_REG_TEMP_OUT
#define ADIS16460_REG_X_DELT_ANG
#define ADIS16460_REG_Y_DELT_ANG
#define ADIS16460_REG_Z_DELT_ANG
#define ADIS16460_REG_X_DELT_VEL
#define ADIS16460_REG_Y_DELT_VEL
#define ADIS16460_REG_Z_DELT_VEL
#define ADIS16460_REG_MSC_CTRL
#define ADIS16460_REG_SYNC_SCAL
#define ADIS16460_REG_DEC_RATE
#define ADIS16460_REG_FLTR_CTRL
#define ADIS16460_REG_GLOB_CMD
#define ADIS16460_REG_X_GYRO_OFF
#define ADIS16460_REG_Y_GYRO_OFF
#define ADIS16460_REG_Z_GYRO_OFF
#define ADIS16460_REG_X_ACCL_OFF
#define ADIS16460_REG_Y_ACCL_OFF
#define ADIS16460_REG_Z_ACCL_OFF
#define ADIS16460_REG_LOT_ID1
#define ADIS16460_REG_LOT_ID2
#define ADIS16460_REG_PROD_ID
#define ADIS16460_REG_SERIAL_NUM
#define ADIS16460_REG_CAL_SGNTR
#define ADIS16460_REG_CAL_CRC
#define ADIS16460_REG_CODE_SGNTR
#define ADIS16460_REG_CODE_CRC

struct adis16460_chip_info {};

struct adis16460 {};

static int adis16460_show_serial_number(void *arg, u64 *val)
{}
DEFINE_DEBUGFS_ATTRIBUTE();

static int adis16460_show_product_id(void *arg, u64 *val)
{}
DEFINE_DEBUGFS_ATTRIBUTE();

static int adis16460_show_flash_count(void *arg, u64 *val)
{}
DEFINE_DEBUGFS_ATTRIBUTE();

static void adis16460_debugfs_init(struct iio_dev *indio_dev)
{}

static int adis16460_set_freq(struct iio_dev *indio_dev, int val, int val2)
{}

static int adis16460_get_freq(struct iio_dev *indio_dev, int *val, int *val2)
{}

static int adis16460_read_raw(struct iio_dev *indio_dev,
	const struct iio_chan_spec *chan, int *val, int *val2, long info)
{}

static int adis16460_write_raw(struct iio_dev *indio_dev,
	const struct iio_chan_spec *chan, int val, int val2, long info)
{}

enum {};

#define ADIS16460_MOD_CHANNEL(_type, _mod, _address, _si, _bits)

#define ADIS16460_GYRO_CHANNEL(_mod)

#define ADIS16460_ACCEL_CHANNEL(_mod)

#define ADIS16460_TEMP_CHANNEL()

static const struct iio_chan_spec adis16460_channels[] =;

static const struct adis16460_chip_info adis16460_chip_info =;

static const struct iio_info adis16460_info =;

#define ADIS16460_DIAG_STAT_IN_CLK_OOS
#define ADIS16460_DIAG_STAT_FLASH_MEM
#define ADIS16460_DIAG_STAT_SELF_TEST
#define ADIS16460_DIAG_STAT_OVERRANGE
#define ADIS16460_DIAG_STAT_SPI_COMM
#define ADIS16460_DIAG_STAT_FLASH_UPT

static const char * const adis16460_status_error_msgs[] =;

static const struct adis_timeout adis16460_timeouts =;

static const struct adis_data adis16460_data =;

static int adis16460_probe(struct spi_device *spi)
{}

static const struct spi_device_id adis16460_ids[] =;
MODULE_DEVICE_TABLE(spi, adis16460_ids);

static const struct of_device_id adis16460_of_match[] =;
MODULE_DEVICE_TABLE(of, adis16460_of_match);

static struct spi_driver adis16460_driver =;
module_spi_driver();

MODULE_AUTHOR();
MODULE_DESCRIPTION();
MODULE_LICENSE();
MODULE_IMPORT_NS();