linux/drivers/comedi/drivers/rti800.c

// SPDX-License-Identifier: GPL-2.0+
/*
 * comedi/drivers/rti800.c
 * Hardware driver for Analog Devices RTI-800/815 board
 *
 * COMEDI - Linux Control and Measurement Device Interface
 * Copyright (C) 1998 David A. Schleef <[email protected]>
 */

/*
 * Driver: rti800
 * Description: Analog Devices RTI-800/815
 * Devices: [Analog Devices] RTI-800 (rti800), RTI-815 (rti815)
 * Author: David A. Schleef <[email protected]>
 * Status: unknown
 * Updated: Fri, 05 Sep 2008 14:50:44 +0100
 *
 * Configuration options:
 *   [0] - I/O port base address
 *   [1] - IRQ (not supported / unused)
 *   [2] - A/D mux/reference (number of channels)
 *	   0 = differential
 *	   1 = pseudodifferential (common)
 *	   2 = single-ended
 *   [3] - A/D range
 *	   0 = [-10,10]
 *	   1 = [-5,5]
 *	   2 = [0,10]
 *   [4] - A/D encoding
 *	   0 = two's complement
 *	   1 = straight binary
 *   [5] - DAC 0 range
 *	   0 = [-10,10]
 *	   1 = [0,10]
 *   [6] - DAC 0 encoding
 *	   0 = two's complement
 *	   1 = straight binary
 *   [7] - DAC 1 range (same as DAC 0)
 *   [8] - DAC 1 encoding (same as DAC 0)
 */

#include <linux/module.h>
#include <linux/delay.h>
#include <linux/interrupt.h>
#include <linux/comedi/comedidev.h>

/*
 * Register map
 */
#define RTI800_CSR
#define RTI800_CSR_BUSY
#define RTI800_CSR_DONE
#define RTI800_CSR_OVERRUN
#define RTI800_CSR_TCR
#define RTI800_CSR_DMA_ENAB
#define RTI800_CSR_INTR_TC
#define RTI800_CSR_INTR_EC
#define RTI800_CSR_INTR_OVRN
#define RTI800_MUXGAIN
#define RTI800_CONVERT
#define RTI800_ADCLO
#define RTI800_ADCHI
#define RTI800_DAC0LO
#define RTI800_DAC0HI
#define RTI800_DAC1LO
#define RTI800_DAC1HI
#define RTI800_CLRFLAGS
#define RTI800_DI
#define RTI800_DO
#define RTI800_9513A_DATA
#define RTI800_9513A_CNTRL
#define RTI800_9513A_STATUS

static const struct comedi_lrange range_rti800_ai_10_bipolar =;

static const struct comedi_lrange range_rti800_ai_5_bipolar =;

static const struct comedi_lrange range_rti800_ai_unipolar =;

static const struct comedi_lrange *const rti800_ai_ranges[] =;

static const struct comedi_lrange *const rti800_ao_ranges[] =;

struct rti800_board {};

static const struct rti800_board rti800_boardtypes[] =;

struct rti800_private {};

static int rti800_ai_eoc(struct comedi_device *dev,
			 struct comedi_subdevice *s,
			 struct comedi_insn *insn,
			 unsigned long context)
{}

static int rti800_ai_insn_read(struct comedi_device *dev,
			       struct comedi_subdevice *s,
			       struct comedi_insn *insn,
			       unsigned int *data)
{}

static int rti800_ao_insn_write(struct comedi_device *dev,
				struct comedi_subdevice *s,
				struct comedi_insn *insn,
				unsigned int *data)
{}

static int rti800_di_insn_bits(struct comedi_device *dev,
			       struct comedi_subdevice *s,
			       struct comedi_insn *insn,
			       unsigned int *data)
{}

static int rti800_do_insn_bits(struct comedi_device *dev,
			       struct comedi_subdevice *s,
			       struct comedi_insn *insn,
			       unsigned int *data)
{}

static int rti800_attach(struct comedi_device *dev, struct comedi_devconfig *it)
{}

static struct comedi_driver rti800_driver =;
module_comedi_driver();

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