Hi Stefan, On 11/23/2017 10:29 PM, Stefan Wahren wrote: > Hi Minas, > >> Minas Harutyunyan <Minas.Harutyunyan@xxxxxxxxxxxx> hat am 23. November 2017 um 11:00 geschrieben: >> >> >> Hi Stefan, >> >> ... >> >> In addition to above patches please apply this one: >> >> diff --git a/drivers/usb/dwc2/core.c b/drivers/usb/dwc2/core.c >> index 42ac47f85bb4..7db50c27c061 100644 >> --- a/drivers/usb/dwc2/core.c >> +++ b/drivers/usb/dwc2/core.c >> @@ -433,6 +433,14 @@ void dwc2_force_mode(struct dwc2_hsotg *hsotg, bool >> host) >> dwc2_writel(gusbcfg, hsotg->regs + GUSBCFG); >> >> dwc2_wait_for_mode(hsotg, host); >> + >> + /* Reset after mode changed. Required to restore >> + * 'power on reset' values for chosen mode >> + */ >> + if (dwc2_core_reset(hsotg, true)) >> + dev_err(hsotg->dev, >> + "%s: Reset failed, aborting", __func__); >> + >> return; >> } >> > > now i get this output in the unconnected case: > > [ 2.203265] dwc2 20980000.usb: dwc2_check_params: Invalid parameter host_perio_tx_fifo_size=0 > [ 2.223595] dwc2 20980000.usb: EPs: 8, dedicated fifos, 4080 entries in SPRAM > [ 2.237313] dwc2 20980000.usb: DCFG=0x00200000, DCTL=0x00000000, DIEPMSK=00000000 > [ 2.251241] dwc2 20980000.usb: GAHBCFG=0x00000000, GHWCFG1=0x00000000 > [ 2.264092] dwc2 20980000.usb: GRXFSIZ=0x00001000, GNPTXFSIZ=0x00201000 > [ 2.276997] dwc2 20980000.usb: DPTx[1] FSize=512, StAddr=0x00001020 > [ 2.289533] dwc2 20980000.usb: DPTx[2] FSize=512, StAddr=0x00001220 > [ 2.301811] dwc2 20980000.usb: DPTx[3] FSize=512, StAddr=0x00001420 > [ 2.313895] dwc2 20980000.usb: DPTx[4] FSize=512, StAddr=0x00001620 > [ 2.325905] dwc2 20980000.usb: DPTx[5] FSize=512, StAddr=0x00001820 > [ 2.337737] dwc2 20980000.usb: DPTx[6] FSize=768, StAddr=0x00001a20 > [ 2.349314] dwc2 20980000.usb: DPTx[7] FSize=768, StAddr=0x00001d20 > [ 2.360658] dwc2 20980000.usb: ep0-in: EPCTL=0x00008800, SIZ=0x00000000, DMA=0xc7cc399d > [ 2.373898] dwc2 20980000.usb: ep0-out: EPCTL=0x00008000, SIZ=0x00000000, DMA=0x4369542a > [ 2.391729] dwc2 20980000.usb: ep1-in: EPCTL=0x00001000, SIZ=0x00000000, DMA=0x3cf1e8ff > [ 2.405310] dwc2 20980000.usb: ep1-out: EPCTL=0x00000000, SIZ=0x00000000, DMA=0xfee68e5b > [ 2.424087] dwc2 20980000.usb: ep2-in: EPCTL=0x00001800, SIZ=0x00000000, DMA=0x250c46a5 > [ 2.438198] dwc2 20980000.usb: ep2-out: EPCTL=0x00000000, SIZ=0x00000000, DMA=0x09126d05 > [ 2.458271] dwc2 20980000.usb: ep3-in: EPCTL=0x00002000, SIZ=0x00000000, DMA=0xad3adfdb > [ 2.472553] dwc2 20980000.usb: ep3-out: EPCTL=0x00000000, SIZ=0x00000000, DMA=0x975be477 > [ 2.492567] dwc2 20980000.usb: ep4-in: EPCTL=0x00002800, SIZ=0x00000000, DMA=0x4b1c0566 > [ 2.506976] dwc2 20980000.usb: ep4-out: EPCTL=0x00000000, SIZ=0x00000000, DMA=0x1790a498 > [ 2.527472] dwc2 20980000.usb: ep5-in: EPCTL=0x00003000, SIZ=0x00000000, DMA=0xd73f7ded > [ 2.541993] dwc2 20980000.usb: ep5-out: EPCTL=0x00000000, SIZ=0x00000000, DMA=0x37bc32ff > [ 2.562397] dwc2 20980000.usb: ep6-in: EPCTL=0x00003800, SIZ=0x00000000, DMA=0xc6ac6b1e > [ 2.576850] dwc2 20980000.usb: ep6-out: EPCTL=0x00000000, SIZ=0x00000000, DMA=0xdd2f97d1 > [ 2.597308] dwc2 20980000.usb: ep7-in: EPCTL=0x00004000, SIZ=0x00000000, DMA=0xeb84b4fb > [ 2.612023] dwc2 20980000.usb: ep7-out: EPCTL=0x00000000, SIZ=0x00000000, DMA=0xfadeb4e6 > [ 2.633447] dwc2 20980000.usb: DVBUSDIS=0x000017d7, DVBUSPULSE=000005b8 > [ 2.647954] dwc2 20980000.usb: DWC OTG Controller > [ 2.660187] dwc2 20980000.usb: new USB bus registered, assigned bus number 1 > [ 2.674855] dwc2 20980000.usb: irq 33, io mem 0x20980000 > [ 2.689352] hub 1-0:1.0: USB hub found > [ 2.700837] hub 1-0:1.0: 1 port detected > [ 2.716013] dwc2 20980000.usb: Mode Mismatch Interrupt: currently in Device mode > > and this in connected case: > > [ 2.203259] dwc2 20980000.usb: dwc2_check_param_tx_fifo_sizes: Invalid parameter g_tx_fifo_size[6]=768 > [ 2.224317] dwc2 20980000.usb: dwc2_check_param_tx_fifo_sizes: Invalid parameter g_tx_fifo_size[7]=768 > [ 2.245984] dwc2 20980000.usb: EPs: 8, dedicated fifos, 4080 entries in SPRAM > [ 2.260139] dwc2 20980000.usb: DCFG=0x00000000, DCTL=0x00000000, DIEPMSK=00000000 > [ 2.274290] dwc2 20980000.usb: GAHBCFG=0x00000000, GHWCFG1=0x00000000 > [ 2.287245] dwc2 20980000.usb: GRXFSIZ=0x00001000, GNPTXFSIZ=0x01001000 > [ 2.300289] dwc2 20980000.usb: DPTx[1] FSize=512, StAddr=0x00002000 > [ 2.313124] dwc2 20980000.usb: DPTx[2] FSize=512, StAddr=0x00002000 > [ 2.325661] dwc2 20980000.usb: DPTx[3] FSize=512, StAddr=0x00002000 > [ 2.338103] dwc2 20980000.usb: DPTx[4] FSize=512, StAddr=0x00002000 > [ 2.350176] dwc2 20980000.usb: DPTx[5] FSize=512, StAddr=0x00002000 > [ 2.361982] dwc2 20980000.usb: DPTx[6] FSize=512, StAddr=0x00002000 > [ 2.373877] dwc2 20980000.usb: DPTx[7] FSize=512, StAddr=0x00002000 > [ 2.385304] dwc2 20980000.usb: ep0-in: EPCTL=0x00000800, SIZ=0x00000000, DMA=0xc7cc3f81 > [ 2.398589] dwc2 20980000.usb: ep0-out: EPCTL=0x00000800, SIZ=0x00000000, DMA=0xc7cc3f81 > [ 2.417158] dwc2 20980000.usb: ep1-in: EPCTL=0x00001000, SIZ=0x00000000, DMA=0x3cf1e8ff > [ 2.430986] dwc2 20980000.usb: ep1-out: EPCTL=0x00001000, SIZ=0x00000000, DMA=0x3cf1e8ff > [ 2.450726] dwc2 20980000.usb: ep2-in: EPCTL=0x00001800, SIZ=0x00000000, DMA=0x200c4625 > [ 2.464986] dwc2 20980000.usb: ep2-out: EPCTL=0x00001800, SIZ=0x00000000, DMA=0x200c4625 > [ 2.485186] dwc2 20980000.usb: ep3-in: EPCTL=0x00002000, SIZ=0x00000000, DMA=0xad1adfdb > [ 2.499834] dwc2 20980000.usb: ep3-out: EPCTL=0x00002000, SIZ=0x00000000, DMA=0xad1adfdb > [ 2.520314] dwc2 20980000.usb: ep4-in: EPCTL=0x00002800, SIZ=0x00000000, DMA=0x4b1c0466 > [ 2.534866] dwc2 20980000.usb: ep4-out: EPCTL=0x00002800, SIZ=0x00000000, DMA=0x4b1c0466 > [ 2.555389] dwc2 20980000.usb: ep5-in: EPCTL=0x00003000, SIZ=0x00000000, DMA=0xd73f3dac > [ 2.570072] dwc2 20980000.usb: ep5-out: EPCTL=0x00003000, SIZ=0x00000000, DMA=0xd73f3dac > [ 2.590527] dwc2 20980000.usb: ep6-in: EPCTL=0x00003800, SIZ=0x00000000, DMA=0xe4ac4b9e > [ 2.604888] dwc2 20980000.usb: ep6-out: EPCTL=0x00003800, SIZ=0x00000000, DMA=0xe4ac4b9e > [ 2.625322] dwc2 20980000.usb: ep7-in: EPCTL=0x00004000, SIZ=0x00000000, DMA=0xeba4b4fa > [ 2.639961] dwc2 20980000.usb: ep7-out: EPCTL=0x00004000, SIZ=0x00000000, DMA=0xeba4b4fa > [ 2.661274] dwc2 20980000.usb: DVBUSDIS=0x0000ea60, DVBUSPULSE=000005b8 > [ 2.675659] dwc2 20980000.usb: DWC OTG Controller > [ 2.687646] dwc2 20980000.usb: new USB bus registered, assigned bus number 1 > [ 2.702170] dwc2 20980000.usb: irq 33, io mem 0x20980000 > [ 2.716838] hub 1-0:1.0: USB hub found > [ 2.728318] hub 1-0:1.0: 1 port detected > >> >> Core reset required after mode forcing to get power on reset values for >> chosen mode. >> >> One question. This debug print: >> >> EPs: 8, dedicated fifos, 4080 entries in SPRAM >> >> Assume that you didn't apply second patch c6f7e1c.diff. Am I right? > > No, but its possible that the 2nd patch doesn't have the effect on top of 4.14. > >> By >> applying mentioned patch SPRAM entries should changed to 4096. >> >> BTW, your update of first patch is correct. Sorry for sending wrong >> patch, that patch assume that applied another series of patches which >> not in mainline Kernel yet. > > Btw your patch above doesn't apply cleanly. dwc2_force_mode() have a result code in mainline. > > Regards > Stefan > >> >> Thanks, >> Minas >> > Could you please add printout of core mode (host or device) before filling hsotg->hw_params.g_tx_fifo_size[fifo] array and each elements of array in function dwc2_get_hwparams(). Please provide log for both unconnect and connect cases. Thanks, Minas -- 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