struct platform_device *phy;
 };
 
+static int dwc2_pci_quirks(struct pci_dev *pdev, struct platform_device *dwc2)
+{
+       if (pdev->vendor == PCI_VENDOR_ID_SYNOPSYS &&
+           pdev->device == PCI_PRODUCT_ID_HAPS_HSOTG) {
+               struct property_entry properties[] = {
+                       PROPERTY_ENTRY_BOOL("g-use-dma"),
+                       { },
+               };
+
+               return platform_device_add_properties(dwc2, properties);
+       }
+
+       return 0;
+}
+
 static void dwc2_pci_remove(struct pci_dev *pci)
 {
        struct dwc2_pci_glue *glue = pci_get_drvdata(pci);
                return PTR_ERR(phy);
        }
 
+       ret = dwc2_pci_quirks(pci, dwc2);
+       if (ret)
+               goto err;
+
        ret = platform_device_add(dwc2);
        if (ret) {
                dev_err(dev, "failed to register dwc2 device\n");