Lines Matching +full:board +full:- +full:id
1 // SPDX-License-Identifier: GPL-2.0+
3 * Comedi driver for NI AT-MIO E series cards
5 * COMEDI - Linux Control and Measurement Device Interface
6 * Copyright (C) 1997-2001 David A. Schleef <ds@schleef.org>
11 * Description: National Instruments AT-MIO-E series
13 * Devices: [National Instruments] AT-MIO-16E-1 (ni_atmio),
14 * AT-MIO-16E-2, AT-MIO-16E-10, AT-MIO-16DE-10, AT-MIO-64E-3,
15 * AT-MIO-16XE-50, AT-MIO-16XE-10, AT-AI-16XE-10
20 * a supported board if the I/O base is left unspecified with comedi_config.
21 * However, many of the isapnp id numbers are unknown. If your board is not
23 * modprobe the isa-pnp module for /proc/isapnp to exist) so the id numbers
24 * for your board can be added to the driver.
26 * Otherwise, you can use the isapnptools package to configure your board.
27 * Use isapnp to configure the I/O base and IRQ for the board, and then pass
40 * (scan_begin_arg, etc.) maps to PFI0 - PFI9.
55 * DAQ-STC reference manual
63 * 321791a.pdf discontinuation of at-mio-16e-10 rev. c
64 * 321808a.pdf about at-mio-16e-10 rev P
65 * 321837a.pdf discontinuation of at-mio-16de-10 rev d
66 * 321838a.pdf about at-mio-16de-10 rev N
69 * - need to deal with external reference for DAC, and other DAC
70 * properties in board properties
71 * - deal with at-mio-16de-10 revision D to N changes, etc.
85 .name = "at-mio-16e-1",
100 .name = "at-mio-16e-2",
115 .name = "at-mio-16e-10",
129 .name = "at-mio-16de-10",
144 .name = "at-mio-64e-3",
159 .name = "at-mio-16xe-50",
174 .name = "at-mio-16xe-10",
190 .name = "at-ai-16xe-10",
204 -1, -1, -1, 0, 1, 2, -1, 3, -1, -1, 4, 5, 6, -1, -1, 7
210 {.id = "NIC1900", .driver_data = 0},
211 {.id = "NIC2400", .driver_data = 0},
212 {.id = "NIC2500", .driver_data = 0},
213 {.id = "NIC2600", .driver_data = 0},
214 {.id = "NIC2700", .driver_data = 0},
215 {.id = ""}
232 if (!isapnp_dev || !isapnp_dev->card) in ni_isapnp_find_board()
240 return -EAGAIN; in ni_isapnp_find_board()
246 return -ENOMEM; in ni_isapnp_find_board()
251 return -ENODEV; in ni_isapnp_find_board()
262 const struct ni_board_struct *board = &ni_boards[i]; in ni_atmio_probe() local
264 if (board->device_id == device_id) in ni_atmio_probe()
265 return board; in ni_atmio_probe()
268 dev_err(dev->class_dev, "can't find board\n"); in ni_atmio_probe()
270 dev_err(dev->class_dev, in ni_atmio_probe()
273 dev_err(dev->class_dev, in ni_atmio_probe()
274 "unknown device ID %d -- contact author\n", device_id); in ni_atmio_probe()
282 const struct ni_board_struct *board; in ni_atmio_attach() local
292 iobase = it->options[0]; in ni_atmio_attach()
293 irq = it->options[1]; in ni_atmio_attach()
302 comedi_set_hw_dev(dev, &isapnp_dev->dev); in ni_atmio_attach()
309 board = ni_atmio_probe(dev); in ni_atmio_attach()
310 if (!board) in ni_atmio_attach()
311 return -ENODEV; in ni_atmio_attach()
312 dev->board_ptr = board; in ni_atmio_attach()
313 dev->board_name = board->name; in ni_atmio_attach()
318 if (irq > 15 || ni_irqpin[irq] == -1) in ni_atmio_attach()
319 return -EINVAL; in ni_atmio_attach()
321 dev->board_name, dev); in ni_atmio_attach()
323 return -EINVAL; in ni_atmio_attach()
324 dev->irq = irq; in ni_atmio_attach()
329 ret = ni_E_init(dev, ni_irqpin[dev->irq], 0); in ni_atmio_attach()
343 isapnp_dev = dev->hw_dev ? to_pnp_dev(dev->hw_dev) : NULL; in ni_atmio_detach()
357 MODULE_DESCRIPTION("Comedi low-level driver");