[PATCH] usb: dwc2: Disable gadget descriptor DMA for Sophgo CV18XX/SG200X
From: Chen-Yu Yeh
Date: Sat Oct 24 2026 - 07:52:48 EST
dwc2_set_cv1800_params() disables gadget DMA (g_dma) but leaves
g_dma_desc at its default, which dwc2_set_default_params() takes from
the hardware capability. Descriptor DMA requires g_dma, so
dwc2_check_params() rejects the combination at probe time:
dwc2 4340000.usb: dwc2_check_params: Invalid parameter g_dma_desc=1
The check then clears g_dma_desc, so the final configuration is
already correct and only the warning is spurious. Disable g_dma_desc
together with g_dma in the platform parameters instead.
The gadget parameters are only set up when dr_mode is "peripheral" or
"otg". All in-tree CV18XX/SG200X boards use "host", which is why this
has gone unnoticed.
Tested on Milk-V Duo 256M (SG2002) with CONFIG_USB_DWC2_DUAL_ROLE=y and
dr_mode = "peripheral": the warning is gone.
Fixes: 63aa7ab955e7 ("usb: dwc2: add support for Sophgo CV18XX/SG200X series SoC")
Signed-off-by: Chen-Yu Yeh <chenyou910331@xxxxxxxxx>
---
drivers/usb/dwc2/params.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/drivers/usb/dwc2/params.c b/drivers/usb/dwc2/params.c
index 091bfcfef753..6941705e426d 100644
--- a/drivers/usb/dwc2/params.c
+++ b/drivers/usb/dwc2/params.c
@@ -226,6 +226,7 @@ static void dwc2_set_cv1800_params(struct dwc2_hsotg *hsotg)
p->otg_caps.srp_support = false;
p->host_dma = false;
p->g_dma = false;
+ p->g_dma_desc = false;
p->speed = DWC2_SPEED_PARAM_HIGH;
p->phy_type = DWC2_PHY_TYPE_PARAM_UTMI;
p->phy_utmi_width = 16;
--
2.43.0