> -----Original Message----- > From: Marek Vasut <ma...@denx.de> > Sent: Wednesday, 21 June, 2023 10:19 PM > To: Lim, Jit Loon <jit.loon....@intel.com>; u-boot@lists.denx.de > Cc: Jagan Teki <ja...@amarulasolutions.com>; Simon > <simon.k.r.goldschm...@gmail.com>; Chee, Tien Fong > <tien.fong.c...@intel.com>; Hea, Kok Kiang <kok.kiang....@intel.com>; > Lokanathan, Raaj <raaj.lokanat...@intel.com>; Maniyam, Dinesh > <dinesh.mani...@intel.com>; Ng, Boon Khai <boon.khai...@intel.com>; > Yuslaimi, Alif Zakuan <alif.zakuan.yusla...@intel.com>; Chong, Teik Heng > <teik.heng.ch...@intel.com>; Zamri, Muhammad Hazim Izzat > <muhammad.hazim.izzat.za...@intel.com>; Tang, Sieu Mun > <sieu.mun.t...@intel.com>; Bin Meng <bmeng...@gmail.com> > 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 <teik.heng.ch...@intel.com> > > > > The controller registers should not be accessed while the controller's > > vcc_reset_n is asserted. > > > > Signed-off-by: Teik Heng Chong <teik.heng.ch...@intel.com> > > 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-of-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.