linux/drivers/comedi/drivers/me_daq.c

// SPDX-License-Identifier: GPL-2.0+
/*
 * comedi/drivers/me_daq.c
 * Hardware driver for Meilhaus data acquisition cards:
 *   ME-2000i, ME-2600i, ME-3000vm1
 *
 * Copyright (C) 2002 Michael Hillmann <[email protected]>
 */

/*
 * Driver: me_daq
 * Description: Meilhaus PCI data acquisition cards
 * Devices: [Meilhaus] ME-2600i (me-2600i), ME-2000i (me-2000i)
 * Author: Michael Hillmann <[email protected]>
 * Status: experimental
 *
 * Configuration options: not applicable, uses PCI auto config
 *
 * Supports:
 *    Analog Input, Analog Output, Digital I/O
 */

#include <linux/module.h>
#include <linux/interrupt.h>
#include <linux/sched.h>
#include <linux/comedi/comedi_pci.h>

#include "plx9052.h"

#define ME2600_FIRMWARE

#define XILINX_DOWNLOAD_RESET

/*
 * PCI BAR2 Memory map (dev->mmio)
 */
#define ME_CTRL1_REG
#define ME_CTRL1_INT_ENA
#define ME_CTRL1_COUNTER_B_IRQ
#define ME_CTRL1_COUNTER_A_IRQ
#define ME_CTRL1_CHANLIST_READY_IRQ
#define ME_CTRL1_EXT_IRQ
#define ME_CTRL1_ADFIFO_HALFFULL_IRQ
#define ME_CTRL1_SCAN_COUNT_ENA
#define ME_CTRL1_SIMULTANEOUS_ENA
#define ME_CTRL1_TRIGGER_FALLING_EDGE
#define ME_CTRL1_CONTINUOUS_MODE
#define ME_CTRL1_ADC_MODE(x)
#define ME_CTRL1_ADC_MODE_DISABLE
#define ME_CTRL1_ADC_MODE_SOFT_TRIG
#define ME_CTRL1_ADC_MODE_SCAN_TRIG
#define ME_CTRL1_ADC_MODE_EXT_TRIG
#define ME_CTRL1_ADC_MODE_MASK
#define ME_CTRL2_REG
#define ME_CTRL2_ADFIFO_ENA
#define ME_CTRL2_CHANLIST_ENA
#define ME_CTRL2_PORT_B_ENA
#define ME_CTRL2_PORT_A_ENA
#define ME_CTRL2_COUNTER_B_ENA
#define ME_CTRL2_COUNTER_A_ENA
#define ME_CTRL2_DAC_ENA
#define ME_CTRL2_BUFFERED_DAC
#define ME_STATUS_REG
#define ME_STATUS_COUNTER_B_IRQ
#define ME_STATUS_COUNTER_A_IRQ
#define ME_STATUS_CHANLIST_READY_IRQ
#define ME_STATUS_EXT_IRQ
#define ME_STATUS_ADFIFO_HALFFULL_IRQ
#define ME_STATUS_ADFIFO_FULL
#define ME_STATUS_ADFIFO_HALFFULL
#define ME_STATUS_ADFIFO_EMPTY
#define ME_STATUS_CHANLIST_FULL
#define ME_STATUS_FST_ACTIVE
#define ME_DIO_PORT_A_REG
#define ME_DIO_PORT_B_REG
#define ME_TIMER_DATA_REG(x)
#define ME_AI_FIFO_REG
#define ME_AI_FIFO_CHANLIST_DIFF
#define ME_AI_FIFO_CHANLIST_UNIPOLAR
#define ME_AI_FIFO_CHANLIST_GAIN(x)
#define ME_AI_FIFO_CHANLIST_CHAN(x)
#define ME_DAC_CTRL_REG
#define ME_DAC_CTRL_BIPOLAR(x)
#define ME_DAC_CTRL_GAIN(x)
#define ME_DAC_CTRL_MASK(x)
#define ME_AO_DATA_REG(x)
#define ME_COUNTER_ENDDATA_REG(x)
#define ME_COUNTER_STARTDATA_REG(x)
#define ME_COUNTER_VALUE_REG(x)

static const struct comedi_lrange me_ai_range =;

static const struct comedi_lrange me_ao_range =;

enum me_boardid {};

struct me_board {};

static const struct me_board me_boards[] =;

struct me_private_data {};

static inline void sleep(unsigned int sec)
{}

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

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

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

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

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

static int me2600_xilinx_download(struct comedi_device *dev,
				  const u8 *data, size_t size,
				  unsigned long context)
{}

static int me_reset(struct comedi_device *dev)
{}

static int me_auto_attach(struct comedi_device *dev,
			  unsigned long context)
{}

static void me_detach(struct comedi_device *dev)
{}

static struct comedi_driver me_daq_driver =;

static int me_daq_pci_probe(struct pci_dev *dev,
			    const struct pci_device_id *id)
{}

static const struct pci_device_id me_daq_pci_table[] =;
MODULE_DEVICE_TABLE(pci, me_daq_pci_table);

static struct pci_driver me_daq_pci_driver =;
module_comedi_pci_driver();

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