Hi Peter Good news. On Mon, Jan 15, 2018 at 2:35 PM, Michael Nazzareno Trimarchi <michael@xxxxxxxxxxxxxxxxxxxx> wrote: > Hi Peter > > On Mon, Dec 25, 2017 at 1:56 AM, Peter Chen <peter.chen@xxxxxxx> wrote: >> >>> > On Thu, Nov 16, 2017 at 10:20 AM, Peter Chen <peter.chen@xxxxxxx> wrote: >>> >> >>> >>> > >>> >>> > All USB registers, including USB transceiver, USB non-core, and USB core. >>> >>> >>> >>> I need to have some time to go to the platform again. It will be possible this >>> weekend. >>> >>> Have you any idea to restrict the debug apart register dump? >>> >>> >>> >> >>> >> I am afraid I don't have since imx25 is too old, I have little directly experiences on >>> it. >>> >> >>> > >>> > I have done some testing on top. I can not easily dump registers on >>> > the 2.6.31. I have recompile the old kernel and re-instrumented it. >>> > Well I don't find any important thing. >>> > >>> > The old kernel was using ehci_fsl.c basecode and the new one use >>> > chipidea. Let's say that some changes are in USB_CTRL usbmisc >>> > controller initialization but even play with those bits I did not find >>> > any failure on that side. I will continue on difference. Hope that >>> > some other have some idea ;). >>> >>> I have used a usb hardware tracer. What I can say that basically after the reset the >>> device try to go in HIGH SPEED mode but the controller can only manage full speed >>> even is an ehci. >>> >>> I have tried the errata to set PFSC bit but is even set from the dts if we force the >>> FULL SPEED mode. > > The big difference I found is the way that they schedule request in > periodic schedule introduce > by 3ca9aebac2ebb8f56d2d097636b8c568320a9f87 from v3.10 > After reading all the code and check every registers. I discovered that problem is before kernel start. For now is a magic mistery. I need to check bootloader source code. Old kernel and new kernel works in old bootloader. I need to understand what is done in the bootloader that make kernel not perfect working Michael > What I will try to do is to go to 3.18 that I know that already was > not working. Revert couple of change > in usb that make ehci registers register difference and test again > > This is the controller status after insert the key > > bus platform, device ci_hdrc.1 > EHCI Host Controller > EHCI 1.00, rh state running > structural params 0x00010011 > capability params 0x00000006 > status ce088 PPCE Async Periodic Recl FLR > command 0010075 (park)=0 ithresh=1 IAAD Async Periodic period=512 RUN > intrenable 37 IAA FATAL PCD ERR INT > uframe 2f78 > port:1 status e1001805 112 STALL POWER sig=j PE CONNECT > irq normal 572 err 0 iaa 202 (lost 0) > complete 572 unlink 20 > > In csv you can find capture from 2.6.x and 4.1x kernel. I have the dump > of registers too but they just let me undestand about the periodic scheduling > and a bit different init of USBMISC part > > Michael > > >>> >>> >>> Michael >>> >> >> Michael, it may have some trick things for imx25, I highly recommend compare the registers >> between work model and non-work model. You may use 'memtool' which at unit_tests folder >> which should be in Freescale released rootfs to dump registers. >> >> Peter -- | Michael Nazzareno Trimarchi Amarula Solutions BV | | COO - Founder Cruquiuskade 47 | | +31(0)851119172 Amsterdam 1018 AM NL | | [`as] http://www.amarulasolutions.com | -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html