@@ -213,15 +213,15 @@ static const u16 scarlett2_mixer_values[SCARLETT2_MIXER_VALUE_COUNT] = {
213
213
/* Maximum number of meters (sum of output port counts) */
214
214
#define SCARLETT2_MAX_METERS 65
215
215
216
- /* There are three different sets of configuration parameters across
217
- * the devices
216
+ /* There are different sets of configuration parameters across the
217
+ * devices, dependent on series and model.
218
218
*/
219
219
enum {
220
- SCARLETT2_CONFIG_SET_NO_MIXER = 0 ,
221
- SCARLETT2_CONFIG_SET_GEN_2 = 1 ,
222
- SCARLETT2_CONFIG_SET_GEN_3 = 2 ,
220
+ SCARLETT2_CONFIG_SET_GEN_2 = 0 ,
221
+ SCARLETT2_CONFIG_SET_GEN_3A = 1 ,
222
+ SCARLETT2_CONFIG_SET_GEN_3B = 2 ,
223
223
SCARLETT2_CONFIG_SET_CLARETT = 3 ,
224
- SCARLETT2_CONFIG_SET_COUNT = 4
224
+ SCARLETT2_CONFIG_SET_COUNT = 4
225
225
};
226
226
227
227
/* Hardware port types:
@@ -595,7 +595,7 @@ static const struct scarlett2_device_info s18i20_gen2_info = {
595
595
596
596
static const struct scarlett2_device_info solo_gen3_info = {
597
597
.has_msd_mode = 1 ,
598
- .config_set = SCARLETT2_CONFIG_SET_NO_MIXER ,
598
+ .config_set = SCARLETT2_CONFIG_SET_GEN_3A ,
599
599
.level_input_count = 1 ,
600
600
.level_input_first = 1 ,
601
601
.air_input_count = 1 ,
@@ -606,7 +606,7 @@ static const struct scarlett2_device_info solo_gen3_info = {
606
606
607
607
static const struct scarlett2_device_info s2i2_gen3_info = {
608
608
.has_msd_mode = 1 ,
609
- .config_set = SCARLETT2_CONFIG_SET_NO_MIXER ,
609
+ .config_set = SCARLETT2_CONFIG_SET_GEN_3A ,
610
610
.level_input_count = 2 ,
611
611
.air_input_count = 2 ,
612
612
.phantom_count = 1 ,
@@ -616,7 +616,7 @@ static const struct scarlett2_device_info s2i2_gen3_info = {
616
616
617
617
static const struct scarlett2_device_info s4i4_gen3_info = {
618
618
.has_msd_mode = 1 ,
619
- .config_set = SCARLETT2_CONFIG_SET_GEN_3 ,
619
+ .config_set = SCARLETT2_CONFIG_SET_GEN_3B ,
620
620
.level_input_count = 2 ,
621
621
.pad_input_count = 2 ,
622
622
.air_input_count = 2 ,
@@ -660,7 +660,7 @@ static const struct scarlett2_device_info s4i4_gen3_info = {
660
660
661
661
static const struct scarlett2_device_info s8i6_gen3_info = {
662
662
.has_msd_mode = 1 ,
663
- .config_set = SCARLETT2_CONFIG_SET_GEN_3 ,
663
+ .config_set = SCARLETT2_CONFIG_SET_GEN_3B ,
664
664
.level_input_count = 2 ,
665
665
.pad_input_count = 2 ,
666
666
.air_input_count = 2 ,
@@ -711,7 +711,7 @@ static const struct scarlett2_device_info s8i6_gen3_info = {
711
711
712
712
static const struct scarlett2_device_info s18i8_gen3_info = {
713
713
.has_msd_mode = 1 ,
714
- .config_set = SCARLETT2_CONFIG_SET_GEN_3 ,
714
+ .config_set = SCARLETT2_CONFIG_SET_GEN_3B ,
715
715
.line_out_hw_vol = 1 ,
716
716
.has_speaker_switching = 1 ,
717
717
.level_input_count = 2 ,
@@ -779,7 +779,7 @@ static const struct scarlett2_device_info s18i8_gen3_info = {
779
779
780
780
static const struct scarlett2_device_info s18i20_gen3_info = {
781
781
.has_msd_mode = 1 ,
782
- .config_set = SCARLETT2_CONFIG_SET_GEN_3 ,
782
+ .config_set = SCARLETT2_CONFIG_SET_GEN_3B ,
783
783
.line_out_hw_vol = 1 ,
784
784
.has_speaker_switching = 1 ,
785
785
.has_talkback = 1 ,
@@ -1116,28 +1116,8 @@ static const struct scarlett2_config
1116
1116
scarlett2_config_items [SCARLETT2_CONFIG_SET_COUNT ]
1117
1117
[SCARLETT2_CONFIG_COUNT ] =
1118
1118
1119
- /* Devices without a mixer (Gen 3 Solo and 2i2) */
1120
- { {
1121
- [SCARLETT2_CONFIG_MSD_SWITCH ] = {
1122
- .offset = 0x04 , .size = 8 , .activate = 6 },
1123
-
1124
- [SCARLETT2_CONFIG_PHANTOM_PERSISTENCE ] = {
1125
- .offset = 0x05 , .size = 8 , .activate = 6 },
1126
-
1127
- [SCARLETT2_CONFIG_PHANTOM_SWITCH ] = {
1128
- .offset = 0x06 , .size = 8 , .activate = 3 },
1129
-
1130
- [SCARLETT2_CONFIG_DIRECT_MONITOR ] = {
1131
- .offset = 0x07 , .size = 8 , .activate = 4 },
1132
-
1133
- [SCARLETT2_CONFIG_LEVEL_SWITCH ] = {
1134
- .offset = 0x08 , .size = 1 , .activate = 7 },
1135
-
1136
- [SCARLETT2_CONFIG_AIR_SWITCH ] = {
1137
- .offset = 0x09 , .size = 1 , .activate = 8 },
1138
-
1139
1119
/* Gen 2 devices: 6i6, 18i8, 18i20 */
1140
- }, {
1120
+ { {
1141
1121
[SCARLETT2_CONFIG_DIM_MUTE ] = {
1142
1122
.offset = 0x31 , .size = 8 , .activate = 2 },
1143
1123
@@ -1159,6 +1139,26 @@ static const struct scarlett2_config
1159
1139
[SCARLETT2_CONFIG_STANDALONE_SWITCH ] = {
1160
1140
.offset = 0x8d , .size = 8 , .activate = 6 },
1161
1141
1142
+ /* Gen 3 devices without a mixer (Solo and 2i2) */
1143
+ }, {
1144
+ [SCARLETT2_CONFIG_MSD_SWITCH ] = {
1145
+ .offset = 0x04 , .size = 8 , .activate = 6 },
1146
+
1147
+ [SCARLETT2_CONFIG_PHANTOM_PERSISTENCE ] = {
1148
+ .offset = 0x05 , .size = 8 , .activate = 6 },
1149
+
1150
+ [SCARLETT2_CONFIG_PHANTOM_SWITCH ] = {
1151
+ .offset = 0x06 , .size = 8 , .activate = 3 },
1152
+
1153
+ [SCARLETT2_CONFIG_DIRECT_MONITOR ] = {
1154
+ .offset = 0x07 , .size = 8 , .activate = 4 },
1155
+
1156
+ [SCARLETT2_CONFIG_LEVEL_SWITCH ] = {
1157
+ .offset = 0x08 , .size = 1 , .activate = 7 },
1158
+
1159
+ [SCARLETT2_CONFIG_AIR_SWITCH ] = {
1160
+ .offset = 0x09 , .size = 1 , .activate = 8 },
1161
+
1162
1162
/* Gen 3 devices: 4i4, 8i6, 18i8, 18i20 */
1163
1163
}, {
1164
1164
[SCARLETT2_CONFIG_DIM_MUTE ] = {
@@ -1907,7 +1907,7 @@ static int scarlett2_add_sync_ctl(struct usb_mixer_interface *mixer)
1907
1907
struct scarlett2_data * private = mixer -> private_data ;
1908
1908
1909
1909
/* devices without a mixer also don't support reporting sync status */
1910
- if (private -> info -> config_set == SCARLETT2_CONFIG_SET_NO_MIXER )
1910
+ if (private -> info -> config_set == SCARLETT2_CONFIG_SET_GEN_3A )
1911
1911
return 0 ;
1912
1912
1913
1913
return scarlett2_add_new_ctl (mixer , & scarlett2_sync_ctl ,
@@ -3614,7 +3614,7 @@ static int scarlett2_add_meter_ctl(struct usb_mixer_interface *mixer)
3614
3614
struct scarlett2_data * private = mixer -> private_data ;
3615
3615
3616
3616
/* devices without a mixer also don't support reporting levels */
3617
- if (private -> info -> config_set == SCARLETT2_CONFIG_SET_NO_MIXER )
3617
+ if (private -> info -> config_set == SCARLETT2_CONFIG_SET_GEN_3A )
3618
3618
return 0 ;
3619
3619
3620
3620
return scarlett2_add_new_ctl (mixer , & scarlett2_meter_ctl ,
@@ -3744,7 +3744,7 @@ static int scarlett2_add_standalone_ctl(struct usb_mixer_interface *mixer)
3744
3744
{
3745
3745
struct scarlett2_data * private = mixer -> private_data ;
3746
3746
3747
- if (private -> info -> config_set == SCARLETT2_CONFIG_SET_NO_MIXER )
3747
+ if (private -> info -> config_set == SCARLETT2_CONFIG_SET_GEN_3A )
3748
3748
return 0 ;
3749
3749
3750
3750
/* Add standalone control */
@@ -3911,7 +3911,7 @@ static int scarlett2_read_configs(struct usb_mixer_interface *mixer)
3911
3911
return err ;
3912
3912
3913
3913
/* the rest of the configuration is for devices with a mixer */
3914
- if (info -> config_set == SCARLETT2_CONFIG_SET_NO_MIXER )
3914
+ if (info -> config_set == SCARLETT2_CONFIG_SET_GEN_3A )
3915
3915
return 0 ;
3916
3916
3917
3917
err = scarlett2_usb_get_config (
0 commit comments