On 4/22/20 3:45 PM, Minas Harutyunyan wrote: > Hi, Hi, > On 4/20/2020 4:09 PM, Marek Vasut wrote: >> On 4/17/20 11:00 AM, Minas Harutyunyan wrote: >>> Hi, >> >> Hi, >> >>> On 4/16/2020 6:31 PM, Marek Vasut wrote: >>>> On 4/16/20 3:37 PM, Minas Harutyunyan wrote: >>> > Looks like I found cause of issue. According to your logs GINTMSK set > host masks, at least USB Reset not unmasked which required for device mode. > Why it happen. During dwc2 driver probe first initialized device part > then host part. Because of your g_zero is builtin in Kernel it > immediately bound to dwc2, as result called main device initialization > dwc2_hsotg_core_init_disconnected() which at least set GINTMSK for > device mode. After gadget side initialization done, dwc2 go to host > initialization hcd_init() and reset GINTMSK to host masks. In this case > connecting cable to host will ignore USBReset and stacked. Your initial > patch including call to function dwc2_hsotg_core_init_disconnected(), > which allow to restore device mode masks and on cable connect start > working as device. > First to check my assumption, please build g_zero as module and modprobe > it after dwc2 modprobe will be done. If the tests will pass then will > think how resolve issue with builtin functions. Using g_zero as a module seems to work too, so please proceed.