20 #define ECHOCARD_GINA24
21 #define ECHOCARD_NAME "Gina24"
22 #define ECHOCARD_HAS_MONITOR
23 #define ECHOCARD_HAS_ASIC
24 #define ECHOCARD_HAS_INPUT_NOMINAL_LEVEL
25 #define ECHOCARD_HAS_OUTPUT_NOMINAL_LEVEL
26 #define ECHOCARD_HAS_SUPER_INTERLEAVE
27 #define ECHOCARD_HAS_DIGITAL_IO
28 #define ECHOCARD_HAS_DIGITAL_IN_AUTOMUTE
29 #define ECHOCARD_HAS_DIGITAL_MODE_SWITCH
30 #define ECHOCARD_HAS_EXTERNAL_CLOCK
31 #define ECHOCARD_HAS_ADAT 6
32 #define ECHOCARD_HAS_STEREO_BIG_ENDIAN32
35 #define PX_ANALOG_OUT 0
36 #define PX_DIGITAL_OUT 8
37 #define PX_ANALOG_IN 16
38 #define PX_DIGITAL_IN 18
42 #define BX_ANALOG_OUT 0
43 #define BX_DIGITAL_OUT 8
44 #define BX_ANALOG_IN 16
45 #define BX_DIGITAL_IN 18
52 #include <linux/pci.h>
53 #include <linux/module.h>
55 #include <linux/slab.h>
74 #define FW_361_LOADER 0
75 #define FW_GINA24_301_DSP 1
76 #define FW_GINA24_361_DSP 2
77 #define FW_GINA24_301_ASIC 3
78 #define FW_GINA24_361_ASIC 4
80 static const struct firmware card_fw[] = {
82 {0,
"gina24_301_dsp.fw"},
83 {0,
"gina24_361_dsp.fw"},
84 {0,
"gina24_301_asic.fw"},
85 {0,
"gina24_361_asic.fw"}
89 {0x1057, 0x1801, 0xECC0, 0x0050, 0, 0, 0},
90 {0x1057, 0x1801, 0xECC0, 0x0051, 0, 0, 0},
91 {0x1057, 0x3410, 0xECC0, 0x0050, 0, 0, 0},
92 {0x1057, 0x3410, 0xECC0, 0x0051, 0, 0, 0},
115 .buffer_bytes_max = 262144,
116 .period_bytes_min = 32,
117 .period_bytes_max = 131072,