13d9f073994925a2c8206e41b12a8c12282972cecDan Christian/*
23d9f073994925a2c8206e41b12a8c12282972cecDan Christian    comedi/drivers/rtd520.h
33d9f073994925a2c8206e41b12a8c12282972cecDan Christian    Comedi driver defines for Real Time Devices (RTD) PCI4520/DM7520
43d9f073994925a2c8206e41b12a8c12282972cecDan Christian
53d9f073994925a2c8206e41b12a8c12282972cecDan Christian    COMEDI - Linux Control and Measurement Device Interface
63d9f073994925a2c8206e41b12a8c12282972cecDan Christian    Copyright (C) 2001 David A. Schleef <ds@schleef.org>
73d9f073994925a2c8206e41b12a8c12282972cecDan Christian
83d9f073994925a2c8206e41b12a8c12282972cecDan Christian    This program is free software; you can redistribute it and/or modify
93d9f073994925a2c8206e41b12a8c12282972cecDan Christian    it under the terms of the GNU General Public License as published by
103d9f073994925a2c8206e41b12a8c12282972cecDan Christian    the Free Software Foundation; either version 2 of the License, or
113d9f073994925a2c8206e41b12a8c12282972cecDan Christian    (at your option) any later version.
123d9f073994925a2c8206e41b12a8c12282972cecDan Christian
133d9f073994925a2c8206e41b12a8c12282972cecDan Christian    This program is distributed in the hope that it will be useful,
143d9f073994925a2c8206e41b12a8c12282972cecDan Christian    but WITHOUT ANY WARRANTY; without even the implied warranty of
153d9f073994925a2c8206e41b12a8c12282972cecDan Christian    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
163d9f073994925a2c8206e41b12a8c12282972cecDan Christian    GNU General Public License for more details.
173d9f073994925a2c8206e41b12a8c12282972cecDan Christian
183d9f073994925a2c8206e41b12a8c12282972cecDan Christian    You should have received a copy of the GNU General Public License
193d9f073994925a2c8206e41b12a8c12282972cecDan Christian    along with this program; if not, write to the Free Software
203d9f073994925a2c8206e41b12a8c12282972cecDan Christian    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
213d9f073994925a2c8206e41b12a8c12282972cecDan Christian*/
223d9f073994925a2c8206e41b12a8c12282972cecDan Christian
233d9f073994925a2c8206e41b12a8c12282972cecDan Christian/*
243d9f073994925a2c8206e41b12a8c12282972cecDan Christian    Created by Dan Christian, NASA Ames Research Center.
253d9f073994925a2c8206e41b12a8c12282972cecDan Christian    See board notes in rtd520.c
263d9f073994925a2c8206e41b12a8c12282972cecDan Christian*/
273d9f073994925a2c8206e41b12a8c12282972cecDan Christian
283d9f073994925a2c8206e41b12a8c12282972cecDan Christian/*
293d9f073994925a2c8206e41b12a8c12282972cecDan Christian  LAS0 Runtime Area
303d9f073994925a2c8206e41b12a8c12282972cecDan Christian  Local Address Space 0 Offset		Read Function	Write Function
313d9f073994925a2c8206e41b12a8c12282972cecDan Christian*/
32b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton#define LAS0_SPARE_00    0x0000	/*  -                               - */
33b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton#define LAS0_SPARE_04    0x0004	/*  -                               - */
34b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton#define LAS0_USER_IO     0x0008	/*  Read User Inputs                Write User Outputs */
35b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton#define LAS0_SPARE_0C    0x000C	/*  -                               - */
36b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton#define LAS0_ADC         0x0010	/*  Read FIFO Status                Software A/D Start */
37b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton#define LAS0_DAC1        0x0014	/*  -                               Software D/A1 Update */
38b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton#define LAS0_DAC2        0x0018	/*  -                               Software D/A2 Update */
39b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton#define LAS0_SPARE_1C    0x001C	/*  -                               - */
40b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton#define LAS0_SPARE_20    0x0020	/*  -                               - */
41b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton#define LAS0_DAC         0x0024	/*  -                               Software Simultaneous D/A1 and D/A2 Update */
42b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton#define LAS0_PACER       0x0028	/*  Software Pacer Start            Software Pacer Stop */
43b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton#define LAS0_TIMER       0x002C	/*  Read Timer Counters Status      HDIN Software Trigger */
44b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton#define LAS0_IT          0x0030	/*  Read Interrupt Status           Write Interrupt Enable Mask Register */
45b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton#define LAS0_CLEAR       0x0034	/*  Clear ITs set by Clear Mask     Set Interrupt Clear Mask */
46b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton#define LAS0_OVERRUN     0x0038	/*  Read pending interrupts         Clear Overrun Register */
47b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton#define LAS0_SPARE_3C    0x003C	/*  -                               - */
483d9f073994925a2c8206e41b12a8c12282972cecDan Christian
493d9f073994925a2c8206e41b12a8c12282972cecDan Christian/*
503d9f073994925a2c8206e41b12a8c12282972cecDan Christian  LAS0 Runtime Area Timer/Counter,Dig.IO
513d9f073994925a2c8206e41b12a8c12282972cecDan Christian  Name			Local Address			Function
523d9f073994925a2c8206e41b12a8c12282972cecDan Christian*/
53b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton#define LAS0_PCLK        0x0040	/*  Pacer Clock value (24bit)             Pacer Clock load (24bit) */
54b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton#define LAS0_BCLK        0x0044	/*  Burst Clock value (10bit)             Burst Clock load (10bit) */
55b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton#define LAS0_ADC_SCNT    0x0048	/*  A/D Sample counter value (10bit)      A/D Sample counter load (10bit) */
56b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton#define LAS0_DAC1_UCNT   0x004C	/*  D/A1 Update counter value (10 bit)    D/A1 Update counter load (10bit) */
57b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton#define LAS0_DAC2_UCNT   0x0050	/*  D/A2 Update counter value (10 bit)    D/A2 Update counter load (10bit) */
58b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton#define LAS0_DCNT        0x0054	/*  Delay counter value (16 bit)          Delay counter load (16bit) */
59b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton#define LAS0_ACNT        0x0058	/*  About counter value (16 bit)          About counter load (16bit) */
60b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton#define LAS0_DAC_CLK     0x005C	/*  DAC clock value (16bit)               DAC clock load (16bit) */
61b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton#define LAS0_UTC0        0x0060	/*  8254 TC Counter 0 User TC 0 value     Load count in TC Counter 0 */
62b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton#define LAS0_UTC1        0x0064	/*  8254 TC Counter 1 User TC 1 value     Load count in TC Counter 1 */
63b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton#define LAS0_UTC2        0x0068	/*  8254 TC Counter 2 User TC 2 value     Load count in TC Counter 2 */
64b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton#define LAS0_UTC_CTRL    0x006C	/*  8254 TC Control Word                  Program counter mode for TC */
65b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton#define LAS0_DIO0        0x0070	/*  Digital I/O Port 0 Read Port          Digital I/O Port 0 Write Port */
66b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton#define LAS0_DIO1        0x0074	/*  Digital I/O Port 1 Read Port          Digital I/O Port 1 Write Port */
67b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton#define LAS0_DIO0_CTRL   0x0078	/*  Clear digital IRQ status flag/read    Clear digital chip/program Port 0 */
68b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton#define LAS0_DIO_STATUS  0x007C	/*  Read Digital I/O Status word          Program digital control register & */
693d9f073994925a2c8206e41b12a8c12282972cecDan Christian
703d9f073994925a2c8206e41b12a8c12282972cecDan Christian/*
713d9f073994925a2c8206e41b12a8c12282972cecDan Christian  LAS0 Setup Area
723d9f073994925a2c8206e41b12a8c12282972cecDan Christian  Name			Local Address			Function
733d9f073994925a2c8206e41b12a8c12282972cecDan Christian*/
74b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton#define LAS0_BOARD_RESET        0x0100	/*  Board reset */
75b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton#define LAS0_DMA0_SRC           0x0104	/*  DMA 0 Sources select */
76b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton#define LAS0_DMA1_SRC           0x0108	/*  DMA 1 Sources select */
77b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton#define LAS0_ADC_CONVERSION     0x010C	/*  A/D Conversion Signal select */
78b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton#define LAS0_BURST_START        0x0110	/*  Burst Clock Start Trigger select */
79b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton#define LAS0_PACER_START        0x0114	/*  Pacer Clock Start Trigger select */
80b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton#define LAS0_PACER_STOP         0x0118	/*  Pacer Clock Stop Trigger select */
81b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton#define LAS0_ACNT_STOP_ENABLE   0x011C	/*  About Counter Stop Enable */
82b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton#define LAS0_PACER_REPEAT       0x0120	/*  Pacer Start Trigger Mode select */
83b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton#define LAS0_DIN_START          0x0124	/*  High Speed Digital Input Sampling Signal select */
84b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton#define LAS0_DIN_FIFO_CLEAR     0x0128	/*  Digital Input FIFO Clear */
85b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton#define LAS0_ADC_FIFO_CLEAR     0x012C	/*  A/D FIFO Clear */
86b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton#define LAS0_CGT_WRITE          0x0130	/*  Channel Gain Table Write */
87b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton#define LAS0_CGL_WRITE          0x0134	/*  Channel Gain Latch Write */
88b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton#define LAS0_CG_DATA            0x0138	/*  Digital Table Write */
89b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton#define LAS0_CGT_ENABLE		0x013C	/*  Channel Gain Table Enable */
90b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton#define LAS0_CG_ENABLE          0x0140	/*  Digital Table Enable */
91b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton#define LAS0_CGT_PAUSE          0x0144	/*  Table Pause Enable */
92b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton#define LAS0_CGT_RESET          0x0148	/*  Reset Channel Gain Table */
93b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton#define LAS0_CGT_CLEAR          0x014C	/*  Clear Channel Gain Table */
94b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton#define LAS0_DAC1_CTRL          0x0150	/*  D/A1 output type/range */
95b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton#define LAS0_DAC1_SRC           0x0154	/*  D/A1 update source */
96b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton#define LAS0_DAC1_CYCLE         0x0158	/*  D/A1 cycle mode */
97b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton#define LAS0_DAC1_RESET         0x015C	/*  D/A1 FIFO reset */
98b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton#define LAS0_DAC1_FIFO_CLEAR    0x0160	/*  D/A1 FIFO clear */
99b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton#define LAS0_DAC2_CTRL          0x0164	/*  D/A2 output type/range */
100b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton#define LAS0_DAC2_SRC           0x0168	/*  D/A2 update source */
101b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton#define LAS0_DAC2_CYCLE         0x016C	/*  D/A2 cycle mode */
102b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton#define LAS0_DAC2_RESET         0x0170	/*  D/A2 FIFO reset */
103b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton#define LAS0_DAC2_FIFO_CLEAR    0x0174	/*  D/A2 FIFO clear */
104b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton#define LAS0_ADC_SCNT_SRC       0x0178	/*  A/D Sample Counter Source select */
105b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton#define LAS0_PACER_SELECT       0x0180	/*  Pacer Clock select */
106b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton#define LAS0_SBUS0_SRC          0x0184	/*  SyncBus 0 Source select */
107b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton#define LAS0_SBUS0_ENABLE       0x0188	/*  SyncBus 0 enable */
108b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton#define LAS0_SBUS1_SRC          0x018C	/*  SyncBus 1 Source select */
109b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton#define LAS0_SBUS1_ENABLE       0x0190	/*  SyncBus 1 enable */
110b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton#define LAS0_SBUS2_SRC          0x0198	/*  SyncBus 2 Source select */
111b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton#define LAS0_SBUS2_ENABLE       0x019C	/*  SyncBus 2 enable */
112b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton#define LAS0_ETRG_POLARITY      0x01A4	/*  External Trigger polarity select */
113b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton#define LAS0_EINT_POLARITY      0x01A8	/*  External Interrupt polarity select */
114b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton#define LAS0_UTC0_CLOCK         0x01AC	/*  UTC0 Clock select */
115b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton#define LAS0_UTC0_GATE          0x01B0	/*  UTC0 Gate select */
116b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton#define LAS0_UTC1_CLOCK         0x01B4	/*  UTC1 Clock select */
117b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton#define LAS0_UTC1_GATE          0x01B8	/*  UTC1 Gate select */
118b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton#define LAS0_UTC2_CLOCK         0x01BC	/*  UTC2 Clock select */
119b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton#define LAS0_UTC2_GATE          0x01C0	/*  UTC2 Gate select */
120b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton#define LAS0_UOUT0_SELECT       0x01C4	/*  User Output 0 source select */
121b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton#define LAS0_UOUT1_SELECT       0x01C8	/*  User Output 1 source select */
122b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton#define LAS0_DMA0_RESET         0x01CC	/*  DMA0 Request state machine reset */
123b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton#define LAS0_DMA1_RESET         0x01D0	/*  DMA1 Request state machine reset */
1243d9f073994925a2c8206e41b12a8c12282972cecDan Christian
1253d9f073994925a2c8206e41b12a8c12282972cecDan Christian/*
1263d9f073994925a2c8206e41b12a8c12282972cecDan Christian  LAS1
1273d9f073994925a2c8206e41b12a8c12282972cecDan Christian  Name			Local Address			Function
1283d9f073994925a2c8206e41b12a8c12282972cecDan Christian*/
129b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton#define LAS1_ADC_FIFO            0x0000	/*  Read A/D FIFO (16bit) - */
130b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton#define LAS1_HDIO_FIFO           0x0004	/*  Read High Speed Digital Input FIFO (16bit) - */
131b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton#define LAS1_DAC1_FIFO           0x0008	/*  - Write D/A1 FIFO (16bit) */
132b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton#define LAS1_DAC2_FIFO           0x000C	/*  - Write D/A2 FIFO (16bit) */
1333d9f073994925a2c8206e41b12a8c12282972cecDan Christian
1343d9f073994925a2c8206e41b12a8c12282972cecDan Christian/*
1353d9f073994925a2c8206e41b12a8c12282972cecDan Christian  LCFG: PLX 9080 local config & runtime registers
1363d9f073994925a2c8206e41b12a8c12282972cecDan Christian  Name			Local Address			Function
1373d9f073994925a2c8206e41b12a8c12282972cecDan Christian*/
138b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton#define LCFG_ITCSR              0x0068	/*  INTCSR, Interrupt Control/Status Register */
139b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton#define LCFG_DMAMODE0           0x0080	/*  DMA Channel 0 Mode Register */
140b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton#define LCFG_DMAPADR0           0x0084	/*  DMA Channel 0 PCI Address Register */
141b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton#define LCFG_DMALADR0           0x0088	/*  DMA Channel 0 Local Address Reg */
142b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton#define LCFG_DMASIZ0            0x008C	/*  DMA Channel 0 Transfer Size (Bytes) Register */
143b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton#define LCFG_DMADPR0            0x0090	/*  DMA Channel 0 Descriptor Pointer Register */
144b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton#define LCFG_DMAMODE1           0x0094	/*  DMA Channel 1 Mode Register */
145b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton#define LCFG_DMAPADR1           0x0098	/*  DMA Channel 1 PCI Address Register */
146b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton#define LCFG_DMALADR1           0x009C	/*  DMA Channel 1 Local Address Register */
147b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton#define LCFG_DMASIZ1            0x00A0	/*  DMA Channel 1 Transfer Size (Bytes) Register */
148b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton#define LCFG_DMADPR1            0x00A4	/*  DMA Channel 1 Descriptor Pointer Register */
149b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton#define LCFG_DMACSR0            0x00A8	/*  DMA Channel 0 Command/Status Register */
150b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton#define LCFG_DMACSR1            0x00A9	/*  DMA Channel 0 Command/Status Register */
151b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton#define LCFG_DMAARB             0x00AC	/*  DMA Arbitration Register */
152b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton#define LCFG_DMATHR             0x00B0	/*  DMA Threshold Register */
1533d9f073994925a2c8206e41b12a8c12282972cecDan Christian
1543d9f073994925a2c8206e41b12a8c12282972cecDan Christian/*======================================================================
1553d9f073994925a2c8206e41b12a8c12282972cecDan Christian  Resister bit definitions
1563d9f073994925a2c8206e41b12a8c12282972cecDan Christian======================================================================*/
1573d9f073994925a2c8206e41b12a8c12282972cecDan Christian
158b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton/*  FIFO Status Word Bits (RtdFifoStatus) */
159b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton#define FS_DAC1_NOT_EMPTY    0x0001	/*  D0  - DAC1 FIFO not empty */
160b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton#define FS_DAC1_HEMPTY   0x0002	/*  D1  - DAC1 FIFO half empty */
161b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton#define FS_DAC1_NOT_FULL     0x0004	/*  D2  - DAC1 FIFO not full */
162b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton#define FS_DAC2_NOT_EMPTY    0x0010	/*  D4  - DAC2 FIFO not empty */
163b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton#define FS_DAC2_HEMPTY   0x0020	/*  D5  - DAC2 FIFO half empty */
164b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton#define FS_DAC2_NOT_FULL     0x0040	/*  D6  - DAC2 FIFO not full */
165b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton#define FS_ADC_NOT_EMPTY     0x0100	/*  D8  - ADC FIFO not empty */
166b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton#define FS_ADC_HEMPTY    0x0200	/*  D9  - ADC FIFO half empty */
167b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton#define FS_ADC_NOT_FULL      0x0400	/*  D10 - ADC FIFO not full */
168b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton#define FS_DIN_NOT_EMPTY     0x1000	/*  D12 - DIN FIFO not empty */
169b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton#define FS_DIN_HEMPTY    0x2000	/*  D13 - DIN FIFO half empty */
170b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton#define FS_DIN_NOT_FULL      0x4000	/*  D14 - DIN FIFO not full */
171b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton
172b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton/*  Timer Status Word Bits (GetTimerStatus) */
1733d9f073994925a2c8206e41b12a8c12282972cecDan Christian#define TS_PCLK_GATE   0x0001
174b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton/*  D0 - Pacer Clock Gate [0 - gated, 1 - enabled] */
1753d9f073994925a2c8206e41b12a8c12282972cecDan Christian#define TS_BCLK_GATE   0x0002
176b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton/*  D1 - Burst Clock Gate [0 - disabled, 1 - running] */
1773d9f073994925a2c8206e41b12a8c12282972cecDan Christian#define TS_DCNT_GATE   0x0004
178b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton/*  D2 - Pacer Clock Delayed Start Trigger [0 - delay over, 1 - delay in */
179b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton/*  progress] */
1803d9f073994925a2c8206e41b12a8c12282972cecDan Christian#define TS_ACNT_GATE   0x0008
181b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton/*  D3 - Pacer Clock About Trigger [0 - completed, 1 - in progress] */
1823d9f073994925a2c8206e41b12a8c12282972cecDan Christian#define TS_PCLK_RUN    0x0010
183b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton/*  D4 - Pacer Clock Shutdown Flag [0 - Pacer Clock cannot be start */
184b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton/*  triggered only by Software Pacer Start Command, 1 - Pacer Clock can */
185b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton/*  be start triggered] */
186b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton
187b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton/*  External Trigger polarity select */
188b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton/*  External Interrupt polarity select */
189b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton#define POL_POSITIVE         0x0	/*  positive edge */
190b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton#define POL_NEGATIVE         0x1	/*  negative edge */
191b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton
192b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton/*  User Output Signal select (SetUout0Source, SetUout1Source) */
193b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton#define UOUT_ADC                0x0	/*  A/D Conversion Signal */
194b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton#define UOUT_DAC1               0x1	/*  D/A1 Update */
195b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton#define UOUT_DAC2               0x2	/*  D/A2 Update */
196b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton#define UOUT_SOFTWARE           0x3	/*  Software Programmable */
197b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton
198b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton/*  Pacer clock select (SetPacerSource) */
199b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton#define PCLK_INTERNAL           1	/*  Internal Pacer Clock */
200b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton#define PCLK_EXTERNAL           0	/*  External Pacer Clock */
201b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton
202b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton/*  A/D Sample Counter Sources (SetAdcntSource, SetupSampleCounter) */
203b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton#define ADC_SCNT_CGT_RESET         0x0	/*  needs restart with StartPacer */
2043d9f073994925a2c8206e41b12a8c12282972cecDan Christian#define ADC_SCNT_FIFO_WRITE        0x1
2053d9f073994925a2c8206e41b12a8c12282972cecDan Christian
206b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton/*  A/D Conversion Signal Select (for SetConversionSelect) */
207b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton#define ADC_START_SOFTWARE         0x0	/*  Software A/D Start */
208b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton#define ADC_START_PCLK             0x1	/*  Pacer Clock (Ext. Int. see Func.509) */
209b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton#define ADC_START_BCLK             0x2	/*  Burst Clock */
210b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton#define ADC_START_DIGITAL_IT       0x3	/*  Digital Interrupt */
211b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton#define ADC_START_DAC1_MARKER1     0x4	/*  D/A 1 Data Marker 1 */
212b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton#define ADC_START_DAC2_MARKER1     0x5	/*  D/A 2 Data Marker 1 */
213b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton#define ADC_START_SBUS0            0x6	/*  SyncBus 0 */
214b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton#define ADC_START_SBUS1            0x7	/*  SyncBus 1 */
215b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton#define ADC_START_SBUS2            0x8	/*  SyncBus 2 */
216b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton
217b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton/*  Burst Clock start trigger select (SetBurstStart) */
218b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton#define BCLK_START_SOFTWARE        0x0	/*  Software A/D Start (StartBurst) */
219b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton#define BCLK_START_PCLK            0x1	/*  Pacer Clock */
220b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton#define BCLK_START_ETRIG           0x2	/*  External Trigger */
221b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton#define BCLK_START_DIGITAL_IT      0x3	/*  Digital Interrupt */
222b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton#define BCLK_START_SBUS0           0x4	/*  SyncBus 0 */
223b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton#define BCLK_START_SBUS1           0x5	/*  SyncBus 1 */
224b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton#define BCLK_START_SBUS2           0x6	/*  SyncBus 2 */
225b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton
226b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton/*  Pacer Clock start trigger select (SetPacerStart) */
227b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton#define PCLK_START_SOFTWARE        0x0	/*  Software Pacer Start (StartPacer) */
228b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton#define PCLK_START_ETRIG           0x1	/*  External trigger */
229b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton#define PCLK_START_DIGITAL_IT      0x2	/*  Digital interrupt */
230b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton#define PCLK_START_UTC2            0x3	/*  User TC 2 out */
231b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton#define PCLK_START_SBUS0           0x4	/*  SyncBus 0 */
232b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton#define PCLK_START_SBUS1           0x5	/*  SyncBus 1 */
233b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton#define PCLK_START_SBUS2           0x6	/*  SyncBus 2 */
234b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton#define PCLK_START_D_SOFTWARE      0x8	/*  Delayed Software Pacer Start */
235b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton#define PCLK_START_D_ETRIG         0x9	/*  Delayed external trigger */
236b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton#define PCLK_START_D_DIGITAL_IT    0xA	/*  Delayed digital interrupt */
237b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton#define PCLK_START_D_UTC2          0xB	/*  Delayed User TC 2 out */
238b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton#define PCLK_START_D_SBUS0         0xC	/*  Delayed SyncBus 0 */
239b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton#define PCLK_START_D_SBUS1         0xD	/*  Delayed SyncBus 1 */
240b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton#define PCLK_START_D_SBUS2         0xE	/*  Delayed SyncBus 2 */
241b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton#define PCLK_START_ETRIG_GATED     0xF	/*  External Trigger Gated controlled mode */
242b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton
243b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton/*  Pacer Clock Stop Trigger select (SetPacerStop) */
244b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton#define PCLK_STOP_SOFTWARE         0x0	/*  Software Pacer Stop (StopPacer) */
245b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton#define PCLK_STOP_ETRIG            0x1	/*  External Trigger */
246b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton#define PCLK_STOP_DIGITAL_IT       0x2	/*  Digital Interrupt */
247b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton#define PCLK_STOP_ACNT             0x3	/*  About Counter */
248b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton#define PCLK_STOP_UTC2             0x4	/*  User TC2 out */
249b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton#define PCLK_STOP_SBUS0            0x5	/*  SyncBus 0 */
250b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton#define PCLK_STOP_SBUS1            0x6	/*  SyncBus 1 */
251b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton#define PCLK_STOP_SBUS2            0x7	/*  SyncBus 2 */
252b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton#define PCLK_STOP_A_SOFTWARE       0x8	/*  About Software Pacer Stop */
253b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton#define PCLK_STOP_A_ETRIG          0x9	/*  About External Trigger */
254b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton#define PCLK_STOP_A_DIGITAL_IT     0xA	/*  About Digital Interrupt */
255b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton#define PCLK_STOP_A_UTC2           0xC	/*  About User TC2 out */
256b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton#define PCLK_STOP_A_SBUS0          0xD	/*  About SyncBus 0 */
257b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton#define PCLK_STOP_A_SBUS1          0xE	/*  About SyncBus 1 */
258b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton#define PCLK_STOP_A_SBUS2          0xF	/*  About SyncBus 2 */
259b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton
260b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton/*  About Counter Stop Enable */
261b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton#define ACNT_STOP                  0x0	/*  stop enable */
262b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton#define ACNT_NO_STOP               0x1	/*  stop disabled */
263b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton
264b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton/*  DAC update source (SetDAC1Start & SetDAC2Start) */
265b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton#define DAC_START_SOFTWARE         0x0	/*  Software Update */
266b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton#define DAC_START_CGT              0x1	/*  CGT controlled Update */
267b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton#define DAC_START_DAC_CLK          0x2	/*  D/A Clock */
268b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton#define DAC_START_EPCLK            0x3	/*  External Pacer Clock */
269b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton#define DAC_START_SBUS0            0x4	/*  SyncBus 0 */
270b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton#define DAC_START_SBUS1            0x5	/*  SyncBus 1 */
271b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton#define DAC_START_SBUS2            0x6	/*  SyncBus 2 */
272b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton
273b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton/*  DAC Cycle Mode (SetDAC1Cycle, SetDAC2Cycle, SetupDAC) */
274b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton#define DAC_CYCLE_SINGLE           0x0	/*  not cycle */
275b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton#define DAC_CYCLE_MULTI            0x1	/*  cycle */
276b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton
277b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton/*  8254 Operation Modes (Set8254Mode, SetupTimerCounter) */
278b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton#define M8254_EVENT_COUNTER        0	/*  Event Counter */
279b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton#define M8254_HW_ONE_SHOT          1	/*  Hardware-Retriggerable One-Shot */
280b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton#define M8254_RATE_GENERATOR       2	/*  Rate Generator */
281b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton#define M8254_SQUARE_WAVE          3	/*  Square Wave Mode */
282b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton#define M8254_SW_STROBE            4	/*  Software Triggered Strobe */
283b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton#define M8254_HW_STROBE            5	/*  Hardware Triggered Strobe (Retriggerable) */
284b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton
285b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton/*  User Timer/Counter 0 Clock Select (SetUtc0Clock) */
286b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton#define CUTC0_8MHZ                 0x0	/*  8MHz */
287b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton#define CUTC0_EXT_TC_CLOCK1        0x1	/*  Ext. TC Clock 1 */
288b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton#define CUTC0_EXT_TC_CLOCK2        0x2	/*  Ext. TC Clock 2 */
289b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton#define CUTC0_EXT_PCLK             0x3	/*  Ext. Pacer Clock */
290b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton
291b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton/*  User Timer/Counter 1 Clock Select (SetUtc1Clock) */
292b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton#define CUTC1_8MHZ                 0x0	/*  8MHz */
293b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton#define CUTC1_EXT_TC_CLOCK1        0x1	/*  Ext. TC Clock 1 */
294b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton#define CUTC1_EXT_TC_CLOCK2        0x2	/*  Ext. TC Clock 2 */
295b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton#define CUTC1_EXT_PCLK             0x3	/*  Ext. Pacer Clock */
296b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton#define CUTC1_UTC0_OUT             0x4	/*  User Timer/Counter 0 out */
297b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton#define CUTC1_DIN_SIGNAL           0x5	/*  High-Speed Digital Input   Sampling signal */
298b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton
299b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton/*  User Timer/Counter 2 Clock Select (SetUtc2Clock) */
300b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton#define CUTC2_8MHZ                 0x0	/*  8MHz */
301b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton#define CUTC2_EXT_TC_CLOCK1        0x1	/*  Ext. TC Clock 1 */
302b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton#define CUTC2_EXT_TC_CLOCK2        0x2	/*  Ext. TC Clock 2 */
303b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton#define CUTC2_EXT_PCLK             0x3	/*  Ext. Pacer Clock */
304b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton#define CUTC2_UTC1_OUT             0x4	/*  User Timer/Counter 1 out */
305b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton
306b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton/*  User Timer/Counter 0 Gate Select (SetUtc0Gate) */
307b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton#define GUTC0_NOT_GATED            0x0	/*  Not gated */
308b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton#define GUTC0_GATED                0x1	/*  Gated */
309b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton#define GUTC0_EXT_TC_GATE1         0x2	/*  Ext. TC Gate 1 */
310b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton#define GUTC0_EXT_TC_GATE2         0x3	/*  Ext. TC Gate 2 */
311b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton
312b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton/*  User Timer/Counter 1 Gate Select (SetUtc1Gate) */
313b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton#define GUTC1_NOT_GATED            0x0	/*  Not gated */
314b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton#define GUTC1_GATED                0x1	/*  Gated */
315b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton#define GUTC1_EXT_TC_GATE1         0x2	/*  Ext. TC Gate 1 */
316b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton#define GUTC1_EXT_TC_GATE2         0x3	/*  Ext. TC Gate 2 */
317b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton#define GUTC1_UTC0_OUT             0x4	/*  User Timer/Counter 0 out */
318b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton
319b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton/*  User Timer/Counter 2 Gate Select (SetUtc2Gate) */
320b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton#define GUTC2_NOT_GATED            0x0	/*  Not gated */
321b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton#define GUTC2_GATED                0x1	/*  Gated */
322b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton#define GUTC2_EXT_TC_GATE1         0x2	/*  Ext. TC Gate 1 */
323b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton#define GUTC2_EXT_TC_GATE2         0x3	/*  Ext. TC Gate 2 */
324b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton#define GUTC2_UTC1_OUT             0x4	/*  User Timer/Counter 1 out */
325b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton
326b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton/*  Interrupt Source Masks (SetITMask, ClearITMask, GetITStatus) */
327b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton#define IRQM_ADC_FIFO_WRITE        0x0001	/*  ADC FIFO Write */
328b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton#define IRQM_CGT_RESET             0x0002	/*  Reset CGT */
329b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton#define IRQM_CGT_PAUSE             0x0008	/*  Pause CGT */
330b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton#define IRQM_ADC_ABOUT_CNT         0x0010	/*  About Counter out */
331b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton#define IRQM_ADC_DELAY_CNT         0x0020	/*  Delay Counter out */
332b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton#define IRQM_ADC_SAMPLE_CNT	   0x0040	/*  ADC Sample Counter */
333b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton#define IRQM_DAC1_UCNT             0x0080	/*  DAC1 Update Counter */
334b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton#define IRQM_DAC2_UCNT             0x0100	/*  DAC2 Update Counter */
335b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton#define IRQM_UTC1                  0x0200	/*  User TC1 out */
336b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton#define IRQM_UTC1_INV              0x0400	/*  User TC1 out, inverted */
337b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton#define IRQM_UTC2                  0x0800	/*  User TC2 out */
338b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton#define IRQM_DIGITAL_IT            0x1000	/*  Digital Interrupt */
339b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton#define IRQM_EXTERNAL_IT           0x2000	/*  External Interrupt */
340b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton#define IRQM_ETRIG_RISING          0x4000	/*  External Trigger rising-edge */
341b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton#define IRQM_ETRIG_FALLING         0x8000	/*  External Trigger falling-edge */
342b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton
343b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton/*  DMA Request Sources (LAS0) */
344b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton#define DMAS_DISABLED              0x0	/*  DMA Disabled */
345b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton#define DMAS_ADC_SCNT              0x1	/*  ADC Sample Counter */
346b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton#define DMAS_DAC1_UCNT             0x2	/*  D/A1 Update Counter */
347b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton#define DMAS_DAC2_UCNT             0x3	/*  D/A2 Update Counter */
348b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton#define DMAS_UTC1                  0x4	/*  User TC1 out */
349b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton#define DMAS_ADFIFO_HALF_FULL      0x8	/*  A/D FIFO half full */
350b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton#define DMAS_DAC1_FIFO_HALF_EMPTY  0x9	/*  D/A1 FIFO half empty */
351b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton#define DMAS_DAC2_FIFO_HALF_EMPTY  0xA	/*  D/A2 FIFO half empty */
352b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton
353b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton/*  DMA Local Addresses   (0x40000000+LAS1 offset) */
354b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton#define DMALADDR_ADC       0x40000000	/*  A/D FIFO */
355b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton#define DMALADDR_HDIN      0x40000004	/*  High Speed Digital Input FIFO */
356b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton#define DMALADDR_DAC1      0x40000008	/*  D/A1 FIFO */
357b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton#define DMALADDR_DAC2      0x4000000C	/*  D/A2 FIFO */
358b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton
359b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton/*  Port 0 compare modes (SetDIO0CompareMode) */
360b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton#define DIO_MODE_EVENT     0	/*  Event Mode */
361b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton#define DIO_MODE_MATCH     1	/*  Match Mode */
362b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton
363b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton/*  Digital Table Enable (Port 1 disable) */
364b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton#define DTBL_DISABLE       0	/*  Enable Digital Table */
365b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton#define DTBL_ENABLE        1	/*  Disable Digital Table */
366b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton
367b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton/*  Sampling Signal for High Speed Digital Input (SetHdinStart) */
368b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton#define HDIN_SOFTWARE      0x0	/*  Software Trigger */
369b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton#define HDIN_ADC           0x1	/*  A/D Conversion Signal */
370b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton#define HDIN_UTC0          0x2	/*  User TC out 0 */
371b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton#define HDIN_UTC1          0x3	/*  User TC out 1 */
372b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton#define HDIN_UTC2          0x4	/*  User TC out 2 */
373b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton#define HDIN_EPCLK         0x5	/*  External Pacer Clock */
374b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton#define HDIN_ETRG          0x6	/*  External Trigger */
375b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton
376b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton/*  Channel Gain Table / Channel Gain Latch */
377b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton#define CSC_LATCH          0	/*  Channel Gain Latch mode */
378b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton#define CSC_CGT            1	/*  Channel Gain Table mode */
379b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton
380b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton/*  Channel Gain Table Pause Enable */
381b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton#define CGT_PAUSE_DISABLE  0	/*  Channel Gain Table Pause Disable */
382b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton#define CGT_PAUSE_ENABLE   1	/*  Channel Gain Table Pause Enable */
383b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton
384b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton/*  DAC output type/range (p63) */
385b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton#define AOUT_UNIP5         0	/*  0..+5 Volt */
386b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton#define AOUT_UNIP10        1	/*  0..+10 Volt */
387b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton#define AOUT_BIP5          2	/*  -5..+5 Volt */
388b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton#define AOUT_BIP10         3	/*  -10..+10 Volt */
389b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton
390b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton/*  Ghannel Gain Table field definitions (p61) */
391b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton/*  Gain */
3923d9f073994925a2c8206e41b12a8c12282972cecDan Christian#define GAIN1              0
3933d9f073994925a2c8206e41b12a8c12282972cecDan Christian#define GAIN2              1
3943d9f073994925a2c8206e41b12a8c12282972cecDan Christian#define GAIN4              2
3953d9f073994925a2c8206e41b12a8c12282972cecDan Christian#define GAIN8              3
3963d9f073994925a2c8206e41b12a8c12282972cecDan Christian#define GAIN16             4
3973d9f073994925a2c8206e41b12a8c12282972cecDan Christian#define GAIN32             5
3983d9f073994925a2c8206e41b12a8c12282972cecDan Christian#define GAIN64             6
3993d9f073994925a2c8206e41b12a8c12282972cecDan Christian#define GAIN128            7
4003d9f073994925a2c8206e41b12a8c12282972cecDan Christian
401b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton/*  Input range/polarity */
402b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton#define AIN_BIP5           0	/*  -5..+5 Volt */
403b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton#define AIN_BIP10          1	/*  -10..+10 Volt */
404b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton#define AIN_UNIP10         2	/*  0..+10 Volt */
4053d9f073994925a2c8206e41b12a8c12282972cecDan Christian
406b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton/*  non referenced single ended select bit */
407b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton#define NRSE_AGND          0	/*  AGND referenced SE input */
408b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton#define NRSE_AINS          1	/*  AIN SENSE referenced SE input */
4093d9f073994925a2c8206e41b12a8c12282972cecDan Christian
410b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton/*  single ended vs differential */
411b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton#define GND_SE		0	/*  Single-Ended */
412b6c777571b8d387d3add91170826f32a379e4313Bill Pemberton#define GND_DIFF	1	/*  Differential */
413