21 #define ECHOCARD_NAME "Mona"
22 #define ECHOCARD_HAS_MONITOR
23 #define ECHOCARD_HAS_ASIC
24 #define ECHOCARD_HAS_SUPER_INTERLEAVE
25 #define ECHOCARD_HAS_DIGITAL_IO
26 #define ECHOCARD_HAS_DIGITAL_IN_AUTOMUTE
27 #define ECHOCARD_HAS_DIGITAL_MODE_SWITCH
28 #define ECHOCARD_HAS_EXTERNAL_CLOCK
29 #define ECHOCARD_HAS_ADAT 6
30 #define ECHOCARD_HAS_STEREO_BIG_ENDIAN32
33 #define PX_ANALOG_OUT 0
34 #define PX_DIGITAL_OUT 6
35 #define PX_ANALOG_IN 14
36 #define PX_DIGITAL_IN 18
40 #define BX_ANALOG_OUT 0
41 #define BX_DIGITAL_OUT 6
42 #define BX_ANALOG_IN 14
43 #define BX_DIGITAL_IN 18
50 #include <linux/pci.h>
51 #include <linux/module.h>
53 #include <linux/slab.h>
75 #define FW_361_LOADER 0
76 #define FW_MONA_301_DSP 1
77 #define FW_MONA_361_DSP 2
78 #define FW_MONA_301_1_ASIC48 3
79 #define FW_MONA_301_1_ASIC96 4
80 #define FW_MONA_361_1_ASIC48 5
81 #define FW_MONA_361_1_ASIC96 6
82 #define FW_MONA_2_ASIC 7
84 static const struct firmware card_fw[] = {
86 {0,
"mona_301_dsp.fw"},
87 {0,
"mona_361_dsp.fw"},
88 {0,
"mona_301_1_asic_48.fw"},
89 {0,
"mona_301_1_asic_96.fw"},
90 {0,
"mona_361_1_asic_48.fw"},
91 {0,
"mona_361_1_asic_96.fw"},
96 {0x1057, 0x1801, 0xECC0, 0x0070, 0, 0, 0},
97 {0x1057, 0x1801, 0xECC0, 0x0071, 0, 0, 0},
98 {0x1057, 0x1801, 0xECC0, 0x0072, 0, 0, 0},
99 {0x1057, 0x3410, 0xECC0, 0x0070, 0, 0, 0},
100 {0x1057, 0x3410, 0xECC0, 0x0071, 0, 0, 0},
101 {0x1057, 0x3410, 0xECC0, 0x0072, 0, 0, 0},
124 .buffer_bytes_max = 262144,
125 .period_bytes_min = 32,
126 .period_bytes_max = 131072,