module_param(tplg_path, charp, 0444);
 MODULE_PARM_DESC(tplg_path, "alternate path for SOF topology.");
 
+static int sof_pci_debug;
+module_param_named(sof_pci_debug, sof_pci_debug, int, 0444);
+MODULE_PARM_DESC(sof_pci_debug, "SOF PCI debug options (0x0 all off)");
+
+#define SOF_PCI_DISABLE_PM_RUNTIME BIT(0)
+
 #if IS_ENABLED(CONFIG_SND_SOC_SOF_APOLLOLAKE)
 static const struct sof_dev_desc bxt_desc = {
        .machines               = snd_soc_acpi_intel_bxt_machines,
 {
        dev_dbg(dev, "Completing SOF PCI probe");
 
+       if (sof_pci_debug & SOF_PCI_DISABLE_PM_RUNTIME)
+               return;
+
        /* allow runtime_pm */
        pm_runtime_set_autosuspend_delay(dev, SND_SOF_SUSPEND_DELAY_MS);
        pm_runtime_use_autosuspend(dev);
        snd_sof_device_remove(&pci->dev);
 
        /* follow recommendation in pci-driver.c to increment usage counter */
-       pm_runtime_get_noresume(&pci->dev);
+       if (!(sof_pci_debug & SOF_PCI_DISABLE_PM_RUNTIME))
+               pm_runtime_get_noresume(&pci->dev);
 
        /* release pci regions and disable device */
        pci_release_regions(pci);