Merge branch 'stable/xen-swiotlb-0.8.6' of git://git.kernel.org/pub/scm/linux/kernel...
[GitHub/mt8127/android_kernel_alcatel_ttab.git] / drivers / staging / line6 / control.h
1 /*
2 * Line6 Linux USB driver - 0.8.0
3 *
4 * Copyright (C) 2004-2009 Markus Grabner (grabner@icg.tugraz.at)
5 *
6 * This program is free software; you can redistribute it and/or
7 * modify it under the terms of the GNU General Public License as
8 * published by the Free Software Foundation, version 2.
9 *
10 */
11
12 #ifndef LINE6_CONTROL_H
13 #define LINE6_CONTROL_H
14
15
16 /**
17 List of PODxt Pro controls.
18 See Appendix C of the "PODxt (Pro) Pilot's Handbook" by Line6.
19 Comments after the number refer to the PODxt Pro firmware version required
20 for this feature.
21 */
22 enum {
23 POD_tweak = 1,
24 POD_wah_position = 4,
25
26 /* device: LINE6_BITS_PODXTALL */
27 POD_compression_gain = 5,
28
29 POD_vol_pedal_position = 7,
30 POD_compression_threshold = 9,
31 POD_pan = 10,
32 POD_amp_model_setup = 11,
33 POD_amp_model = 12, /* firmware: 2.0 */
34 POD_drive = 13,
35 POD_bass = 14,
36
37 /* device: LINE6_BITS_PODXTALL */
38 POD_mid = 15,
39
40 /* device: LINE6_BITS_BASSPODXTALL */
41 POD_lowmid = 15,
42
43 /* device: LINE6_BITS_PODXTALL */
44 POD_treble = 16,
45
46 /* device: LINE6_BITS_BASSPODXTALL */
47 POD_highmid = 16,
48
49 POD_chan_vol = 17,
50
51 /* device: LINE6_BITS_PODXTALL */
52 POD_reverb_mix = 18,
53
54 POD_effect_setup = 19,
55 POD_band_1_frequency = 20, /* firmware: 2.0 */
56
57 /* device: LINE6_BITS_PODXTALL */
58 POD_presence = 21,
59
60 /* device: LINE6_BITS_BASSPODXTALL */
61 POD_treble__bass = 21,
62
63 POD_noise_gate_enable = 22,
64 POD_gate_threshold = 23,
65 POD_gate_decay_time = 24,
66 POD_stomp_enable = 25,
67 POD_comp_enable = 26,
68 POD_stomp_time = 27,
69 POD_delay_enable = 28,
70 POD_mod_param_1 = 29,
71 POD_delay_param_1 = 30,
72 POD_delay_param_1_note_value = 31,
73
74 /* device: LINE6_BITS_BASSPODXTALL */
75 POD_band_2_frequency__bass = 32, /* firmware: 2.0 */
76
77 POD_delay_param_2 = 33,
78 POD_delay_volume_mix = 34,
79 POD_delay_param_3 = 35,
80
81 /* device: LINE6_BITS_PODXTALL */
82 POD_reverb_enable = 36,
83 POD_reverb_type = 37,
84 POD_reverb_decay = 38,
85 POD_reverb_tone = 39,
86 POD_reverb_pre_delay = 40,
87 POD_reverb_pre_post = 41,
88 POD_band_2_frequency = 42,
89
90 /* device: LINE6_BITS_BASSPODXTALL */
91 POD_band_3_frequency__bass = 42, /* firmware: 2.0 */
92
93 POD_wah_enable = 43,
94
95 /* device: LINE6_BITS_BASSPODXTALL */
96 POD_modulation_lo_cut = 44,
97 POD_delay_reverb_lo_cut = 45,
98
99 /* device: LINE6_BITS_PODXTALL */
100 POD_volume_pedal_minimum = 46, /* firmware: 2.0 */
101
102 /* device: LINE6_BITS_BASSPODXTALL */
103 POD_eq_pre_post = 46, /* firmware: 2.0 */
104
105 POD_volume_pre_post = 47,
106
107 /* device: LINE6_BITS_BASSPODXTALL */
108 POD_di_model = 48,
109 POD_di_delay = 49,
110
111 POD_mod_enable = 50,
112 POD_mod_param_1_note_value = 51,
113 POD_mod_param_2 = 52,
114 POD_mod_param_3 = 53,
115 POD_mod_param_4 = 54,
116
117 /* device: LINE6_BITS_BASSPODXTALL */
118 POD_mod_param_5 = 55,
119
120 POD_mod_volume_mix = 56,
121 POD_mod_pre_post = 57,
122 POD_modulation_model = 58,
123
124 /* device: LINE6_BITS_PODXTALL */
125 POD_band_3_frequency = 60, /* firmware: 2.0 */
126
127 /* device: LINE6_BITS_BASSPODXTALL */
128 POD_band_4_frequency__bass = 60, /* firmware: 2.0 */
129
130 POD_mod_param_1_double_precision = 61,
131 POD_delay_param_1_double_precision = 62,
132 POD_eq_enable = 63, /* firmware: 2.0 */
133 POD_tap = 64,
134 POD_volume_tweak_pedal_assign = 65,
135
136 /* device: LINE6_BITS_BASSPODXTALL */
137 POD_band_5_frequency = 68, /* firmware: 2.0 */
138
139 POD_tuner = 69,
140 POD_mic_selection = 70,
141 POD_cabinet_model = 71,
142 POD_stomp_model = 75,
143 POD_roomlevel = 76,
144
145 /* device: LINE6_BITS_PODXTALL */
146 POD_band_4_frequency = 77, /* firmware: 2.0 */
147
148 /* device: LINE6_BITS_BASSPODXTALL */
149 POD_band_6_frequency = 77, /* firmware: 2.0 */
150
151 POD_stomp_param_1_note_value = 78,
152 POD_stomp_param_2 = 79,
153 POD_stomp_param_3 = 80,
154 POD_stomp_param_4 = 81,
155 POD_stomp_param_5 = 82,
156 POD_stomp_param_6 = 83,
157
158 /* device: LINE6_BITS_LIVE */
159 POD_amp_switch_select = 84,
160
161 POD_delay_param_4 = 85,
162 POD_delay_param_5 = 86,
163 POD_delay_pre_post = 87,
164
165 /* device: LINE6_BITS_PODXTALL */
166 POD_delay_model = 88,
167
168 /* device: LINE6_BITS_BASSPODXTALL */
169 POD_delay_verb_model = 88,
170
171 POD_tempo_msb = 89,
172 POD_tempo_lsb = 90,
173 POD_wah_model = 91, /* firmware: 3.0 */
174 POD_bypass_volume = 105, /* firmware: 2.14 */
175
176 /* device: LINE6_BITS_PRO */
177 POD_fx_loop_on_off = 107,
178
179 POD_tweak_param_select = 108,
180 POD_amp1_engage = 111,
181 POD_band_1_gain = 114, /* firmware: 2.0 */
182
183 /* device: LINE6_BITS_BASSPODXTALL */
184 POD_band_2_gain__bass = 115, /* firmware: 2.0 */
185
186 /* device: LINE6_BITS_PODXTALL */
187 POD_band_2_gain = 116, /* firmware: 2.0 */
188
189 /* device: LINE6_BITS_BASSPODXTALL */
190 POD_band_3_gain__bass = 116, /* firmware: 2.0 */
191
192 /* device: LINE6_BITS_PODXTALL */
193 POD_band_3_gain = 117, /* firmware: 2.0 */
194
195 /* device: LINE6_BITS_BASSPODXTALL */
196 POD_band_4_gain__bass = 117, /* firmware: 2.0 */
197 POD_band_5_gain__bass = 118, /* firmware: 2.0 */
198
199 /* device: LINE6_BITS_PODXTALL */
200 POD_band_4_gain = 119, /* firmware: 2.0 */
201
202 /* device: LINE6_BITS_BASSPODXTALL */
203 POD_band_6_gain__bass = 119 /* firmware: 2.0 */
204 };
205
206 /**
207 List of Variax workbench controls (dump).
208 */
209 enum {
210 VARIAX_body = 3,
211 VARIAX_pickup1_enable = 4, /* 0: enabled, 1: disabled */
212 VARIAX_pickup1_type = 8,
213 VARIAX_pickup1_position = 9, /* type: 24 bit float */
214 VARIAX_pickup1_angle = 12, /* type: 24 bit float */
215 VARIAX_pickup1_level = 15, /* type: 24 bit float */
216 VARIAX_pickup2_enable = 18, /* 0: enabled, 1: disabled */
217 VARIAX_pickup2_type = 22,
218 VARIAX_pickup2_position = 23, /* type: 24 bit float */
219 VARIAX_pickup2_angle = 26, /* type: 24 bit float */
220 VARIAX_pickup2_level = 29, /* type: 24 bit float */
221 VARIAX_pickup_phase = 32, /* 0: in phase,
222 1: out of phase */
223 VARIAX_capacitance = 33, /* type: 24 bit float */
224 VARIAX_tone_resistance = 36, /* type: 24 bit float */
225 VARIAX_volume_resistance = 39, /* type: 24 bit float */
226 VARIAX_taper = 42, /* 0: Linear, 1: Audio */
227 VARIAX_tone_dump = 43, /* type: 24 bit float */
228 VARIAX_save_tone = 46,
229 VARIAX_volume_dump = 47, /* type: 24 bit float */
230 VARIAX_tuning_enable = 50,
231 VARIAX_tuning6 = 51,
232 VARIAX_tuning5 = 52,
233 VARIAX_tuning4 = 53,
234 VARIAX_tuning3 = 54,
235 VARIAX_tuning2 = 55,
236 VARIAX_tuning1 = 56,
237 VARIAX_detune6 = 57, /* type: 24 bit float */
238 VARIAX_detune5 = 60, /* type: 24 bit float */
239 VARIAX_detune4 = 63, /* type: 24 bit float */
240 VARIAX_detune3 = 66, /* type: 24 bit float */
241 VARIAX_detune2 = 69, /* type: 24 bit float */
242 VARIAX_detune1 = 72, /* type: 24 bit float */
243 VARIAX_mix6 = 75, /* type: 24 bit float */
244 VARIAX_mix5 = 78, /* type: 24 bit float */
245 VARIAX_mix4 = 81, /* type: 24 bit float */
246 VARIAX_mix3 = 84, /* type: 24 bit float */
247 VARIAX_mix2 = 87, /* type: 24 bit float */
248 VARIAX_mix1 = 90, /* type: 24 bit float */
249 VARIAX_pickup_wiring = 96 /* 0: parallel, 1: series */
250 };
251
252 /**
253 List of Variax workbench controls (MIDI).
254 */
255 enum {
256 VARIAXMIDI_volume = 7,
257 VARIAXMIDI_tone = 79,
258 };
259
260
261 extern int pod_create_files(int firmware, int type, struct device *dev);
262 extern void pod_remove_files(int firmware, int type, struct device *dev);
263 extern int variax_create_files(int firmware, int type, struct device *dev);
264 extern void variax_remove_files(int firmware, int type, struct device *dev);
265
266
267 #endif