From f76dce66e1c0c3d0e7f6e624f6b514ccbaa44477 Mon Sep 17 00:00:00 2001
From: "Spencer E. Olson" <olsonse@umich.edu>
Date: Fri, 3 Jun 2016 09:03:53 -0600
Subject: [PATCH 03/15] staging: comedi: ni_routing: Add NI signal routing info
To: devel@driverdev.osuosl.org
Cc: Ian Abbott <abbotti@mev.co.uk>,
    H Hartley Sweeten <hsweeten@visionengravers.com>,
    Greg Kroah-Hartman <gregkh@linuxfoundation.org>

See README for a thorough discussion of this content.

Adds two different collections of CSV files that:
1) summarize the various register values for creating routes
   for a particular family of NI hardware devices;
2) summarize all possible (direct) routes that a particular device can
   make--in this case, one file per device (this data is currently only
   known to be found by examining a screenshot of the "Available Routes"
   tab of NI MAX control panel, which is only found on Windows
   installations of the NI driver).

The collection and maintenance of this information is somewhat tedious and
requires frequent re-examination and comparison of NI-MAX and/or the NI-MHDDK
documentation (register programming information) and NI-MHDDK examples.
These CSV files are constructed so-as to allow near direct comparison
to NI-MAX and NI-MHDDK.  As such, these serve to ease the task of
maintaining this knowledge and more quickly enables addition of new NI
devices.

Signed-off-by: Spencer E. Olson <olsonse@umich.edu>
---
 drivers/staging/comedi/drivers/ni_routing/README   | 110 +++++++++++++++++++++
 .../ni_routing/ni_device_routes/PCI-6070E.csv      |  40 ++++++++
 .../ni_routing/ni_device_routes/PCI-6220.csv       |  46 +++++++++
 .../ni_routing/ni_device_routes/PCI-6221.csv       |  50 ++++++++++
 .../ni_routing/ni_device_routes/PCI-6251.csv       |  51 ++++++++++
 .../ni_routing/ni_device_routes/PCI-6254.csv       |  47 +++++++++
 .../ni_routing/ni_device_routes/PCI-6259.csv       |  51 ++++++++++
 .../ni_routing/ni_device_routes/PCI-6534.csv       |  29 ++++++
 .../ni_routing/ni_device_routes/PCI-6602.csv       |  78 +++++++++++++++
 .../ni_routing/ni_device_routes/PCI-6713.csv       |  32 ++++++
 .../ni_routing/ni_device_routes/PCI-6723.csv       |  32 ++++++
 .../ni_routing/ni_device_routes/PCI-6733.csv       |  34 +++++++
 .../ni_routing/ni_device_routes/PXI-6030E.csv      |  39 ++++++++
 .../ni_routing/ni_device_routes/PXI-6224.csv       |  46 +++++++++
 .../ni_routing/ni_device_routes/PXI-6225.csv       |  49 +++++++++
 .../ni_routing/ni_device_routes/PXI-6251.csv       |  50 ++++++++++
 .../ni_routing/ni_device_routes/PXI-6733.csv       |  35 +++++++
 .../ni_routing/ni_device_routes/PXIe-6251.csv      |  52 ++++++++++
 .../drivers/ni_routing/ni_route_values/ni_660x.csv | 100 +++++++++++++++++++
 .../ni_routing/ni_route_values/ni_eseries.csv      |  78 +++++++++++++++
 .../ni_routing/ni_route_values/ni_mseries.csv      |  90 +++++++++++++++++
 21 files changed, 1139 insertions(+)
 create mode 100644 drivers/staging/comedi/drivers/ni_routing/README
 create mode 100644 drivers/staging/comedi/drivers/ni_routing/ni_device_routes/PCI-6070E.csv
 create mode 100644 drivers/staging/comedi/drivers/ni_routing/ni_device_routes/PCI-6220.csv
 create mode 100644 drivers/staging/comedi/drivers/ni_routing/ni_device_routes/PCI-6221.csv
 create mode 100644 drivers/staging/comedi/drivers/ni_routing/ni_device_routes/PCI-6251.csv
 create mode 100644 drivers/staging/comedi/drivers/ni_routing/ni_device_routes/PCI-6254.csv
 create mode 100644 drivers/staging/comedi/drivers/ni_routing/ni_device_routes/PCI-6259.csv
 create mode 100644 drivers/staging/comedi/drivers/ni_routing/ni_device_routes/PCI-6534.csv
 create mode 100644 drivers/staging/comedi/drivers/ni_routing/ni_device_routes/PCI-6602.csv
 create mode 100644 drivers/staging/comedi/drivers/ni_routing/ni_device_routes/PCI-6713.csv
 create mode 100644 drivers/staging/comedi/drivers/ni_routing/ni_device_routes/PCI-6723.csv
 create mode 100644 drivers/staging/comedi/drivers/ni_routing/ni_device_routes/PCI-6733.csv
 create mode 100644 drivers/staging/comedi/drivers/ni_routing/ni_device_routes/PXI-6030E.csv
 create mode 100644 drivers/staging/comedi/drivers/ni_routing/ni_device_routes/PXI-6224.csv
 create mode 100644 drivers/staging/comedi/drivers/ni_routing/ni_device_routes/PXI-6225.csv
 create mode 100644 drivers/staging/comedi/drivers/ni_routing/ni_device_routes/PXI-6251.csv
 create mode 100644 drivers/staging/comedi/drivers/ni_routing/ni_device_routes/PXI-6733.csv
 create mode 100644 drivers/staging/comedi/drivers/ni_routing/ni_device_routes/PXIe-6251.csv
 create mode 100644 drivers/staging/comedi/drivers/ni_routing/ni_route_values/ni_660x.csv
 create mode 100644 drivers/staging/comedi/drivers/ni_routing/ni_route_values/ni_eseries.csv
 create mode 100644 drivers/staging/comedi/drivers/ni_routing/ni_route_values/ni_mseries.csv

diff --git a/drivers/staging/comedi/drivers/ni_routing/README b/drivers/staging/comedi/drivers/ni_routing/README
new file mode 100644
index 0000000..40830fc
--- /dev/null
+++ b/drivers/staging/comedi/drivers/ni_routing/README
@@ -0,0 +1,110 @@
+Framework for Maintaining Common National Instruments Terminal/Signal names
+
+The contents of this directory are primarily for maintaining and formatting all
+known valid signal routes for various National Instruments devices.
+
+Some background:
+  There have been significant confusions over the past many years for users
+  when trying to understand how to connect to/from signals and terminals on
+  NI hardware using comedi.  The major reason for this is that the actual
+  register values were exposed and required to be used by users.  Several
+  major reasons exist why this caused major confusion for users:
+
+  1) The register values are _NOT_ in user documentation, but rather in
+    arcane locations, such as a few register programming manuals that are
+    increasingly hard to find and the NI-MHDDK (comments in in example code).
+    There is no one place to find the various valid values of the registers.
+
+  2) The register values are _NOT_ completely consistent.  There is no way to
+    gain any sense of intuition of which values, or even enums one should use
+    for various registers.  There was some attempt in prior use of comedi to
+    name enums such that a user might know which enums should be used for
+    varying purposes, but the end-user had to gain a knowledge of register
+    values to correctly wield this approach.
+
+  3) The names for signals and registers found in the various register level
+    programming manuals and vendor-provided documentation are _not_ even
+    close to the same names that are in the end-user documentation.
+
+  4) The sets of routes that are valid are not consistent from device to device.
+    One additional major challenge is that this information does not seem to be
+    obtainable in any programmatic fashion, neither through the proprietary
+    NIDAQmx(-base) c-libraries, nor with register level programming, _nor_
+    through any documentation.  In fact, the only consistent source of this
+    information is through the proprietary NI-MAX software, which currently only
+    runs on Windows platforms.  A further challenge is that this information
+    cannot be exported from NI-MAX, except by screenshot.
+
+
+In order to facilitate the transfer of register-level information _and_ the
+knowledge of valid routes per device, a few specific choices were made:
+
+1) The names of the National Instruments signals/terminals that are used in this
+  directory are chosen to be consistent with (a) the NI's user level
+  documentation, (b) NI's user-level code, (c) the information as provided by
+  the proprietary NI-MAX software, and (d) the user interface code provided by
+  the user-land comedilib library.
+
+  The impact of this choice implies that one allows the use of CamelScript names
+  in the kernel.  In short, the choice to use CamelScript and the exact names
+  below is for maintainability, clarity, similarity to manufacturer's
+  documentation, _and_ a mitigation for confusion that has plagued the use of
+  these drivers for years!
+
+2) The bulk of the real content for this directory is stored in two separate
+  collections (i.e. sub-directories) of comma-separated-value (CSV) formatted
+  files:
+    ni_device_routes/[board-name].csv
+    ni_route_values/ni_[series-label]series.csv
+  The actual field separator is these files is _not_ a comma, but rather a
+  semi-colon.  Columns and or rows can be "commented" out by prefixing the
+  column or row-header with a hash (#).
+  The naming of the files is indeed important as the name of a file determines
+  which device the file is actually valid for.
+
+  There several major reasons for choosing this format:
+  (a) First, as noted above, the only consistent source of information of valid
+    device routes comes from the proprietary National Instruments Windows
+    software, NI-MAX.  Also, as noted above, this information can only be
+    visually conveyed from NI-MAX to other media.  The choice of using a
+    spreadsheet (ala CSV) to copy this information allows for easy direct visual
+    comparison to the NI-MAX "Valid Routes" tables.
+
+  (b) Second, the register-level information is much easier to identify and
+    correct when entire families of NI devices are shown side by side in table
+    format.  This is made easy by using a file-storage format that can be loaded
+    into a spreadsheet application.
+
+  (c) Third, .csv content is very easy to edit and read using a variety of tools,
+    including spreadsheets or various other scripting languages.  In fact, the
+    tools provided here enable quick conversion of the spreadsheet-like .csv
+    format to c-files that follow the kernel coding conventions.
+
+  (d) And finally, the .csv format was chosen as good compromise between the
+    capabilities described in (a-c).  Another choice could have been an open
+    format like OpenDocument, but that would also make the tracking of changes
+    in the routing-info tables much more challenging because binary and even raw
+    XML is much more challenging for a human to read.
+
+3) The content of the .csv files is converted to two auto-generated c-files that
+  are to be added/updated to the repository.  In this fashion, the .csv content
+  is only translated to kernel-level c-files when done so by a developer through
+  an included local Makefile (which only serves the purpose of generating this
+  content).
+
+
+Finally, the content of this directory is part of an effort to greatly simplify
+the use of signal routing capabilities of National Instruments data-acquisition
+and control hardware.
+
+Similar confusion, albeit less, plagued NI's previous version of their own
+proprietary drivers.  Earlier than 2003, NI greatly simplified the situation for
+users by releasing a new API that abstracted the names of signals/terminals to a
+common and intuitive set of names.  In addition, this new API provided a much
+more common interface to use for most of NI hardware.
+
+Comedi already provides such a common interface for data-acquisition and control
+hardware.  This effort complements comedi's abstraction layers by further
+abstracting much more of the use cases for NI hardware, but allowing users _and_
+developers to directly refer to NI documentation (user-level, register-level,
+and the register-level examples of the NI-MHDDK).
diff --git a/drivers/staging/comedi/drivers/ni_routing/ni_device_routes/PCI-6070E.csv b/drivers/staging/comedi/drivers/ni_routing/ni_device_routes/PCI-6070E.csv
new file mode 100644
index 0000000..da833d3
--- /dev/null
+++ b/drivers/staging/comedi/drivers/ni_routing/ni_device_routes/PCI-6070E.csv
@@ -0,0 +1,40 @@
+Sources / Destinations;NI_PFI(0);NI_PFI(1);NI_PFI(2);NI_PFI(3);NI_PFI(4);NI_PFI(5);NI_PFI(6);NI_PFI(7);NI_PFI(8);NI_PFI(9);TRIGGER_LINE(0);TRIGGER_LINE(1);TRIGGER_LINE(2);TRIGGER_LINE(3);TRIGGER_LINE(4);TRIGGER_LINE(5);TRIGGER_LINE(6);TRIGGER_LINE(7);NI_AI_SampleClock;NI_AI_StartTrigger;NI_AI_ReferenceTrigger;NI_AO_SampleClock;NI_AO_StartTrigger;NI_AI_ConvertClock;NI_AI_ConvertClockTimebase;NI_AI_PauseTrigger;NI_AI_SampleClockTimebase;NI_AO_PauseTrigger;NI_AO_SampleClockTimebase;NI_CtrOut(0);NI_CtrGate(0);NI_CtrSource(0);NI_CtrOut(1);NI_CtrGate(1);NI_CtrSource(1);NI_MasterTimebase;NI_AIHoldComplete
+NI_PFI(0);;;;;;;;;;;;;;;;;;;1;1;1;1;1;1;;1;1;1;1;;1;1;;1;1;;
+NI_PFI(1);;;;;;;;;;;;;;;;;;;1;1;1;1;1;1;;1;1;1;1;;1;1;;1;1;;
+NI_PFI(2);;;;;;;;;;;;;;;;;;;1;1;1;1;1;1;;1;1;1;1;;1;1;;1;1;;
+NI_PFI(3);;;;;;;;;;;;;;;;;;;1;1;1;1;1;1;;1;1;1;1;;1;1;;1;1;;
+NI_PFI(4);;;;;;;;;;;;;;;;;;;1;1;1;1;1;1;;1;1;1;1;;1;1;;1;1;;
+NI_PFI(5);;;;;;;;;;;;;;;;;;;1;1;1;1;1;1;;1;1;1;1;;1;1;;1;1;;
+NI_PFI(6);;;;;;;;;;;;;;;;;;;1;1;1;1;1;1;;1;1;1;1;;1;1;;1;1;;
+NI_PFI(7);;;;;;;;;;;;;;;;;;;1;1;1;1;1;1;;1;1;1;1;;1;1;;1;1;;
+NI_PFI(8);;;;;;;;;;;;;;;;;;;1;1;1;1;1;1;;1;1;1;1;;1;1;;1;1;;
+NI_PFI(9);;;;;;;;;;;;;;;;;;;1;1;1;1;1;1;;1;1;1;1;;1;1;;1;1;;
+TRIGGER_LINE(0);;;;;;;;;;;;;;;;;;;1;1;1;1;1;1;;1;1;1;1;1;1;1;;1;1;;
+TRIGGER_LINE(1);;;;;;;;;;;;;;;;;;;1;1;1;1;1;1;;1;1;1;1;1;1;1;;1;1;;
+TRIGGER_LINE(2);;;;;;;;;;;;;;;;;;;1;1;1;1;1;1;;1;1;1;1;1;1;1;;1;1;;
+TRIGGER_LINE(3);;;;;;;;;;;;;;;;;;;1;1;1;1;1;1;;1;1;1;1;1;1;1;;1;1;;
+TRIGGER_LINE(4);;;;;;;;;;;;;;;;;;;1;1;1;1;1;1;;1;1;1;1;1;1;1;;1;1;;
+TRIGGER_LINE(5);;;;;;;;;;;;;;;;;;;1;1;1;1;1;1;;1;1;1;1;1;1;1;;1;1;;
+TRIGGER_LINE(6);;;;;;;;;;;;;;;;;;;1;1;1;1;1;1;;1;1;1;1;1;1;1;;1;1;;
+TRIGGER_LINE(7);;;;;;;;;;;;;;;;;;;;;;;;;1;;1;;1;;;1;;;1;1;
+NI_AI_SampleClock;;;;;;;;1;;;1;1;1;1;1;1;1;;;;;;;;;;;;;;;;;;;;
+NI_AI_StartTrigger;1;;;;;;;;;;1;1;1;1;1;1;1;;;;;;1;;;;;;;;1;;;1;;;
+NI_AI_ReferenceTrigger;;1;;;;;;;;;1;1;1;1;1;1;1;;;;;;;;;;;;;;1;;;1;;;
+NI_AO_SampleClock;;;;;;1;;;;;1;1;1;1;1;1;1;;;;;;;;;;;;;;;;;;;;
+NI_AO_StartTrigger;;;;;;;1;;;;1;1;1;1;1;1;1;;;;;;;;;;;;;;;;;;;;
+NI_20MHzTimebase;;;;;;;;;;;;;;;;;;1;;;;;;;1;;1;;1;;;1;;;1;1;
+NI_AI_ConvertClock;;;1;;;;;;;;1;1;1;1;1;1;1;;;;;;;;;;;;;;;;;;;;
+NI_AI_ConvertClockTimebase;;;;;;;;;;;;;;;;;;;;;;;;1;;;;;;;;;;;;;
+NI_AIHoldCompleteEvent;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1
+NI_AI_SampleClockTimebase;;;;;;;;;;;;;;;;;;;1;;;;;;1;;;;;;;;;;;;
+NI_AnalogComparisonEvent;;;;;;;;;;;;;;;;;;;1;1;1;1;1;1;;1;1;1;1;;1;1;;1;1;;
+NI_AO_SampleClockTimebase;;;;;;;;;;;;;;;;;;;;;;1;;;;;;;;;;;;;;;
+NI_CtrOut(0);;;;;;;;;;;1;1;1;1;1;1;1;;;;;;;;;;;;;;;;;;;;
+NI_CtrGate(0);;;;;;;;;;1;1;1;1;1;1;1;1;;;;;;;;;;;;;;;;;;;;
+NI_CtrSource(0);;;;;;;;;1;;1;1;1;1;1;1;1;;;;;;;;;;;;;;;;;;;;
+NI_CtrInternalOutput(0);;;;;;;;;;;1;1;1;1;1;1;1;;1;1;;;;1;;;;;;1;;;;1;;;
+NI_CtrGate(1);;;;;1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+NI_CtrSource(1);;;;1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+NI_CtrInternalOutput(1);;;;;;;;;;;;;;;;;;;;;;1;;;;;;;;;1;;1;;;;
+NI_MasterTimebase;;;;;;;;;;;;;;;;;;;;;;;;;1;;1;;1;;;1;;;1;;
+NI_100kHzTimebase;;;;;;;;;;;;;;;;;;;;;;;;;;;1;;1;;;1;;;1;;
diff --git a/drivers/staging/comedi/drivers/ni_routing/ni_device_routes/PCI-6220.csv b/drivers/staging/comedi/drivers/ni_routing/ni_device_routes/PCI-6220.csv
new file mode 100644
index 0000000..3acc8d9
--- /dev/null
+++ b/drivers/staging/comedi/drivers/ni_routing/ni_device_routes/PCI-6220.csv
@@ -0,0 +1,46 @@
+Sources / Destinations;NI_PFI(0);NI_PFI(1);NI_PFI(2);NI_PFI(3);NI_PFI(4);NI_PFI(5);NI_PFI(6);NI_PFI(7);NI_PFI(8);NI_PFI(9);NI_PFI(10);NI_PFI(11);NI_PFI(12);NI_PFI(13);NI_PFI(14);NI_PFI(15);TRIGGER_LINE(0);TRIGGER_LINE(1);TRIGGER_LINE(2);TRIGGER_LINE(3);TRIGGER_LINE(4);TRIGGER_LINE(5);TRIGGER_LINE(6);TRIGGER_LINE(7);NI_AI_SampleClock;NI_AI_StartTrigger;NI_AI_ReferenceTrigger;NI_DI_SampleClock;NI_DO_SampleClock;NI_AI_ConvertClock;NI_AI_ConvertClockTimebase;NI_AI_PauseTrigger;NI_AI_SampleClockTimebase;NI_CtrSource(0);NI_CtrSource(1);NI_CtrGate(0);NI_CtrGate(1);NI_CtrAux(0);NI_CtrAux(1);NI_CtrArmStartTrigger(0);NI_CtrArmStartTrigger(1);NI_CtrA(0);NI_CtrA(1);NI_CtrB(0);NI_CtrB(1);NI_CtrZ(0);NI_CtrZ(1)
+NI_PFI(0);;;;;;;;;;;;;;;;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1
+NI_PFI(1);;;;;;;;;;;;;;;;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1
+NI_PFI(2);;;;;;;;;;;;;;;;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1
+NI_PFI(3);;;;;;;;;;;;;;;;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1
+NI_PFI(4);;;;;;;;;;;;;;;;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1
+NI_PFI(5);;;;;;;;;;;;;;;;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1
+NI_PFI(6);;;;;;;;;;;;;;;;;;;;;;;;;1;1;1;1;1;1;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1
+NI_PFI(7);;;;;;;;;;;;;;;;;;;;;;;;;1;1;1;1;1;1;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1
+NI_PFI(8);;;;;;;;;;;;;;;;;;;;;;;;;1;1;1;1;1;1;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1
+NI_PFI(9);;;;;;;;;;;;;;;;;;;;;;;;;1;1;1;1;1;1;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1
+NI_PFI(10);;;;;;;;;;;;;;;;;;;;;;;;;1;1;1;1;1;1;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1
+NI_PFI(11);;;;;;;;;;;;;;;;;;;;;;;;;1;1;1;1;1;1;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1
+NI_PFI(12);;;;;;;;;;;;;;;;;;;;;;;;;1;1;1;1;1;1;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1
+NI_PFI(13);;;;;;;;;;;;;;;;;;;;;;;;;1;1;1;1;1;1;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1
+NI_PFI(14);;;;;;;;;;;;;;;;;;;;;;;;;1;1;1;1;1;1;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1
+NI_PFI(15);;;;;;;;;;;;;;;;;;;;;;;;;1;1;1;1;1;1;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1
+TRIGGER_LINE(0);1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;;;;;;;;;1;1;1;1;1;1;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1
+TRIGGER_LINE(1);1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;;;;;;;;;1;1;1;1;1;1;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1
+TRIGGER_LINE(2);1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;;;;;;;;;1;1;1;1;1;1;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1
+TRIGGER_LINE(3);1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;;;;;;;;;1;1;1;1;1;1;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1
+TRIGGER_LINE(4);1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;;;;;;;;;1;1;1;1;1;1;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1
+TRIGGER_LINE(5);1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;;;;;;;;;1;1;1;1;1;1;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1
+TRIGGER_LINE(6);1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;;;;;;;;;1;1;1;1;1;1;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1
+TRIGGER_LINE(7);1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;;;;;;;;;1;1;1;1;1;1;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1
+NI_AI_SampleClock;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;;;;1;1;;;;;;;;;;;;;;;;;;
+NI_AI_StartTrigger;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;;;;;;;;;;;;1;1;1;1;1;1;;;;;;
+NI_AI_ReferenceTrigger;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;;;;;;;;;;;;1;1;1;1;1;1;;;;;;
+NI_DI_SampleClock;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+NI_DO_SampleClock;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+NI_20MHzTimebase;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1;;1;1;1;;;;;;;;;;;;
+NI_80MHzTimebase;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1;1;;;;;;;;;;;;
+NI_10MHzRefClock;;;;;;;;;;;;;;;;;1;1;1;1;1;1;1;1;;;;;;;;;;;;;;;;;;;;;;;
+NI_AI_ConvertClock;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;;;;1;1;;;;;;;;;;;;;;;;;;
+NI_AI_ConvertClockTimebase;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1;;;;;;;;;;;;;;;;;
+NI_AI_PauseTrigger;;;;;;;;;;;;;;;;;1;1;1;1;1;1;1;1;;;;;;;;;;;;;;;;;;;;;;;
+NI_AI_SampleClockTimebase;;;;;;;;;;;;;;;;;;;;;;;;;1;;;;;;1;;;;;;;;;;;;;;;;
+NI_CtrSource(0);1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;;;;;;;;;;;;;1;;1;;;;;;;;
+NI_CtrSource(1);1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;;;;;;;;;;;;1;;1;;;;;;;;;
+NI_CtrGate(0);1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;;;;;;;;;;;1;;;1;1;;;;;;;;
+NI_CtrGate(1);1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;;;;;;;;;;1;;;;1;1;;;;;;;;
+NI_CtrInternalOutput(0);1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;;1;1;1;;;;;;;1;;1;;1;;;;;;
+NI_CtrInternalOutput(1);1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;;1;1;1;;;;;;1;;1;;1;;;;;;;
+NI_FrequencyOutput;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;;;;1;1;;;;;;;;;;;;;;;;;;
+NI_100kHzTimebase;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1;1;1;;;;;;;;;;;;
+NI_ChangeDetectionEvent;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;;;;1;1;;;;;;;;;;;;;;;;;;
diff --git a/drivers/staging/comedi/drivers/ni_routing/ni_device_routes/PCI-6221.csv b/drivers/staging/comedi/drivers/ni_routing/ni_device_routes/PCI-6221.csv
new file mode 100644
index 0000000..5bf4d93
--- /dev/null
+++ b/drivers/staging/comedi/drivers/ni_routing/ni_device_routes/PCI-6221.csv
@@ -0,0 +1,50 @@
+Sources / Destinations;NI_PFI(0);NI_PFI(1);NI_PFI(2);NI_PFI(3);NI_PFI(4);NI_PFI(5);NI_PFI(6);NI_PFI(7);NI_PFI(8);NI_PFI(9);NI_PFI(10);NI_PFI(11);NI_PFI(12);NI_PFI(13);NI_PFI(14);NI_PFI(15);TRIGGER_LINE(0);TRIGGER_LINE(1);TRIGGER_LINE(2);TRIGGER_LINE(3);TRIGGER_LINE(4);TRIGGER_LINE(5);TRIGGER_LINE(6);TRIGGER_LINE(7);NI_AI_SampleClock;NI_AI_StartTrigger;NI_AI_ReferenceTrigger;NI_AO_SampleClock;NI_AO_StartTrigger;NI_DI_SampleClock;NI_DO_SampleClock;NI_AI_ConvertClock;NI_AI_ConvertClockTimebase;NI_AI_PauseTrigger;NI_AI_SampleClockTimebase;NI_AO_PauseTrigger;NI_AO_SampleClockTimebase;NI_CtrSource(0);NI_CtrSource(1);NI_CtrGate(0);NI_CtrGate(1);NI_CtrAux(0);NI_CtrAux(1);NI_CtrArmStartTrigger(0);NI_CtrArmStartTrigger(1);NI_CtrA(0);NI_CtrA(1);NI_CtrB(0);NI_CtrB(1);NI_CtrZ(0);NI_CtrZ(1)
+NI_PFI(0);;;;;;;;;;;;;;;;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1
+NI_PFI(1);;;;;;;;;;;;;;;;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1
+NI_PFI(2);;;;;;;;;;;;;;;;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1
+NI_PFI(3);;;;;;;;;;;;;;;;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1
+NI_PFI(4);;;;;;;;;;;;;;;;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1
+NI_PFI(5);;;;;;;;;;;;;;;;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1
+NI_PFI(6);;;;;;;;;;;;;;;;;;;;;;;;;1;1;1;1;1;1;1;1;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1
+NI_PFI(7);;;;;;;;;;;;;;;;;;;;;;;;;1;1;1;1;1;1;1;1;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1
+NI_PFI(8);;;;;;;;;;;;;;;;;;;;;;;;;1;1;1;1;1;1;1;1;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1
+NI_PFI(9);;;;;;;;;;;;;;;;;;;;;;;;;1;1;1;1;1;1;1;1;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1
+NI_PFI(10);;;;;;;;;;;;;;;;;;;;;;;;;1;1;1;1;1;1;1;1;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1
+NI_PFI(11);;;;;;;;;;;;;;;;;;;;;;;;;1;1;1;1;1;1;1;1;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1
+NI_PFI(12);;;;;;;;;;;;;;;;;;;;;;;;;1;1;1;1;1;1;1;1;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1
+NI_PFI(13);;;;;;;;;;;;;;;;;;;;;;;;;1;1;1;1;1;1;1;1;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1
+NI_PFI(14);;;;;;;;;;;;;;;;;;;;;;;;;1;1;1;1;1;1;1;1;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1
+NI_PFI(15);;;;;;;;;;;;;;;;;;;;;;;;;1;1;1;1;1;1;1;1;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1
+TRIGGER_LINE(0);1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;;;;;;;;;1;1;1;1;1;1;1;1;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1
+TRIGGER_LINE(1);1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;;;;;;;;;1;1;1;1;1;1;1;1;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1
+TRIGGER_LINE(2);1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;;;;;;;;;1;1;1;1;1;1;1;1;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1
+TRIGGER_LINE(3);1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;;;;;;;;;1;1;1;1;1;1;1;1;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1
+TRIGGER_LINE(4);1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;;;;;;;;;1;1;1;1;1;1;1;1;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1
+TRIGGER_LINE(5);1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;;;;;;;;;1;1;1;1;1;1;1;1;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1
+TRIGGER_LINE(6);1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;;;;;;;;;1;1;1;1;1;1;1;1;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1
+TRIGGER_LINE(7);1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;;;;;;;;;1;1;1;1;1;1;1;1;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1
+NI_AI_SampleClock;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;;;;;;1;1;;;;;;;;;;;;;;;;;;;;
+NI_AI_StartTrigger;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;;;;;1;;;;;;;;;;;1;1;1;1;1;1;;;;;;
+NI_AI_ReferenceTrigger;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;;;;;;;;;;;;;;;;1;1;1;1;1;1;;;;;;
+NI_AO_SampleClock;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;;;;;;1;1;;;;;;;;;;;;;;;;;;;;
+NI_AO_StartTrigger;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;;;;;;;;;;;;;;;;;;;;;;;;;;;
+NI_DI_SampleClock;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+NI_DO_SampleClock;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+NI_20MHzTimebase;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1;;1;;1;1;1;;;;;;;;;;;;
+NI_80MHzTimebase;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1;1;;;;;;;;;;;;
+NI_10MHzRefClock;;;;;;;;;;;;;;;;;1;1;1;1;1;1;1;1;;;;;;;;;;;;;;;;;;;;;;;;;;;
+NI_AI_ConvertClock;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;;;;;;1;1;;;;;;;;;;;;;;;;;;;;
+NI_AI_ConvertClockTimebase;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1;;;;;;;;;;;;;;;;;;;
+NI_AI_PauseTrigger;;;;;;;;;;;;;;;;;1;1;1;1;1;1;1;1;;;;;;;;;;;;;;;;;;;;;;;;;;;
+NI_AI_SampleClockTimebase;;;;;;;;;;;;;;;;;;;;;;;;;1;;;;;;;;1;;;;;;;;;;;;;;;;;;
+NI_AO_PauseTrigger;;;;;;;;;;;;;;;;;1;1;1;1;1;1;1;1;;;;;;;;;;;;;;;;;;;;;;;;;;;
+NI_AO_SampleClockTimebase;;;;;;;;;;;;;;;;;;;;;;;;;;;;1;;;;;;;;;;;;;;;;;;;;;;;
+NI_CtrSource(0);1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;;;;;;;;;;;;;;;;;1;;1;;;;;;;;
+NI_CtrSource(1);1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;;;;;;;;;;;;;;;;1;;1;;;;;;;;;
+NI_CtrGate(0);1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;;;;;;;;;;;;;;;1;;;1;1;;;;;;;;
+NI_CtrGate(1);1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;;;;;;;;;;;;;;1;;;;1;1;;;;;;;;
+NI_CtrInternalOutput(0);1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;;1;;1;1;1;;;;;;;;;1;;1;;1;;;;;;
+NI_CtrInternalOutput(1);1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;;1;;1;1;1;;;;;;;;1;;1;;1;;;;;;;
+NI_FrequencyOutput;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;;;;;;1;1;;;;;;;;;;;;;;;;;;;;
+NI_100kHzTimebase;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1;;1;1;1;;;;;;;;;;;;
+NI_ChangeDetectionEvent;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;;;;;;1;1;;;;;;;;;;;;;;;;;;;;
diff --git a/drivers/staging/comedi/drivers/ni_routing/ni_device_routes/PCI-6251.csv b/drivers/staging/comedi/drivers/ni_routing/ni_device_routes/PCI-6251.csv
new file mode 100644
index 0000000..3e66bc2
--- /dev/null
+++ b/drivers/staging/comedi/drivers/ni_routing/ni_device_routes/PCI-6251.csv
@@ -0,0 +1,51 @@
+Sources / Destinations;NI_PFI(0);NI_PFI(1);NI_PFI(2);NI_PFI(3);NI_PFI(4);NI_PFI(5);NI_PFI(6);NI_PFI(7);NI_PFI(8);NI_PFI(9);NI_PFI(10);NI_PFI(11);NI_PFI(12);NI_PFI(13);NI_PFI(14);NI_PFI(15);TRIGGER_LINE(0);TRIGGER_LINE(1);TRIGGER_LINE(2);TRIGGER_LINE(3);TRIGGER_LINE(4);TRIGGER_LINE(5);TRIGGER_LINE(6);TRIGGER_LINE(7);NI_AI_SampleClock;NI_AI_StartTrigger;NI_AI_ReferenceTrigger;NI_AO_SampleClock;NI_AO_StartTrigger;NI_DI_SampleClock;NI_DO_SampleClock;NI_AI_ConvertClock;NI_AI_ConvertClockTimebase;NI_AI_PauseTrigger;NI_AI_SampleClockTimebase;NI_AO_PauseTrigger;NI_AO_SampleClockTimebase;NI_CtrSource(0);NI_CtrSource(1);NI_CtrGate(0);NI_CtrGate(1);NI_CtrAux(0);NI_CtrAux(1);NI_CtrArmStartTrigger(0);NI_CtrArmStartTrigger(1);NI_CtrA(0);NI_CtrA(1);NI_CtrB(0);NI_CtrB(1);NI_CtrZ(0);NI_CtrZ(1)
+NI_PFI(0);;;;;;;;;;;;;;;;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1
+NI_PFI(1);;;;;;;;;;;;;;;;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1
+NI_PFI(2);;;;;;;;;;;;;;;;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1
+NI_PFI(3);;;;;;;;;;;;;;;;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1
+NI_PFI(4);;;;;;;;;;;;;;;;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1
+NI_PFI(5);;;;;;;;;;;;;;;;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1
+NI_PFI(6);;;;;;;;;;;;;;;;;;;;;;;;;1;1;1;1;1;1;1;1;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1
+NI_PFI(7);;;;;;;;;;;;;;;;;;;;;;;;;1;1;1;1;1;1;1;1;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1
+NI_PFI(8);;;;;;;;;;;;;;;;;;;;;;;;;1;1;1;1;1;1;1;1;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1
+NI_PFI(9);;;;;;;;;;;;;;;;;;;;;;;;;1;1;1;1;1;1;1;1;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1
+NI_PFI(10);;;;;;;;;;;;;;;;;;;;;;;;;1;1;1;1;1;1;1;1;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1
+NI_PFI(11);;;;;;;;;;;;;;;;;;;;;;;;;1;1;1;1;1;1;1;1;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1
+NI_PFI(12);;;;;;;;;;;;;;;;;;;;;;;;;1;1;1;1;1;1;1;1;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1
+NI_PFI(13);;;;;;;;;;;;;;;;;;;;;;;;;1;1;1;1;1;1;1;1;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1
+NI_PFI(14);;;;;;;;;;;;;;;;;;;;;;;;;1;1;1;1;1;1;1;1;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1
+NI_PFI(15);;;;;;;;;;;;;;;;;;;;;;;;;1;1;1;1;1;1;1;1;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1
+TRIGGER_LINE(0);1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;;;;;;;;;1;1;1;1;1;1;1;1;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1
+TRIGGER_LINE(1);1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;;;;;;;;;1;1;1;1;1;1;1;1;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1
+TRIGGER_LINE(2);1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;;;;;;;;;1;1;1;1;1;1;1;1;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1
+TRIGGER_LINE(3);1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;;;;;;;;;1;1;1;1;1;1;1;1;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1
+TRIGGER_LINE(4);1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;;;;;;;;;1;1;1;1;1;1;1;1;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1
+TRIGGER_LINE(5);1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;;;;;;;;;1;1;1;1;1;1;1;1;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1
+TRIGGER_LINE(6);1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;;;;;;;;;1;1;1;1;1;1;1;1;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1
+TRIGGER_LINE(7);1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;;;;;;;;;1;1;1;1;1;1;1;1;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1
+NI_AI_SampleClock;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;;;;;;1;1;;;;;;;;;;;;;;;;;;;;
+NI_AI_StartTrigger;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;;;;;1;;;;;;;;;;;1;1;1;1;1;1;;;;;;
+NI_AI_ReferenceTrigger;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;;;;;;;;;;;;;;;;1;1;1;1;1;1;;;;;;
+NI_AO_SampleClock;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;;;;;;1;1;;;;;;;;;;;;;;;;;;;;
+NI_AO_StartTrigger;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;;;;;;;;;;;;;;;;;;;;;;;;;;;
+NI_DI_SampleClock;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+NI_DO_SampleClock;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+NI_20MHzTimebase;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1;;1;;1;1;1;;;;;;;;;;;;
+NI_80MHzTimebase;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1;1;;;;;;;;;;;;
+NI_10MHzRefClock;;;;;;;;;;;;;;;;;1;1;1;1;1;1;1;1;;;;;;;;;;;;;;;;;;;;;;;;;;;
+NI_AI_ConvertClock;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;;;;;;1;1;;;;;;;;;;;;;;;;;;;;
+NI_AI_ConvertClockTimebase;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1;;;;;;;;;;;;;;;;;;;
+NI_AI_PauseTrigger;;;;;;;;;;;;;;;;;1;1;1;1;1;1;1;1;;;;;;;;;;;;;;;;;;;;;;;;;;;
+NI_AI_SampleClockTimebase;;;;;;;;;;;;;;;;;;;;;;;;;1;;;;;;;;1;;;;;;;;;;;;;;;;;;
+NI_AnalogComparisonEvent;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1
+NI_AO_PauseTrigger;;;;;;;;;;;;;;;;;1;1;1;1;1;1;1;1;;;;;;;;;;;;;;;;;;;;;;;;;;;
+NI_AO_SampleClockTimebase;;;;;;;;;;;;;;;;;;;;;;;;;;;;1;;;;;;;;;;;;;;;;;;;;;;;
+NI_CtrSource(0);1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;;;;;;;;;;;;;;;;;1;;1;;;;;;;;
+NI_CtrSource(1);1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;;;;;;;;;;;;;;;;1;;1;;;;;;;;;
+NI_CtrGate(0);1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;;;;;;;;;;;;;;;1;;;1;1;;;;;;;;
+NI_CtrGate(1);1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;;;;;;;;;;;;;;1;;;;1;1;;;;;;;;
+NI_CtrInternalOutput(0);1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;;1;;1;1;1;;;;;;;;;1;;1;;1;;;;;;
+NI_CtrInternalOutput(1);1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;;1;;1;1;1;;;;;;;;1;;1;;1;;;;;;;
+NI_FrequencyOutput;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;;;;;;1;1;;;;;;;;;;;;;;;;;;;;
+NI_100kHzTimebase;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1;;1;1;1;;;;;;;;;;;;
+NI_ChangeDetectionEvent;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;;;;;;1;1;;;;;;;;;;;;;;;;;;;;
diff --git a/drivers/staging/comedi/drivers/ni_routing/ni_device_routes/PCI-6254.csv b/drivers/staging/comedi/drivers/ni_routing/ni_device_routes/PCI-6254.csv
new file mode 100644
index 0000000..0139a10
--- /dev/null
+++ b/drivers/staging/comedi/drivers/ni_routing/ni_device_routes/PCI-6254.csv
@@ -0,0 +1,47 @@
+Sources / Destinations;NI_PFI(0);NI_PFI(1);NI_PFI(2);NI_PFI(3);NI_PFI(4);NI_PFI(5);NI_PFI(6);NI_PFI(7);NI_PFI(8);NI_PFI(9);NI_PFI(10);NI_PFI(11);NI_PFI(12);NI_PFI(13);NI_PFI(14);NI_PFI(15);TRIGGER_LINE(0);TRIGGER_LINE(1);TRIGGER_LINE(2);TRIGGER_LINE(3);TRIGGER_LINE(4);TRIGGER_LINE(5);TRIGGER_LINE(6);TRIGGER_LINE(7);NI_AI_SampleClock;NI_AI_StartTrigger;NI_AI_ReferenceTrigger;NI_DI_SampleClock;NI_DO_SampleClock;NI_AI_ConvertClock;NI_AI_ConvertClockTimebase;NI_AI_PauseTrigger;NI_AI_SampleClockTimebase;NI_CtrSource(0);NI_CtrSource(1);NI_CtrGate(0);NI_CtrGate(1);NI_CtrAux(0);NI_CtrAux(1);NI_CtrArmStartTrigger(0);NI_CtrArmStartTrigger(1);NI_CtrA(0);NI_CtrA(1);NI_CtrB(0);NI_CtrB(1);NI_CtrZ(0);NI_CtrZ(1)
+NI_PFI(0);;;;;;;;;;;;;;;;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1
+NI_PFI(1);;;;;;;;;;;;;;;;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1
+NI_PFI(2);;;;;;;;;;;;;;;;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1
+NI_PFI(3);;;;;;;;;;;;;;;;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1
+NI_PFI(4);;;;;;;;;;;;;;;;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1
+NI_PFI(5);;;;;;;;;;;;;;;;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1
+NI_PFI(6);;;;;;;;;;;;;;;;;;;;;;;;;1;1;1;1;1;1;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1
+NI_PFI(7);;;;;;;;;;;;;;;;;;;;;;;;;1;1;1;1;1;1;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1
+NI_PFI(8);;;;;;;;;;;;;;;;;;;;;;;;;1;1;1;1;1;1;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1
+NI_PFI(9);;;;;;;;;;;;;;;;;;;;;;;;;1;1;1;1;1;1;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1
+NI_PFI(10);;;;;;;;;;;;;;;;;;;;;;;;;1;1;1;1;1;1;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1
+NI_PFI(11);;;;;;;;;;;;;;;;;;;;;;;;;1;1;1;1;1;1;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1
+NI_PFI(12);;;;;;;;;;;;;;;;;;;;;;;;;1;1;1;1;1;1;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1
+NI_PFI(13);;;;;;;;;;;;;;;;;;;;;;;;;1;1;1;1;1;1;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1
+NI_PFI(14);;;;;;;;;;;;;;;;;;;;;;;;;1;1;1;1;1;1;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1
+NI_PFI(15);;;;;;;;;;;;;;;;;;;;;;;;;1;1;1;1;1;1;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1
+TRIGGER_LINE(0);1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;;;;;;;;;1;1;1;1;1;1;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1
+TRIGGER_LINE(1);1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;;;;;;;;;1;1;1;1;1;1;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1
+TRIGGER_LINE(2);1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;;;;;;;;;1;1;1;1;1;1;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1
+TRIGGER_LINE(3);1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;;;;;;;;;1;1;1;1;1;1;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1
+TRIGGER_LINE(4);1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;;;;;;;;;1;1;1;1;1;1;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1
+TRIGGER_LINE(5);1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;;;;;;;;;1;1;1;1;1;1;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1
+TRIGGER_LINE(6);1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;;;;;;;;;1;1;1;1;1;1;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1
+TRIGGER_LINE(7);1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;;;;;;;;;1;1;1;1;1;1;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1
+NI_AI_SampleClock;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;;;;1;1;;;;;;;;;;;;;;;;;;
+NI_AI_StartTrigger;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;;;;;;;;;;;;1;1;1;1;1;1;;;;;;
+NI_AI_ReferenceTrigger;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;;;;;;;;;;;;1;1;1;1;1;1;;;;;;
+NI_DI_SampleClock;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+NI_DO_SampleClock;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+NI_20MHzTimebase;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1;;1;1;1;;;;;;;;;;;;
+NI_80MHzTimebase;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1;1;;;;;;;;;;;;
+NI_10MHzRefClock;;;;;;;;;;;;;;;;;1;1;1;1;1;1;1;1;;;;;;;;;;;;;;;;;;;;;;;
+NI_AI_ConvertClock;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;;;;1;1;;;;;;;;;;;;;;;;;;
+NI_AI_ConvertClockTimebase;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1;;;;;;;;;;;;;;;;;
+NI_AI_PauseTrigger;;;;;;;;;;;;;;;;;1;1;1;1;1;1;1;1;;;;;;;;;;;;;;;;;;;;;;;
+NI_AI_SampleClockTimebase;;;;;;;;;;;;;;;;;;;;;;;;;1;;;;;;1;;;;;;;;;;;;;;;;
+NI_AnalogComparisonEvent;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1
+NI_CtrSource(0);1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;;;;;;;;;;;;;1;;1;;;;;;;;
+NI_CtrSource(1);1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;;;;;;;;;;;;1;;1;;;;;;;;;
+NI_CtrGate(0);1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;;;;;;;;;;;1;;;1;1;;;;;;;;
+NI_CtrGate(1);1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;;;;;;;;;;1;;;;1;1;;;;;;;;
+NI_CtrInternalOutput(0);1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;;1;1;1;;;;;;;1;;1;;1;;;;;;
+NI_CtrInternalOutput(1);1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;;1;1;1;;;;;;1;;1;;1;;;;;;;
+NI_FrequencyOutput;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;;;;1;1;;;;;;;;;;;;;;;;;;
+NI_100kHzTimebase;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1;1;1;;;;;;;;;;;;
+NI_ChangeDetectionEvent;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;;;;1;1;;;;;;;;;;;;;;;;;;
diff --git a/drivers/staging/comedi/drivers/ni_routing/ni_device_routes/PCI-6259.csv b/drivers/staging/comedi/drivers/ni_routing/ni_device_routes/PCI-6259.csv
new file mode 100644
index 0000000..3e66bc2
--- /dev/null
+++ b/drivers/staging/comedi/drivers/ni_routing/ni_device_routes/PCI-6259.csv
@@ -0,0 +1,51 @@
+Sources / Destinations;NI_PFI(0);NI_PFI(1);NI_PFI(2);NI_PFI(3);NI_PFI(4);NI_PFI(5);NI_PFI(6);NI_PFI(7);NI_PFI(8);NI_PFI(9);NI_PFI(10);NI_PFI(11);NI_PFI(12);NI_PFI(13);NI_PFI(14);NI_PFI(15);TRIGGER_LINE(0);TRIGGER_LINE(1);TRIGGER_LINE(2);TRIGGER_LINE(3);TRIGGER_LINE(4);TRIGGER_LINE(5);TRIGGER_LINE(6);TRIGGER_LINE(7);NI_AI_SampleClock;NI_AI_StartTrigger;NI_AI_ReferenceTrigger;NI_AO_SampleClock;NI_AO_StartTrigger;NI_DI_SampleClock;NI_DO_SampleClock;NI_AI_ConvertClock;NI_AI_ConvertClockTimebase;NI_AI_PauseTrigger;NI_AI_SampleClockTimebase;NI_AO_PauseTrigger;NI_AO_SampleClockTimebase;NI_CtrSource(0);NI_CtrSource(1);NI_CtrGate(0);NI_CtrGate(1);NI_CtrAux(0);NI_CtrAux(1);NI_CtrArmStartTrigger(0);NI_CtrArmStartTrigger(1);NI_CtrA(0);NI_CtrA(1);NI_CtrB(0);NI_CtrB(1);NI_CtrZ(0);NI_CtrZ(1)
+NI_PFI(0);;;;;;;;;;;;;;;;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1
+NI_PFI(1);;;;;;;;;;;;;;;;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1
+NI_PFI(2);;;;;;;;;;;;;;;;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1
+NI_PFI(3);;;;;;;;;;;;;;;;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1
+NI_PFI(4);;;;;;;;;;;;;;;;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1
+NI_PFI(5);;;;;;;;;;;;;;;;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1
+NI_PFI(6);;;;;;;;;;;;;;;;;;;;;;;;;1;1;1;1;1;1;1;1;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1
+NI_PFI(7);;;;;;;;;;;;;;;;;;;;;;;;;1;1;1;1;1;1;1;1;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1
+NI_PFI(8);;;;;;;;;;;;;;;;;;;;;;;;;1;1;1;1;1;1;1;1;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1
+NI_PFI(9);;;;;;;;;;;;;;;;;;;;;;;;;1;1;1;1;1;1;1;1;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1
+NI_PFI(10);;;;;;;;;;;;;;;;;;;;;;;;;1;1;1;1;1;1;1;1;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1
+NI_PFI(11);;;;;;;;;;;;;;;;;;;;;;;;;1;1;1;1;1;1;1;1;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1
+NI_PFI(12);;;;;;;;;;;;;;;;;;;;;;;;;1;1;1;1;1;1;1;1;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1
+NI_PFI(13);;;;;;;;;;;;;;;;;;;;;;;;;1;1;1;1;1;1;1;1;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1
+NI_PFI(14);;;;;;;;;;;;;;;;;;;;;;;;;1;1;1;1;1;1;1;1;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1
+NI_PFI(15);;;;;;;;;;;;;;;;;;;;;;;;;1;1;1;1;1;1;1;1;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1
+TRIGGER_LINE(0);1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;;;;;;;;;1;1;1;1;1;1;1;1;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1
+TRIGGER_LINE(1);1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;;;;;;;;;1;1;1;1;1;1;1;1;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1
+TRIGGER_LINE(2);1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;;;;;;;;;1;1;1;1;1;1;1;1;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1
+TRIGGER_LINE(3);1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;;;;;;;;;1;1;1;1;1;1;1;1;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1
+TRIGGER_LINE(4);1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;;;;;;;;;1;1;1;1;1;1;1;1;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1
+TRIGGER_LINE(5);1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;;;;;;;;;1;1;1;1;1;1;1;1;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1
+TRIGGER_LINE(6);1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;;;;;;;;;1;1;1;1;1;1;1;1;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1
+TRIGGER_LINE(7);1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;;;;;;;;;1;1;1;1;1;1;1;1;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1
+NI_AI_SampleClock;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;;;;;;1;1;;;;;;;;;;;;;;;;;;;;
+NI_AI_StartTrigger;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;;;;;1;;;;;;;;;;;1;1;1;1;1;1;;;;;;
+NI_AI_ReferenceTrigger;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;;;;;;;;;;;;;;;;1;1;1;1;1;1;;;;;;
+NI_AO_SampleClock;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;;;;;;1;1;;;;;;;;;;;;;;;;;;;;
+NI_AO_StartTrigger;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;;;;;;;;;;;;;;;;;;;;;;;;;;;
+NI_DI_SampleClock;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+NI_DO_SampleClock;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+NI_20MHzTimebase;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1;;1;;1;1;1;;;;;;;;;;;;
+NI_80MHzTimebase;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1;1;;;;;;;;;;;;
+NI_10MHzRefClock;;;;;;;;;;;;;;;;;1;1;1;1;1;1;1;1;;;;;;;;;;;;;;;;;;;;;;;;;;;
+NI_AI_ConvertClock;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;;;;;;1;1;;;;;;;;;;;;;;;;;;;;
+NI_AI_ConvertClockTimebase;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1;;;;;;;;;;;;;;;;;;;
+NI_AI_PauseTrigger;;;;;;;;;;;;;;;;;1;1;1;1;1;1;1;1;;;;;;;;;;;;;;;;;;;;;;;;;;;
+NI_AI_SampleClockTimebase;;;;;;;;;;;;;;;;;;;;;;;;;1;;;;;;;;1;;;;;;;;;;;;;;;;;;
+NI_AnalogComparisonEvent;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1
+NI_AO_PauseTrigger;;;;;;;;;;;;;;;;;1;1;1;1;1;1;1;1;;;;;;;;;;;;;;;;;;;;;;;;;;;
+NI_AO_SampleClockTimebase;;;;;;;;;;;;;;;;;;;;;;;;;;;;1;;;;;;;;;;;;;;;;;;;;;;;
+NI_CtrSource(0);1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;;;;;;;;;;;;;;;;;1;;1;;;;;;;;
+NI_CtrSource(1);1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;;;;;;;;;;;;;;;;1;;1;;;;;;;;;
+NI_CtrGate(0);1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;;;;;;;;;;;;;;;1;;;1;1;;;;;;;;
+NI_CtrGate(1);1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;;;;;;;;;;;;;;1;;;;1;1;;;;;;;;
+NI_CtrInternalOutput(0);1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;;1;;1;1;1;;;;;;;;;1;;1;;1;;;;;;
+NI_CtrInternalOutput(1);1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;;1;;1;1;1;;;;;;;;1;;1;;1;;;;;;;
+NI_FrequencyOutput;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;;;;;;1;1;;;;;;;;;;;;;;;;;;;;
+NI_100kHzTimebase;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1;;1;1;1;;;;;;;;;;;;
+NI_ChangeDetectionEvent;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;;;;;;1;1;;;;;;;;;;;;;;;;;;;;
diff --git a/drivers/staging/comedi/drivers/ni_routing/ni_device_routes/PCI-6534.csv b/drivers/staging/comedi/drivers/ni_routing/ni_device_routes/PCI-6534.csv
new file mode 100644
index 0000000..88b6cbb
--- /dev/null
+++ b/drivers/staging/comedi/drivers/ni_routing/ni_device_routes/PCI-6534.csv
@@ -0,0 +1,29 @@
+Sources / Destinations;NI_PFI(0);NI_PFI(1);NI_PFI(2);NI_PFI(3);NI_PFI(4);NI_PFI(5);NI_PFI(6);NI_PFI(7);TRIGGER_LINE(0);TRIGGER_LINE(1);TRIGGER_LINE(2);TRIGGER_LINE(3);TRIGGER_LINE(4);TRIGGER_LINE(5);TRIGGER_LINE(6);TRIGGER_LINE(7);NI_MasterTimebase;#NI_Dig0_SampleClockTimebase;#NI_Dig0_SampleClock;#NI_Dig0_PauseTrigger;#NI_Dig0_StartTrigger;#NI_Dig0_ReferenceTrigger;#NI_Dig1_SampleClockTimebase;#NI_Dig1_SampleClock;#NI_Dig1_PauseTrigger;#NI_Dig1_StartTrigger;#NI_Dig1_ReferenceTrigger
+NI_PFI(0);;;;;;;;;1;1;1;1;1;1;1;;;;;;;1;;;;;
+NI_PFI(1);;;;;;;;;1;1;1;1;1;1;1;;;;;;;;;;;;1
+NI_PFI(2);;;;;;;;;1;1;1;1;1;1;1;;;;1;1;1;;;;;;
+NI_PFI(3);;;;;;;;;1;1;1;1;1;1;1;;;;;;;;;1;1;1;
+NI_PFI(4);;;;;;;;;1;1;1;1;1;1;1;;;1;;;;;;;;;
+NI_PFI(5);;;;;;;;;1;1;1;1;1;1;1;;;;;;;;1;;;;
+NI_PFI(6);;;;;;;;;1;1;1;1;1;1;1;;;;1;1;1;;;;;;
+NI_PFI(7);;;;;;;;;;;;;;;;;;;;;;;;1;1;1;
+TRIGGER_LINE(0);1;1;1;1;1;1;1;1;;1;1;1;1;1;1;;;1;1;1;1;1;1;1;1;1;1
+TRIGGER_LINE(1);1;1;1;1;1;1;1;1;1;;1;1;1;1;1;;;1;1;1;1;1;1;1;1;1;1
+TRIGGER_LINE(2);1;1;1;1;1;1;1;1;1;1;;1;1;1;1;;;1;1;1;1;1;1;1;1;1;1
+TRIGGER_LINE(3);1;1;1;1;1;1;1;1;1;1;1;;1;1;1;;;1;1;1;1;1;1;1;1;1;1
+TRIGGER_LINE(4);1;1;1;1;1;1;1;1;1;1;1;1;;1;1;;;1;1;1;1;1;1;1;1;1;1
+TRIGGER_LINE(5);1;1;1;1;1;1;1;1;1;1;1;1;1;;1;;;1;1;1;1;1;1;1;1;1;1
+TRIGGER_LINE(6);1;1;1;1;1;1;1;1;1;1;1;1;1;1;;;;1;1;1;1;1;1;1;1;1;1
+TRIGGER_LINE(7);;;;;;;;;;;;;;;;;1;1;;;;;1;;;;
+NI_20MHzTimebase;;;;;;;;;;;;;;;;1;1;1;;;;;1;;;;
+NI_MasterTimebase;;;;;;;;;;;;;;;;;;1;;;;;1;;;;
+#NI_Dig0_SampleClockTimebase;;;;;1;;;;1;1;1;1;1;1;1;;;;1;1;;;;;;;
+#NI_Dig0_SampleClock;;;;;;;;;;;;;;;;;;;;1;;;;;;;
+#NI_Dig0_ReadyForTransfer;;;1;;;;1;;1;1;1;1;1;1;1;;;;1;1;1;;;;;;
+#NI_Dig1_SampleClockTimebase;;;;;;;;;1;1;1;1;1;1;1;;;;;;;;;1;1;;
+#NI_Dig1_SampleClock;;;;;;;;;;;;;;;;;;;;;;;;;1;;
+#NI_Dig1_ReadyForTransfer;;;;1;;;;1;1;1;1;1;1;1;1;;;;;;;;;1;1;1;
+;;;;;;;;;;;;;;;;;;;;;;;;;;;
+;Not yet quite sure how to use/interact with the Dig{0,1} signals.  NIDAQmx seems to want to refer to these;;;;;;;;;;;;;;;;;;;;;;;;;;
+;only implicitly as NI_DO_* (such as NI_DO_SampleClock).  Not sure yet if there are actually different;;;;;;;;;;;;;;;;;;;;;;;;;;
+;register values for using either Dig0 or Dig1 names.;;;;;;;;;;;;;;;;;;;;;;;;;;
diff --git a/drivers/staging/comedi/drivers/ni_routing/ni_device_routes/PCI-6602.csv b/drivers/staging/comedi/drivers/ni_routing/ni_device_routes/PCI-6602.csv
new file mode 100644
index 0000000..863c375
--- /dev/null
+++ b/drivers/staging/comedi/drivers/ni_routing/ni_device_routes/PCI-6602.csv
@@ -0,0 +1,78 @@
+Sources / Destinations;NI_PFI(0);NI_PFI(1);NI_PFI(2);NI_PFI(3);NI_PFI(4);NI_PFI(5);NI_PFI(6);NI_PFI(7);NI_PFI(8);NI_PFI(9);NI_PFI(10);NI_PFI(11);NI_PFI(12);NI_PFI(13);NI_PFI(14);NI_PFI(15);NI_PFI(16);NI_PFI(17);NI_PFI(18);NI_PFI(19);NI_PFI(20);NI_PFI(21);NI_PFI(22);NI_PFI(23);NI_PFI(24);NI_PFI(25);NI_PFI(26);NI_PFI(27);NI_PFI(28);NI_PFI(29);NI_PFI(30);NI_PFI(31);NI_PFI(32);NI_PFI(33);NI_PFI(34);NI_PFI(35);NI_PFI(36);NI_PFI(37);NI_PFI(38);NI_PFI(39);TRIGGER_LINE(0);TRIGGER_LINE(1);TRIGGER_LINE(2);TRIGGER_LINE(3);TRIGGER_LINE(4);TRIGGER_LINE(5);TRIGGER_LINE(6);TRIGGER_LINE(7);NI_CtrSource(0);NI_CtrSource(1);NI_CtrSource(2);NI_CtrSource(3);NI_CtrSource(4);NI_CtrSource(5);NI_CtrSource(6);NI_CtrSource(7);NI_CtrGate(0);NI_CtrGate(1);NI_CtrGate(2);NI_CtrGate(3);NI_CtrGate(4);NI_CtrGate(5);NI_CtrGate(6);NI_CtrGate(7);NI_CtrAux(0);NI_CtrAux(1);NI_CtrAux(2);NI_CtrAux(3);NI_CtrAux(4);NI_CtrAux(5);NI_CtrAux(6);NI_CtrAux(7);NI_CtrArmStartTrigger(0);NI_CtrArmStartTrigger(1);NI_CtrArmStartTrigger(2);NI_CtrArmStartTrigger(3);NI_CtrArmStartTrigger(4);NI_CtrArmStartTrigger(5);NI_CtrArmStartTrigger(6);NI_CtrArmStartTrigger(7);NI_MasterTimebase
+NI_PFI(0);;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1;1;;;1;1;1;1;1;1;1;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;
+NI_PFI(1);;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1;1;;;1;1;;;1;1;1;1;1;1;1;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;
+NI_PFI(2);;;;;;;;;;;;;;;;;;;;;;;;;;;;;1;1;;;;;;;1;1;;;1;1;1;1;1;1;1;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;
+NI_PFI(3);;;;;;;;;;;;;;;;;;;;;;;;;1;1;;;;;;;;;;;1;1;;;1;1;1;1;1;1;1;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;
+NI_PFI(4);;;;;;;;;;;;;;;;;;;;;1;1;;;;;;;;;;;;;;;1;1;;;1;1;1;1;1;1;1;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;
+NI_PFI(5);;;;;;;;;;;;;;;;;1;1;;;;;;;;;;;;;;;;;;;1;1;;;1;1;1;1;1;1;1;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;
+NI_PFI(6);;;;;;;;;;;;;1;1;;;;;;;;;;;;;;;;;;;;;;;1;1;;;1;1;1;1;1;1;1;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;
+NI_PFI(7);;;;;;;;;1;1;;;;;;;;;;;;;;;;;;;;;;;;;;;1;1;;;1;1;1;1;1;1;1;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;
+NI_PFI(8);;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1;1;;;1;1;1;1;1;1;1;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;
+NI_PFI(9);;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1;1;;;1;1;;;1;1;1;1;1;1;1;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;
+NI_PFI(10);;;;;;;;;;;;;;;;;;;;;;;;;;;;;1;1;;;;;;;1;1;;;1;1;1;1;1;1;1;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;
+NI_PFI(11);;;;;;;;;;;;;;;;;;;;;;;;;1;1;;;;;;;;;;;1;1;;;1;1;1;1;1;1;1;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;
+NI_PFI(12);;;;;;;;;;;;;;;;;;;;;1;1;;;;;;;;;;;;;;;1;1;;;1;1;1;1;1;1;1;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;
+NI_PFI(13);;;;;;;;;;;;;;;;;1;1;;;;;;;;;;;;;;;;;;;1;1;;;1;1;1;1;1;1;1;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;
+NI_PFI(14);;;;;;;;;;;;;1;1;;;;;;;;;;;;;;;;;;;;;;;1;1;;;1;1;1;1;1;1;1;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;
+NI_PFI(15);;;;;;;;;1;1;;;;;;;;;;;;;;;;;;;;;;;;;;;1;1;;;1;1;1;1;1;1;1;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;
+NI_PFI(16);;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1;1;;;1;1;1;1;1;1;1;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;
+NI_PFI(17);;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1;1;;;1;1;;;1;1;1;1;1;1;1;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;
+NI_PFI(18);;;;;;;;;;;;;;;;;;;;;;;;;;;;;1;1;;;;;;;1;1;;;1;1;1;1;1;1;1;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;
+NI_PFI(19);;;;;;;;;;;;;;;;;;;;;;;;;1;1;;;;;;;;;;;1;1;;;1;1;1;1;1;1;1;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;
+NI_PFI(20);;;;;;;;;;;;;;;;;;;;;;1;;;;;;;;;;;;;;;1;1;;;1;1;1;1;1;1;1;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;
+NI_PFI(21);;;;;;;;;;;;;;;;;1;1;;;;;;;;;;;;;;;;;;;1;1;;;1;1;1;1;1;1;1;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;
+NI_PFI(22);;;;;;;;;;;;;1;1;;;;;;;;;;;;;;;;;;;;;;;1;1;;;1;1;1;1;1;1;1;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;
+NI_PFI(23);;;;;;;;;1;1;;;;;;;;;;;;;;;;;;;;;;;;;;;1;1;;;1;1;1;1;1;1;1;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;
+NI_PFI(24);;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1;1;;;1;1;1;1;1;1;1;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;
+NI_PFI(25);;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1;1;;;1;1;;;1;1;1;1;1;1;1;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;
+NI_PFI(26);;;;;;;;;;;;;;;;;;;;;;;;;;;;;1;1;;;;;;;1;1;;;1;1;1;1;1;1;1;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;
+NI_PFI(27);;;;;;;;;;;;;;;;;;;;;;;;;1;1;;;;;;;;;;;1;1;;;1;1;1;1;1;1;1;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;
+NI_PFI(28);;;;;;;;;;;;;;;;;;;;;1;1;;;;;;;;;;;;;;;1;1;;;1;1;1;1;1;1;1;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;
+NI_PFI(29);;;;;;;;;;;;;;;;;1;1;;;;;;;;;;;;;;;;;;;1;1;;;1;1;1;1;1;1;1;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;
+NI_PFI(30);;;;;;;;;;;;;1;1;;;;;;;;;;;;;;;;;;;;;;;1;1;;;1;1;1;1;1;1;1;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;
+NI_PFI(31);;;;;;;;;1;1;;;;;;;;;;;;;;;;;;;;;;;;;;;1;1;;;1;1;1;1;1;1;1;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;
+NI_PFI(32);;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1;1;;;1;1;1;1;1;1;1;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;
+NI_PFI(33);;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1;;;;1;1;;;1;1;1;1;1;1;1;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;
+NI_PFI(34);;;;;;;;;;;;;;;;;;;;;;;;;;;;;1;1;;;;;;;1;1;;;1;1;1;1;1;1;1;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;
+NI_PFI(35);;;;;;;;;;;;;;;;;;;;;;;;;1;1;;;;;;;;;;;1;1;;;1;1;1;1;1;1;1;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;
+NI_PFI(36);;;;;;;;;;;;;;;;;;;;;1;1;;;;;;;;;;;;;;;;1;;;1;1;1;1;1;1;1;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;
+NI_PFI(37);;;;;;;;;;;;;;;;;1;1;;;;;;;;;;;;;;;;;;;1;;;;1;1;1;1;1;1;1;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;
+NI_PFI(38);;;;;;;;;;;;;1;1;;;;;;;;;;;;;;;;;;;;;;;1;1;;;1;1;1;1;1;1;1;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;
+NI_PFI(39);;;;;;;;;1;1;;;;;;;;;;;;;;;;;;;;;;;;;;;1;1;;;1;1;1;1;1;1;1;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;
+TRIGGER_LINE(0);;;;;;;;;1;1;;;1;1;;;1;1;;;1;1;;;1;1;;;1;1;;;1;1;;;1;1;;;;;;;;;;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;
+TRIGGER_LINE(1);;;;;;;;;1;1;;;1;1;;;1;1;;;1;1;;;1;1;;;1;1;;;1;1;;;1;1;;;;;;;;;;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;
+TRIGGER_LINE(2);;;;;;;;;1;1;;;1;1;;;1;1;;;1;1;;;1;1;;;1;1;;;1;1;;;1;1;;;;;;;;;;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;
+TRIGGER_LINE(3);;;;;;;;;1;1;;;1;1;;;1;1;;;1;1;;;1;1;;;1;1;;;1;1;;;1;1;;;;;;;;;;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;
+TRIGGER_LINE(4);;;;;;;;;1;1;;;1;1;;;1;1;;;1;1;;;1;1;;;1;1;;;1;1;;;1;1;;;;;;;;;;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;
+TRIGGER_LINE(5);;;;;;;;;1;1;;;1;1;;;1;1;;;1;1;;;1;1;;;1;1;;;1;1;;;1;1;;;;;;;;;;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;
+TRIGGER_LINE(6);;;;;;;;;1;1;;;1;1;;;1;1;;;1;1;;;1;1;;;1;1;;;1;1;;;1;1;;;;;;;;;;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;
+TRIGGER_LINE(7);;;;;;;;1;1;1;;;1;1;;;1;1;;;1;1;;;1;1;;;1;1;;;1;1;;;1;1;;;;;;;;;;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1
+NI_20MHzTimebase;;;;;1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1;1;1;1;1;1;1;1;1;;;;;;;;;;;;;;;;;;;;;;;;;1
+NI_80MHzTimebase;;;1;;;;1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1;1;1;1;1;1;1;1;;;;;;;;;;;;;;;;;;;;;;;;;
+NI_CtrSource(0);;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1;1;;1;1;1;1;1;1;1;1;;;1;1;1;;;;;;1;1;1;;;;;;1;1;1;;;;;;1;1;1;;;;;
+NI_CtrSource(1);;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1;1;;1;;;;;1;1;1;1;1;1;1;;1;;1;1;;;;;1;;1;1;;;;;1;;1;1;;;;;1;;1;1;;;;;
+NI_CtrSource(2);;;;;;;;;;;;;;;;;;;;;;;;;;;;;1;1;;1;;;;;;;;;1;1;1;1;1;1;1;;1;1;;1;;;;;1;1;;1;;;;;1;1;;1;;;;;1;1;;1;;;;;
+NI_CtrSource(3);;;;;;;;;;;;;;;;;;;;;;;;;1;1;;1;;;;;;;;;;;;;1;1;1;1;1;1;1;;1;1;1;;;;;;1;1;1;;;;;;1;1;1;;;;;;1;1;1;;;;;;
+NI_CtrSource(4);;;;;;;;;;;;;;;;;;;;;;;;1;;;;;;;;;;;;;;;;;1;1;1;1;1;1;1;;;;;;;1;1;1;;;;;;1;1;1;;;;;;1;1;1;;;;;;1;1;1;
+NI_CtrSource(5);;;;;;;;;;;;;;;;;;;;1;;;;;;;;;;;;;1;1;;;1;1;;;1;1;1;1;1;1;1;;;;;;1;;1;1;;;;;1;;1;1;;;;;1;;1;1;;;;;1;;1;1;
+NI_CtrSource(6);;;;;;;;;;;;;;;;1;;;;;;;;;;;;;1;1;;;;;;;;;;;1;1;1;1;1;1;1;;;;;;1;1;;1;;;;;1;1;;1;;;;;1;1;;1;;;;;1;1;;1;
+NI_CtrSource(7);;;;;;;;;;;;1;;;;;;;;;;;;;1;1;;;;;;;;;;;;;;;1;1;1;1;1;1;1;;;;;;1;1;1;;;;;;1;1;1;;;;;;1;1;1;;;;;;1;1;1;;
+NI_CtrGate(0);;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1;1;1;;1;1;1;1;1;1;1;;;1;1;1;;;;;;1;1;1;;;;;1;1;1;1;;;;;;1;1;1;;;;;
+NI_CtrGate(1);;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1;1;1;;;;;;1;1;1;1;1;1;1;;1;;1;1;;;;;1;;1;1;;;;;1;1;1;1;;;;;1;;1;1;;;;;
+NI_CtrGate(2);;;;;;;;;;;;;;;;;;;;;;;;;;;;;1;1;1;;;;;;;;;;1;1;1;1;1;1;1;;1;1;;1;;;;;1;1;;1;;;;;1;1;1;1;;;;;1;1;;1;;;;;
+NI_CtrGate(3);;;;;;;;;;;;;;;;;;;;;;;;;1;1;1;;;;;;;;;;;;;;1;1;1;1;1;1;1;;1;1;1;;;;;;1;1;1;;;;;;1;1;1;1;;;;;1;1;1;;;;;;
+NI_CtrGate(4);;;;;;;;;;;;;;;;;;;;;;;1;;;;;;;;;;;;;;;;;;1;1;1;1;1;1;1;;;;;;;1;1;1;;;;;;1;1;1;;;;;1;1;1;1;;;;;;1;1;1;
+NI_CtrGate(5);;;;;;;;;;;;;;;;;;;1;;;;;;;;;;;;;;;;;;;;;;1;1;1;1;1;1;1;;;;;;1;;1;1;;;;;1;;1;1;;;;;1;1;1;1;;;;;1;;1;1;
+NI_CtrGate(6);;;;;;;;;;;;;;;1;;;;;;;;;;;;;;;;;;;;;;;;;;1;1;1;1;1;1;1;;;;;;1;1;;1;;;;;1;1;;1;;;;;1;1;1;1;;;;;1;1;;1;
+NI_CtrGate(7);;;;;;;;;;;1;;;;;;;;;;;;;;1;1;;;;;;;;;;;;;;;1;1;1;1;1;1;1;;;;;;1;1;1;;;;;;1;1;1;;;;;;1;1;1;1;;;;;1;1;1;;
+NI_CtrInternalOutput(0);;;;;;;;;1;1;;;1;1;;;1;1;;;1;1;;;1;1;;;1;1;;;1;1;;;1;1;;;1;1;1;1;1;1;1;;;1;1;1;;;;;;1;1;1;;;;;;1;1;1;;;;;;1;1;1;;;;;
+NI_CtrInternalOutput(1);;;;;;;;;1;1;;;1;1;;;1;1;;;1;1;;;1;1;;;1;1;;;1;1;;;1;1;;;1;1;1;1;1;1;1;;1;;1;1;;;;;1;;1;1;;;;;1;;1;1;;;;;1;;1;1;;;;;
+NI_CtrInternalOutput(2);;;;;;;;;1;1;;;1;1;;;1;1;;;1;1;;;1;1;;;1;1;;;1;1;;;1;1;;;1;1;1;1;1;1;1;;1;1;;1;;;;;1;1;;1;;;;;1;1;;1;;;;;1;1;;1;;;;;
+NI_CtrInternalOutput(3);;;;;;;;;1;1;;;1;1;;;1;1;;;1;1;;;1;1;;;1;1;;;1;1;;;1;1;;;1;1;1;1;1;1;1;;1;1;1;;;;;;1;1;1;;;;;;1;1;1;;;;;;1;1;1;;;;;;
+NI_CtrInternalOutput(4);;;;;;;;;1;1;;;1;1;;;1;1;;;1;1;;;1;1;;;1;1;;;1;1;;;1;1;;;1;1;1;1;1;1;1;;;;;;;1;1;1;;;;;;1;1;1;;;;;;1;1;1;;;;;;1;1;1;
+NI_CtrInternalOutput(5);;;;;;;;;1;1;;;1;1;;;1;1;;;1;1;;;1;1;;;1;1;;;1;1;;;1;1;;;1;1;1;1;1;1;1;;;;;;1;;1;1;;;;;1;;1;1;;;;;1;;1;1;;;;;1;;1;1;
+NI_CtrInternalOutput(6);;;;;;;;;1;1;;;1;1;;;1;1;;;1;1;;;1;1;;;1;1;;;1;1;;;1;1;;;1;1;1;1;1;1;1;;;;;;1;1;;1;;;;;1;1;;1;;;;;1;1;;1;;;;;1;1;;1;
+NI_CtrInternalOutput(7);;;;;;;;;1;1;;;1;1;;;1;1;;;1;1;;;1;1;;;1;1;;;1;1;;;1;1;;;1;1;1;1;1;1;1;;;;;;1;1;1;;;;;;1;1;1;;;;;;1;1;1;;;;;;1;1;1;;
+NI_100kHzTimebase;;;;1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1;1;1;1;1;1;1;1;;;;;;;;;;;;;;;;;;;;;;;;;
+NI_LogicLow;;;;;;;;;1;1;1;1;1;1;1;1;1;1;1;;1;1;;1;1;1;;;1;1;;;1;1;;;1;1;;;1;1;1;1;1;1;1;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;
+NI_LogicHigh;;;;;;;;;1;1;;;1;1;;;1;1;;;1;1;;;1;1;;;1;1;;;1;1;;;1;1;;;1;1;1;1;1;1;1;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;
diff --git a/drivers/staging/comedi/drivers/ni_routing/ni_device_routes/PCI-6713.csv b/drivers/staging/comedi/drivers/ni_routing/ni_device_routes/PCI-6713.csv
new file mode 100644
index 0000000..2b947ab
--- /dev/null
+++ b/drivers/staging/comedi/drivers/ni_routing/ni_device_routes/PCI-6713.csv
@@ -0,0 +1,32 @@
+Sources / Destinations;NI_PFI(0);NI_PFI(1);NI_PFI(2);NI_PFI(3);NI_PFI(4);NI_PFI(5);NI_PFI(6);NI_PFI(7);NI_PFI(8);NI_PFI(9);TRIGGER_LINE(0);TRIGGER_LINE(1);TRIGGER_LINE(2);TRIGGER_LINE(3);TRIGGER_LINE(4);TRIGGER_LINE(5);TRIGGER_LINE(6);TRIGGER_LINE(7);NI_AO_SampleClock;NI_AO_StartTrigger;NI_AO_PauseTrigger;NI_AO_SampleClockTimebase;NI_CtrOut(0);NI_CtrGate(0);NI_CtrSource(0);NI_CtrOut(1);NI_CtrGate(1);NI_CtrSource(1);NI_MasterTimebase
+NI_PFI(0);;;;;;;;;;;;;;;;;;;1;1;1;1;;1;1;;1;1;
+NI_PFI(1);;;;;;;;;;;;;;;;;;;1;1;1;1;;1;1;;1;1;
+NI_PFI(2);;;;;;;;;;;;;;;;;;;1;1;1;1;;1;1;;1;1;
+NI_PFI(3);;;;;;;;;;;;;;;;;;;1;1;1;1;;1;1;;1;1;
+NI_PFI(4);;;;;;;;;;;;;;;;;;;1;1;1;1;;1;1;;1;1;
+NI_PFI(5);;;;;;;;;;;;;;;;;;;1;1;1;1;;1;1;;1;1;
+NI_PFI(6);;;;;;;;;;;;;;;;;;;1;1;1;1;;1;1;;1;1;
+NI_PFI(7);;;;;;;;;;;;;;;;;;;1;1;1;1;;1;1;;1;1;
+NI_PFI(8);;;;;;;;;;;;;;;;;;;1;1;1;1;;1;1;;1;1;
+NI_PFI(9);;;;;;;;;;;;;;;;;;;1;1;1;1;;1;1;;1;1;
+TRIGGER_LINE(0);;;;;;;;;;;;;;;;;;;1;1;1;1;1;1;1;;1;1;
+TRIGGER_LINE(1);;;;;;;;;;;;;;;;;;;1;1;1;1;1;1;1;;1;1;
+TRIGGER_LINE(2);;;;;;;;;;;;;;;;;;;1;1;1;1;1;1;1;;1;1;
+TRIGGER_LINE(3);;;;;;;;;;;;;;;;;;;1;1;1;1;1;1;1;;1;1;
+TRIGGER_LINE(4);;;;;;;;;;;;;;;;;;;1;1;1;1;1;1;1;;1;1;
+TRIGGER_LINE(5);;;;;;;;;;;;;;;;;;;1;1;1;1;1;1;1;;1;1;
+TRIGGER_LINE(6);;;;;;;;;;;;;;;;;;;1;1;1;1;1;1;1;;1;1;
+TRIGGER_LINE(7);;;;;;;;;;;;;;;;;;;;;;1;;;1;;;1;1
+NI_AO_SampleClock;;;;;;1;;;;;1;1;1;1;1;1;1;;;;;;;;;;;;
+NI_AO_StartTrigger;;;;;;;1;;;;1;1;1;1;1;1;1;;;;;;;;;;;;
+NI_20MHzTimebase;;;;;;;;;;;;;;;;;;1;;;;1;;;1;;;1;1
+NI_AO_SampleClockTimebase;;;;;;;;;;;;;;;;;;;1;;;;;;;;;;
+NI_CtrOut(0);;;;;;;;;;;1;1;1;1;1;1;1;;;;;;;;;;;;
+NI_CtrGate(0);;;;;;;;;;1;1;1;1;1;1;1;1;;;;;;;;;;;;
+NI_CtrSource(0);;;;;;;;;1;;1;1;1;1;1;1;1;;;;;;;;;;;;
+NI_CtrInternalOutput(0);;;;;;;;;;;1;1;1;1;1;1;1;;;;;;1;;;;1;;
+NI_CtrGate(1);;;;;1;;;;;;;;;;;;;;;;;;;;;;;;
+NI_CtrSource(1);;;;1;;;;;;;;;;;;;;;;;;;;;;;;;
+NI_CtrInternalOutput(1);;;;;;;;;;;;;;;;;;;1;;;;;1;;1;;;
+NI_MasterTimebase;;;;;;;;;;;;;;;;;;;;;;1;;;1;;;1;
+NI_100kHzTimebase;;;;;;;;;;;;;;;;;;;;;;1;;;1;;;1;
diff --git a/drivers/staging/comedi/drivers/ni_routing/ni_device_routes/PCI-6723.csv b/drivers/staging/comedi/drivers/ni_routing/ni_device_routes/PCI-6723.csv
new file mode 100644
index 0000000..2b947ab
--- /dev/null
+++ b/drivers/staging/comedi/drivers/ni_routing/ni_device_routes/PCI-6723.csv
@@ -0,0 +1,32 @@
+Sources / Destinations;NI_PFI(0);NI_PFI(1);NI_PFI(2);NI_PFI(3);NI_PFI(4);NI_PFI(5);NI_PFI(6);NI_PFI(7);NI_PFI(8);NI_PFI(9);TRIGGER_LINE(0);TRIGGER_LINE(1);TRIGGER_LINE(2);TRIGGER_LINE(3);TRIGGER_LINE(4);TRIGGER_LINE(5);TRIGGER_LINE(6);TRIGGER_LINE(7);NI_AO_SampleClock;NI_AO_StartTrigger;NI_AO_PauseTrigger;NI_AO_SampleClockTimebase;NI_CtrOut(0);NI_CtrGate(0);NI_CtrSource(0);NI_CtrOut(1);NI_CtrGate(1);NI_CtrSource(1);NI_MasterTimebase
+NI_PFI(0);;;;;;;;;;;;;;;;;;;1;1;1;1;;1;1;;1;1;
+NI_PFI(1);;;;;;;;;;;;;;;;;;;1;1;1;1;;1;1;;1;1;
+NI_PFI(2);;;;;;;;;;;;;;;;;;;1;1;1;1;;1;1;;1;1;
+NI_PFI(3);;;;;;;;;;;;;;;;;;;1;1;1;1;;1;1;;1;1;
+NI_PFI(4);;;;;;;;;;;;;;;;;;;1;1;1;1;;1;1;;1;1;
+NI_PFI(5);;;;;;;;;;;;;;;;;;;1;1;1;1;;1;1;;1;1;
+NI_PFI(6);;;;;;;;;;;;;;;;;;;1;1;1;1;;1;1;;1;1;
+NI_PFI(7);;;;;;;;;;;;;;;;;;;1;1;1;1;;1;1;;1;1;
+NI_PFI(8);;;;;;;;;;;;;;;;;;;1;1;1;1;;1;1;;1;1;
+NI_PFI(9);;;;;;;;;;;;;;;;;;;1;1;1;1;;1;1;;1;1;
+TRIGGER_LINE(0);;;;;;;;;;;;;;;;;;;1;1;1;1;1;1;1;;1;1;
+TRIGGER_LINE(1);;;;;;;;;;;;;;;;;;;1;1;1;1;1;1;1;;1;1;
+TRIGGER_LINE(2);;;;;;;;;;;;;;;;;;;1;1;1;1;1;1;1;;1;1;
+TRIGGER_LINE(3);;;;;;;;;;;;;;;;;;;1;1;1;1;1;1;1;;1;1;
+TRIGGER_LINE(4);;;;;;;;;;;;;;;;;;;1;1;1;1;1;1;1;;1;1;
+TRIGGER_LINE(5);;;;;;;;;;;;;;;;;;;1;1;1;1;1;1;1;;1;1;
+TRIGGER_LINE(6);;;;;;;;;;;;;;;;;;;1;1;1;1;1;1;1;;1;1;
+TRIGGER_LINE(7);;;;;;;;;;;;;;;;;;;;;;1;;;1;;;1;1
+NI_AO_SampleClock;;;;;;1;;;;;1;1;1;1;1;1;1;;;;;;;;;;;;
+NI_AO_StartTrigger;;;;;;;1;;;;1;1;1;1;1;1;1;;;;;;;;;;;;
+NI_20MHzTimebase;;;;;;;;;;;;;;;;;;1;;;;1;;;1;;;1;1
+NI_AO_SampleClockTimebase;;;;;;;;;;;;;;;;;;;1;;;;;;;;;;
+NI_CtrOut(0);;;;;;;;;;;1;1;1;1;1;1;1;;;;;;;;;;;;
+NI_CtrGate(0);;;;;;;;;;1;1;1;1;1;1;1;1;;;;;;;;;;;;
+NI_CtrSource(0);;;;;;;;;1;;1;1;1;1;1;1;1;;;;;;;;;;;;
+NI_CtrInternalOutput(0);;;;;;;;;;;1;1;1;1;1;1;1;;;;;;1;;;;1;;
+NI_CtrGate(1);;;;;1;;;;;;;;;;;;;;;;;;;;;;;;
+NI_CtrSource(1);;;;1;;;;;;;;;;;;;;;;;;;;;;;;;
+NI_CtrInternalOutput(1);;;;;;;;;;;;;;;;;;;1;;;;;1;;1;;;
+NI_MasterTimebase;;;;;;;;;;;;;;;;;;;;;;1;;;1;;;1;
+NI_100kHzTimebase;;;;;;;;;;;;;;;;;;;;;;1;;;1;;;1;
diff --git a/drivers/staging/comedi/drivers/ni_routing/ni_device_routes/PCI-6733.csv b/drivers/staging/comedi/drivers/ni_routing/ni_device_routes/PCI-6733.csv
new file mode 100644
index 0000000..c67fa49
--- /dev/null
+++ b/drivers/staging/comedi/drivers/ni_routing/ni_device_routes/PCI-6733.csv
@@ -0,0 +1,34 @@
+Sources / Destinations;NI_PFI(0);NI_PFI(1);NI_PFI(2);NI_PFI(3);NI_PFI(4);NI_PFI(5);NI_PFI(6);NI_PFI(7);NI_PFI(8);NI_PFI(9);TRIGGER_LINE(0);TRIGGER_LINE(1);TRIGGER_LINE(2);TRIGGER_LINE(3);TRIGGER_LINE(4);TRIGGER_LINE(5);TRIGGER_LINE(6);TRIGGER_LINE(7);NI_AO_SampleClock;NI_AO_StartTrigger;NI_DI_SampleClock;NI_DO_SampleClock;NI_AO_PauseTrigger;NI_AO_SampleClockTimebase;NI_CtrOut(0);NI_CtrGate(0);NI_CtrSource(0);NI_CtrOut(1);NI_CtrGate(1);NI_CtrSource(1);NI_MasterTimebase
+NI_PFI(0);;;;;;;;;;;;;;;;;;;1;1;;;1;1;;1;1;;1;1;
+NI_PFI(1);;;;;;;;;;;;;;;;;;;1;1;;;1;1;;1;1;;1;1;
+NI_PFI(2);;;;;;;;;;;;;;;;;;;1;1;;;1;1;;1;1;;1;1;
+NI_PFI(3);;;;;;;;;;;;;;;;;;;1;1;;;1;1;;1;1;;1;1;
+NI_PFI(4);;;;;;;;;;;;;;;;;;;1;1;;;1;1;;1;1;;1;1;
+NI_PFI(5);;;;;;;;;;;;;;;;;;;1;1;;;1;1;;1;1;;1;1;
+NI_PFI(6);;;;;;;;;;;;;;;;;;;1;1;;;1;1;;1;1;;1;1;
+NI_PFI(7);;;;;;;;;;;;;;;;;;;1;1;;;1;1;;1;1;;1;1;
+NI_PFI(8);;;;;;;;;;;;;;;;;;;1;1;;;1;1;;1;1;;1;1;
+NI_PFI(9);;;;;;;;;;;;;;;;;;;1;1;;;1;1;;1;1;;1;1;
+TRIGGER_LINE(0);;;;;;;;;;;;;;;;;;;1;1;1;1;1;1;1;1;1;;1;1;
+TRIGGER_LINE(1);;;;;;;;;;;;;;;;;;;1;1;1;1;1;1;1;1;1;;1;1;
+TRIGGER_LINE(2);;;;;;;;;;;;;;;;;;;1;1;1;1;1;1;1;1;1;;1;1;
+TRIGGER_LINE(3);;;;;;;;;;;;;;;;;;;1;1;1;1;1;1;1;1;1;;1;1;
+TRIGGER_LINE(4);;;;;;;;;;;;;;;;;;;1;1;1;1;1;1;1;1;1;;1;1;
+TRIGGER_LINE(5);;;;;;;;;;;;;;;;;;;1;1;1;1;1;1;1;1;1;;1;1;
+TRIGGER_LINE(6);;;;;;;;;;;;;;;;;;;1;1;1;1;1;1;1;1;1;;1;1;
+TRIGGER_LINE(7);;;;;;;;;;;;;;;;;;;;;;;;1;;;1;;;1;1
+NI_AO_SampleClock;;;;;;1;;;;;1;1;1;1;1;1;1;;;;1;1;;;;;;;;;
+NI_AO_StartTrigger;;;;;;;1;;;;1;1;1;1;1;1;1;;;;;;;;;;;;;;
+NI_DI_SampleClock;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+NI_DO_SampleClock;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+NI_20MHzTimebase;;;;;;;;;;;;;;;;;;1;;;;;;1;;;1;;;1;1
+NI_AO_SampleClockTimebase;;;;;;;;;;;;;;;;;;;1;;;;;;;;;;;;
+NI_CtrOut(0);;;;;;;;;;;1;1;1;1;1;1;1;;;;;;;;;;;;;;
+NI_CtrGate(0);;;;;;;;;;1;1;1;1;1;1;1;1;;;;;;;;;;;;;;
+NI_CtrSource(0);;;;;;;;;1;;1;1;1;1;1;1;1;;;;;;;;;;;;;;
+NI_CtrInternalOutput(0);;;;;;;;;;;1;1;1;1;1;1;1;;;;;;;;1;;;;1;;
+NI_CtrGate(1);;;;;1;;;;;;;;;;;;;;;;;;;;;;;;;;
+NI_CtrSource(1);;;;1;;;;;;;;;;;;;;;;;;;;;;;;;;;
+NI_CtrInternalOutput(1);;;;;;;;;;;;;;;;;;;1;;;;;;;1;;1;;;
+NI_MasterTimebase;;;;;;;;;;;;;;;;;;;;;;;;1;;;1;;;1;
+NI_100kHzTimebase;;;;;;;;;;;;;;;;;;;;;;;;1;;;1;;;1;
diff --git a/drivers/staging/comedi/drivers/ni_routing/ni_device_routes/PXI-6030E.csv b/drivers/staging/comedi/drivers/ni_routing/ni_device_routes/PXI-6030E.csv
new file mode 100644
index 0000000..7fb77ee
--- /dev/null
+++ b/drivers/staging/comedi/drivers/ni_routing/ni_device_routes/PXI-6030E.csv
@@ -0,0 +1,39 @@
+Sources / Destinations;NI_PFI(0);NI_PFI(1);NI_PFI(2);NI_PFI(3);NI_PFI(4);NI_PFI(5);NI_PFI(6);NI_PFI(7);NI_PFI(8);NI_PFI(9);TRIGGER_LINE(0);TRIGGER_LINE(1);TRIGGER_LINE(2);TRIGGER_LINE(3);TRIGGER_LINE(4);TRIGGER_LINE(5);TRIGGER_LINE(7);NI_AI_SampleClock;NI_AI_StartTrigger;NI_AI_ReferenceTrigger;NI_AO_SampleClock;NI_AO_StartTrigger;NI_AI_ConvertClock;NI_AI_ConvertClockTimebase;NI_AI_PauseTrigger;NI_AI_SampleClockTimebase;NI_AO_PauseTrigger;NI_AO_SampleClockTimebase;NI_CtrOut(0);NI_CtrGate(0);NI_CtrSource(0);NI_CtrOut(1);NI_CtrGate(1);NI_CtrSource(1);NI_MasterTimebase;NI_AIHoldComplete
+NI_PFI(0);;;;;;;;;;;;;;;;;;1;1;1;1;1;1;;1;1;1;1;;1;1;;1;1;;
+NI_PFI(1);;;;;;;;;;;;;;;;;;1;1;1;1;1;1;;1;1;1;1;;1;1;;1;1;;
+NI_PFI(2);;;;;;;;;;;;;;;;;;1;1;1;1;1;1;;1;1;1;1;;1;1;;1;1;;
+NI_PFI(3);;;;;;;;;;;;;;;;;;1;1;1;1;1;1;;1;1;1;1;;1;1;;1;1;;
+NI_PFI(4);;;;;;;;;;;;;;;;;;1;1;1;1;1;1;;1;1;1;1;;1;1;;1;1;;
+NI_PFI(5);;;;;;;;;;;;;;;;;;1;1;1;1;1;1;;1;1;1;1;;1;1;;1;1;;
+NI_PFI(6);;;;;;;;;;;;;;;;;;1;1;1;1;1;1;;1;1;1;1;;1;1;;1;1;;
+NI_PFI(7);;;;;;;;;;;;;;;;;;1;1;1;1;1;1;;1;1;1;1;;1;1;;1;1;;
+NI_PFI(8);;;;;;;;;;;;;;;;;;1;1;1;1;1;1;;1;1;1;1;;1;1;;1;1;;
+NI_PFI(9);;;;;;;;;;;;;;;;;;1;1;1;1;1;1;;1;1;1;1;;1;1;;1;1;;
+TRIGGER_LINE(0);;;;;;;;;;;;;;;;;;1;1;1;1;1;1;;1;1;1;1;1;1;1;;1;1;;
+TRIGGER_LINE(1);;;;;;;;;;;;;;;;;;1;1;1;1;1;1;;1;1;1;1;1;1;1;;1;1;;
+TRIGGER_LINE(2);;;;;;;;;;;;;;;;;;1;1;1;1;1;1;;1;1;1;1;1;1;1;;1;1;;
+TRIGGER_LINE(3);;;;;;;;;;;;;;;;;;1;1;1;1;1;1;;1;1;1;1;1;1;1;;1;1;;
+TRIGGER_LINE(4);;;;;;;;;;;;;;;;;;1;1;1;1;1;1;;1;1;1;1;1;1;1;;1;1;;
+TRIGGER_LINE(5);;;;;;;;;;;;;;;;;;1;1;1;1;1;1;;1;1;1;1;1;1;1;;1;1;;
+TRIGGER_LINE(7);;;;;;;;;;;;;;;;;;;;;;;;1;;1;;1;;;1;;;1;1;
+NI_AI_SampleClock;;;;;;;;1;;;1;1;1;1;1;1;;;;;;;;;;;;;;;;;;;;
+NI_AI_StartTrigger;1;;;;;;;;;;1;1;1;1;1;1;;;;;;1;;;;;;;;1;;;1;;;
+NI_AI_ReferenceTrigger;;1;;;;;;;;;1;1;1;1;1;1;;;;;;;;;;;;;;1;;;1;;;
+NI_AO_SampleClock;;;;;;1;;;;;1;1;1;1;1;1;;;;;;;;;;;;;;;;;;;;
+NI_AO_StartTrigger;;;;;;;1;;;;1;1;1;1;1;1;;;;;;;;;;;;;;;;;;;;
+NI_20MHzTimebase;;;;;;;;;;;;;;;;;1;;;;;;;1;;1;;1;;;1;;;1;1;
+NI_AI_ConvertClock;;;1;;;;;;;;1;1;1;1;1;1;;;;;;;;;;;;;;;;;;;;
+NI_AI_ConvertClockTimebase;;;;;;;;;;;;;;;;;;;;;;;1;;;;;;;;;;;;;
+NI_AIHoldCompleteEvent;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1
+NI_AI_SampleClockTimebase;;;;;;;;;;;;;;;;;;1;;;;;;1;;;;;;;;;;;;
+NI_AnalogComparisonEvent;;;;;;;;;;;;;;;;;;1;1;1;1;1;1;;1;1;1;1;;1;1;;1;1;;
+NI_AO_SampleClockTimebase;;;;;;;;;;;;;;;;;;;;;1;;;;;;;;;;;;;;;
+NI_CtrOut(0);;;;;;;;;;;1;1;1;1;1;1;;;;;;;;;;;;;;;;;;;;
+NI_CtrGate(0);;;;;;;;;;1;1;1;1;1;1;1;;;;;;;;;;;;;;;;;;;;
+NI_CtrSource(0);;;;;;;;;1;;1;1;1;1;1;1;;;;;;;;;;;;;;;;;;;;
+NI_CtrInternalOutput(0);;;;;;;;;;;1;1;1;1;1;1;;1;1;;;;1;;;;;;1;;;;1;;;
+NI_CtrGate(1);;;;;1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+NI_CtrSource(1);;;;1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+NI_CtrInternalOutput(1);;;;;;;;;;;;;;;;;;;;;1;;;;;;;;;1;;1;;;;
+NI_MasterTimebase;;;;;;;;;;;;;;;;;;;;;;;;1;;1;;1;;;1;;;1;;
+NI_100kHzTimebase;;;;;;;;;;;;;;;;;;;;;;;;;;1;;1;;;1;;;1;;
diff --git a/drivers/staging/comedi/drivers/ni_routing/ni_device_routes/PXI-6224.csv b/drivers/staging/comedi/drivers/ni_routing/ni_device_routes/PXI-6224.csv
new file mode 100644
index 0000000..84f581e
--- /dev/null
+++ b/drivers/staging/comedi/drivers/ni_routing/ni_device_routes/PXI-6224.csv
@@ -0,0 +1,46 @@
+Sources / Destinations;NI_PFI(0);NI_PFI(1);NI_PFI(2);NI_PFI(3);NI_PFI(4);NI_PFI(5);NI_PFI(6);NI_PFI(7);NI_PFI(8);NI_PFI(9);NI_PFI(10);NI_PFI(11);NI_PFI(12);NI_PFI(13);NI_PFI(14);NI_PFI(15);TRIGGER_LINE(0);TRIGGER_LINE(1);TRIGGER_LINE(2);TRIGGER_LINE(3);TRIGGER_LINE(4);TRIGGER_LINE(5);TRIGGER_LINE(6);TRIGGER_LINE(7);NI_AI_SampleClock;NI_AI_StartTrigger;NI_AI_ReferenceTrigger;NI_DI_SampleClock;NI_DO_SampleClock;NI_AI_ConvertClock;NI_AI_ConvertClockTimebase;NI_AI_PauseTrigger;NI_AI_SampleClockTimebase;NI_CtrSource(0);NI_CtrSource(1);NI_CtrGate(0);NI_CtrGate(1);NI_CtrAux(0);NI_CtrAux(1);NI_CtrArmStartTrigger(0);NI_CtrArmStartTrigger(1);NI_CtrA(0);NI_CtrA(1);NI_CtrB(0);NI_CtrB(1);NI_CtrZ(0);NI_CtrZ(1)
+NI_PFI(0);;;;;;;;;;;;;;;;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1
+NI_PFI(1);;;;;;;;;;;;;;;;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1
+NI_PFI(2);;;;;;;;;;;;;;;;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1
+NI_PFI(3);;;;;;;;;;;;;;;;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1
+NI_PFI(4);;;;;;;;;;;;;;;;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1
+NI_PFI(5);;;;;;;;;;;;;;;;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1
+NI_PFI(6);;;;;;;;;;;;;;;;;;;;;;;;;1;1;1;1;1;1;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1
+NI_PFI(7);;;;;;;;;;;;;;;;;;;;;;;;;1;1;1;1;1;1;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1
+NI_PFI(8);;;;;;;;;;;;;;;;;;;;;;;;;1;1;1;1;1;1;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1
+NI_PFI(9);;;;;;;;;;;;;;;;;;;;;;;;;1;1;1;1;1;1;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1
+NI_PFI(10);;;;;;;;;;;;;;;;;;;;;;;;;1;1;1;1;1;1;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1
+NI_PFI(11);;;;;;;;;;;;;;;;;;;;;;;;;1;1;1;1;1;1;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1
+NI_PFI(12);;;;;;;;;;;;;;;;;;;;;;;;;1;1;1;1;1;1;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1
+NI_PFI(13);;;;;;;;;;;;;;;;;;;;;;;;;1;1;1;1;1;1;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1
+NI_PFI(14);;;;;;;;;;;;;;;;;;;;;;;;;1;1;1;1;1;1;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1
+NI_PFI(15);;;;;;;;;;;;;;;;;;;;;;;;;1;1;1;1;1;1;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1
+TRIGGER_LINE(0);1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;;;;;;;;;1;1;1;1;1;1;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1
+TRIGGER_LINE(1);1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;;;;;;;;;1;1;1;1;1;1;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1
+TRIGGER_LINE(2);1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;;;;;;;;;1;1;1;1;1;1;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1
+TRIGGER_LINE(3);1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;;;;;;;;;1;1;1;1;1;1;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1
+TRIGGER_LINE(4);1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;;;;;;;;;1;1;1;1;1;1;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1
+TRIGGER_LINE(5);1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;;;;;;;;;1;1;1;1;1;1;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1
+TRIGGER_LINE(6);1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;;;;;;;;;1;1;1;1;1;1;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1
+TRIGGER_LINE(7);1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;;;;;;;;;1;1;1;1;1;1;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1
+NI_AI_SampleClock;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;;;;1;1;;;;;;;;;;;;;;;;;;
+NI_AI_StartTrigger;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;;;;;;;;;;;;1;1;1;1;1;1;;;;;;
+NI_AI_ReferenceTrigger;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;;;;;;;;;;;;1;1;1;1;1;1;;;;;;
+NI_DI_SampleClock;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+NI_DO_SampleClock;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+NI_20MHzTimebase;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1;;1;1;1;;;;;;;;;;;;
+NI_80MHzTimebase;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1;1;;;;;;;;;;;;
+NI_10MHzRefClock;;;;;;;;;;;;;;;;;1;1;1;1;1;1;1;1;;;;;;;;;;;;;;;;;;;;;;;
+NI_AI_ConvertClock;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;;;;1;1;;;;;;;;;;;;;;;;;;
+NI_AI_ConvertClockTimebase;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1;;;;;;;;;;;;;;;;;
+NI_AI_SampleClockTimebase;;;;;;;;;;;;;;;;;;;;;;;;;1;;;;;;1;;;;;;;;;;;;;;;;
+NI_AnalogComparisonEvent;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1
+NI_CtrSource(0);1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;;;;;;;;;;;;;1;;1;;;;;;;;
+NI_CtrSource(1);1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;;;;;;;;;;;;1;;1;;;;;;;;;
+NI_CtrGate(0);1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;;;;;;;;;;;1;;;1;1;;;;;;;;
+NI_CtrInternalOutput(0);1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;;1;1;1;;;;;;;1;;1;;1;;;;;;
+NI_CtrInternalOutput(1);1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;;1;1;1;;;;;;1;;1;;1;;;;;;;
+NI_FrequencyOutput;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;;;;1;1;;;;;;;;;;;;;;;;;;
+NI_100kHzTimebase;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1;1;1;;;;;;;;;;;;
+PXI_Clk10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1;1;1;;;;;;;;;;;;
+NI_ChangeDetectionEvent;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;;;;1;1;;;;;;;;;;;;;;;;;;
diff --git a/drivers/staging/comedi/drivers/ni_routing/ni_device_routes/PXI-6225.csv b/drivers/staging/comedi/drivers/ni_routing/ni_device_routes/PXI-6225.csv
new file mode 100644
index 0000000..708fb39
--- /dev/null
+++ b/drivers/staging/comedi/drivers/ni_routing/ni_device_routes/PXI-6225.csv
@@ -0,0 +1,49 @@
+Sources / Destinations;NI_PFI(0);NI_PFI(1);NI_PFI(2);NI_PFI(3);NI_PFI(4);NI_PFI(5);NI_PFI(6);NI_PFI(7);NI_PFI(8);NI_PFI(9);NI_PFI(10);NI_PFI(11);NI_PFI(12);NI_PFI(13);NI_PFI(14);NI_PFI(15);TRIGGER_LINE(0);TRIGGER_LINE(1);TRIGGER_LINE(2);TRIGGER_LINE(3);TRIGGER_LINE(4);TRIGGER_LINE(5);TRIGGER_LINE(6);TRIGGER_LINE(7);NI_AI_SampleClock;NI_AI_StartTrigger;NI_AI_ReferenceTrigger;NI_AO_SampleClock;NI_AO_StartTrigger;NI_DI_SampleClock;NI_DO_SampleClock;NI_AI_ConvertClock;NI_AI_ConvertClockTimebase;NI_AI_PauseTrigger;NI_AI_SampleClockTimebase;NI_AO_PauseTrigger;NI_AO_SampleClockTimebase;NI_CtrSource(0);NI_CtrSource(1);NI_CtrGate(0);NI_CtrGate(1);NI_CtrAux(0);NI_CtrAux(1);NI_CtrArmStartTrigger(0);NI_CtrArmStartTrigger(1);NI_CtrA(0);NI_CtrA(1);NI_CtrB(0);NI_CtrB(1);NI_CtrZ(0);NI_CtrZ(1)
+NI_PFI(0);;;;;;;;;;;;;;;;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1
+NI_PFI(1);;;;;;;;;;;;;;;;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1
+NI_PFI(2);;;;;;;;;;;;;;;;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1
+NI_PFI(3);;;;;;;;;;;;;;;;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1
+NI_PFI(4);;;;;;;;;;;;;;;;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1
+NI_PFI(5);;;;;;;;;;;;;;;;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1
+NI_PFI(6);;;;;;;;;;;;;;;;;;;;;;;;;1;1;1;1;1;1;1;1;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1
+NI_PFI(7);;;;;;;;;;;;;;;;;;;;;;;;;1;1;1;1;1;1;1;1;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1
+NI_PFI(8);;;;;;;;;;;;;;;;;;;;;;;;;1;1;1;1;1;1;1;1;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1
+NI_PFI(9);;;;;;;;;;;;;;;;;;;;;;;;;1;1;1;1;1;1;1;1;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1
+NI_PFI(10);;;;;;;;;;;;;;;;;;;;;;;;;1;1;1;1;1;1;1;1;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1
+NI_PFI(11);;;;;;;;;;;;;;;;;;;;;;;;;1;1;1;1;1;1;1;1;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1
+NI_PFI(12);;;;;;;;;;;;;;;;;;;;;;;;;1;1;1;1;1;1;1;1;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1
+NI_PFI(13);;;;;;;;;;;;;;;;;;;;;;;;;1;1;1;1;1;1;1;1;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1
+NI_PFI(14);;;;;;;;;;;;;;;;;;;;;;;;;1;1;1;1;1;1;1;1;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1
+NI_PFI(15);;;;;;;;;;;;;;;;;;;;;;;;;1;1;1;1;1;1;1;1;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1
+TRIGGER_LINE(0);1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;;;;;;;;;1;1;1;1;1;1;1;1;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1
+TRIGGER_LINE(1);1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;;;;;;;;;1;1;1;1;1;1;1;1;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1
+TRIGGER_LINE(2);1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;;;;;;;;;1;1;1;1;1;1;1;1;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1
+TRIGGER_LINE(3);1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;;;;;;;;;1;1;1;1;1;1;1;1;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1
+TRIGGER_LINE(4);1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;;;;;;;;;1;1;1;1;1;1;1;1;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1
+TRIGGER_LINE(5);1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;;;;;;;;;1;1;1;1;1;1;1;1;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1
+TRIGGER_LINE(6);1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;;;;;;;;;1;1;1;1;1;1;1;1;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1
+TRIGGER_LINE(7);1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;;;;;;;;;1;1;1;1;1;1;1;1;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1
+NI_AI_SampleClock;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;;;;;;1;1;;;;;;;;;;;;;;;;;;;;
+NI_AI_StartTrigger;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;;;;;1;;;;;;;;;;;1;1;1;1;1;1;;;;;;
+NI_AI_ReferenceTrigger;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;;;;;;;;;;;;;;;;1;1;1;1;1;1;;;;;;
+NI_AO_SampleClock;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;;;;;;1;1;;;;;;;;;;;;;;;;;;;;
+NI_AO_StartTrigger;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;;;;;;;;;;;;;;;;;;;;;;;;;;;
+NI_DI_SampleClock;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+NI_DO_SampleClock;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+NI_20MHzTimebase;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1;;1;;1;1;1;;;;;;;;;;;;
+NI_80MHzTimebase;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1;1;;;;;;;;;;;;
+NI_10MHzRefClock;;;;;;;;;;;;;;;;;1;1;1;1;1;1;1;1;;;;;;;;;;;;;;;;;;;;;;;;;;;
+NI_AI_ConvertClock;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;;;;;;1;1;;;;;;;;;;;;;;;;;;;;
+NI_AI_ConvertClockTimebase;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1;;;;;;;;;;;;;;;;;;;
+NI_AI_SampleClockTimebase;;;;;;;;;;;;;;;;;;;;;;;;;1;;;;;;;;1;;;;;;;;;;;;;;;;;;
+NI_AnalogComparisonEvent;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1
+NI_AO_SampleClockTimebase;;;;;;;;;;;;;;;;;;;;;;;;;;;;1;;;;;;;;;;;;;;;;;;;;;;;
+NI_CtrSource(0);1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;;;;;;;;;;;;;;;;;1;;1;;;;;;;;
+NI_CtrSource(1);1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;;;;;;;;;;;;;;;;1;;1;;;;;;;;;
+NI_CtrGate(0);1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;;;;;;;;;;;;;;;1;;;1;1;;;;;;;;
+NI_CtrInternalOutput(0);1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;;1;;1;1;1;;;;;;;;;1;;1;;1;;;;;;
+NI_CtrInternalOutput(1);1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;;1;;1;1;1;;;;;;;;1;;1;;1;;;;;;;
+NI_FrequencyOutput;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;;;;;;1;1;;;;;;;;;;;;;;;;;;;;
+NI_100kHzTimebase;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1;;1;1;1;;;;;;;;;;;;
+PXI_Clk10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1;;1;1;1;;;;;;;;;;;;
+NI_ChangeDetectionEvent;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;;;;;;1;1;;;;;;;;;;;;;;;;;;;;
diff --git a/drivers/staging/comedi/drivers/ni_routing/ni_device_routes/PXI-6251.csv b/drivers/staging/comedi/drivers/ni_routing/ni_device_routes/PXI-6251.csv
new file mode 100644
index 0000000..2be9874
--- /dev/null
+++ b/drivers/staging/comedi/drivers/ni_routing/ni_device_routes/PXI-6251.csv
@@ -0,0 +1,50 @@
+Sources / Destinations;NI_PFI(0);NI_PFI(1);NI_PFI(2);NI_PFI(3);NI_PFI(4);NI_PFI(5);NI_PFI(6);NI_PFI(7);NI_PFI(8);NI_PFI(9);NI_PFI(10);NI_PFI(11);NI_PFI(12);NI_PFI(13);NI_PFI(14);NI_PFI(15);TRIGGER_LINE(0);TRIGGER_LINE(1);TRIGGER_LINE(2);TRIGGER_LINE(3);TRIGGER_LINE(4);TRIGGER_LINE(5);TRIGGER_LINE(6);TRIGGER_LINE(7);NI_AI_SampleClock;NI_AI_StartTrigger;NI_AI_ReferenceTrigger;NI_AO_SampleClock;NI_AO_StartTrigger;NI_DI_SampleClock;NI_DO_SampleClock;NI_AI_ConvertClock;NI_AI_ConvertClockTimebase;NI_AI_PauseTrigger;NI_AI_SampleClockTimebase;NI_AO_PauseTrigger;NI_AO_SampleClockTimebase;NI_CtrSource(0);NI_CtrSource(1);NI_CtrGate(0);NI_CtrGate(1);NI_CtrAux(0);NI_CtrAux(1);NI_CtrArmStartTrigger(0);NI_CtrArmStartTrigger(1);NI_CtrA(0);NI_CtrA(1);NI_CtrB(0);NI_CtrB(1);NI_CtrZ(0);NI_CtrZ(1)
+NI_PFI(0);;;;;;;;;;;;;;;;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1
+NI_PFI(1);;;;;;;;;;;;;;;;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1
+NI_PFI(2);;;;;;;;;;;;;;;;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1
+NI_PFI(3);;;;;;;;;;;;;;;;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1
+NI_PFI(4);;;;;;;;;;;;;;;;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1
+NI_PFI(5);;;;;;;;;;;;;;;;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1
+NI_PFI(6);;;;;;;;;;;;;;;;;;;;;;;;;1;1;1;1;1;1;1;1;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1
+NI_PFI(7);;;;;;;;;;;;;;;;;;;;;;;;;1;1;1;1;1;1;1;1;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1
+NI_PFI(8);;;;;;;;;;;;;;;;;;;;;;;;;1;1;1;1;1;1;1;1;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1
+NI_PFI(9);;;;;;;;;;;;;;;;;;;;;;;;;1;1;1;1;1;1;1;1;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1
+NI_PFI(10);;;;;;;;;;;;;;;;;;;;;;;;;1;1;1;1;1;1;1;1;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1
+NI_PFI(11);;;;;;;;;;;;;;;;;;;;;;;;;1;1;1;1;1;1;1;1;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1
+NI_PFI(12);;;;;;;;;;;;;;;;;;;;;;;;;1;1;1;1;1;1;1;1;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1
+NI_PFI(13);;;;;;;;;;;;;;;;;;;;;;;;;1;1;1;1;1;1;1;1;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1
+NI_PFI(14);;;;;;;;;;;;;;;;;;;;;;;;;1;1;1;1;1;1;1;1;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1
+NI_PFI(15);;;;;;;;;;;;;;;;;;;;;;;;;1;1;1;1;1;1;1;1;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1
+TRIGGER_LINE(0);1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;;;;;;;;;1;1;1;1;1;1;1;1;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1
+TRIGGER_LINE(1);1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;;;;;;;;;1;1;1;1;1;1;1;1;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1
+TRIGGER_LINE(2);1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;;;;;;;;;1;1;1;1;1;1;1;1;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1
+TRIGGER_LINE(3);1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;;;;;;;;;1;1;1;1;1;1;1;1;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1
+TRIGGER_LINE(4);1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;;;;;;;;;1;1;1;1;1;1;1;1;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1
+TRIGGER_LINE(5);1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;;;;;;;;;1;1;1;1;1;1;1;1;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1
+TRIGGER_LINE(6);1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;;;;;;;;;1;1;1;1;1;1;1;1;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1
+TRIGGER_LINE(7);1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;;;;;;;;;1;1;1;1;1;1;1;1;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1
+PXI_Star;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;;;;;;;;;1;1;1;1;1;1;1;1;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1
+NI_AI_SampleClock;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;;;;;;1;1;;;;;;;;;;;;;;;;;;;;
+NI_AI_StartTrigger;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;;;;;1;;;;;;;;;;;1;1;1;1;1;1;;;;;;
+NI_AI_ReferenceTrigger;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;;;;;;;;;;;;;;;;1;1;1;1;1;1;;;;;;
+NI_AO_SampleClock;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;;;;;;1;1;;;;;;;;;;;;;;;;;;;;
+NI_AO_StartTrigger;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;;;;;;;;;;;;;;;;;;;;;;;;;;;
+NI_DI_SampleClock;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+NI_DO_SampleClock;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+NI_20MHzTimebase;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1;;1;;1;1;1;;;;;;;;;;;;
+NI_80MHzTimebase;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1;1;;;;;;;;;;;;
+NI_10MHzRefClock;;;;;;;;;;;;;;;;;1;1;1;1;1;1;1;1;;;;;;;;;;;;;;;;;;;;;;;;;;;
+NI_AI_ConvertClock;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;;;;;;1;1;;;;;;;;;;;;;;;;;;;;
+NI_AI_ConvertClockTimebase;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1;;;;;;;;;;;;;;;;;;;
+NI_AI_SampleClockTimebase;;;;;;;;;;;;;;;;;;;;;;;;;1;;;;;;;;1;;;;;;;;;;;;;;;;;;
+NI_AnalogComparisonEvent;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1
+NI_AO_SampleClockTimebase;;;;;;;;;;;;;;;;;;;;;;;;;;;;1;;;;;;;;;;;;;;;;;;;;;;;
+NI_CtrSource(0);1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;;;;;;;;;;;;;;;;;1;;1;;;;;;;;
+NI_CtrSource(1);1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;;;;;;;;;;;;;;;;1;;1;;;;;;;;;
+NI_CtrGate(0);1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;;;;;;;;;;;;;;;1;;;1;1;;;;;;;;
+NI_CtrInternalOutput(0);1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;;1;;1;1;1;;;;;;;;;1;;1;;1;;;;;;
+NI_CtrInternalOutput(1);1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;;1;;1;1;1;;;;;;;;1;;1;;1;;;;;;;
+NI_FrequencyOutput;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;;;;;;1;1;;;;;;;;;;;;;;;;;;;;
+NI_100kHzTimebase;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1;;1;1;1;;;;;;;;;;;;
+PXI_Clk10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1;;1;1;1;;;;;;;;;;;;
+NI_ChangeDetectionEvent;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;;;;;;1;1;;;;;;;;;;;;;;;;;;;;
diff --git a/drivers/staging/comedi/drivers/ni_routing/ni_device_routes/PXI-6733.csv b/drivers/staging/comedi/drivers/ni_routing/ni_device_routes/PXI-6733.csv
new file mode 100644
index 0000000..55c1539
--- /dev/null
+++ b/drivers/staging/comedi/drivers/ni_routing/ni_device_routes/PXI-6733.csv
@@ -0,0 +1,35 @@
+Sources / Destinations;NI_PFI(0);NI_PFI(1);NI_PFI(2);NI_PFI(3);NI_PFI(4);NI_PFI(5);NI_PFI(6);NI_PFI(7);NI_PFI(8);NI_PFI(9);TRIGGER_LINE(0);TRIGGER_LINE(1);TRIGGER_LINE(2);TRIGGER_LINE(3);TRIGGER_LINE(4);TRIGGER_LINE(5);TRIGGER_LINE(6);TRIGGER_LINE(7);PXI_Star;NI_AO_SampleClock;NI_AO_StartTrigger;NI_DI_SampleClock;NI_DO_SampleClock;NI_AO_PauseTrigger;NI_AO_SampleClockTimebase;NI_CtrOut(0);NI_CtrGate(0);NI_CtrSource(0);NI_CtrOut(1);NI_CtrGate(1);NI_CtrSource(1);NI_MasterTimebase
+NI_PFI(0);;;;;;;;;;;;;;;;;;;;1;1;;;1;1;;1;1;;1;1;
+NI_PFI(1);;;;;;;;;;;;;;;;;;;;1;1;;;1;1;;1;1;;1;1;
+NI_PFI(2);;;;;;;;;;;;;;;;;;;;1;1;;;1;1;;1;1;;1;1;
+NI_PFI(3);;;;;;;;;;;;;;;;;;;;1;1;;;1;1;;1;1;;1;1;
+NI_PFI(4);;;;;;;;;;;;;;;;;;;;1;1;;;1;1;;1;1;;1;1;
+NI_PFI(5);;;;;;;;;;;;;;;;;;;;1;1;;;1;1;;1;1;;1;1;
+NI_PFI(6);;;;;;;;;;;;;;;;;;;;1;1;;;1;1;;1;1;;1;1;
+NI_PFI(7);;;;;;;;;;;;;;;;;;;;1;1;;;1;1;;1;1;;1;1;
+NI_PFI(8);;;;;;;;;;;;;;;;;;;;1;1;;;1;1;;1;1;;1;1;
+NI_PFI(9);;;;;;;;;;;;;;;;;;;;1;1;;;1;1;;1;1;;1;1;
+TRIGGER_LINE(0);;;;;;;;;;;;;;;;;;;;1;1;1;1;1;1;1;1;1;;1;1;
+TRIGGER_LINE(1);;;;;;;;;;;;;;;;;;;;1;1;1;1;1;1;1;1;1;;1;1;
+TRIGGER_LINE(2);;;;;;;;;;;;;;;;;;;;1;1;1;1;1;1;1;1;1;;1;1;
+TRIGGER_LINE(3);;;;;;;;;;;;;;;;;;;;1;1;1;1;1;1;1;1;1;;1;1;
+TRIGGER_LINE(4);;;;;;;;;;;;;;;;;;;;1;1;1;1;1;1;1;1;1;;1;1;
+TRIGGER_LINE(5);;;;;;;;;;;;;;;;;;;;1;1;1;1;1;1;1;1;1;;1;1;
+TRIGGER_LINE(6);;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+TRIGGER_LINE(7);;;;;;;;;;;;;;;;;;;;;;;;;1;;;1;;;1;1
+PXI_Star;;;;;;;;;;;;;;;;;;;;1;1;1;1;1;1;1;1;1;;1;1;
+NI_AO_SampleClock;;;;;;1;;;;;1;1;1;1;1;1;;;1;;;1;1;;;;;;;;;
+NI_AO_StartTrigger;;;;;;;1;;;;1;1;1;1;1;1;;;1;;;;;;;;;;;;;
+NI_DI_SampleClock;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+NI_DO_SampleClock;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+NI_20MHzTimebase;;;;;;;;;;;;;;;;;;1;;;;;;;1;;;1;;;1;1
+NI_AO_SampleClockTimebase;;;;;;;;;;;;;;;;;;;;1;;;;;;;;;;;;
+NI_CtrOut(0);;;;;;;;;;;1;1;1;1;1;1;;;1;;;;;;;;;;;;;
+NI_CtrGate(0);;;;;;;;;;1;1;1;1;1;1;1;;;1;;;;;;;;;;;;;
+NI_CtrSource(0);;;;;;;;;1;;1;1;1;1;1;1;;;1;;;;;;;;;;;;;
+NI_CtrInternalOutput(0);;;;;;;;;;;1;1;1;1;1;1;;;1;;;;;;;1;;;;1;;
+NI_CtrGate(1);;;;;1;;;;;;;;;;;;;;;;;;;;;;;;;;;
+NI_CtrSource(1);;;;1;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+NI_CtrInternalOutput(1);;;;;;;;;;;;;;;;;;;;1;;;;;;;1;;1;;;
+NI_MasterTimebase;;;;;;;;;;;;;;;;;;;;;;;;;1;;;1;;;1;
+NI_100kHzTimebase;;;;;;;;;;;;;;;;;;;;;;;;;1;;;1;;;1;
diff --git a/drivers/staging/comedi/drivers/ni_routing/ni_device_routes/PXIe-6251.csv b/drivers/staging/comedi/drivers/ni_routing/ni_device_routes/PXIe-6251.csv
new file mode 100644
index 0000000..ef63fe8
--- /dev/null
+++ b/drivers/staging/comedi/drivers/ni_routing/ni_device_routes/PXIe-6251.csv
@@ -0,0 +1,52 @@
+Sources / Destinations;NI_PFI(0);NI_PFI(1);NI_PFI(2);NI_PFI(3);NI_PFI(4);NI_PFI(5);NI_PFI(6);NI_PFI(7);NI_PFI(8);NI_PFI(9);NI_PFI(10);NI_PFI(11);NI_PFI(12);NI_PFI(13);NI_PFI(14);NI_PFI(15);TRIGGER_LINE(0);TRIGGER_LINE(1);TRIGGER_LINE(2);TRIGGER_LINE(3);TRIGGER_LINE(4);TRIGGER_LINE(5);TRIGGER_LINE(6);TRIGGER_LINE(7);NI_AI_SampleClock;NI_AI_StartTrigger;NI_AI_ReferenceTrigger;NI_AO_SampleClock;NI_AO_StartTrigger;NI_DI_SampleClock;NI_DO_SampleClock;NI_AI_ConvertClock;NI_AI_ConvertClockTimebase;NI_AI_PauseTrigger;NI_AI_SampleClockTimebase;NI_AO_PauseTrigger;NI_AO_SampleClockTimebase;NI_CtrSource(0);NI_CtrSource(1);NI_CtrGate(0);NI_CtrGate(1);NI_CtrAux(0);NI_CtrAux(1);NI_CtrArmStartTrigger(0);NI_CtrArmStartTrigger(1);NI_CtrA(0);NI_CtrA(1);NI_CtrB(0);NI_CtrB(1);NI_CtrZ(0);NI_CtrZ(1)
+NI_PFI(0);;;;;;;;;;;;;;;;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1
+NI_PFI(1);;;;;;;;;;;;;;;;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1
+NI_PFI(2);;;;;;;;;;;;;;;;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1
+NI_PFI(3);;;;;;;;;;;;;;;;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1
+NI_PFI(4);;;;;;;;;;;;;;;;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1
+NI_PFI(5);;;;;;;;;;;;;;;;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1
+NI_PFI(6);;;;;;;;;;;;;;;;;;;;;;;;;1;1;1;1;1;1;1;1;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1
+NI_PFI(7);;;;;;;;;;;;;;;;;;;;;;;;;1;1;1;1;1;1;1;1;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1
+NI_PFI(8);;;;;;;;;;;;;;;;;;;;;;;;;1;1;1;1;1;1;1;1;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1
+NI_PFI(9);;;;;;;;;;;;;;;;;;;;;;;;;1;1;1;1;1;1;1;1;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1
+NI_PFI(10);;;;;;;;;;;;;;;;;;;;;;;;;1;1;1;1;1;1;1;1;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1
+NI_PFI(11);;;;;;;;;;;;;;;;;;;;;;;;;1;1;1;1;1;1;1;1;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1
+NI_PFI(12);;;;;;;;;;;;;;;;;;;;;;;;;1;1;1;1;1;1;1;1;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1
+NI_PFI(13);;;;;;;;;;;;;;;;;;;;;;;;;1;1;1;1;1;1;1;1;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1
+NI_PFI(14);;;;;;;;;;;;;;;;;;;;;;;;;1;1;1;1;1;1;1;1;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1
+NI_PFI(15);;;;;;;;;;;;;;;;;;;;;;;;;1;1;1;1;1;1;1;1;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1
+TRIGGER_LINE(0);1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;;;;;;;;;1;1;1;1;1;1;1;1;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1
+TRIGGER_LINE(1);1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;;;;;;;;;1;1;1;1;1;1;1;1;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1
+TRIGGER_LINE(2);1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;;;;;;;;;1;1;1;1;1;1;1;1;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1
+TRIGGER_LINE(3);1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;;;;;;;;;1;1;1;1;1;1;1;1;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1
+TRIGGER_LINE(4);1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;;;;;;;;;1;1;1;1;1;1;1;1;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1
+TRIGGER_LINE(5);1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;;;;;;;;;1;1;1;1;1;1;1;1;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1
+TRIGGER_LINE(6);1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;;;;;;;;;1;1;1;1;1;1;1;1;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1
+TRIGGER_LINE(7);1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;;;;;;;;;1;1;1;1;1;1;1;1;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1
+NI_AI_SampleClock;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;;;;;;1;1;;;;;;;;;;;;;;;;;;;;
+NI_AI_StartTrigger;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;;;;;1;;;;;;;;;;;1;1;1;1;1;1;;;;;;
+NI_AI_ReferenceTrigger;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;;;;;;;;;;;;;;;;1;1;1;1;1;1;;;;;;
+NI_AO_SampleClock;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;;;;;;1;1;;;;;;;;;;;;;;;;;;;;
+NI_AO_StartTrigger;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;;;;;;;;;;;;;;;;;;;;;;;;;;;
+NI_DI_SampleClock;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+NI_DO_SampleClock;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+NI_20MHzTimebase;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1;;1;;1;1;1;;;;;;;;;;;;
+NI_80MHzTimebase;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1;1;;;;;;;;;;;;
+NI_10MHzRefClock;;;;;;;;;;;;;;;;;1;1;1;1;1;1;1;1;;;;;;;;;;;;;;;;;;;;;;;;;;;
+NI_AI_ConvertClock;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;;;;;;1;1;;;;;;;;;;;;;;;;;;;;
+NI_AI_ConvertClockTimebase;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1;;;;;;;;;;;;;;;;;;;
+NI_AI_PauseTrigger;;;;;;;;;;;;;;;;;1;1;1;1;1;1;1;1;;;;;;;;;;;;;;;;;;;;;;;;;;;
+NI_AI_SampleClockTimebase;;;;;;;;;;;;;;;;;;;;;;;;;1;;;;;;;;1;;;;;;;;;;;;;;;;;;
+NI_AnalogComparisonEvent;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1
+NI_AO_PauseTrigger;;;;;;;;;;;;;;;;;1;1;1;1;1;1;1;1;;;;;;;;;;;;;;;;;;;;;;;;;;;
+NI_AO_SampleClockTimebase;;;;;;;;;;;;;;;;;;;;;;;;;;;;1;;;;;;;;;;;;;;;;;;;;;;;
+NI_CtrSource(0);1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;;;;;;;;;;;;;;;;;1;;1;;;;;;;;
+NI_CtrSource(1);1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;;;;;;;;;;;;;;;;1;;1;;;;;;;;;
+NI_CtrGate(0);1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;;;;;;;;;;;;;;;1;;;1;1;;;;;;;;
+NI_CtrGate(1);1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;;;;;;;;;;;;;;1;;;;1;1;;;;;;;;
+NI_CtrInternalOutput(0);1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;;1;;1;1;1;;;;;;;;;1;;1;;1;;;;;;
+NI_CtrInternalOutput(1);1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;;1;;1;1;1;;;;;;;;1;;1;;1;;;;;;;
+NI_FrequencyOutput;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;;;;;;1;1;;;;;;;;;;;;;;;;;;;;
+NI_100kHzTimebase;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1;;1;1;1;;;;;;;;;;;;
+PXI_Clk10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1;;1;1;1;;;;;;;;;;;;
+NI_ChangeDetectionEvent;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;;;;;;1;1;;;;;;;;;;;;;;;;;;;;
diff --git a/drivers/staging/comedi/drivers/ni_routing/ni_route_values/ni_660x.csv b/drivers/staging/comedi/drivers/ni_routing/ni_route_values/ni_660x.csv
new file mode 100644
index 0000000..86c8889
--- /dev/null
+++ b/drivers/staging/comedi/drivers/ni_routing/ni_route_values/ni_660x.csv
@@ -0,0 +1,100 @@
+Sources / Destinations;NI_PFI(0);NI_PFI(1);NI_PFI(2);NI_PFI(3);NI_PFI(4);NI_PFI(5);NI_PFI(6);NI_PFI(7);NI_PFI(8);NI_PFI(9);NI_PFI(10);NI_PFI(11);NI_PFI(12);NI_PFI(13);NI_PFI(14);NI_PFI(15);NI_PFI(16);NI_PFI(17);NI_PFI(18);NI_PFI(19);NI_PFI(20);NI_PFI(21);NI_PFI(22);NI_PFI(23);NI_PFI(24);NI_PFI(25);NI_PFI(26);NI_PFI(27);NI_PFI(28);NI_PFI(29);NI_PFI(30);NI_PFI(31);NI_PFI(32);NI_PFI(33);NI_PFI(34);NI_PFI(35);NI_PFI(36);NI_PFI(37);NI_PFI(38);NI_PFI(39);TRIGGER_LINE(0);TRIGGER_LINE(1);TRIGGER_LINE(2);TRIGGER_LINE(3);TRIGGER_LINE(4);TRIGGER_LINE(5);TRIGGER_LINE(6);TRIGGER_LINE(7);PXI_Star;NI_MasterTimebase;PXI_Clk10;NI_CtrSource(0);NI_CtrSource(1);NI_CtrSource(2);NI_CtrSource(3);NI_CtrSource(4);NI_CtrSource(5);NI_CtrSource(6);NI_CtrSource(7);NI_CtrGate(0);NI_CtrGate(1);NI_CtrGate(2);NI_CtrGate(3);NI_CtrGate(4);NI_CtrGate(5);NI_CtrGate(6);NI_CtrGate(7);NI_CtrAux(0);NI_CtrAux(1);NI_CtrAux(2);NI_CtrAux(3);NI_CtrAux(4);NI_CtrAux(5);NI_CtrAux(6);NI_CtrAux(7);NI_CtrArmStartTrigger(0);NI_CtrArmStartTrigger(1);NI_CtrArmStartTrigger(2);NI_CtrArmStartTrigger(3);NI_CtrArmStartTrigger(4);NI_CtrArmStartTrigger(5);NI_CtrArmStartTrigger(6);NI_CtrArmStartTrigger(7);;;;;;;;;;;;;;;;;;
+NI_PFI(0);;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;Common;;;STC DIN 0;;;;Counter;;STC DOUT 0
+NI_PFI(1);;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;STC/TIO Naming;;;;;;;Input;;;STC DIN 1;;;;Output:;;STC DOUT 1
+NI_PFI(2);;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;Convention/Comments;;;;;;;Usage:;;;STC DIN 2;;;;;;STC DOUT 2
+NI_PFI(3);;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;STC DIN 3;;;;;;STC DOUT 3
+NI_PFI(4);;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;STC DIN 4;;;;;;STC DOUT 4
+NI_PFI(5);;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;STC DIN 5;;;;;;STC DOUT 5
+NI_PFI(6);;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;STC DIN 6;;;;;;STC DOUT 6
+NI_PFI(7);;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;STC DIN 7;;;;;;STC DOUT 7
+NI_PFI(8);;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;Counter 7 Output
+NI_PFI(9);;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9;9;9;9;9;9;9;9 /* or 1 */; ;;;;;;;;;;;;;;;;;;;Up/Down 7;;;;;;
+NI_PFI(10);;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9;9;9;9;9;9;9;9 /* or 1 */; ;;;;;;;;;;;;;;;;;;;;;;;;;;;Gate 7;;;;;;Counter 7 Selected Gate
+NI_PFI(11);;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9;9;9;9;9;9;9;9 /* or 1 */; ;;;;;;;0;;;;;;;;0;;;;;;;;;;;;;;;;;;;; Source 7;;;;;;Counter 7 Selected Source
+NI_PFI(12);;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;Counter 6 Output
+NI_PFI(13);;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8;8;8;8;8;8;8 /* or 1 */;8;;;;;;;;;;;;;;;;;;;;Up/Down 6;;;;;;
+NI_PFI(14);;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8;8;8;8;8;8;8 /* or 1 */;8;;;;;;;;;;;;;;;;;;;;;;;;;;;;Gate 6;;;;;;Counter 6 Selected Gate
+NI_PFI(15);;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8;8;8;8;8;8;8 /* or 1 */;8;;;;;;;0;;;;;;;;0;;;;;;;;;;;;;;;;;;;;;Source 6;;;;;;Counter 6 Selected Source
+NI_PFI(16);;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;Counter 5 Output
+NI_PFI(17);;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7;7;7;7;7;7 /* or 1 */;7;7;;;;;;;;;;;;;;;;;;;;Up/Down 5;;;;;;
+NI_PFI(18);;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7;7;7;7;7;7 /* or 1 */;7;7;;;;;;;;;;;;;;;;;;;;;;;;;;;;Gate 5;;;;;;Counter 5 Selected Gate
+NI_PFI(19);;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7;7;7;7;7;7 /* or 1 */;7;7;;;;;;0;;;;;;;;0;;;;;;;;;;;;;;;;;;;;;;Source 5;;;;;;Counter 5 Selected Src
+NI_PFI(20);;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;Counter 4 Output
+NI_PFI(21);;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6;6;6;6;6 /* or 1 */;6;6;6;;;;;;;;;;;;;;;;;;;;Up/Down 4;;;;;;
+NI_PFI(22);;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6;6;6;6;6 /* or 1 */;6;6;6;;;;;;;;;;;;;;;;;;;;;;;;;;;;Gate 4;;;;;;Counter 4 Selected Gate
+NI_PFI(23);;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6;6;6;6;6 /* or 1 */;6;6;6;;;;;0;;;;;;;;0;;;;;;;;;;;;;;;;;;;;;;;Source 4;;;;;;Counter 4 Selected Source
+NI_PFI(24);;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;Counter 3 Output
+NI_PFI(25);;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5;5;5;5 /* or 1 */;5;5;5;5;;;;;;;;;;;;;;;;;;;;Up/Down 3;;;;;;
+NI_PFI(26);;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5;5;5;5 /* or 1 */;5;5;5;5;;;;;;;;;;;;;;;;;;;;;;;;;;;;Gate 3;;;;;;Counter 3 Selected Gate
+NI_PFI(27);;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5;5;5;5 /* or 1 */;5;5;5;5;;;;0;;;;;;;;0;;;;;;;;;;;;;;;;;;;;;;;;Source 3;;;;;;Counter 3 Selected Source
+NI_PFI(28);;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;Counter 2 Output
+NI_PFI(29);;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4;4;4 /* or 1 */;4;4;4;4;4;;;;;;;;;;;;;;;;;;;;Up/Down 2;;;;;;
+NI_PFI(30);;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4;4;4 /* or 1 */;4;4;4;4;4;;;;;;;;;;;;;;;;;;;;;;;;;;;;Gate 2;;;;;;Counter 2 Selected Gate
+NI_PFI(31);;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4;4;4 /* or 1 */;4;4;4;4;4;;;0;;;;;;;;0;;;;;;;;;;;;;;;;;;;;;;;;;Source 2;;;;;;Counter 2 Selected Source
+NI_PFI(32);;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;Counter 1 Output
+NI_PFI(33);;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3;3 /* or 1 */;3;3;3;3;3;3;;;;;;;;;;;;;;;;;;;;Up/Down 1;;;;;;
+NI_PFI(34);;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3;3 /* or 1 */;3;3;3;3;3;3;;;;;;;;;;;;;;;;;;;;;;;;;;;;Gate 1;;;;;;Counter 1 Selected Gate
+NI_PFI(35);;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3;3 /* or 1 */;3;3;3;3;3;3;;0;;;;;;;;0;;;;;;;;;;;;;;;;;;;;;;;;;;Source 1;;;;;;Counter 1 Selected Source
+NI_PFI(36);;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;Counter 0 Output
+NI_PFI(37);;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2 /* or 1 */;2;2;2;2;2;2;2;;;;;;;;;;;;;;;;;;;;Up/Down 0;;;;;;
+NI_PFI(38);;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2 /* or 1 */;2;2;2;2;2;2;2;;;;;;;;;;;;;;;;;;;;;;;;;;;;Gate 0;;;;;;Counter 0 Selected Gate
+NI_PFI(39);;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2 /* or 1 */;2;2;2;2;2;2;2;0;;;;;;;;0;;;;;;;;;;;;;;;;;;;;;;;;;;;Source 0;;;;;;Counter 0 Selected Source
+TRIGGER_LINE(0);;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11;11;11;11;11;11;11;11;11;11;11;11;11;11;11;11;11;11;11;11;11;11;11;11;;;;;;;;;;RTSI_Trig_0_Output_Select;;;;;;;;;;;;;;;;
+TRIGGER_LINE(1);;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12;12;12;12;12;12;12;12;12;12;12;12;12;12;12;12;12;12;12;12;12;12;12;12;;;;;;;;;;RTSI_Trig_1_Output_Select;;;;;;;;;;;;;;;;
+TRIGGER_LINE(2);;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13;13;13;13;13;13;13;13;13;13;13;13;13;13;13;13;13;13;13;13;13;13;13;13;;;;;;;;;;RTSI_Trig_2_Output_Select;;;;;;;;;;;;;;;;
+TRIGGER_LINE(3);;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14;14;14;14;14;14;14;14;14;14;14;14;14;14;14;14;14;14;14;14;14;14;14;14;;;;;;;;;;RTSI_Trig_3_Output_Select;;;;;;;;;;;;;;;;
+TRIGGER_LINE(4);;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;;;;;;;;;;RTSI_Trig_4_Output_Select;;;;;;;;;;;;;;;;
+TRIGGER_LINE(5);;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16;16;16;16;16;16;16;16;16;16;16;16;16;16;16;16;16;16;16;16;16;16;16;16;;;;;;;;;;RTSI_Trig_5_Output_Select;;;;;;;;;;;;;;;;
+TRIGGER_LINE(6);;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17;17;17;17;17;17;17;17;17;17;17;17;17;17;17;17;17;17;17;17;17;17;17;17;;;;;;;;;;RTSI_Trig_6_Output_Select;;;;;;;;;;;;;;;;
+TRIGGER_LINE(7);;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;RTSI_Trig_7_Output_Select;;;;;;;;;;;;;;;;
+PXI_Star;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+NI_MasterTimebase;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+NI_20MHzTimebase;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;0;0;0;0;0;0;0;0;;;;;;;;;;;;;;;;;;;;;;;;;;TIMEBASE 1 && TIMEBASE 3 if no higher clock exists;;;;;;;;;;;;;;;;
+NI_80MHzTimebase;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30;30;30;30;30;30;30;30;;;;;;;;;;;;;;;;;;;;;;;;;;TIMEBASE 3;;;;;;;;;;;;;;;;
+NI_100kHzTimebase;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18;18;18;18;18;18;18;18;;;;;;;;;;;;;;;;;;;;;;;;;;TIMEBASE 2;;;;;;;;;;;;;;;;
+NI_10MHzRefClock;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;value of 12 for TRIGGER_LINE(n) destination should be RTSI_OSC according to MHDDK mseries source.  There are hints in comedi that show that this is actualy a 20MHz source for 628x cards(?);;;;;;;;;;;;;;;;
+PXI_Clk10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+NI_CtrSource(0);;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1;;;;;;;;;;;;;;;;;;;;;;;;;;;10;;;;;;;;10;;;;;;;;;;;;;;;;;;;;;;;;;;
+NI_CtrSource(1);;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1;;;;;;;;;;;;;;;;;;;;;;;;10;;;;;;;;10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+NI_CtrSource(2);;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10;;;;;;;;10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+NI_CtrSource(3);;;;;;;;;;;;;;;;;;;;;;;;;;;;1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10;;;;;;;;10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+NI_CtrSource(4);;;;;;;;;;;;;;;;;;;;;;;;1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10;;;;;;;;10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+NI_CtrSource(5);;;;;;;;;;;;;;;;;;;;1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10;;;;;;;;10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+NI_CtrSource(6);;;;;;;;;;;;;;;;1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10;;;;;;;;10;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+NI_CtrSource(7);;;;;;;;;;;;1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10;;;;;;;;10;;;;;;;;;;;;;;;;;;;;;;;;;;;
+NI_CtrGate(0);;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1;;;;;;;;;;;;;;;;;;;;10;;;;;;;;;;;;;;;;30;;;;;;;;;;;;;;;;;;;;;;;;;;
+NI_CtrGate(1);;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1;;;;;;;;;;;;;;;;;10;;;;;;;;;;;;;;;;30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+NI_CtrGate(2);;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1;;;;;;;;;;;;;;;;;;;;;;10;;;;;;;;;;;;;;;;30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+NI_CtrGate(3);;;;;;;;;;;;;;;;;;;;;;;;;;;1;;;;;;;;;;;;;;;;;;;;;;;;;;;10;;;;;;;;;;;;;;;;30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+NI_CtrGate(4);;;;;;;;;;;;;;;;;;;;;;;1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10;;;;;;;;;;;;;;;;30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+NI_CtrGate(5);;;;;;;;;;;;;;;;;;;1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10;;;;;;;;;;;;;;;;30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+NI_CtrGate(6);;;;;;;;;;;;;;;1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10;;;;;;;;;;;;;;;;30;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+NI_CtrGate(7);;;;;;;;;;;1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10;;;;;;;;;;;;;;;;30;;;;;;;;;;;;;;;;;;;;;;;;;;;
+NI_CtrInternalOutput(0);;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20;;;;;;;;20;;;;;;;;;;;;;;;;;;;;;;;;;;
+NI_CtrInternalOutput(1);;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1;;;;;;;;;;;;;;;;;;;;;;;;;;;20;;;;;;;;20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+NI_CtrInternalOutput(2);;;;;;;;;;;;;;;;;;;;;;;;;;;;;1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20;;;;;;;;20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+NI_CtrInternalOutput(3);;;;;;;;;;;;;;;;;;;;;;;;;1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20;;;;;;;;20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+NI_CtrInternalOutput(4);;;;;;;;;;;;;;;;;;;;;1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20;;;;;;;;20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+NI_CtrInternalOutput(5);;;;;;;;;;;;;;;;;1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20;;;;;;;;20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+NI_CtrInternalOutput(6);;;;;;;;;;;;;1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20;;;;;;;;20;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+NI_CtrInternalOutput(7);;;;;;;;;1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20;;;;;;;;20;;;;;;;;;;;;;;;;;;;;;;;;;;;
+#NI_Ctr0_TC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19;;;;;;;19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+#NI_Ctr0_TC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+#NI_Ctr0_TC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+#NI_Ctr0_TC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+#NI_Ctr0_TC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+#NI_Ctr0_TC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+#NI_Ctr0_TC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+#NI_Ctr0_TC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+NI_LogicLow;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;31;31;31;31;31;31;31;31;31 /* or 30 */;31 /* or 30 */;31 /* or 30 */;31 /* or 30 */;31 /* or 30 */;31 /* or 30 */;31 /* or 30 */;31 /* or 30 */;31;31;31;31;31;31;31;31;;;;;;;;;;;;;;;;;;;;;;;;;;
+NI_LogicHigh;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+#High Impedance(Input);0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+# Implementation Note;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;;;;;;;;;;;;;;;;;;
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+;;;;;;Implementation Notes Legend:;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+;;;;;0;;Light Red:;;;;;Not implemented;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+;;;;;1;;Blue 7:;;;;;Partially Implemented;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+;;;;;2;;Blue 7:;;;;;Implemented;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+;;;;;3;;Black:;;;;;Partially implemented and tested;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+;;;;;4;;Black:;;;;;Implemented and tested;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
diff --git a/drivers/staging/comedi/drivers/ni_routing/ni_route_values/ni_eseries.csv b/drivers/staging/comedi/drivers/ni_routing/ni_route_values/ni_eseries.csv
new file mode 100644
index 0000000..287749bc
--- /dev/null
+++ b/drivers/staging/comedi/drivers/ni_routing/ni_route_values/ni_eseries.csv
@@ -0,0 +1,78 @@
+Sources / Destinations;NI_PFI(0);NI_PFI(1);NI_PFI(2);NI_PFI(3);NI_PFI(4);NI_PFI(5);NI_PFI(6);NI_PFI(7);NI_PFI(8);NI_PFI(9);NI_PFI(10);NI_PFI(11);NI_PFI(12);NI_PFI(13);NI_PFI(14);NI_PFI(15);TRIGGER_LINE(0);TRIGGER_LINE(1);TRIGGER_LINE(2);TRIGGER_LINE(3);TRIGGER_LINE(4);TRIGGER_LINE(5);TRIGGER_LINE(6);TRIGGER_LINE(7);PXI_Star;NI_AI_SampleClock;NI_AI_SampleClockTimebase;NI_AI_StartTrigger;NI_AI_ReferenceTrigger;NI_AI_ConvertClock;NI_AI_ConvertClockTimebase;NI_AI_HoldCompleteEvent;NI_AI_PauseTrigger;NI_AO_SampleClock;NI_AO_SampleClockTimebase;NI_AO_StartTrigger;NI_AO_PauseTrigger;NI_DI_SampleClock;NI_DO_SampleClock;NI_MasterTimebase;PXI_Clk10;NI_CtrOut(0);NI_CtrOut(1);NI_CtrSource(0);NI_CtrSource(1);NI_CtrGate(0);NI_CtrGate(1);NI_CtrInternalOutput(0);NI_CtrInternalOutput(1);NI_RGOUT0;NI_FrequencyOutput;#NI_FrequencyOutputTimebase;NI_ChangeDetectionEvent;NI_RTSI_BRD(0);NI_RTSI_BRD(1);NI_RTSI_BRD(2);NI_RTSI_BRD(3);;;;;;;;;
+NI_PFI(0);;;;;;;;;;;;;;;;;;;;;;;;;;1;1;1;1;1;;;1;1;1;1;1;;;;;;;1;1;1;1;;;;;;;;;;;;;;;;;;;
+NI_PFI(1);;;;;;;;;;;;;;;;;;;;;;;;;;2;2;2;2;2;;;2;2;2;2;2;;;;;;;2;2;2;2;;;;;;;;;;;;STC Naming Convention/Comments;;;;;;;
+NI_PFI(2);;;;;;;;;;;;;;;;;;;;;;;;;;3;3;3;3;3;;;3;3;3;3;3;;;;;;;3;3;3;3;;;;;;;;;;;;;;;;;;;
+NI_PFI(3);;;;;;;;;;;;;;;;;;;;;;;;;;4;4;4;4;4;;;4;4;4;4;4;;;;;;;4;4;4;4;;;;;;;;;;;;;;;;;;;
+NI_PFI(4);;;;;;;;;;;;;;;;;;;;;;;;;;5;5;5;5;5;;;5;5;5;5;5;;;;;;;5;5;5;5;;;;;;;;;;;;;;;;;;;
+NI_PFI(5);;;;;;;;;;;;;;;;;;;;;;;;;;6;6;6;6;6;;;6;6;6;6;6;;;;;;;6;6;6;6;;;;;;;;;;;;;;;;;;;
+NI_PFI(6);;;;;;;;;;;;;;;;;;;;;;;;;;7;7;7;7;7;;;7;7;7;7;7;;;;;;;7;7;7;7;;;;;;;;;;;;;;;;;;;
+NI_PFI(7);;;;;;;;;;;;;;;;;;;;;;;;;;8;8;8;8;8;;;8;8;8;8;8;;;;;;;8;8;8;8;;;;;;;;;;;;;;;;;;;
+NI_PFI(8);;;;;;;;;;;;;;;;;;;;;;;;;;9;9;9;9;9;;;9;9;9;9;9;;;;;;;9;9;9;9;;;;;;;;;;;;;;;;;;;
+NI_PFI(9);;;;;;;;;;;;;;;;;;;;;;;;;;10;10;10;10;10;;;10;10;10;10;10;;;;;;;10;10;10;10;;;;;;;;;;;;;;;;;;;
+NI_PFI(10);;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+NI_PFI(11);;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+NI_PFI(12);;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+NI_PFI(13);;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+NI_PFI(14);;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+NI_PFI(15);;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+TRIGGER_LINE(0);;;;;;;;;;;;;;;;;;;;;;;;;;11;11;11;11;11;;;11;11;11;11;11;;;;;1;;11;11;11;11;;;;;;;0;0;0;0;;RTSI_Trig_0_Output_Select;;;;;;;
+TRIGGER_LINE(1);;;;;;;;;;;;;;;;;;;;;;;;;;12;12;12;12;12;;;12;12;12;12;12;;;;;2;;12;12;12;12;;;;;;;1;1;1;1;;RTSI_Trig_1_Output_Select;;;;;;;
+TRIGGER_LINE(2);;;;;;;;;;;;;;;;;;;;;;;;;;13;13;13;13;13;;;13;13;13;13;13;;;;;3;;13;13;13;13;;;;;;;2;2;2;2;;RTSI_Trig_2_Output_Select;;;;;;;
+TRIGGER_LINE(3);;;;;;;;;;;;;;;;;;;;;;;;;;14;14;14;14;14;;;14;14;14;14;14;;;;;4;;14;14;14;14;;;;;;;3;3;3;3;;RTSI_Trig_3_Output_Select;;;;;;;
+TRIGGER_LINE(4);;;;;;;;;;;;;;;;;;;;;;;;;;15;15;15;15;15;;;15;15;15;15;15;;;;;5;;15;15;15;15;;;;;;;4;4;4;4;;RTSI_Trig_4_Output_Select;;;;;;;
+TRIGGER_LINE(5);;;;;;;;;;;;;;;;;;;;;;;;;;16;16;16;16;16;;;16;16;16;16;16;;;;;6;;16;16;16;16;;;;;;;5;5;5;5;;RTSI_Trig_5_Output_Select;;;;;;;
+TRIGGER_LINE(6);;;;;;;;;;;;;;;;;;;;;;;;;;17;17;17;17;17;;;17;17;17;17;17;;;;;7;;17;17;17;17;;;;;;;6;6;6;6;;"RTSI_Trig_6_Output_Select; TRIGGER_LINE(6) not connected to RTSI(6) internal line for most e-series";;;;;;;
+TRIGGER_LINE(7);;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1;;;;;;;;;;;;;;;;;;;RTSI_Trig_7_Output_Select;;;;;;;
+PXI_Star;;;;;;;;;;;;;;;;;;;;;;;;;;17;17;17;17;17;;;17;17;17;17;17;;;2;;7;;17;17;17;17;;;;;;;6;6;6;6;;PXI_Star connected to internal RTSI(6) line for e-series;;;;;;;
+NI_AI_STOP;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7;7;;;;AI_STOP;;;;;;;
+NI_AI_SampleClock;;;;;;;;NI_PFI_OUTPUT_AI_START_PULSE; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7;7;;AI_START_Select;;;;;;;
+NI_AI_SampleClockTimebase;;;;;;;;;;;;;;;;;;;;;;;;;;0;;;;;0;;;;;;;;;;;;;;;;;;;;;;;;;;;;AI_SI (If internal sample clock signal is used);;;;;;;
+NI_AI_StartTrigger;NI_PFI_OUTPUT_AI_START1; ;;;;;;;;;;;;;;;0;0;0;0;0;0;0;;;;;;;;;;;;;18;;;;;;;;;;21;21;;;;;;;;;;;;AI_START1_Select;;;;;;;*: for AO_StartTrigger, MHDDK says 18 and DAQ-STC says 19
+NI_AI_ReferenceTrigger;;NI_PFI_OUTPUT_AI_START2; ;;;;;;;;;;;;;;1;1;1;1;1;1;1;;;;;;;;;;;;;;;;;;;;;;;18;18;;;;;;;;;;;;AI_START2_Select (for pre-triggered acquisition---not currently supported in comedi);;;;;;;
+NI_AI_ConvertClock;;;NI_PFI_OUTPUT_AI_CONVERT; ;;;;;;;;;;;;;2;2;2;2;2;2;2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AI_CONVERT_Source_Select;;;;;;;
+NI_AI_ConvertClockTimebase;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AI_SI2 (if internal convert signal is used);;;;;;;
+NI_AI_HoldCompleteEvent;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+NI_AI_PauseTrigger;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AI_External_Gate;;;;;;;
+NI_AO_SampleClock;;;;;;NI_PFI_OUTPUT_AO_UPDATE_N; ;;;;;;;;;;3;3;3;3;3;3;3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AO_UPDATE;;;;;;;
+NI_AO_SampleClockTimebase;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;0;;;;;;;;;;;;;;;;;;;;;;;;;AO_UI;;;;;;;
+NI_AO_StartTrigger;;;;;;;NI_PFI_OUTPUT_AO_START1; ;;;;;;;;;4;4;4;4;4;4;4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AO_START1;;;;;;;
+NI_AO_PauseTrigger;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AO_External_Gate;;;;;;;
+NI_DI_SampleClock;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+NI_DO_SampleClock;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+NI_MasterTimebase;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+NI_20MHzTimebase;;;;;;;;;;;;;;;;;;;;;;;;NI_RTSI_OUTPUT_RTSI_OSC; ;;0;;;;1;;;;0;;;;;;;;;0;0;;;;;;;0;;;;;;;TIMEBASE 1 && TIMEBASE 3 if no higher clock exists;;;;;;;
+NI_80MHzTimebase;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;TIMEBASE 3;;;;;;;
+NI_100kHzTimebase;;;;;;;;;;;;;;;;;;;;;;;;;;;19;;;;;;;;19;;;;;;;;;18;18;;;;;;;1;;;;;;;TIMEBASE 2;;;;;;;
+NI_10MHzRefClock;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;0;;;;;;;;;;;;;;;;;;;;;;;;;;
+PXI_Clk10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3;;;;;;;;;;;;;;;;;;;;;;;;;;
+NI_CtrOut(0);;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1;;;;;;;;;GPFO_0, external ctr0out pin;;;;;;;
+NI_CtrOut(1);;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GPFO_1, external ctr1out pin;;;;;;;
+NI_CtrSource(0);;;;;;;;;NI_PFI_OUTPUT_G_SRC0; ;;;;;;;5;5;5;5;5;5;5;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+NI_CtrSource(1);;;;NI_PFI_OUTPUT_G_SRC1; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+NI_CtrGate(0);;;;;;;;;;NI_PFI_OUTPUT_G_GATE0; ;;;;;;6;6;6;6;6;6;6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+NI_CtrGate(1);;;;;NI_PFI_OUTPUT_G_GATE1; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+NI_CtrInternalOutput(0);;;;;;;;;;;;;;;;;;;;;;;;;;19;;18;;19;;;;;;;;;;;;0;;;19;;20;;;0;;;;;;;;;G_OUT0, G0_TC (for Ctr1Source, Ctr1Gate);;;;;;;
+NI_CtrInternalOutput(1);;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19;;;;;;;;;0;19;;20;;;;;;;;;;;;;G_OUT1, G1_TC (for Ctr0Source, Ctr0Gate);;;;;;;
+NI_RGOUT0;;;;;;;;;;;;;;;;;7;7;7;7;7;7;7;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;RGOUT0 internal signal;;;;;;;
+NI_FrequencyOutput;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+#NI_FrequencyOutputTimebase;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+NI_ChangeDetectionEvent;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+NI_RTSI_BRD(0);;;;;;;;;;;;;;;;;8;8;8;8;8;8;8;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+NI_RTSI_BRD(1);;;;;;;;;;;;;;;;;9;9;9;9;9;9;9;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+NI_RTSI_BRD(2);;;;;;;;;;;;;;;;;10;10;10;10;10;10;10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+NI_RTSI_BRD(3);;;;;;;;;;;;;;;;;11;11;11;11;11;11;11;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+#NI_SoftwareStrobe;;;;;;;;;;;;;;;;;;;;;;;;;;18;;0;0;;;;;;;0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+NI_LogicLow;;;;;;;;;;;;;;;;;;;;;;;;;;31;31;31;31;31;;;31;31;31;31;31;;;;;;;31;31;31;31;;;;;;;;;;;;;;;;;;;
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+# Implementation Note;2;2;2;2;2;2;2;2;2;2;2;2;2;2;2;2;2;2;2;2;2;2;2;2;0;2;0;2;0;2;0;0;0;2;0;2;0;0;0;0;0;0;0;0;0;0;0;0;0;2;0;0;0;2;2;2;2;;;;;;;;;
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+;;;;;;Implementation Notes Legend:;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+;;;;;;0;;Not implemented;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+;;;;;;1;;Partially implemented;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+;;;;;;2;;Implemented;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+;;;;;;3;;Implemented and partially tested;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+;;;;;;4;;Implemented and tested;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+;;;;;;;For the e-series boards, several of the output selectors are hardwired (PFIn and RTSI7);;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+;;;;;;;For these, instead of entering register values, the older NI_* register constants from comedi.h are used;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
diff --git a/drivers/staging/comedi/drivers/ni_routing/ni_route_values/ni_mseries.csv b/drivers/staging/comedi/drivers/ni_routing/ni_route_values/ni_mseries.csv
new file mode 100644
index 0000000..b0956ab
--- /dev/null
+++ b/drivers/staging/comedi/drivers/ni_routing/ni_route_values/ni_mseries.csv
@@ -0,0 +1,90 @@
+Sources / Destinations;NI_PFI(0);NI_PFI(1);NI_PFI(2);NI_PFI(3);NI_PFI(4);NI_PFI(5);NI_PFI(6);NI_PFI(7);NI_PFI(8);NI_PFI(9);NI_PFI(10);NI_PFI(11);NI_PFI(12);NI_PFI(13);NI_PFI(14);NI_PFI(15);TRIGGER_LINE(0);TRIGGER_LINE(1);TRIGGER_LINE(2);TRIGGER_LINE(3);TRIGGER_LINE(4);TRIGGER_LINE(5);TRIGGER_LINE(6);TRIGGER_LINE(7);PXI_Star;NI_AI_SampleClock;NI_AI_SampleClockTimebase;NI_AI_StartTrigger;NI_AI_ReferenceTrigger;NI_AI_ConvertClock;NI_AI_ConvertClockTimebase;NI_AI_HoldCompleteEvent;NI_AI_PauseTrigger;NI_AO_SampleClock;NI_AO_SampleClockTimebase;NI_AO_StartTrigger;NI_AO_PauseTrigger;NI_DI_SampleClock;NI_DO_SampleClock;NI_MasterTimebase;PXI_Clk10;NI_CtrOut(0);NI_CtrOut(1);NI_CtrSource(0);NI_CtrSource(1);NI_CtrGate(0);NI_CtrGate(1);NI_CtrInternalOutput(0);NI_CtrInternalOutput(1);NI_RGOUT0;NI_CtrAux(0);NI_CtrAux(1);NI_CtrArmStartTrigger(0);NI_CtrArmStartTrigger(1);NI_CtrA(0);NI_CtrA(1);NI_CtrB(0);NI_CtrB(1);NI_CtrZ(0);NI_CtrZ(1);NI_FrequencyOutput;#NI_FrequencyOutputTimebase;NI_ChangeDetectionEvent;NI_RTSI_BRD(0);NI_RTSI_BRD(1);NI_RTSI_BRD(2);NI_RTSI_BRD(3);;;;;;;;;;;;;;;;;;
+NI_PFI(0);;;;;;;;;;;;;;;;;;;;;;;;;;1;1;1;1;1;;;1;1;1;1;1;1;1;;;;;1;1;1 /* source:  mhddk examples */;1 /* source:  mhddk examples */; ;;;1;1;;;1;1;1;1;1;1;;;;0;0;0;0;;;;;;;;;;;;;;;;;;
+NI_PFI(1);;;;;;;;;;;;;;;;;;;;;;;;;;2;2;2;2;2;;;2;2;2;2;2;2;2;;;;;2;2;2;2;;;;2;2;;;2;2;2;2;2;2;;;;1;1;1;1;;STC Naming Convention/Comments;;;;;;;;;;;;;;;;
+NI_PFI(2);;;;;;;;;;;;;;;;;;;;;;;;;;3;3;3;3;3;;;3;3;3;3;3;3;3;;;;;3;3;3;3;;;;3;3;;;3;3;3;3;3;3;;;;2;2;2;2;;;;;;;;;;;;;;;;;;
+NI_PFI(3);;;;;;;;;;;;;;;;;;;;;;;;;;4;4;4;4;4;;;4;4;4;4;4;4;4;;;;;4;4;4;4;;;;4;4;;;4;4;4;4;4;4;;;;3;3;3;3;;;;;;;;;;;;;;;;;;
+NI_PFI(4);;;;;;;;;;;;;;;;;;;;;;;;;;5;5;5;5;5;;;5;5;5;5;5;5;5;;;;;5;5;5;5;;;;5;5;;;5;5;5;5;5;5;;;;4;4;4;4;;;;;;;;;;;;;;;;;;
+NI_PFI(5);;;;;;;;;;;;;;;;;;;;;;;;;;6;6;6;6;6;;;6;6;6;6;6;6;6;;;;;6;6;6;6;;;;6;6;;;6;6;6;6;6;6;;;;5;5;5;5;;;;;;;;;;;;;;;;;;
+NI_PFI(6);;;;;;;;;;;;;;;;;;;;;;;;;;7;7;7;7;7;;;7;7;7;7;7;7;7;;;;;7;7;7;7;;;;7;7;;;7;7;7;7;7;7;;;;;;;;;;;;;;;;;;;;;;;;;
+NI_PFI(7);;;;;;;;;;;;;;;;;;;;;;;;;;8;8;8;8;8;;;8;8;8;8;8;8;8;;;;;8;8;8;8;;;;8;8;;;8;8;8;8;8;8;;;;;;;;;;;;;;;;;;;;;;;;;
+NI_PFI(8);;;;;;;;;;;;;;;;;;;;;;;;;;9;9;9;9;9;;;9;9;9;9;9;9;9;;;;;9;9;9;9;;;;9;9;;;9;9;9;9;9;9;;;;;;;;;;;;;;;;;;;;;;;;;
+NI_PFI(9);;;;;;;;;;;;;;;;;;;;;;;;;;10;10;10;10;10;;;10;10;10;10;10;10;10;;;;;10;10;10;10;;;;10;10;;;10;10;10;10;10;10;;;;;;;;;;;;;;;;;;;;;;;;;
+NI_PFI(10);;;;;;;;;;;;;;;;;;;;;;;;;;21;21;21;21;21;;;21;21;21;21;21;21;21;;;;;21;21;21;21;;;;21;21;;;21;21;21;21;21;21;;;;;;;;;;;;;;;;;;;;;;;;;
+NI_PFI(11);;;;;;;;;;;;;;;;;;;;;;;;;;22;22;22;22;22;;;22;22;22;22;22;22;22;;;;;22;22;22;22;;;;22;22;;;22;22;22;22;22;22;;;;;;;;;;;;;;;;;;;;;;;;;
+NI_PFI(12);;;;;;;;;;;;;;;;;;;;;;;;;;23;23;23;23;23;;;23;23;23;23;23;23;23;;;;;23;23;23;23;;;;23;23;;;23;23;23;23;23;23;;;;;;;;;;;;;;;;;;;;;;;;;
+NI_PFI(13);;;;;;;;;;;;;;;;;;;;;;;;;;24;24;24;24;24;;;24;24;24;24;24;24;24;;;;;24;24;24;24;;;;24;24;;;24;24;24;24;24;24;;;;;;;;;;;;;;;;;;;;;;;;;
+NI_PFI(14);;;;;;;;;;;;;;;;;;;;;;;;;;25;25;25;25;25;;;25;25;25;25;25;25;25;;;;;25;25;25;25;;;;25;25;;;25;25;25;25;25;25;;;;;;;;;;;;;;;;;;;;;;;;;
+NI_PFI(15);;;;;;;;;;;;;;;;;;;;;;;;;;26;26;26;26;26;;;26;26;26;26;26;26;26;;;;;26;26;26;26;;;;26;26;;;26;26;26;26;26;26;;;;;;;;;;;;;;;;;;;;;;;;;
+TRIGGER_LINE(0);18;18;18;18;18;18;18;18;18;18;18;18;18;18;18;18;;;;;;;;;;11;11;11;11;11;;;11;11;11;11;11;11;11;11;;1;;11;11;11;11;;;;11;11;;;11;11;11;11;11;11;;;;;;;;;RTSI_Trig_0_Output_Select;;;;;;;;;;;;;;;;
+TRIGGER_LINE(1);19;19;19;19;19;19;19;19;19;19;19;19;19;19;19;19;;;;;;;;;;12;12;12;12;12;;;12;12;12;12;12;12;12;12;;2;;12;12;12;12;;;;12;12;;;12;12;12;12;12;12;;;;;;;;;RTSI_Trig_1_Output_Select;;;;;;;;;;;;;;;;
+TRIGGER_LINE(2);20;20;20;20;20;20;20;20;20;20;20;20;20;20;20;20;;;;;;;;;;13;13;13;13;13;;;13;13;13;13;13;13;13;13;;3;;13;13;13;13;;;;13;13;;;13;13;13;13;13;13;;;;;;;;;RTSI_Trig_2_Output_Select;;;;;;;;;;;;;;;;
+TRIGGER_LINE(3);21;21;21;21;21;21;21;21;21;21;21;21;21;21;21;21;;;;;;;;;;14;14;14;14;14;;;14;14;14;14;14;14;14;14;;4;;14;14;14;14;;;;14;14;;;14;14;14;14;14;14;;;;;;;;;RTSI_Trig_3_Output_Select;;;;;;;;;;;;;;;;
+TRIGGER_LINE(4);22;22;22;22;22;22;22;22;22;22;22;22;22;22;22;22;;;;;;;;;;15;15;15;15;15;;;15;15;15;15;15;15;15;15;;5;;15;15;15;15;;;;15;15;;;15;15;15;15;15;15;;;;;;;;;RTSI_Trig_4_Output_Select;;;;;;;;;;;;;;;;
+TRIGGER_LINE(5);23;23;23;23;23;23;23;23;23;23;23;23;23;23;23;23;;;;;;;;;;16;16;16;16;16;;;16;16;16;16;16;16;16;16;;6;;16;16;16;16;;;;16;16;;;16;16;16;16;16;16;;;;;;;;;RTSI_Trig_5_Output_Select;;;;;;;;;;;;;;;;
+TRIGGER_LINE(6);24;24;24;24;24;24;24;24;24;24;24;24;24;24;24;24;;;;;;;;;;17;17;17;17;17;;;17;17;17;17;17;17;17;17;;7;;17;17;17;17;;;;17;17;;;17;17;17;17;17;17;;;;;;;;;RTSI_Trig_6_Output_Select;;;;;;;;;;;;;;;;
+TRIGGER_LINE(7);25;25;25;25;25;25;25;25;25;25;25;25;25;25;25;25;;;;;;;;;;27;27;27;27;27;;;27;27;27;27;27;27;27;27;;;;27;27;27;27;;;;27;27;;;27;27;27;27;27;27;;;;;;;;;RTSI_Trig_7_Output_Select;;;;;;;;;;;;;;;;
+PXI_Star;26;26;26;26;26;26;26;26;26;26;26;26;26;26;26;26;;;;;;;;;;20;20;20;20;20;;;20;20;20;20;20;20;20;20;;;;Gi_SRC(20, 1);Gi_SRC(20, 1);19;19;;;;19;19;;;20;20;20;20;20;20;;;;;;;;;Gi_SRC(x,1) implements Gi_Src_SubSelect = 1;;;;;;;;;;;;;;;;
+NI_AI_SampleClock;8;8;8;8;8;8;8;8;8;8;8;8;8;8;8;8;;;;;;;;;;;;;;;;;;;;;;18;18;;;;;;;;;;;;;;;;;;;;;;;;;15;15;15;15;;AI_START_Select;;;;;;;;;;;;;;;;
+NI_AI_SampleClockTimebase;;;;;;;;;;;;;;;;;;;;;;;;;;0;;;;;0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AI_SI (If internal sample clock signal is used);;;;;;;;;;;;;;;;
+NI_AI_StartTrigger;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;0;0;0;0;0;0;0;0;;;;;;;;;;;;19;;;;;;;;;;28;28;;;;28;28;;;;;;;;;;;;;;;;;AI_START1_Select;;;;;;;*: for AO_StartTrigger, DAQ-STC & MHDDK disagreed for e-series.  MHDDK for m-series is appends to DAQ-STC description---no DAQ-STC2 docs;;;;;;;;;
+NI_AI_ReferenceTrigger;2;2;2;2;2;2;2;2;2;2;2;2;2;2;2;2;1;1;1;1;1;1;1;1;;;;;;;;;;;;18;;;;;;;;;;18;18;;;;18;18;;;;;;;;;;;;;;;;;AI_START2_Select (for pre-triggered acquisition---not currently supported in comedi);;;;;;;;;;;;;;;;
+NI_AI_ConvertClock;3;3;3;3;3;3;3;3;3;3;3;3;3;3;3;3;2;2;2;2;2;2;2;2;;;;;;;;;;;;;;19;19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AI_CONVERT_Source_Select;;;;;;;;;;;;;;;;
+NI_AI_ConvertClockTimebase;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AI_SI2 (if internal convert signal is used);;;;;;;;;;;;;;;;
+NI_AI_HoldCompleteEvent;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+NI_AI_PauseTrigger;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7;7;7;7;;AI_External_Gate;;;;;;;;;;;;;;;;
+NI_AO_SampleClock;6;6;6;6;6;6;6;6;6;6;6;6;6;6;6;6;3;3;3;3;3;3;3;3;;;;;;;;;;;;;;31;31;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AO_UPDATE;;;;;;;;;;;;;;;;
+NI_AO_SampleClockTimebase;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AO_UI;;;;;;;;;;;;;;;;
+NI_AO_StartTrigger;7;7;7;7;7;7;7;7;7;7;7;7;7;7;7;7;4;4;4;4;4;4;4;4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AO_START1;;;;;;;;;;;;;;;;
+NI_AO_PauseTrigger;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6;6;6;6;;AO_External_Gate;;;;;;;;;;;;;;;;
+NI_DI_SampleClock;29;29;29;29;29;29;29;29;29;29;29;29;29;29;29;29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+NI_DO_SampleClock;30;30;30;30;30;30;30;30;30;30;30;30;30;30;30;30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+NI_MasterTimebase;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+NI_20MHzTimebase;;;;;;;;;;;;;;;;;;;;;;;;;;;28;;;;1;;;;28;;;;;;;;;0;0;;;;;;;;;;;;;;;;;0;;;;;;;TIMEBASE 1 && TIMEBASE 3 if no higher clock exists;;;;;;;;;;;;;;;;*: tMSeries.h shows 0 value as selecting ground (case ground?) and 28 value selecting TIMEBASE 1
+NI_80MHzTimebase;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;Gi_SRC(30, 0);Gi_SRC(30, 0); ;;;;; ;;;;;;;;;;;;;;;;;;TIMEBASE 3;;;;;Gi_SRC(x,0) implements Gi_Src_SubSelect = 0;;;;;;;;;;;
+NI_100kHzTimebase;;;;;;;;;;;;;;;;;;;;;;;;;;;19;;;;;;;;19;;;;;;;;;18;18;;;;;;;;;;;;;;;;;1;;;;;;;TIMEBASE 2;;;;;;;;;;;;;;;;
+NI_10MHzRefClock;;;;;;;;;;;;;;;;;12;12;12;12;12;12;12;12;;;;;;;;;;;;;;;;0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;value of 12 for TRIGGER_LINE(n) destination should be RTSI_OSC according to MHDDK mseries source.  There are hints in comedi that show that this is actualy a 20MHz source for 628x cards(?);;;;;;;;;;;;;;;;
+PXI_Clk10;;;;;;;;;;;;;;;;;;;;;;;;;;;29;;;;;;;;29;;;;;29;;;;29;29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+NI_CtrOut(0);;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1;;;;;;;;;;;;;;;;;;;GPFO_0, external ctr0out pin;;;;;;;;;;;;;;;;
+NI_CtrOut(1);;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9;9;9;9;;GPFO_1, external ctr1out pin;;;;;;;;;;;;;;;;
+NI_CtrSource(0);9;9;9;9;9;9;9;9;9;9;9;9;9;9;9;9;5;5;5;5;5;5;5;5;;;;;;;;;;;;;;;;;;;;;;;29;;;;;29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+NI_CtrSource(1);4;4;4;4;4;4;4;4;4;4;4;4;4;4;4;4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;29;;;;;29;;;;;;;;;;;;;11;11;11;11;;;;;;;;;;;;;;;;;;
+NI_CtrGate(0);10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;6;6;6;6;6;6;6;6;;;;;;;;;;;;;;;;;;;;;Gi_SRC(20, 0); ;;;;; ;;;;;;;;;;;;;;;;;;Gi_SRC(x,0) implements Gi_Src_SubSelect = 0;;;;;;;;;;;;;;;;
+NI_CtrGate(1);5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;;;;;;;;;;;;;;;;;;;;;;;;;;;;Gi_SRC(20, 0); ;;;;;;;;;;;;;;;;;;;10;10;10;10;;Gi_SRC(x,0) implements Gi_Src_SubSelect = 0;;;;;;;;;;;;;;;;
+NI_CtrInternalOutput(0);13;13;13;13;13;13;13;13;13;13;13;13;13;13;13;13;;;;;;;;;;19;;18;;19 /* source:  mhddk example headers */; ;;;18;;;;28;28;;;0;;;19;;20 /* source:  mhddk GP examples */; ;;0;;20 /* source:  mhddk GP examples */; ;;;;;;;;;;;;;;;;G_OUT0, G0_TC (for Ctr1Source, Ctr1Gate);;;;;;;;;;;;;;;;
+NI_CtrInternalOutput(1);14;14;14;14;14;14;14;14;14;14;14;14;14;14;14;14;;;;;;;;;;28;;19;;18 /* source:  mhddk example headers */; ;;;19;;;;29;29;;;;0;19;;20 /* source:  mhddk GP examples */; ;;;;20 /* source:  mhddk GP examples */; ;;;;;;;;;;;;;;;;;G_OUT1, G1_TC (for Ctr0Source, Ctr0Gate);;;;;;;;;;;;;;;;
+NI_RGOUT0;;;;;;;;;;;;;;;;;7;7;7;7;7;7;7;7;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;RGOUT0 internal signal;;;;;;;;;;;;;;;;
+NI_CtrAux(0);;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+NI_CtrAux(1);;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+NI_CtrArmStartTrigger(0);;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+NI_CtrArmStartTrigger(1);;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+NI_CtrA(0);;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"G0_A_Select, up/down; See nimseries/Examples for outputs; inputs a guess from device routes";;;;;;;;;;;;;;;;
+NI_CtrA(1);;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"G1_A_Select, up/down; See nimseries/Examples for outputs; inputs a guess from device routes";;;;;;;;;;;;;;;;
+NI_CtrB(0);;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"G0_B_Select, up/down; See nimseries/Examples";;;;;;;;;;;;;;;;
+NI_CtrB(1);;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"G1_B_Select, up/down; See nimseries/Examples";;;;;;;;;;;;;;;;
+NI_CtrZ(0);;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13;13;13;13;;"See nimseries/ChipObjects/tMSeries.h for outputs; inputs a guess from device routes";;;;;;;;;;;;;;;;
+NI_CtrZ(1);;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12;12;12;12;;"See nimseries/ChipObjects/tMSeries.h for outputs; inputs a guess from device routes";;;;;;;;;;;;;;;;
+NI_FrequencyOutput;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;;;;;;;;;;;;;;;;;;;;;;32;32;;;;;;;;;;;;;;;;;;;;;;;;;8;8;8;8;;See nimseries/ChipObjects/tMSeries.h;;;;;;;;;;;;;;;;
+#NI_FrequencyOutputTimebase;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+NI_ChangeDetectionEvent;28;28;28;28;28;28;28;28;28;28;28;28;28;28;28;28;;;;;;;;;;;;;;;;;;;;;;33;33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+NI_RTSI_BRD(0);;;;;;;;;;;;;;;;;8;8;8;8;8;8;8;8;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+NI_RTSI_BRD(1);;;;;;;;;;;;;;;;;9;9;9;9;9;9;9;9;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+NI_RTSI_BRD(2);;;;;;;;;;;;;;;;;10;10;10;10;10;10;10;10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+NI_RTSI_BRD(3);;;;;;;;;;;;;;;;;11;11;11;11;11;11;11;11;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+#NI_SoftwareStrobe;;;;;;;;;;;;;;;;;;;;;;;;;;18;;0;0;;;;;;;0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+NI_LogicLow;;;;;;;;;;;;;;;;;;;;;;;;;;31;31;31;31;31;;;31;31;31;31;31;;;;;;;31;31;31;31;;;;31;31;;;31;31;31;31;31;31;;;;;;;;;;;;;;;;;;;;;;;;;
+NI_AnalogComparisonEvent;17;17;17;17;17;17;17;17;17;17;17;17;17;17;17;17;;;;;;;;;;30;30;30;30;30;;;30;30;30;30;30;;;;;;;Gi_SRC(30, 1);Gi_SRC(30, 1);30;30;;;;30;30;;;30;30;30;30;30;30;;;;14;14;14;14;;Gi_SRC(x,1) implements Gi_Src_SubSelect = 1;;;;;;;;;;;;;;;;
+NI_SCXI_Trig1;27;27;27;27;27;27;27;27;27;27;27;27;27;27;27;27;;;;;;;;;;29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+NI_CaseGround;;;;;;;;;;;;;;;;;;;;;;;;;;;0;;;;;;;;0;;;0;0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;*: tMSeries.h shows 0 value as selecting ground (case ground?) and 28 value selecting TIMEBASE 1;;;;;;;;;;;;;;;;
+NI_ExternalStrobe;11;11;11;11;11;11;11;11;11;11;11;11;11;11;11;11;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+NI_AI_ExternalMUXClock;12;12;12;12;12;12;12;12;12;12;12;12;12;12;12;12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+NI_PFI_DO;16;16;16;16;16;16;16;16;16;16;16;16;16;16;16;16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+# Timestamp MUX output;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;0;0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+# Implementation Note;2;2;2;2;2;2;2;2;2;2;2;2;2;2;2;2;2;2;2;2;2;2;2;2;0;2;0;2;0;2;0;0;0;2;0;2;0;2;2;0;0;0;0;0;0;2;2;0;0;2;1;1;0;0;2;2;2;2;2;2;0;0;0;2;2;2;2;;;;;;;;;;;;;;;;;;
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+;;;;;;Implementation Notes Legend:;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+;;;;;;0;;Not implemented;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+;;;;;;1;;Partially implemented;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+;;;;;;2;;Implemented;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+;;;;;;3;;Implemented and partially tested;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+;;;;;;4;;Implemented and tested;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-- 
1.9.1

