root/drivers/staging/comedi/drivers/ni_routing/ni_route_values/ni_eseries.c

/* [<][>][^][v][top][bottom][index][help] */
   1 // SPDX-License-Identifier: GPL-2.0+
   2 /* vim: set ts=8 sw=8 noet tw=80 nowrap: */
   3 /*
   4  *  comedi/drivers/ni_routing/ni_route_values/ni_eseries.c
   5  *  Route information for NI_ESERIES boards.
   6  *
   7  *  COMEDI - Linux Control and Measurement Device Interface
   8  *  Copyright (C) 2016 Spencer E. Olson <olsonse@umich.edu>
   9  *
  10  *  This program is free software; you can redistribute it and/or modify
  11  *  it under the terms of the GNU General Public License as published by
  12  *  the Free Software Foundation; either version 2 of the License, or
  13  *  (at your option) any later version.
  14  *
  15  *  This program is distributed in the hope that it will be useful,
  16  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
  17  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  18  *  GNU General Public License for more details.
  19  */
  20 
  21 /*
  22  * This file includes a list of all the values of various signals routes
  23  * available on NI 660x hardware.  In many cases, one does not explicitly make
  24  * these routes, rather one might indicate that something is used as the source
  25  * of one particular trigger or another (using *_src=TRIG_EXT).
  26  *
  27  * The contents of this file can be generated using the tools in
  28  * comedi/drivers/ni_routing/tools.  This file also contains specific notes to
  29  * this family of devices.
  30  *
  31  * Please use those tools to help maintain the contents of this file, but be
  32  * mindful to not lose the notes already made in this file, since these notes
  33  * are critical to a complete undertsanding of the register values of this
  34  * family.
  35  */
  36 
  37 #include "../ni_route_values.h"
  38 #include "all.h"
  39 
  40 /*
  41  * Note that for e-series devices, the backplane TRIGGER_LINE(6) is generally
  42  * not connected to RTSI(6).
  43  */
  44 
  45 const struct family_route_values ni_eseries_route_values = {
  46         .family = "ni_eseries",
  47         .register_values = {
  48                 /*
  49                  * destination = {
  50                  *              source          = register value,
  51                  *              ...
  52                  * }
  53                  */
  54                 [B(NI_PFI(0))] = {
  55                         [B(NI_AI_StartTrigger)] = I(NI_PFI_OUTPUT_AI_START1),
  56                 },
  57                 [B(NI_PFI(1))] = {
  58                         [B(NI_AI_ReferenceTrigger)]     = I(NI_PFI_OUTPUT_AI_START2),
  59                 },
  60                 [B(NI_PFI(2))] = {
  61                         [B(NI_AI_ConvertClock)] = I(NI_PFI_OUTPUT_AI_CONVERT),
  62                 },
  63                 [B(NI_PFI(3))] = {
  64                         [B(NI_CtrSource(1))]    = I(NI_PFI_OUTPUT_G_SRC1),
  65                 },
  66                 [B(NI_PFI(4))] = {
  67                         [B(NI_CtrGate(1))]      = I(NI_PFI_OUTPUT_G_GATE1),
  68                 },
  69                 [B(NI_PFI(5))] = {
  70                         [B(NI_AO_SampleClock)]  = I(NI_PFI_OUTPUT_AO_UPDATE_N),
  71                 },
  72                 [B(NI_PFI(6))] = {
  73                         [B(NI_AO_StartTrigger)] = I(NI_PFI_OUTPUT_AO_START1),
  74                 },
  75                 [B(NI_PFI(7))] = {
  76                         [B(NI_AI_SampleClock)]  = I(NI_PFI_OUTPUT_AI_START_PULSE),
  77                 },
  78                 [B(NI_PFI(8))] = {
  79                         [B(NI_CtrSource(0))]    = I(NI_PFI_OUTPUT_G_SRC0),
  80                 },
  81                 [B(NI_PFI(9))] = {
  82                         [B(NI_CtrGate(0))]      = I(NI_PFI_OUTPUT_G_GATE0),
  83                 },
  84                 [B(TRIGGER_LINE(0))] = {
  85                         [B(NI_RTSI_BRD(0))]     = I(8),
  86                         [B(NI_RTSI_BRD(1))]     = I(9),
  87                         [B(NI_RTSI_BRD(2))]     = I(10),
  88                         [B(NI_RTSI_BRD(3))]     = I(11),
  89                         [B(NI_CtrSource(0))]    = I(5),
  90                         [B(NI_CtrGate(0))]      = I(6),
  91                         [B(NI_AI_StartTrigger)] = I(0),
  92                         [B(NI_AI_ReferenceTrigger)]     = I(1),
  93                         [B(NI_AI_ConvertClock)] = I(2),
  94                         [B(NI_AO_SampleClock)]  = I(3),
  95                         [B(NI_AO_StartTrigger)] = I(4),
  96                         [B(NI_RGOUT0)]  = I(7),
  97                 },
  98                 [B(TRIGGER_LINE(1))] = {
  99                         [B(NI_RTSI_BRD(0))]     = I(8),
 100                         [B(NI_RTSI_BRD(1))]     = I(9),
 101                         [B(NI_RTSI_BRD(2))]     = I(10),
 102                         [B(NI_RTSI_BRD(3))]     = I(11),
 103                         [B(NI_CtrSource(0))]    = I(5),
 104                         [B(NI_CtrGate(0))]      = I(6),
 105                         [B(NI_AI_StartTrigger)] = I(0),
 106                         [B(NI_AI_ReferenceTrigger)]     = I(1),
 107                         [B(NI_AI_ConvertClock)] = I(2),
 108                         [B(NI_AO_SampleClock)]  = I(3),
 109                         [B(NI_AO_StartTrigger)] = I(4),
 110                         [B(NI_RGOUT0)]  = I(7),
 111                 },
 112                 [B(TRIGGER_LINE(2))] = {
 113                         [B(NI_RTSI_BRD(0))]     = I(8),
 114                         [B(NI_RTSI_BRD(1))]     = I(9),
 115                         [B(NI_RTSI_BRD(2))]     = I(10),
 116                         [B(NI_RTSI_BRD(3))]     = I(11),
 117                         [B(NI_CtrSource(0))]    = I(5),
 118                         [B(NI_CtrGate(0))]      = I(6),
 119                         [B(NI_AI_StartTrigger)] = I(0),
 120                         [B(NI_AI_ReferenceTrigger)]     = I(1),
 121                         [B(NI_AI_ConvertClock)] = I(2),
 122                         [B(NI_AO_SampleClock)]  = I(3),
 123                         [B(NI_AO_StartTrigger)] = I(4),
 124                         [B(NI_RGOUT0)]  = I(7),
 125                 },
 126                 [B(TRIGGER_LINE(3))] = {
 127                         [B(NI_RTSI_BRD(0))]     = I(8),
 128                         [B(NI_RTSI_BRD(1))]     = I(9),
 129                         [B(NI_RTSI_BRD(2))]     = I(10),
 130                         [B(NI_RTSI_BRD(3))]     = I(11),
 131                         [B(NI_CtrSource(0))]    = I(5),
 132                         [B(NI_CtrGate(0))]      = I(6),
 133                         [B(NI_AI_StartTrigger)] = I(0),
 134                         [B(NI_AI_ReferenceTrigger)]     = I(1),
 135                         [B(NI_AI_ConvertClock)] = I(2),
 136                         [B(NI_AO_SampleClock)]  = I(3),
 137                         [B(NI_AO_StartTrigger)] = I(4),
 138                         [B(NI_RGOUT0)]  = I(7),
 139                 },
 140                 [B(TRIGGER_LINE(4))] = {
 141                         [B(NI_RTSI_BRD(0))]     = I(8),
 142                         [B(NI_RTSI_BRD(1))]     = I(9),
 143                         [B(NI_RTSI_BRD(2))]     = I(10),
 144                         [B(NI_RTSI_BRD(3))]     = I(11),
 145                         [B(NI_CtrSource(0))]    = I(5),
 146                         [B(NI_CtrGate(0))]      = I(6),
 147                         [B(NI_AI_StartTrigger)] = I(0),
 148                         [B(NI_AI_ReferenceTrigger)]     = I(1),
 149                         [B(NI_AI_ConvertClock)] = I(2),
 150                         [B(NI_AO_SampleClock)]  = I(3),
 151                         [B(NI_AO_StartTrigger)] = I(4),
 152                         [B(NI_RGOUT0)]  = I(7),
 153                 },
 154                 [B(TRIGGER_LINE(5))] = {
 155                         [B(NI_RTSI_BRD(0))]     = I(8),
 156                         [B(NI_RTSI_BRD(1))]     = I(9),
 157                         [B(NI_RTSI_BRD(2))]     = I(10),
 158                         [B(NI_RTSI_BRD(3))]     = I(11),
 159                         [B(NI_CtrSource(0))]    = I(5),
 160                         [B(NI_CtrGate(0))]      = I(6),
 161                         [B(NI_AI_StartTrigger)] = I(0),
 162                         [B(NI_AI_ReferenceTrigger)]     = I(1),
 163                         [B(NI_AI_ConvertClock)] = I(2),
 164                         [B(NI_AO_SampleClock)]  = I(3),
 165                         [B(NI_AO_StartTrigger)] = I(4),
 166                         [B(NI_RGOUT0)]  = I(7),
 167                 },
 168                 [B(TRIGGER_LINE(6))] = {
 169                         [B(NI_RTSI_BRD(0))]     = I(8),
 170                         [B(NI_RTSI_BRD(1))]     = I(9),
 171                         [B(NI_RTSI_BRD(2))]     = I(10),
 172                         [B(NI_RTSI_BRD(3))]     = I(11),
 173                         [B(NI_CtrSource(0))]    = I(5),
 174                         [B(NI_CtrGate(0))]      = I(6),
 175                         [B(NI_AI_StartTrigger)] = I(0),
 176                         [B(NI_AI_ReferenceTrigger)]     = I(1),
 177                         [B(NI_AI_ConvertClock)] = I(2),
 178                         [B(NI_AO_SampleClock)]  = I(3),
 179                         [B(NI_AO_StartTrigger)] = I(4),
 180                         [B(NI_RGOUT0)]  = I(7),
 181                 },
 182                 [B(TRIGGER_LINE(7))] = {
 183                         [B(NI_20MHzTimebase)]   = I(NI_RTSI_OUTPUT_RTSI_OSC),
 184                 },
 185                 [B(NI_RTSI_BRD(0))] = {
 186                         [B(TRIGGER_LINE(0))]    = I(0),
 187                         [B(TRIGGER_LINE(1))]    = I(1),
 188                         [B(TRIGGER_LINE(2))]    = I(2),
 189                         [B(TRIGGER_LINE(3))]    = I(3),
 190                         [B(TRIGGER_LINE(4))]    = I(4),
 191                         [B(TRIGGER_LINE(5))]    = I(5),
 192                         [B(TRIGGER_LINE(6))]    = I(6),
 193                         [B(PXI_Star)]   = I(6),
 194                         [B(NI_AI_STOP)] = I(7),
 195                 },
 196                 [B(NI_RTSI_BRD(1))] = {
 197                         [B(TRIGGER_LINE(0))]    = I(0),
 198                         [B(TRIGGER_LINE(1))]    = I(1),
 199                         [B(TRIGGER_LINE(2))]    = I(2),
 200                         [B(TRIGGER_LINE(3))]    = I(3),
 201                         [B(TRIGGER_LINE(4))]    = I(4),
 202                         [B(TRIGGER_LINE(5))]    = I(5),
 203                         [B(TRIGGER_LINE(6))]    = I(6),
 204                         [B(PXI_Star)]   = I(6),
 205                         [B(NI_AI_STOP)] = I(7),
 206                 },
 207                 [B(NI_RTSI_BRD(2))] = {
 208                         [B(TRIGGER_LINE(0))]    = I(0),
 209                         [B(TRIGGER_LINE(1))]    = I(1),
 210                         [B(TRIGGER_LINE(2))]    = I(2),
 211                         [B(TRIGGER_LINE(3))]    = I(3),
 212                         [B(TRIGGER_LINE(4))]    = I(4),
 213                         [B(TRIGGER_LINE(5))]    = I(5),
 214                         [B(TRIGGER_LINE(6))]    = I(6),
 215                         [B(PXI_Star)]   = I(6),
 216                         [B(NI_AI_SampleClock)]  = I(7),
 217                 },
 218                 [B(NI_RTSI_BRD(3))] = {
 219                         [B(TRIGGER_LINE(0))]    = I(0),
 220                         [B(TRIGGER_LINE(1))]    = I(1),
 221                         [B(TRIGGER_LINE(2))]    = I(2),
 222                         [B(TRIGGER_LINE(3))]    = I(3),
 223                         [B(TRIGGER_LINE(4))]    = I(4),
 224                         [B(TRIGGER_LINE(5))]    = I(5),
 225                         [B(TRIGGER_LINE(6))]    = I(6),
 226                         [B(PXI_Star)]   = I(6),
 227                         [B(NI_AI_SampleClock)]  = I(7),
 228                 },
 229                 [B(NI_CtrSource(0))] = {
 230                         /* These are not currently implemented in ni modules */
 231                         [B(NI_PFI(0))]  = U(1),
 232                         [B(NI_PFI(1))]  = U(2),
 233                         [B(NI_PFI(2))]  = U(3),
 234                         [B(NI_PFI(3))]  = U(4),
 235                         [B(NI_PFI(4))]  = U(5),
 236                         [B(NI_PFI(5))]  = U(6),
 237                         [B(NI_PFI(6))]  = U(7),
 238                         [B(NI_PFI(7))]  = U(8),
 239                         [B(NI_PFI(8))]  = U(9),
 240                         [B(NI_PFI(9))]  = U(10),
 241                         [B(TRIGGER_LINE(0))]    = U(11),
 242                         [B(TRIGGER_LINE(1))]    = U(12),
 243                         [B(TRIGGER_LINE(2))]    = U(13),
 244                         [B(TRIGGER_LINE(3))]    = U(14),
 245                         [B(TRIGGER_LINE(4))]    = U(15),
 246                         [B(TRIGGER_LINE(5))]    = U(16),
 247                         [B(TRIGGER_LINE(6))]    = U(17),
 248                         [B(NI_CtrInternalOutput(1))]    = U(19),
 249                         [B(PXI_Star)]   = U(17),
 250                         [B(NI_20MHzTimebase)]   = U(0),
 251                         [B(NI_100kHzTimebase)]  = U(18),
 252                         [B(NI_LogicLow)]        = U(31),
 253                 },
 254                 [B(NI_CtrSource(1))] = {
 255                         /* These are not currently implemented in ni modules */
 256                         [B(NI_PFI(0))]  = U(1),
 257                         [B(NI_PFI(1))]  = U(2),
 258                         [B(NI_PFI(2))]  = U(3),
 259                         [B(NI_PFI(3))]  = U(4),
 260                         [B(NI_PFI(4))]  = U(5),
 261                         [B(NI_PFI(5))]  = U(6),
 262                         [B(NI_PFI(6))]  = U(7),
 263                         [B(NI_PFI(7))]  = U(8),
 264                         [B(NI_PFI(8))]  = U(9),
 265                         [B(NI_PFI(9))]  = U(10),
 266                         [B(TRIGGER_LINE(0))]    = U(11),
 267                         [B(TRIGGER_LINE(1))]    = U(12),
 268                         [B(TRIGGER_LINE(2))]    = U(13),
 269                         [B(TRIGGER_LINE(3))]    = U(14),
 270                         [B(TRIGGER_LINE(4))]    = U(15),
 271                         [B(TRIGGER_LINE(5))]    = U(16),
 272                         [B(TRIGGER_LINE(6))]    = U(17),
 273                         [B(NI_CtrInternalOutput(0))]    = U(19),
 274                         [B(PXI_Star)]   = U(17),
 275                         [B(NI_20MHzTimebase)]   = U(0),
 276                         [B(NI_100kHzTimebase)]  = U(18),
 277                         [B(NI_LogicLow)]        = U(31),
 278                 },
 279                 [B(NI_CtrGate(0))] = {
 280                         [B(NI_PFI(0))]  = I(1),
 281                         [B(NI_PFI(1))]  = I(2),
 282                         [B(NI_PFI(2))]  = I(3),
 283                         [B(NI_PFI(3))]  = I(4),
 284                         [B(NI_PFI(4))]  = I(5),
 285                         [B(NI_PFI(5))]  = I(6),
 286                         [B(NI_PFI(6))]  = I(7),
 287                         [B(NI_PFI(7))]  = I(8),
 288                         [B(NI_PFI(8))]  = I(9),
 289                         [B(NI_PFI(9))]  = I(10),
 290                         [B(TRIGGER_LINE(0))]    = I(11),
 291                         [B(TRIGGER_LINE(1))]    = I(12),
 292                         [B(TRIGGER_LINE(2))]    = I(13),
 293                         [B(TRIGGER_LINE(3))]    = I(14),
 294                         [B(TRIGGER_LINE(4))]    = I(15),
 295                         [B(TRIGGER_LINE(5))]    = I(16),
 296                         [B(TRIGGER_LINE(6))]    = I(17),
 297                         [B(NI_CtrInternalOutput(1))]    = I(20),
 298                         [B(PXI_Star)]   = I(17),
 299                         [B(NI_AI_StartTrigger)] = I(21),
 300                         [B(NI_AI_ReferenceTrigger)]     = I(18),
 301                         [B(NI_LogicLow)]        = I(31),
 302                 },
 303                 [B(NI_CtrGate(1))] = {
 304                         [B(NI_PFI(0))]  = I(1),
 305                         [B(NI_PFI(1))]  = I(2),
 306                         [B(NI_PFI(2))]  = I(3),
 307                         [B(NI_PFI(3))]  = I(4),
 308                         [B(NI_PFI(4))]  = I(5),
 309                         [B(NI_PFI(5))]  = I(6),
 310                         [B(NI_PFI(6))]  = I(7),
 311                         [B(NI_PFI(7))]  = I(8),
 312                         [B(NI_PFI(8))]  = I(9),
 313                         [B(NI_PFI(9))]  = I(10),
 314                         [B(TRIGGER_LINE(0))]    = I(11),
 315                         [B(TRIGGER_LINE(1))]    = I(12),
 316                         [B(TRIGGER_LINE(2))]    = I(13),
 317                         [B(TRIGGER_LINE(3))]    = I(14),
 318                         [B(TRIGGER_LINE(4))]    = I(15),
 319                         [B(TRIGGER_LINE(5))]    = I(16),
 320                         [B(TRIGGER_LINE(6))]    = I(17),
 321                         [B(NI_CtrInternalOutput(0))]    = I(20),
 322                         [B(PXI_Star)]   = I(17),
 323                         [B(NI_AI_StartTrigger)] = I(21),
 324                         [B(NI_AI_ReferenceTrigger)]     = I(18),
 325                         [B(NI_LogicLow)]        = I(31),
 326                 },
 327                 [B(NI_CtrOut(0))] = {
 328                         [B(TRIGGER_LINE(0))]    = I(1),
 329                         [B(TRIGGER_LINE(1))]    = I(2),
 330                         [B(TRIGGER_LINE(2))]    = I(3),
 331                         [B(TRIGGER_LINE(3))]    = I(4),
 332                         [B(TRIGGER_LINE(4))]    = I(5),
 333                         [B(TRIGGER_LINE(5))]    = I(6),
 334                         [B(TRIGGER_LINE(6))]    = I(7),
 335                         [B(NI_CtrInternalOutput(0))]    = I(0),
 336                         [B(PXI_Star)]   = I(7),
 337                 },
 338                 [B(NI_CtrOut(1))] = {
 339                         [B(NI_CtrInternalOutput(1))]    = I(0),
 340                 },
 341                 [B(NI_AI_SampleClock)] = {
 342                         [B(NI_PFI(0))]  = I(1),
 343                         [B(NI_PFI(1))]  = I(2),
 344                         [B(NI_PFI(2))]  = I(3),
 345                         [B(NI_PFI(3))]  = I(4),
 346                         [B(NI_PFI(4))]  = I(5),
 347                         [B(NI_PFI(5))]  = I(6),
 348                         [B(NI_PFI(6))]  = I(7),
 349                         [B(NI_PFI(7))]  = I(8),
 350                         [B(NI_PFI(8))]  = I(9),
 351                         [B(NI_PFI(9))]  = I(10),
 352                         [B(TRIGGER_LINE(0))]    = I(11),
 353                         [B(TRIGGER_LINE(1))]    = I(12),
 354                         [B(TRIGGER_LINE(2))]    = I(13),
 355                         [B(TRIGGER_LINE(3))]    = I(14),
 356                         [B(TRIGGER_LINE(4))]    = I(15),
 357                         [B(TRIGGER_LINE(5))]    = I(16),
 358                         [B(TRIGGER_LINE(6))]    = I(17),
 359                         [B(NI_CtrInternalOutput(0))]    = I(19),
 360                         [B(PXI_Star)]   = I(17),
 361                         [B(NI_AI_SampleClockTimebase)]  = I(0),
 362                         [B(NI_LogicLow)]        = I(31),
 363                 },
 364                 [B(NI_AI_SampleClockTimebase)] = {
 365                         /* These are not currently implemented in ni modules */
 366                         [B(NI_PFI(0))]  = U(1),
 367                         [B(NI_PFI(1))]  = U(2),
 368                         [B(NI_PFI(2))]  = U(3),
 369                         [B(NI_PFI(3))]  = U(4),
 370                         [B(NI_PFI(4))]  = U(5),
 371                         [B(NI_PFI(5))]  = U(6),
 372                         [B(NI_PFI(6))]  = U(7),
 373                         [B(NI_PFI(7))]  = U(8),
 374                         [B(NI_PFI(8))]  = U(9),
 375                         [B(NI_PFI(9))]  = U(10),
 376                         [B(TRIGGER_LINE(0))]    = U(11),
 377                         [B(TRIGGER_LINE(1))]    = U(12),
 378                         [B(TRIGGER_LINE(2))]    = U(13),
 379                         [B(TRIGGER_LINE(3))]    = U(14),
 380                         [B(TRIGGER_LINE(4))]    = U(15),
 381                         [B(TRIGGER_LINE(5))]    = U(16),
 382                         [B(TRIGGER_LINE(6))]    = U(17),
 383                         [B(PXI_Star)]   = U(17),
 384                         [B(NI_20MHzTimebase)]   = U(0),
 385                         [B(NI_100kHzTimebase)]  = U(19),
 386                         [B(NI_LogicLow)]        = U(31),
 387                 },
 388                 [B(NI_AI_StartTrigger)] = {
 389                         [B(NI_PFI(0))]  = I(1),
 390                         [B(NI_PFI(1))]  = I(2),
 391                         [B(NI_PFI(2))]  = I(3),
 392                         [B(NI_PFI(3))]  = I(4),
 393                         [B(NI_PFI(4))]  = I(5),
 394                         [B(NI_PFI(5))]  = I(6),
 395                         [B(NI_PFI(6))]  = I(7),
 396                         [B(NI_PFI(7))]  = I(8),
 397                         [B(NI_PFI(8))]  = I(9),
 398                         [B(NI_PFI(9))]  = I(10),
 399                         [B(TRIGGER_LINE(0))]    = I(11),
 400                         [B(TRIGGER_LINE(1))]    = I(12),
 401                         [B(TRIGGER_LINE(2))]    = I(13),
 402                         [B(TRIGGER_LINE(3))]    = I(14),
 403                         [B(TRIGGER_LINE(4))]    = I(15),
 404                         [B(TRIGGER_LINE(5))]    = I(16),
 405                         [B(TRIGGER_LINE(6))]    = I(17),
 406                         [B(NI_CtrInternalOutput(0))]    = I(18),
 407                         [B(PXI_Star)]   = I(17),
 408                         [B(NI_LogicLow)]        = I(31),
 409                 },
 410                 [B(NI_AI_ReferenceTrigger)] = {
 411                         /* These are not currently implemented in ni modules */
 412                         [B(NI_PFI(0))]  = U(1),
 413                         [B(NI_PFI(1))]  = U(2),
 414                         [B(NI_PFI(2))]  = U(3),
 415                         [B(NI_PFI(3))]  = U(4),
 416                         [B(NI_PFI(4))]  = U(5),
 417                         [B(NI_PFI(5))]  = U(6),
 418                         [B(NI_PFI(6))]  = U(7),
 419                         [B(NI_PFI(7))]  = U(8),
 420                         [B(NI_PFI(8))]  = U(9),
 421                         [B(NI_PFI(9))]  = U(10),
 422                         [B(TRIGGER_LINE(0))]    = U(11),
 423                         [B(TRIGGER_LINE(1))]    = U(12),
 424                         [B(TRIGGER_LINE(2))]    = U(13),
 425                         [B(TRIGGER_LINE(3))]    = U(14),
 426                         [B(TRIGGER_LINE(4))]    = U(15),
 427                         [B(TRIGGER_LINE(5))]    = U(16),
 428                         [B(TRIGGER_LINE(6))]    = U(17),
 429                         [B(PXI_Star)]   = U(17),
 430                         [B(NI_LogicLow)]        = U(31),
 431                 },
 432                 [B(NI_AI_ConvertClock)] = {
 433                         [B(NI_PFI(0))]  = I(1),
 434                         [B(NI_PFI(1))]  = I(2),
 435                         [B(NI_PFI(2))]  = I(3),
 436                         [B(NI_PFI(3))]  = I(4),
 437                         [B(NI_PFI(4))]  = I(5),
 438                         [B(NI_PFI(5))]  = I(6),
 439                         [B(NI_PFI(6))]  = I(7),
 440                         [B(NI_PFI(7))]  = I(8),
 441                         [B(NI_PFI(8))]  = I(9),
 442                         [B(NI_PFI(9))]  = I(10),
 443                         [B(TRIGGER_LINE(0))]    = I(11),
 444                         [B(TRIGGER_LINE(1))]    = I(12),
 445                         [B(TRIGGER_LINE(2))]    = I(13),
 446                         [B(TRIGGER_LINE(3))]    = I(14),
 447                         [B(TRIGGER_LINE(4))]    = I(15),
 448                         [B(TRIGGER_LINE(5))]    = I(16),
 449                         [B(TRIGGER_LINE(6))]    = I(17),
 450                         [B(NI_CtrInternalOutput(0))]    = I(19),
 451                         [B(PXI_Star)]   = I(17),
 452                         [B(NI_AI_ConvertClockTimebase)] = I(0),
 453                         [B(NI_LogicLow)]        = I(31),
 454                 },
 455                 [B(NI_AI_ConvertClockTimebase)] = {
 456                         /* These are not currently implemented in ni modules */
 457                         [B(NI_AI_SampleClockTimebase)]  = U(0),
 458                         [B(NI_20MHzTimebase)]   = U(1),
 459                 },
 460                 [B(NI_AI_PauseTrigger)] = {
 461                         /* These are not currently implemented in ni modules */
 462                         [B(NI_PFI(0))]  = U(1),
 463                         [B(NI_PFI(1))]  = U(2),
 464                         [B(NI_PFI(2))]  = U(3),
 465                         [B(NI_PFI(3))]  = U(4),
 466                         [B(NI_PFI(4))]  = U(5),
 467                         [B(NI_PFI(5))]  = U(6),
 468                         [B(NI_PFI(6))]  = U(7),
 469                         [B(NI_PFI(7))]  = U(8),
 470                         [B(NI_PFI(8))]  = U(9),
 471                         [B(NI_PFI(9))]  = U(10),
 472                         [B(TRIGGER_LINE(0))]    = U(11),
 473                         [B(TRIGGER_LINE(1))]    = U(12),
 474                         [B(TRIGGER_LINE(2))]    = U(13),
 475                         [B(TRIGGER_LINE(3))]    = U(14),
 476                         [B(TRIGGER_LINE(4))]    = U(15),
 477                         [B(TRIGGER_LINE(5))]    = U(16),
 478                         [B(TRIGGER_LINE(6))]    = U(17),
 479                         [B(PXI_Star)]   = U(17),
 480                         [B(NI_LogicLow)]        = U(31),
 481                 },
 482                 [B(NI_AO_SampleClock)] = {
 483                         [B(NI_PFI(0))]  = I(1),
 484                         [B(NI_PFI(1))]  = I(2),
 485                         [B(NI_PFI(2))]  = I(3),
 486                         [B(NI_PFI(3))]  = I(4),
 487                         [B(NI_PFI(4))]  = I(5),
 488                         [B(NI_PFI(5))]  = I(6),
 489                         [B(NI_PFI(6))]  = I(7),
 490                         [B(NI_PFI(7))]  = I(8),
 491                         [B(NI_PFI(8))]  = I(9),
 492                         [B(NI_PFI(9))]  = I(10),
 493                         [B(TRIGGER_LINE(0))]    = I(11),
 494                         [B(TRIGGER_LINE(1))]    = I(12),
 495                         [B(TRIGGER_LINE(2))]    = I(13),
 496                         [B(TRIGGER_LINE(3))]    = I(14),
 497                         [B(TRIGGER_LINE(4))]    = I(15),
 498                         [B(TRIGGER_LINE(5))]    = I(16),
 499                         [B(TRIGGER_LINE(6))]    = I(17),
 500                         [B(NI_CtrInternalOutput(1))]    = I(19),
 501                         [B(PXI_Star)]   = I(17),
 502                         [B(NI_AO_SampleClockTimebase)]  = I(0),
 503                         [B(NI_LogicLow)]        = I(31),
 504                 },
 505                 [B(NI_AO_SampleClockTimebase)] = {
 506                         /* These are not currently implemented in ni modules */
 507                         [B(NI_PFI(0))]  = U(1),
 508                         [B(NI_PFI(1))]  = U(2),
 509                         [B(NI_PFI(2))]  = U(3),
 510                         [B(NI_PFI(3))]  = U(4),
 511                         [B(NI_PFI(4))]  = U(5),
 512                         [B(NI_PFI(5))]  = U(6),
 513                         [B(NI_PFI(6))]  = U(7),
 514                         [B(NI_PFI(7))]  = U(8),
 515                         [B(NI_PFI(8))]  = U(9),
 516                         [B(NI_PFI(9))]  = U(10),
 517                         [B(TRIGGER_LINE(0))]    = U(11),
 518                         [B(TRIGGER_LINE(1))]    = U(12),
 519                         [B(TRIGGER_LINE(2))]    = U(13),
 520                         [B(TRIGGER_LINE(3))]    = U(14),
 521                         [B(TRIGGER_LINE(4))]    = U(15),
 522                         [B(TRIGGER_LINE(5))]    = U(16),
 523                         [B(TRIGGER_LINE(6))]    = U(17),
 524                         [B(PXI_Star)]   = U(17),
 525                         [B(NI_20MHzTimebase)]   = U(0),
 526                         [B(NI_100kHzTimebase)]  = U(19),
 527                         [B(NI_LogicLow)]        = U(31),
 528                 },
 529                 [B(NI_AO_StartTrigger)] = {
 530                         [B(NI_PFI(0))]  = I(1),
 531                         [B(NI_PFI(1))]  = I(2),
 532                         [B(NI_PFI(2))]  = I(3),
 533                         [B(NI_PFI(3))]  = I(4),
 534                         [B(NI_PFI(4))]  = I(5),
 535                         [B(NI_PFI(5))]  = I(6),
 536                         [B(NI_PFI(6))]  = I(7),
 537                         [B(NI_PFI(7))]  = I(8),
 538                         [B(NI_PFI(8))]  = I(9),
 539                         [B(NI_PFI(9))]  = I(10),
 540                         [B(TRIGGER_LINE(0))]    = I(11),
 541                         [B(TRIGGER_LINE(1))]    = I(12),
 542                         [B(TRIGGER_LINE(2))]    = I(13),
 543                         [B(TRIGGER_LINE(3))]    = I(14),
 544                         [B(TRIGGER_LINE(4))]    = I(15),
 545                         [B(TRIGGER_LINE(5))]    = I(16),
 546                         [B(TRIGGER_LINE(6))]    = I(17),
 547                         [B(PXI_Star)]   = I(17),
 548                         /*
 549                          * for the signal route
 550                          * (NI_AI_StartTrigger->NI_AO_StartTrigger), MHDDK says
 551                          * used register value 18 and DAQ-STC says 19.
 552                          * Hoping that the MHDDK is correct--being a "working"
 553                          * example.
 554                          */
 555                         [B(NI_AI_StartTrigger)] = I(18),
 556                         [B(NI_LogicLow)]        = I(31),
 557                 },
 558                 [B(NI_AO_PauseTrigger)] = {
 559                         /* These are not currently implemented in ni modules */
 560                         [B(NI_PFI(0))]  = U(1),
 561                         [B(NI_PFI(1))]  = U(2),
 562                         [B(NI_PFI(2))]  = U(3),
 563                         [B(NI_PFI(3))]  = U(4),
 564                         [B(NI_PFI(4))]  = U(5),
 565                         [B(NI_PFI(5))]  = U(6),
 566                         [B(NI_PFI(6))]  = U(7),
 567                         [B(NI_PFI(7))]  = U(8),
 568                         [B(NI_PFI(8))]  = U(9),
 569                         [B(NI_PFI(9))]  = U(10),
 570                         [B(TRIGGER_LINE(0))]    = U(11),
 571                         [B(TRIGGER_LINE(1))]    = U(12),
 572                         [B(TRIGGER_LINE(2))]    = U(13),
 573                         [B(TRIGGER_LINE(3))]    = U(14),
 574                         [B(TRIGGER_LINE(4))]    = U(15),
 575                         [B(TRIGGER_LINE(5))]    = U(16),
 576                         [B(TRIGGER_LINE(6))]    = U(17),
 577                         [B(PXI_Star)]   = U(17),
 578                         [B(NI_LogicLow)]        = U(31),
 579                 },
 580                 [B(NI_MasterTimebase)] = {
 581                         /* These are not currently implemented in ni modules */
 582                         [B(TRIGGER_LINE(7))]    = U(1),
 583                         [B(PXI_Star)]   = U(2),
 584                         [B(PXI_Clk10)]  = U(3),
 585                         [B(NI_10MHzRefClock)]   = U(0),
 586                 },
 587                 /*
 588                  * This symbol is not defined and nothing for this is
 589                  * implemented--just including this because data was found in
 590                  * the NI-STC for it--can't remember where.
 591                  * [B(NI_FrequencyOutTimebase)] = {
 592                  *      ** These are not currently implemented in ni modules **
 593                  *      [B(NI_20MHzTimebase)]   = U(0),
 594                  *      [B(NI_100kHzTimebase)]  = U(1),
 595                  * },
 596                  */
 597                 [B(NI_RGOUT0)] = {
 598                         [B(NI_CtrInternalOutput(0))]    = I(0),
 599                         [B(NI_CtrOut(0))]       = I(1),
 600                 },
 601         },
 602 };

/* [<][>][^][v][top][bottom][index][help] */