19 volatile unsigned int config;
20 volatile unsigned int status;
22 volatile unsigned int adc_din;
23 volatile unsigned int dac_dout;
25 volatile unsigned int adrin;
26 volatile unsigned int adrout;
27 volatile unsigned int adrdir;
29 volatile unsigned int data_in;
30 volatile unsigned int data_out;
31 volatile unsigned int data_dir;
34#define GRADCDAC_CFG_DACWS 0x00f80000
35#define GRADCDAC_CFG_WRPOL 0x00040000
36#define GRADCDAC_CFG_DACDW 0x00030000
37#define GRADCDAC_CFG_ADCWS 0x0000f800
38#define GRADCDAC_CFG_RCPOL 0x00000400
39#define GRADCDAC_CFG_CSMODE 0x00000300
40#define GRADCDAC_CFG_CSPOL 0x00000080
41#define GRADCDAC_CFG_RDYMODE 0x00000040
42#define GRADCDAC_CFG_RDYPOL 0x00000020
43#define GRADCDAC_CFG_TRIGPOL 0x00000010
44#define GRADCDAC_CFG_TRIGMODE 0x0000000c
45#define GRADCDAC_CFG_ADCDW 0x00000003
47#define GRADCDAC_CFG_DACWS_BIT 19
48#define GRADCDAC_CFG_WRPOL_BIT 18
49#define GRADCDAC_CFG_DACDW_BIT 16
50#define GRADCDAC_CFG_ADCWS_BIT 11
51#define GRADCDAC_CFG_RCPOL_BIT 10
52#define GRADCDAC_CFG_CSMODE_BIT 8
53#define GRADCDAC_CFG_CSPOL_BIT 7
54#define GRADCDAC_CFG_RDYMODE_BIT 6
55#define GRADCDAC_CFG_RDYPOL_BIT 5
56#define GRADCDAC_CFG_TRIGPOL_BIT 4
57#define GRADCDAC_CFG_TRIGMODE_BIT 2
58#define GRADCDAC_CFG_ADCDW_BIT 0
60#define GRADCDAC_STATUS_DACNO 0x40
61#define GRADCDAC_STATUS_DACRDY 0x20
62#define GRADCDAC_STATUS_DACON 0x10
63#define GRADCDAC_STATUS_ADCTO 0x08
64#define GRADCDAC_STATUS_ADCNO 0x04
65#define GRADCDAC_STATUS_ADCRDY 0x02
66#define GRADCDAC_STATUS_ADCON 0x01
68#define GRADCDAC_STATUS_DACNO_BIT 6
69#define GRADCDAC_STATUS_DACRDY_BIT 5
70#define GRADCDAC_STATUS_DACON_BIT 4
71#define GRADCDAC_STATUS_ADCTO_BIT 3
72#define GRADCDAC_STATUS_ADCNO_BIT 2
73#define GRADCDAC_STATUS_ADCRDY_BIT 1
74#define GRADCDAC_STATUS_ADCON_BIT 0
76#define GRADCDAC_IRQ_DAC 1
77#define GRADCDAC_IRQ_ADC 0
85 unsigned char cs_mode;
90 unsigned char trigg_mode;
94extern void *gradcdac_open(
char *devname);
96extern void gradcdac_set_config(
void *cookie,
struct gradcdac_config *cfg);
98extern void gradcdac_get_config(
void *cookie,
struct gradcdac_config *cfg);
100extern void gradcdac_set_cfg(
void *cookie,
unsigned int config);
102extern unsigned int gradcdac_get_cfg(
void *cookie);
104extern unsigned int gradcdac_get_status(
void *cookie);
106static int __inline__ gradcdac_DAC_ReqRej(
unsigned int status)
108 return (status & GRADCDAC_STATUS_DACNO);
111static int __inline__ gradcdac_DAC_isCompleted(
unsigned int status)
113 return (status & GRADCDAC_STATUS_DACRDY);
116static int __inline__ gradcdac_DAC_isOngoing(
unsigned int status)
118 return (status & GRADCDAC_STATUS_DACON);
121static int __inline__ gradcdac_ADC_isTimeouted(
unsigned int status)
123 return (status & GRADCDAC_STATUS_ADCTO);
126static int __inline__ gradcdac_ADC_ReqRej(
unsigned int status)
128 return (status & GRADCDAC_STATUS_ADCNO);
131static int __inline__ gradcdac_ADC_isCompleted(
unsigned int status)
133 return (status & GRADCDAC_STATUS_ADCRDY);
136static int __inline__ gradcdac_ADC_isOngoing(
unsigned int status)
138 return (status & GRADCDAC_STATUS_ADCON);
141#define GRADCDAC_ISR_BOTH 3
142#define GRADCDAC_ISR_DAC 2
143#define GRADCDAC_ISR_ADC 1
154extern int gradcdac_install_irq_handler
155 (
void *cookie,
int adc,
void (*isr)(
void *cookie,
void *arg),
void *arg);
157extern void gradcdac_uninstall_irq_handler(
void *cookie,
int adc);
163extern void gradcdac_adc_convert_start(
void *cookie);
174extern int gradcdac_adc_convert_try(
void *cookie,
unsigned short *digital_value);
183extern int gradcdac_adc_convert(
void *cookie,
unsigned short *digital_value);
190extern int gradcdac_dac_convert_try(
void *cookie,
unsigned short digital_value);
197extern void gradcdac_dac_convert(
void *cookie,
unsigned short digital_value);
199extern unsigned int gradcdac_get_adrinput(
void *cookie);
200extern void gradcdac_set_adrinput(
void *cookie,
unsigned int input);
202extern unsigned int gradcdac_get_adroutput(
void *cookie);
203extern void gradcdac_set_adroutput(
void *cookie,
unsigned int output);
205extern unsigned int gradcdac_get_adrdir(
void *cookie);
206extern void gradcdac_set_adrdir(
void *cookie,
unsigned int dir);
208extern unsigned int gradcdac_get_datainput(
void *cookie);
209extern void gradcdac_set_datainput(
void *cookie,
unsigned int input);
211extern unsigned int gradcdac_get_dataoutput(
void *cookie);
212extern void gradcdac_set_dataoutput(
void *cookie,
unsigned int output);
214extern unsigned int gradcdac_get_datadir(
void *cookie);
215extern void gradcdac_set_datadir(
void *cookie,
unsigned int dir);
218extern void grAdcDacShow(
void *cookie);
221extern void gradcdac_register_drv (
void);
Definition: deflate.c:115
Definition: gradcdac.h:79
Definition: gradcdac.h:18