Patch from https://github.com/armbian/build/blob/main/patch/kernel/archive/rockchip-6.16/patches.armbian/rk322x-dwc2-no-clock-gating.patch

diff --git a/drivers/usb/dwc2/params.c b/drivers/usb/dwc2/params.c
index a937eadbc9b3..f1f6f6afe7fe 100644
--- a/drivers/usb/dwc2/params.c
+++ b/drivers/usb/dwc2/params.c
@@ -133,6 +133,14 @@ static void dwc2_set_rk_params(struct dwc2_hsotg *hsotg)
 	p->no_clock_gating = true;
 }
 
+static void dwc2_set_rk3228_params(struct dwc2_hsotg *hsotg)
+{
+	struct dwc2_core_params *p = &hsotg->params;
+
+	dwc2_set_rk_params(hsotg);
+	p->no_clock_gating = true;
+}
+
 static void dwc2_set_ltq_danube_params(struct dwc2_hsotg *hsotg)
 {
 	struct dwc2_core_params *p = &hsotg->params;
@@ -314,6 +322,7 @@ const struct of_device_id dwc2_of_match_table[] = {
 	{ .compatible = "ingenic,x1830-otg", .data = dwc2_set_x1600_params },
 	{ .compatible = "ingenic,x2000-otg", .data = dwc2_set_x2000_params },
 	{ .compatible = "rockchip,rk3066-usb", .data = dwc2_set_rk_params },
+	{ .compatible = "rockchip,rk3228-usb", .data = dwc2_set_rk3228_params },
 	{ .compatible = "lantiq,danube-usb", .data = &dwc2_set_ltq_danube_params },
 	{ .compatible = "lantiq,ase-usb", .data = &dwc2_set_ltq_ase_params },
 	{ .compatible = "lantiq,arx100-usb", .data = &dwc2_set_ltq_ase_params },
