Hi > -----Original Message----- > From: Marek Vasut <[email protected]> > Sent: Friday, 7 July, 2023 5:50 AM > To: Lim, Jit Loon <[email protected]>; [email protected] > Cc: Jagan Teki <[email protected]>; Simon > <[email protected]>; Chee, Tien Fong > <[email protected]>; Hea, Kok Kiang <[email protected]>; > Lokanathan, Raaj <[email protected]>; Maniyam, Dinesh > <[email protected]>; Ng, Boon Khai <[email protected]>; > Yuslaimi, Alif Zakuan <[email protected]>; Chong, Teik Heng > <[email protected]>; Zamri, Muhammad Hazim Izzat > <[email protected]>; Tang, Sieu Mun > <[email protected]>; Bin Meng <[email protected]>; Michal > Simek <[email protected]>; Tom Rini <[email protected]>; Eugen Hristev > <[email protected]> > Subject: Re: [PATCH v1] HSD #18028953892: usb: xhci-dwc3: Fix USB3.1 > controller register access in reset state > > On 6/22/23 16:08, Lim, Jit Loon wrote: > >> -----Original Message----- > >> From: Marek Vasut <[email protected]> > >> Sent: Thursday, 22 June, 2023 5:35 PM > >> To: Lim, Jit Loon <[email protected]>; [email protected] > >> Cc: Jagan Teki <[email protected]>; Simon > >> <[email protected]>; Chee, Tien Fong > >> <[email protected]>; Hea, Kok Kiang <[email protected]>; > >> Lokanathan, Raaj <[email protected]>; Maniyam, Dinesh > >> <[email protected]>; Ng, Boon Khai > <[email protected]>; > >> Yuslaimi, Alif Zakuan <[email protected]>; Chong, Teik > >> Heng <[email protected]>; Zamri, Muhammad Hazim Izzat > >> <[email protected]>; Tang, Sieu Mun > >> <[email protected]>; Bin Meng <[email protected]>; Michal > >> Simek <[email protected]>; Tom Rini <[email protected]>; Eugen > >> Hristev <[email protected]> > >> Subject: Re: [PATCH v1] HSD #18028953892: usb: xhci-dwc3: Fix USB3.1 > >> controller register access in reset state > >> > >> On 6/22/23 04:48, Lim, Jit Loon wrote: > >>>> -----Original Message----- > >>>> From: Marek Vasut <[email protected]> > >>>> Sent: Wednesday, 21 June, 2023 10:19 PM > >>>> To: Lim, Jit Loon <[email protected]>; [email protected] > >>>> Cc: Jagan Teki <[email protected]>; Simon > >>>> <[email protected]>; Chee, Tien Fong > >>>> <[email protected]>; Hea, Kok Kiang > >>>> <[email protected]>; Lokanathan, Raaj > >>>> <[email protected]>; Maniyam, Dinesh > >>>> <[email protected]>; Ng, Boon Khai > <[email protected]>; > >>>> Yuslaimi, Alif Zakuan <[email protected]>; Chong, Teik > >>>> Heng <[email protected]>; Zamri, Muhammad Hazim Izzat > >>>> <[email protected]>; Tang, Sieu Mun > >>>> <[email protected]>; Bin Meng <[email protected]> > >>>> Subject: Re: [PATCH v1] HSD #18028953892: usb: xhci-dwc3: Fix > >>>> USB3.1 controller register access in reset state > >>>> > >>>> On 6/21/23 16:11, Jit Loon Lim wrote: > >>>>> From: Teik Heng Chong <[email protected]> > >>>>> > >>>>> The controller registers should not be accessed while the > >>>>> controller's vcc_reset_n is asserted. > >>>>> > >>>>> Signed-off-by: Teik Heng Chong <[email protected]> > >>>> > >>>> Is this patch ported from Linux or is this custom development ? > >>>> > >>>> Is there a matching patch/fix in Linux already ? > >>> > >>> In xhci_dwc3_probe(), the program sequence is vcc reset -> clk init > >>> -> phy setup -> xhci_register therefore, when xhci_dwc3_remove is > >>> called, the proper usb stop sequence should be xhci_register _> phy > >>> setup -> clk init -> vcc reset > >>> > >>> if we look at linux driver > >>> https://elixir.bootlin.com/linux/latest/source/drivers/usb/dwc3/dwc3 > >>> -o > >>> f-simple.c#L33 > >>> > >>> dwc3_of_simple_probe: The sequence is reset -> clock > >>> __dwc3_of_simple_teardown: Then, clock -> reset > >>> > >>> So based on the above, we have made changes and the uboot fix is now > >> aligned with linux driver. > >> > >> Instead of adding random patches to the U-Boot dwc3 driver, please > >> just synchronize the driver with Linux. You should be able to add the > >> missing patches to the DWC3 driver from Linux since the last > >> synchronization point, the process should be largely mechanical. Make > >> sure to include commit ID of each Linux commit in the new matching U- > Boot patch. > >> > >> It shouldn't be difficult, one approach I can think of is roughly this: > >> - figure out the original merge base from which the DWC3 driver was > >> imported to U-Boot > >> - in U-Boot, revert all dwc3 patches on top of that import patch > >> - pick all Linux kernel dwc3 patches from that merge base and apply > >> on top of this U-Boot with reverts > >> - Run rebase and drop the reverts, let git drop duplicate patches > > > > We believed the previous reply from us is a bit confusing. > > There is no exact same function/file for U-Boot to use in Linux. > > What we are doing is, we are referring to Linux sequence. > > > > Linux: (dwc3_of_simple_probe) > > https://elixir.bootlin.com/linux/latest/source/drivers/usb/dwc3/dwc3-o > > f-simple.c#L33 > > U-Boot: (xhci_dwc3_probe) > > https://elixir.bootlin.com/u-boot/latest/source/drivers/usb/host/xhci- > > dwc3.c#L159 > > > > Linux: (__dwc3_of_simple_teardown) > > https://elixir.bootlin.com/linux/latest/source/drivers/usb/dwc3/dwc3-o > > f-simple.c#L98 > > U-Boot: (xhci_dwc3_remove) > > https://elixir.bootlin.com/u-boot/latest/source/drivers/usb/host/xhci- > > dwc3.c#L227 > > > > So we believed that we can't directly pickup all Linux kernel dwc3 patches > and merge to U-Boot. > > If you were to sync the driver from Linux to U-Boot, then the same sequence > as Linux uses would be automatically used too, right ? > > Sorry for the abysmal delay in my reply.
Are we saying that we shall port/use Linux driver in U-Boot and abandon the existing USB host driver in U-Boot?

