Hi Kever, On 2024-03-08 10:29, Kever Yang wrote: > > On 2024/2/27 07:08, Jonas Karlman wrote: >> USB gadget is not working fully as expected on RK3328, it uses a >> board_usb_init() function to initialize the DWC2 OTG port. >> >> The board_usb_init() function does not intgrate with the generic phy >> framework and as a result the USB phy is not properly configured before >> or after USB gadget use. >> >> Having both USB_DWC2 and DWC2_OTG enabled for the same board is also >> causing some issues. >> >> Trying to use rockusb or ums command after usb stop result in a freeze >> due to usb stop is putting the phy in a suspended state. >> >> => usb start >> => usb stop >> => ums 0 mmc 0 >> --> freeze due to usb phy is suspended <-- >> >> Fix this by only using one of USB_DWC2 (host) or DWC2_OTG (peripheral) >> depending on the most likely usage of the otg port. >> >> The nanopi-r2 and orangepi-r1-plus variants share OTG and power using a >> Type-C connector, mark these boards dr_mode as peripheral, the most >> likely usage is for recovery and image download. >> >> The rock64 and roc-cc currently use dr_mode as host, remove the DWC2_OTG >> driver from these boards to ensure that the USB_DWC2 driver is used. >> >> The rock-pi-e board does not enable the usb20_otg node so both USB_DWC2 >> and DWC2_OTG is removed from this board. >> >> Enable RockUSB and UMS on all boards with a otg port in peripheral mode. >> >> Also with the migration to DM_USB_GADGET completed the U-Boot specific >> change to reorder usb nodes in the device tree can be reverted. >> >> Signed-off-by: Jonas Karlman <jo...@kwiboo.se> > Reviewed-by: Kever Yang <kever.y...@rock-chips.com>
Thanks, I will send a v2 of this patch, that will change to use XHCI_DWC3 for USB 3.0 host mode instead of DWC3_GENERIC to avoid generating a build error with dependent patch [1] being rejected. [1] https://patchwork.ozlabs.org/patch/1903946/ Regards, Jonas > > Thanks, > - Kever [snip]