Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit e6fe66fe authored by Felipe Balbi's avatar Felipe Balbi
Browse files

usb: dwc3: pci: add dr-mode for Intel dwc3



It's know that Intel's SoCs' dwc3 integration is
peripheral-only since Intel implements its own
portmux for role-swapping. In order to prevent dwc3
from ever registering and XHCI platform_device,
let's just set dr-mode to peripheral-only on Intel
SoCs.

Signed-off-by: default avatarFelipe Balbi <felipe.balbi@linux.intel.com>
parent 21e64bf2
Loading
Loading
Loading
Loading
+37 −25
Original line number Diff line number Diff line
@@ -76,8 +76,19 @@ static int dwc3_pci_quirks(struct pci_dev *pdev, struct platform_device *dwc3)
		return platform_device_add_properties(dwc3, properties);
	}

	if (pdev->vendor == PCI_VENDOR_ID_INTEL &&
	    pdev->device == PCI_DEVICE_ID_INTEL_BYT) {
	if (pdev->vendor == PCI_VENDOR_ID_INTEL) {
		int ret;

		struct property_entry properties[] = {
			PROPERTY_ENTRY_STRING("dr-mode", "peripheral"),
			{ }
		};

		ret = platform_device_add_properties(dwc3, properties);
		if (ret < 0)
			return ret;

		if (pdev->device == PCI_DEVICE_ID_INTEL_BYT) {
			struct gpio_desc *gpio;

			acpi_dev_add_driver_gpios(ACPI_COMPANION(&pdev->dev),
@@ -105,6 +116,7 @@ static int dwc3_pci_quirks(struct pci_dev *pdev, struct platform_device *dwc3)
				usleep_range(10000, 11000);
			}
		}
	}

	if (pdev->vendor == PCI_VENDOR_ID_SYNOPSYS &&
	    (pdev->device == PCI_DEVICE_ID_SYNOPSYS_HAPSUSB3 ||