Refer to phy/phy-bindings.txt for generic phy consumer properties
 - dr_mode: shall be one of "host", "peripheral" and "otg"
   Refer to usb/generic.txt
-- g-use-dma: enable dma usage in gadget driver.
 - g-rx-fifo-size: size of rx fifo size in gadget mode.
 - g-np-tx-fifo-size: size of non-periodic tx fifo size in gadget mode.
 - g-tx-fifo-size: size of periodic tx fifo per endpoint (except ep0) in gadget mode.
 
+Deprecated properties:
+- g-use-dma: gadget DMA mode is automatically detected
+
 Example:
 
         usb@101c0000 {
 
                g-np-tx-fifo-size = <16>;
                g-rx-fifo-size = <275>;
                g-tx-fifo-size = <256 128 128 64 64 32>;
-               g-use-dma;
                status = "disabled";
        };
 
 
                g-np-tx-fifo-size = <16>;
                g-rx-fifo-size = <275>;
                g-tx-fifo-size = <256 128 128 64 64 32>;
-               g-use-dma;
                phys = <&usbphy0>;
                phy-names = "usb2-phy";
                status = "disabled";
 
                g-np-tx-fifo-size = <16>;
                g-rx-fifo-size = <275>;
                g-tx-fifo-size = <256 128 128 64 64 32>;
-               g-use-dma;
                phys = <&usbphy0>;
                phy-names = "usb2-phy";
                status = "disabled";
 
                        clocks = <&sys_ctrl HI6220_USBOTG_HCLK>;
                        clock-names = "otg";
                        dr_mode = "otg";
-                       g-use-dma;
                        g-rx-fifo-size = <512>;
                        g-np-tx-fifo-size = <128>;
                        g-tx-fifo-size = <128 128 128 128 128 128>;
 
                g-np-tx-fifo-size = <16>;
                g-rx-fifo-size = <275>;
                g-tx-fifo-size = <256 128 128 64 64 32>;
-               g-use-dma;
                status = "disabled";
        };
 
 
  *                     needed.
  *                     0 - No (default)
  *                     1 - Yes
- * @g_dma:              If true, enables dma usage on the device. This
- *                      setting is not auto-detected. It must be
- *                      explicitly enabled (default: false).
+ * @g_dma:              Enables gadget dma usage (default: autodetect).
  * @g_rx_fifo_size:    The periodic rx fifo size for the device, in
  *                     DWORDS from 16-32768 (default: 2048 if
  *                     possible, otherwise autodetect).
 
        }
 }
 
+static void dwc2_set_gadget_dma(struct dwc2_hsotg *hsotg)
+{
+       struct dwc2_hw_params *hw = &hsotg->hw_params;
+       struct dwc2_core_params *p = &hsotg->params;
+       bool dma_capable = !(hw->arch == GHWCFG2_SLAVE_ONLY_ARCH);
+
+       /* Buffer DMA */
+       dwc2_set_param_bool(hsotg, &p->g_dma,
+                           false, "gadget-dma",
+                           true, false,
+                           dma_capable);
+}
+
 /**
  * dwc2_set_parameters() - Set all core parameters.
  *
            (hsotg->dr_mode == USB_DR_MODE_OTG)) {
                dev_dbg(hsotg->dev, "Setting peripheral device properties\n");
 
-               dwc2_set_param_bool(hsotg, &p->g_dma, true, "g-use-dma",
-                                   false, false,
-                                   dma_capable);
+               dwc2_set_gadget_dma(hsotg);
 
                /*
                 * The values for g_rx_fifo_size (2048) and
 
        if (pdev->vendor == PCI_VENDOR_ID_SYNOPSYS &&
            pdev->device == PCI_PRODUCT_ID_HAPS_HSOTG) {
                struct property_entry properties[] = {
-                       PROPERTY_ENTRY_BOOL("g-use-dma"),
                        { },
                };