Rock 3a gadget/device mode

Following on from trying to get the cm3 IO board to setup a USB device mode / gadget setting (here), I am having the same problem for the rock 3a.

I have connected a usb cable from the rock3a’s top usb3 port to my desktop. here is the result :

modprobe g_ether
[   29.055970] udc-core: couldn't find an available UDC - added [g_ether] to list of pending drivers

Here are my kernel settings :
BR2_LINUX_KERNEL_CUSTOM_REPO_URL=“https://github.com/radxa/kernel.git
BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION=“bac1feba87f09330afbd2083038319efd75642f8”
BR2_LINUX_KERNEL_INTREE_DTS_NAME=“rockchip/rk3568-rock-3-a”

I have created the overlay file to change to peripheral mode :

Index: linux-bac1feba87f09330afbd2083038319efd75642f8/arch/arm64/boot/dts/rockch
ip/overlay/Makefile
===================================================================
--- linux-bac1feba87f09330afbd2083038319efd75642f8.orig/arch/arm64/boot/dts/rock
chip/overlay/Makefile
+++ linux-bac1feba87f09330afbd2083038319efd75642f8/arch/arm64/boot/dts/rockchip/
overlay/Makefile
@@ -65,6 +65,7 @@ dtbo-$(CONFIG_ARCH_ROCKCHIP) += \
        rock-3c-ov5647.dtbo \
        rock-3c-radxa-5inch-touchscreen.dtbo \
        rock-3c-usb-otg.dtbo \
+       rock-3-usb-device.dtbo \
        rpi-ov5647-on-cm3-sodimm-io-csi0.dtbo \
        rpi-ov5647-on-cm3-sodimm-io-csi1.dtbo \
        audioinjector-isolated-soundcard.dtbo
@@ -79,4 +80,3 @@ targets += $(dtbo-y) $(scr-y) $(dtbotxt-
 
 always                 := $(dtbo-y) $(scr-y) $(dtbotxt-y)
 clean-files            := *.dtbo *.scr
-
Index: linux-bac1feba87f09330afbd2083038319efd75642f8/arch/arm64/boot/dts/rockchip/overlay/rock-3-usb-device.dts
===================================================================
--- /dev/null
+++ linux-bac1feba87f09330afbd2083038319efd75642f8/arch/arm64/boot/dts/rockchip/overlay/rock-3-usb-device.dts
@@ -0,0 +1,15 @@
+// ROCK 3C USB OTG
+/dts-v1/;
+/plugin/;
+
+/ {
+       compatible = "rockchip,rk3566";
+
+       fragment@0 {
+               target = <&usbdrd_dwc3>;
+
+               __overlay__ {
+                       dr_mode = "peripheral";
+               };
+       };
+};

Some more information /sys/class/udc/ is empty :

# ls -a /sys/class/udc/
.   ..

Loading modules seems to work :

modprobe dwc3-of-simple
modprobe dwc3-rockchip-inno
# ls /sys/class/udc/
fcc00000.dwc3