#define FLAG_SST                       BIT(0)
 #define FLAG_SOF                       BIT(1)
+#define FLAG_SST_ONLY_IF_DMIC          BIT(15)
 #define FLAG_SOF_ONLY_IF_DMIC          BIT(16)
 #define FLAG_SOF_ONLY_IF_SOUNDWIRE     BIT(17)
 
                        {}
                }
        },
+       {
+               .flags = FLAG_SST | FLAG_SST_ONLY_IF_DMIC,
+               .device = 0x9d70,
+       },
 #endif
 /* Kabylake-LP */
 #if IS_ENABLED(CONFIG_SND_SOC_INTEL_KBL)
                        {}
                }
        },
+       {
+               .flags = FLAG_SST | FLAG_SST_ONLY_IF_DMIC,
+               .device = 0x9d71,
+       },
 #endif
 
 /*
                        return SND_INTEL_DSP_DRIVER_SOF;
        }
 
-       if (cfg->flags & FLAG_SST)
-               return SND_INTEL_DSP_DRIVER_SST;
+
+       if (cfg->flags & FLAG_SST) {
+               if (cfg->flags & FLAG_SST_ONLY_IF_DMIC) {
+                       if (snd_intel_dsp_check_dmic(pci)) {
+                               dev_info(&pci->dev, "Digital mics found on Skylake+ platform, using SST driver\n");
+                               return SND_INTEL_DSP_DRIVER_SST;
+                       }
+               } else {
+                       return SND_INTEL_DSP_DRIVER_SST;
+               }
+       }
 
        return SND_INTEL_DSP_DRIVER_LEGACY;
 }