1 // SPDX-License-Identifier: GPL-2.0+
2 /*
3  *  comedi/drivers/ni_routing/ni_device_routes/pxie-6535.c
4  *  List of valid routes for specific NI boards.
5  *
6  *  COMEDI - Linux Control and Measurement Device Interface
7  *  Copyright (C) 2016 Spencer E. Olson <olsonse@umich.edu>
8  *
9  *  This program is free software; you can redistribute it and/or modify
10  *  it under the terms of the GNU General Public License as published by
11  *  the Free Software Foundation; either version 2 of the License, or
12  *  (at your option) any later version.
13  *
14  *  This program is distributed in the hope that it will be useful,
15  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
16  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
17  *  GNU General Public License for more details.
18  */
19 
20 /*
21  * The contents of this file are generated using the tools in
22  * comedi/drivers/ni_routing/tools
23  *
24  * Please use those tools to help maintain the contents of this file.
25  */
26 
27 #include "../ni_device_routes.h"
28 #include "all.h"
29 
30 struct ni_device_routes ni_pxie_6535_device_routes = {
31 	.device = "pxie-6535",
32 	.routes = (struct ni_route_set[]){
33 		{
34 			.dest = NI_PFI(0),
35 			.src = (int[]){
36 				NI_PFI(1),
37 				NI_PFI(2),
38 				NI_PFI(3),
39 				NI_PFI(4),
40 				NI_PFI(5),
41 				TRIGGER_LINE(0),
42 				TRIGGER_LINE(1),
43 				TRIGGER_LINE(2),
44 				TRIGGER_LINE(3),
45 				TRIGGER_LINE(4),
46 				TRIGGER_LINE(5),
47 				TRIGGER_LINE(6),
48 				NI_DI_StartTrigger,
49 				NI_DI_ReferenceTrigger,
50 				NI_DI_InputBufferFull,
51 				NI_DI_ReadyForStartEvent,
52 				NI_DI_ReadyForTransferEventBurst,
53 				NI_DI_ReadyForTransferEventPipelined,
54 				NI_DO_StartTrigger,
55 				NI_DO_OutputBufferFull,
56 				NI_DO_DataActiveEvent,
57 				NI_DO_ReadyForStartEvent,
58 				NI_DO_ReadyForTransferEvent,
59 				NI_ChangeDetectionEvent,
60 				0, /* Termination */
61 			}
62 		},
63 		{
64 			.dest = NI_PFI(1),
65 			.src = (int[]){
66 				NI_PFI(0),
67 				NI_PFI(2),
68 				NI_PFI(3),
69 				NI_PFI(4),
70 				NI_PFI(5),
71 				TRIGGER_LINE(0),
72 				TRIGGER_LINE(1),
73 				TRIGGER_LINE(2),
74 				TRIGGER_LINE(3),
75 				TRIGGER_LINE(4),
76 				TRIGGER_LINE(5),
77 				TRIGGER_LINE(6),
78 				NI_DI_StartTrigger,
79 				NI_DI_ReferenceTrigger,
80 				NI_DI_InputBufferFull,
81 				NI_DI_ReadyForStartEvent,
82 				NI_DI_ReadyForTransferEventBurst,
83 				NI_DI_ReadyForTransferEventPipelined,
84 				NI_DO_StartTrigger,
85 				NI_DO_OutputBufferFull,
86 				NI_DO_DataActiveEvent,
87 				NI_DO_ReadyForStartEvent,
88 				NI_DO_ReadyForTransferEvent,
89 				NI_ChangeDetectionEvent,
90 				0, /* Termination */
91 			}
92 		},
93 		{
94 			.dest = NI_PFI(2),
95 			.src = (int[]){
96 				NI_PFI(0),
97 				NI_PFI(1),
98 				NI_PFI(3),
99 				NI_PFI(4),
100 				NI_PFI(5),
101 				TRIGGER_LINE(0),
102 				TRIGGER_LINE(1),
103 				TRIGGER_LINE(2),
104 				TRIGGER_LINE(3),
105 				TRIGGER_LINE(4),
106 				TRIGGER_LINE(5),
107 				TRIGGER_LINE(6),
108 				NI_DI_StartTrigger,
109 				NI_DI_ReferenceTrigger,
110 				NI_DI_InputBufferFull,
111 				NI_DI_ReadyForStartEvent,
112 				NI_DI_ReadyForTransferEventBurst,
113 				NI_DI_ReadyForTransferEventPipelined,
114 				NI_DO_StartTrigger,
115 				NI_DO_OutputBufferFull,
116 				NI_DO_DataActiveEvent,
117 				NI_DO_ReadyForStartEvent,
118 				NI_DO_ReadyForTransferEvent,
119 				NI_ChangeDetectionEvent,
120 				0, /* Termination */
121 			}
122 		},
123 		{
124 			.dest = NI_PFI(3),
125 			.src = (int[]){
126 				NI_PFI(0),
127 				NI_PFI(1),
128 				NI_PFI(2),
129 				NI_PFI(4),
130 				NI_PFI(5),
131 				TRIGGER_LINE(0),
132 				TRIGGER_LINE(1),
133 				TRIGGER_LINE(2),
134 				TRIGGER_LINE(3),
135 				TRIGGER_LINE(4),
136 				TRIGGER_LINE(5),
137 				TRIGGER_LINE(6),
138 				NI_DI_StartTrigger,
139 				NI_DI_ReferenceTrigger,
140 				NI_DI_InputBufferFull,
141 				NI_DI_ReadyForStartEvent,
142 				NI_DI_ReadyForTransferEventBurst,
143 				NI_DI_ReadyForTransferEventPipelined,
144 				NI_DO_StartTrigger,
145 				NI_DO_OutputBufferFull,
146 				NI_DO_DataActiveEvent,
147 				NI_DO_ReadyForStartEvent,
148 				NI_DO_ReadyForTransferEvent,
149 				NI_ChangeDetectionEvent,
150 				0, /* Termination */
151 			}
152 		},
153 		{
154 			.dest = NI_PFI(4),
155 			.src = (int[]){
156 				NI_PFI(0),
157 				NI_PFI(1),
158 				NI_PFI(2),
159 				NI_PFI(3),
160 				NI_PFI(5),
161 				TRIGGER_LINE(0),
162 				TRIGGER_LINE(1),
163 				TRIGGER_LINE(2),
164 				TRIGGER_LINE(3),
165 				TRIGGER_LINE(4),
166 				TRIGGER_LINE(5),
167 				TRIGGER_LINE(6),
168 				TRIGGER_LINE(7),
169 				NI_DI_StartTrigger,
170 				NI_DI_ReferenceTrigger,
171 				NI_DI_InputBufferFull,
172 				NI_DI_ReadyForStartEvent,
173 				NI_DI_ReadyForTransferEventBurst,
174 				NI_DI_ReadyForTransferEventPipelined,
175 				NI_DO_SampleClock,
176 				NI_DO_StartTrigger,
177 				NI_DO_OutputBufferFull,
178 				NI_DO_DataActiveEvent,
179 				NI_DO_ReadyForStartEvent,
180 				NI_DO_ReadyForTransferEvent,
181 				NI_ChangeDetectionEvent,
182 				0, /* Termination */
183 			}
184 		},
185 		{
186 			.dest = NI_PFI(5),
187 			.src = (int[]){
188 				NI_PFI(0),
189 				NI_PFI(1),
190 				NI_PFI(2),
191 				NI_PFI(3),
192 				NI_PFI(4),
193 				TRIGGER_LINE(0),
194 				TRIGGER_LINE(1),
195 				TRIGGER_LINE(2),
196 				TRIGGER_LINE(3),
197 				TRIGGER_LINE(4),
198 				TRIGGER_LINE(5),
199 				TRIGGER_LINE(6),
200 				TRIGGER_LINE(7),
201 				NI_DI_SampleClock,
202 				NI_DI_StartTrigger,
203 				NI_DI_ReferenceTrigger,
204 				NI_DI_InputBufferFull,
205 				NI_DI_ReadyForStartEvent,
206 				NI_DI_ReadyForTransferEventBurst,
207 				NI_DI_ReadyForTransferEventPipelined,
208 				NI_DO_StartTrigger,
209 				NI_DO_OutputBufferFull,
210 				NI_DO_DataActiveEvent,
211 				NI_DO_ReadyForStartEvent,
212 				NI_DO_ReadyForTransferEvent,
213 				NI_ChangeDetectionEvent,
214 				0, /* Termination */
215 			}
216 		},
217 		{
218 			.dest = TRIGGER_LINE(0),
219 			.src = (int[]){
220 				NI_PFI(0),
221 				NI_PFI(1),
222 				NI_PFI(2),
223 				NI_PFI(3),
224 				NI_PFI(4),
225 				NI_PFI(5),
226 				TRIGGER_LINE(1),
227 				TRIGGER_LINE(2),
228 				TRIGGER_LINE(3),
229 				TRIGGER_LINE(4),
230 				TRIGGER_LINE(5),
231 				TRIGGER_LINE(6),
232 				NI_DI_StartTrigger,
233 				NI_DI_ReferenceTrigger,
234 				NI_DI_InputBufferFull,
235 				NI_DI_ReadyForStartEvent,
236 				NI_DI_ReadyForTransferEventBurst,
237 				NI_DI_ReadyForTransferEventPipelined,
238 				NI_DO_StartTrigger,
239 				NI_DO_OutputBufferFull,
240 				NI_DO_DataActiveEvent,
241 				NI_DO_ReadyForStartEvent,
242 				NI_DO_ReadyForTransferEvent,
243 				NI_ChangeDetectionEvent,
244 				0, /* Termination */
245 			}
246 		},
247 		{
248 			.dest = TRIGGER_LINE(1),
249 			.src = (int[]){
250 				NI_PFI(0),
251 				NI_PFI(1),
252 				NI_PFI(2),
253 				NI_PFI(3),
254 				NI_PFI(4),
255 				NI_PFI(5),
256 				TRIGGER_LINE(0),
257 				TRIGGER_LINE(2),
258 				TRIGGER_LINE(3),
259 				TRIGGER_LINE(4),
260 				TRIGGER_LINE(5),
261 				TRIGGER_LINE(6),
262 				NI_DI_StartTrigger,
263 				NI_DI_ReferenceTrigger,
264 				NI_DI_InputBufferFull,
265 				NI_DI_ReadyForStartEvent,
266 				NI_DI_ReadyForTransferEventBurst,
267 				NI_DI_ReadyForTransferEventPipelined,
268 				NI_DO_StartTrigger,
269 				NI_DO_OutputBufferFull,
270 				NI_DO_DataActiveEvent,
271 				NI_DO_ReadyForStartEvent,
272 				NI_DO_ReadyForTransferEvent,
273 				NI_ChangeDetectionEvent,
274 				0, /* Termination */
275 			}
276 		},
277 		{
278 			.dest = TRIGGER_LINE(2),
279 			.src = (int[]){
280 				NI_PFI(0),
281 				NI_PFI(1),
282 				NI_PFI(2),
283 				NI_PFI(3),
284 				NI_PFI(4),
285 				NI_PFI(5),
286 				TRIGGER_LINE(0),
287 				TRIGGER_LINE(1),
288 				TRIGGER_LINE(3),
289 				TRIGGER_LINE(4),
290 				TRIGGER_LINE(5),
291 				TRIGGER_LINE(6),
292 				NI_DI_StartTrigger,
293 				NI_DI_ReferenceTrigger,
294 				NI_DI_InputBufferFull,
295 				NI_DI_ReadyForStartEvent,
296 				NI_DI_ReadyForTransferEventBurst,
297 				NI_DI_ReadyForTransferEventPipelined,
298 				NI_DO_StartTrigger,
299 				NI_DO_OutputBufferFull,
300 				NI_DO_DataActiveEvent,
301 				NI_DO_ReadyForStartEvent,
302 				NI_DO_ReadyForTransferEvent,
303 				NI_ChangeDetectionEvent,
304 				0, /* Termination */
305 			}
306 		},
307 		{
308 			.dest = TRIGGER_LINE(3),
309 			.src = (int[]){
310 				NI_PFI(0),
311 				NI_PFI(1),
312 				NI_PFI(2),
313 				NI_PFI(3),
314 				NI_PFI(4),
315 				NI_PFI(5),
316 				TRIGGER_LINE(0),
317 				TRIGGER_LINE(1),
318 				TRIGGER_LINE(2),
319 				TRIGGER_LINE(4),
320 				TRIGGER_LINE(5),
321 				TRIGGER_LINE(6),
322 				NI_DI_StartTrigger,
323 				NI_DI_ReferenceTrigger,
324 				NI_DI_InputBufferFull,
325 				NI_DI_ReadyForStartEvent,
326 				NI_DI_ReadyForTransferEventBurst,
327 				NI_DI_ReadyForTransferEventPipelined,
328 				NI_DO_StartTrigger,
329 				NI_DO_OutputBufferFull,
330 				NI_DO_DataActiveEvent,
331 				NI_DO_ReadyForStartEvent,
332 				NI_DO_ReadyForTransferEvent,
333 				NI_ChangeDetectionEvent,
334 				0, /* Termination */
335 			}
336 		},
337 		{
338 			.dest = TRIGGER_LINE(4),
339 			.src = (int[]){
340 				NI_PFI(0),
341 				NI_PFI(1),
342 				NI_PFI(2),
343 				NI_PFI(3),
344 				NI_PFI(4),
345 				NI_PFI(5),
346 				TRIGGER_LINE(0),
347 				TRIGGER_LINE(1),
348 				TRIGGER_LINE(2),
349 				TRIGGER_LINE(3),
350 				TRIGGER_LINE(5),
351 				TRIGGER_LINE(6),
352 				NI_DI_StartTrigger,
353 				NI_DI_ReferenceTrigger,
354 				NI_DI_InputBufferFull,
355 				NI_DI_ReadyForStartEvent,
356 				NI_DI_ReadyForTransferEventBurst,
357 				NI_DI_ReadyForTransferEventPipelined,
358 				NI_DO_StartTrigger,
359 				NI_DO_OutputBufferFull,
360 				NI_DO_DataActiveEvent,
361 				NI_DO_ReadyForStartEvent,
362 				NI_DO_ReadyForTransferEvent,
363 				NI_ChangeDetectionEvent,
364 				0, /* Termination */
365 			}
366 		},
367 		{
368 			.dest = TRIGGER_LINE(5),
369 			.src = (int[]){
370 				NI_PFI(0),
371 				NI_PFI(1),
372 				NI_PFI(2),
373 				NI_PFI(3),
374 				NI_PFI(4),
375 				NI_PFI(5),
376 				TRIGGER_LINE(0),
377 				TRIGGER_LINE(1),
378 				TRIGGER_LINE(2),
379 				TRIGGER_LINE(3),
380 				TRIGGER_LINE(4),
381 				TRIGGER_LINE(6),
382 				NI_DI_StartTrigger,
383 				NI_DI_ReferenceTrigger,
384 				NI_DI_InputBufferFull,
385 				NI_DI_ReadyForStartEvent,
386 				NI_DI_ReadyForTransferEventBurst,
387 				NI_DI_ReadyForTransferEventPipelined,
388 				NI_DO_StartTrigger,
389 				NI_DO_OutputBufferFull,
390 				NI_DO_DataActiveEvent,
391 				NI_DO_ReadyForStartEvent,
392 				NI_DO_ReadyForTransferEvent,
393 				NI_ChangeDetectionEvent,
394 				0, /* Termination */
395 			}
396 		},
397 		{
398 			.dest = TRIGGER_LINE(6),
399 			.src = (int[]){
400 				NI_PFI(0),
401 				NI_PFI(1),
402 				NI_PFI(2),
403 				NI_PFI(3),
404 				NI_PFI(4),
405 				NI_PFI(5),
406 				TRIGGER_LINE(0),
407 				TRIGGER_LINE(1),
408 				TRIGGER_LINE(2),
409 				TRIGGER_LINE(3),
410 				TRIGGER_LINE(4),
411 				TRIGGER_LINE(5),
412 				NI_DI_StartTrigger,
413 				NI_DI_ReferenceTrigger,
414 				NI_DI_InputBufferFull,
415 				NI_DI_ReadyForStartEvent,
416 				NI_DI_ReadyForTransferEventBurst,
417 				NI_DI_ReadyForTransferEventPipelined,
418 				NI_DO_StartTrigger,
419 				NI_DO_OutputBufferFull,
420 				NI_DO_DataActiveEvent,
421 				NI_DO_ReadyForStartEvent,
422 				NI_DO_ReadyForTransferEvent,
423 				NI_ChangeDetectionEvent,
424 				0, /* Termination */
425 			}
426 		},
427 		{
428 			.dest = TRIGGER_LINE(7),
429 			.src = (int[]){
430 				NI_PFI(0),
431 				NI_PFI(1),
432 				NI_PFI(2),
433 				NI_PFI(3),
434 				NI_PFI(4),
435 				NI_PFI(5),
436 				TRIGGER_LINE(0),
437 				TRIGGER_LINE(1),
438 				TRIGGER_LINE(2),
439 				TRIGGER_LINE(3),
440 				TRIGGER_LINE(4),
441 				TRIGGER_LINE(5),
442 				TRIGGER_LINE(6),
443 				NI_DI_StartTrigger,
444 				NI_DI_ReferenceTrigger,
445 				NI_DI_InputBufferFull,
446 				NI_DI_ReadyForStartEvent,
447 				NI_DI_ReadyForTransferEventBurst,
448 				NI_DI_ReadyForTransferEventPipelined,
449 				NI_DO_SampleClock,
450 				NI_DO_StartTrigger,
451 				NI_DO_OutputBufferFull,
452 				NI_DO_DataActiveEvent,
453 				NI_DO_ReadyForStartEvent,
454 				NI_DO_ReadyForTransferEvent,
455 				NI_ChangeDetectionEvent,
456 				0, /* Termination */
457 			}
458 		},
459 		{
460 			.dest = NI_DI_SampleClock,
461 			.src = (int[]){
462 				NI_PFI(5),
463 				TRIGGER_LINE(7),
464 				0, /* Termination */
465 			}
466 		},
467 		{
468 			.dest = NI_DI_StartTrigger,
469 			.src = (int[]){
470 				NI_PFI(0),
471 				NI_PFI(1),
472 				NI_PFI(2),
473 				NI_PFI(3),
474 				NI_PFI(4),
475 				NI_PFI(5),
476 				TRIGGER_LINE(0),
477 				TRIGGER_LINE(1),
478 				TRIGGER_LINE(2),
479 				TRIGGER_LINE(3),
480 				TRIGGER_LINE(4),
481 				TRIGGER_LINE(5),
482 				TRIGGER_LINE(6),
483 				0, /* Termination */
484 			}
485 		},
486 		{
487 			.dest = NI_DI_ReferenceTrigger,
488 			.src = (int[]){
489 				NI_PFI(0),
490 				NI_PFI(1),
491 				NI_PFI(2),
492 				NI_PFI(3),
493 				NI_PFI(4),
494 				NI_PFI(5),
495 				TRIGGER_LINE(0),
496 				TRIGGER_LINE(1),
497 				TRIGGER_LINE(2),
498 				TRIGGER_LINE(3),
499 				TRIGGER_LINE(4),
500 				TRIGGER_LINE(5),
501 				TRIGGER_LINE(6),
502 				0, /* Termination */
503 			}
504 		},
505 		{
506 			.dest = NI_DI_PauseTrigger,
507 			.src = (int[]){
508 				NI_PFI(0),
509 				NI_PFI(1),
510 				NI_PFI(2),
511 				NI_PFI(3),
512 				NI_PFI(4),
513 				NI_PFI(5),
514 				TRIGGER_LINE(0),
515 				TRIGGER_LINE(1),
516 				TRIGGER_LINE(2),
517 				TRIGGER_LINE(3),
518 				TRIGGER_LINE(4),
519 				TRIGGER_LINE(5),
520 				TRIGGER_LINE(6),
521 				0, /* Termination */
522 			}
523 		},
524 		{
525 			.dest = NI_DO_SampleClock,
526 			.src = (int[]){
527 				NI_PFI(4),
528 				TRIGGER_LINE(7),
529 				0, /* Termination */
530 			}
531 		},
532 		{
533 			.dest = NI_DO_StartTrigger,
534 			.src = (int[]){
535 				NI_PFI(0),
536 				NI_PFI(1),
537 				NI_PFI(2),
538 				NI_PFI(3),
539 				NI_PFI(4),
540 				NI_PFI(5),
541 				TRIGGER_LINE(0),
542 				TRIGGER_LINE(1),
543 				TRIGGER_LINE(2),
544 				TRIGGER_LINE(3),
545 				TRIGGER_LINE(4),
546 				TRIGGER_LINE(5),
547 				TRIGGER_LINE(6),
548 				0, /* Termination */
549 			}
550 		},
551 		{
552 			.dest = NI_DO_PauseTrigger,
553 			.src = (int[]){
554 				NI_PFI(0),
555 				NI_PFI(1),
556 				NI_PFI(2),
557 				NI_PFI(3),
558 				NI_PFI(4),
559 				NI_PFI(5),
560 				TRIGGER_LINE(0),
561 				TRIGGER_LINE(1),
562 				TRIGGER_LINE(2),
563 				TRIGGER_LINE(3),
564 				TRIGGER_LINE(4),
565 				TRIGGER_LINE(5),
566 				TRIGGER_LINE(6),
567 				0, /* Termination */
568 			}
569 		},
570 		{ /* Termination of list */
571 			.dest = 0,
572 		},
573 	},
574 };
575