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