#define SC1810C_CTL_LINE_SW    0
 #define SC1810C_CTL_MUTE_SW    1
+#define SC1824C_CTL_MONO_SW    2
 #define SC1810C_CTL_AB_SW      3
 #define SC1810C_CTL_48V_SW     4
 
 #define SC1810C_STATE_48V_SW   58
 #define SC1810C_STATE_LINE_SW  59
 #define SC1810C_STATE_MUTE_SW  60
+#define SC1824C_STATE_MONO_SW  61
 #define SC1810C_STATE_AB_SW    62
 
 struct s1810_mixer_state {
        .private_value = (SC1810C_STATE_MUTE_SW | SC1810C_CTL_MUTE_SW << 8)
 };
 
+static const struct snd_kcontrol_new snd_s1824c_mono_sw = {
+       .iface = SNDRV_CTL_ELEM_IFACE_MIXER,
+       .name = "Mono Main Out Switch",
+       .info = snd_ctl_boolean_mono_info,
+       .get = snd_s1810c_switch_get,
+       .put = snd_s1810c_switch_set,
+       .private_value = (SC1824C_STATE_MONO_SW | SC1824C_CTL_MONO_SW << 8)
+};
+
 static const struct snd_kcontrol_new snd_s1810c_48v_sw = {
        .iface = SNDRV_CTL_ELEM_IFACE_MIXER,
        .name = "48V Phantom Power On Mic Inputs Switch",
        if (ret < 0)
                return ret;
 
-       ret = snd_s1810c_switch_init(mixer, &snd_s1810c_ab_sw);
-       if (ret < 0)
-               return ret;
+       // The 1824c has a Mono Main switch instead of a
+       // A/B select switch.
+       if (mixer->chip->usb_id == USB_ID(0x194f, 0x010d)) {
+               ret = snd_s1810c_switch_init(mixer, &snd_s1824c_mono_sw);
+               if (ret < 0)
+                       return ret;
+       } else if (mixer->chip->usb_id == USB_ID(0x194f, 0x010c)) {
+               ret = snd_s1810c_switch_init(mixer, &snd_s1810c_ab_sw);
+               if (ret < 0)
+                       return ret;
+       }
+
        return ret;
 }