150787fa99d80e86c9a22b7af16fd9827f733f3abIan Abbott/* 250787fa99d80e86c9a22b7af16fd9827f733f3abIan Abbott * ni_labpc register definitions. 350787fa99d80e86c9a22b7af16fd9827f733f3abIan Abbott*/ 450787fa99d80e86c9a22b7af16fd9827f733f3abIan Abbott 550787fa99d80e86c9a22b7af16fd9827f733f3abIan Abbott#ifndef _NI_LABPC_REGS_H 650787fa99d80e86c9a22b7af16fd9827f733f3abIan Abbott#define _NI_LABPC_REGS_H 750787fa99d80e86c9a22b7af16fd9827f733f3abIan Abbott 850787fa99d80e86c9a22b7af16fd9827f733f3abIan Abbott/* 950787fa99d80e86c9a22b7af16fd9827f733f3abIan Abbott * Register map (all registers are 8-bit) 1050787fa99d80e86c9a22b7af16fd9827f733f3abIan Abbott */ 1150787fa99d80e86c9a22b7af16fd9827f733f3abIan Abbott#define STAT1_REG 0x00 /* R: Status 1 reg */ 1250787fa99d80e86c9a22b7af16fd9827f733f3abIan Abbott#define STAT1_DAVAIL (1 << 0) 1350787fa99d80e86c9a22b7af16fd9827f733f3abIan Abbott#define STAT1_OVERRUN (1 << 1) 1450787fa99d80e86c9a22b7af16fd9827f733f3abIan Abbott#define STAT1_OVERFLOW (1 << 2) 1550787fa99d80e86c9a22b7af16fd9827f733f3abIan Abbott#define STAT1_CNTINT (1 << 3) 1650787fa99d80e86c9a22b7af16fd9827f733f3abIan Abbott#define STAT1_GATA0 (1 << 5) 1750787fa99d80e86c9a22b7af16fd9827f733f3abIan Abbott#define STAT1_EXTGATA0 (1 << 6) 1850787fa99d80e86c9a22b7af16fd9827f733f3abIan Abbott#define CMD1_REG 0x00 /* W: Command 1 reg */ 1950787fa99d80e86c9a22b7af16fd9827f733f3abIan Abbott#define CMD1_MA(x) (((x) & 0x7) << 0) 2050787fa99d80e86c9a22b7af16fd9827f733f3abIan Abbott#define CMD1_TWOSCMP (1 << 3) 2150787fa99d80e86c9a22b7af16fd9827f733f3abIan Abbott#define CMD1_GAIN(x) (((x) & 0x7) << 4) 2250787fa99d80e86c9a22b7af16fd9827f733f3abIan Abbott#define CMD1_SCANEN (1 << 7) 2350787fa99d80e86c9a22b7af16fd9827f733f3abIan Abbott#define CMD2_REG 0x01 /* W: Command 2 reg */ 2450787fa99d80e86c9a22b7af16fd9827f733f3abIan Abbott#define CMD2_PRETRIG (1 << 0) 2550787fa99d80e86c9a22b7af16fd9827f733f3abIan Abbott#define CMD2_HWTRIG (1 << 1) 2650787fa99d80e86c9a22b7af16fd9827f733f3abIan Abbott#define CMD2_SWTRIG (1 << 2) 2750787fa99d80e86c9a22b7af16fd9827f733f3abIan Abbott#define CMD2_TBSEL (1 << 3) 2850787fa99d80e86c9a22b7af16fd9827f733f3abIan Abbott#define CMD2_2SDAC0 (1 << 4) 2950787fa99d80e86c9a22b7af16fd9827f733f3abIan Abbott#define CMD2_2SDAC1 (1 << 5) 3050787fa99d80e86c9a22b7af16fd9827f733f3abIan Abbott#define CMD2_LDAC(x) (1 << (6 + (x))) 3150787fa99d80e86c9a22b7af16fd9827f733f3abIan Abbott#define CMD3_REG 0x02 /* W: Command 3 reg */ 3250787fa99d80e86c9a22b7af16fd9827f733f3abIan Abbott#define CMD3_DMAEN (1 << 0) 3350787fa99d80e86c9a22b7af16fd9827f733f3abIan Abbott#define CMD3_DIOINTEN (1 << 1) 3450787fa99d80e86c9a22b7af16fd9827f733f3abIan Abbott#define CMD3_DMATCINTEN (1 << 2) 3550787fa99d80e86c9a22b7af16fd9827f733f3abIan Abbott#define CMD3_CNTINTEN (1 << 3) 3650787fa99d80e86c9a22b7af16fd9827f733f3abIan Abbott#define CMD3_ERRINTEN (1 << 4) 3750787fa99d80e86c9a22b7af16fd9827f733f3abIan Abbott#define CMD3_FIFOINTEN (1 << 5) 3850787fa99d80e86c9a22b7af16fd9827f733f3abIan Abbott#define ADC_START_CONVERT_REG 0x03 /* W: Start Convert reg */ 3950787fa99d80e86c9a22b7af16fd9827f733f3abIan Abbott#define DAC_LSB_REG(x) (0x04 + 2 * (x)) /* W: DAC0/1 LSB reg */ 4050787fa99d80e86c9a22b7af16fd9827f733f3abIan Abbott#define DAC_MSB_REG(x) (0x05 + 2 * (x)) /* W: DAC0/1 MSB reg */ 4150787fa99d80e86c9a22b7af16fd9827f733f3abIan Abbott#define ADC_FIFO_CLEAR_REG 0x08 /* W: A/D FIFO Clear reg */ 4250787fa99d80e86c9a22b7af16fd9827f733f3abIan Abbott#define ADC_FIFO_REG 0x0a /* R: A/D FIFO reg */ 4350787fa99d80e86c9a22b7af16fd9827f733f3abIan Abbott#define DMATC_CLEAR_REG 0x0a /* W: DMA Interrupt Clear reg */ 4450787fa99d80e86c9a22b7af16fd9827f733f3abIan Abbott#define TIMER_CLEAR_REG 0x0c /* W: Timer Interrupt Clear reg */ 4550787fa99d80e86c9a22b7af16fd9827f733f3abIan Abbott#define CMD6_REG 0x0e /* W: Command 6 reg */ 4650787fa99d80e86c9a22b7af16fd9827f733f3abIan Abbott#define CMD6_NRSE (1 << 0) 4750787fa99d80e86c9a22b7af16fd9827f733f3abIan Abbott#define CMD6_ADCUNI (1 << 1) 4850787fa99d80e86c9a22b7af16fd9827f733f3abIan Abbott#define CMD6_DACUNI(x) (1 << (2 + (x))) 4950787fa99d80e86c9a22b7af16fd9827f733f3abIan Abbott#define CMD6_HFINTEN (1 << 5) 5050787fa99d80e86c9a22b7af16fd9827f733f3abIan Abbott#define CMD6_DQINTEN (1 << 6) 5150787fa99d80e86c9a22b7af16fd9827f733f3abIan Abbott#define CMD6_SCANUP (1 << 7) 5250787fa99d80e86c9a22b7af16fd9827f733f3abIan Abbott#define CMD4_REG 0x0f /* W: Command 3 reg */ 5350787fa99d80e86c9a22b7af16fd9827f733f3abIan Abbott#define CMD4_INTSCAN (1 << 0) 5450787fa99d80e86c9a22b7af16fd9827f733f3abIan Abbott#define CMD4_EOIRCV (1 << 1) 5550787fa99d80e86c9a22b7af16fd9827f733f3abIan Abbott#define CMD4_ECLKDRV (1 << 2) 5650787fa99d80e86c9a22b7af16fd9827f733f3abIan Abbott#define CMD4_SEDIFF (1 << 3) 5750787fa99d80e86c9a22b7af16fd9827f733f3abIan Abbott#define CMD4_ECLKRCV (1 << 4) 5850787fa99d80e86c9a22b7af16fd9827f733f3abIan Abbott#define DIO_BASE_REG 0x10 /* R/W: 8255 DIO base reg */ 5950787fa99d80e86c9a22b7af16fd9827f733f3abIan Abbott#define COUNTER_A_BASE_REG 0x14 /* R/W: 8253 Counter A base reg */ 6050787fa99d80e86c9a22b7af16fd9827f733f3abIan Abbott#define COUNTER_B_BASE_REG 0x18 /* R/W: 8253 Counter B base reg */ 6150787fa99d80e86c9a22b7af16fd9827f733f3abIan Abbott#define CMD5_REG 0x1c /* W: Command 5 reg */ 6250787fa99d80e86c9a22b7af16fd9827f733f3abIan Abbott#define CMD5_WRTPRT (1 << 2) 6350787fa99d80e86c9a22b7af16fd9827f733f3abIan Abbott#define CMD5_DITHEREN (1 << 3) 6450787fa99d80e86c9a22b7af16fd9827f733f3abIan Abbott#define CMD5_CALDACLD (1 << 4) 6550787fa99d80e86c9a22b7af16fd9827f733f3abIan Abbott#define CMD5_SCLK (1 << 5) 6650787fa99d80e86c9a22b7af16fd9827f733f3abIan Abbott#define CMD5_SDATA (1 << 6) 6750787fa99d80e86c9a22b7af16fd9827f733f3abIan Abbott#define CMD5_EEPROMCS (1 << 7) 6850787fa99d80e86c9a22b7af16fd9827f733f3abIan Abbott#define STAT2_REG 0x1d /* R: Status 2 reg */ 6950787fa99d80e86c9a22b7af16fd9827f733f3abIan Abbott#define STAT2_PROMOUT (1 << 0) 7050787fa99d80e86c9a22b7af16fd9827f733f3abIan Abbott#define STAT2_OUTA1 (1 << 1) 7150787fa99d80e86c9a22b7af16fd9827f733f3abIan Abbott#define STAT2_FIFONHF (1 << 2) 7250787fa99d80e86c9a22b7af16fd9827f733f3abIan Abbott#define INTERVAL_COUNT_REG 0x1e /* W: Interval Counter Data reg */ 7350787fa99d80e86c9a22b7af16fd9827f733f3abIan Abbott#define INTERVAL_STROBE_REG 0x1f /* W: Interval Counter Strobe reg */ 7450787fa99d80e86c9a22b7af16fd9827f733f3abIan Abbott 7550787fa99d80e86c9a22b7af16fd9827f733f3abIan Abbott#endif /* _NI_LABPC_REGS_H */ 76