> -----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-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.

