Hi Michael,

On 25/01/2018 at 06:47, Michael Nazzareno Trimarchi wrote:
> On 25 Jan. 2018 12:07 am, "Fabio Estevam" <feste...@gmail.com 
> <mailto:feste...@gmail.com>> wrote:
> 
>     Hi Michael,
> 
>     On Wed, Jan 24, 2018 at 3:46 PM, Michael Nazzareno Trimarchi
>     <mich...@amarulasolutions.com <mailto:mich...@amarulasolutions.com>> 
> wrote:
> 
>     > This is exactly my initial propose. Can we give a try and manage on 
> board level?
> 
>     The kernel should not rely on the IOMUX setting done by the bootloader.
> 
>     Do you use 0x80000000 in your dts IOMUX configuration by any chance?
> 
>     0x80000000 means that the kernel will not do IOMUX configuration and
>     will use the IOMUX value that comes from the bootloader.
> 
> 
> Yes but those should not be even wrong. We can not be sure if the state 
> machine of any logic as already corrupted. Remember that we have already this 
> problem with the clock in general that most of the time are already enabled 
> and so logic can be up.
> 
> 
>     It seems you can fix your USB problem by not using the IOMUX value
>     from the bootloader and just use the good IOMUX (without SION)
>     explicitly in your dts.
> 
>     Does it fix the problem?
> 
> 
> I think that the way to fix in a specific case could be more then one. I will 
> do the best on my side but I will include to not touch iomux without any 
> reason. I already point out that just with few pins configured like console I 
> get the problem . I can check two extra gpio too. 
> 
> To be clear, my board was "working". We are talking about a product in the 
> field since years with one minimal USB mulfuction . Other boards can have the 
> same problem but just not rise in the field. If the host port is direct 
> connected to the pen drive without an hub the USB reset can most of the time 
> recover the connection.

I agree with Fabio: Linux should not rely on the pad configurations performed by
U-Boot. But as you say, U-Boot should work fine itself too. Have you tested the
problematic USB pen drive with U-Boot?

Besides your USB issue, in order to optimize power consumption, iomux-mx25.h
should not set SION by default, except for the pad functions that can in no way
work without it (still to be identified/tested). For the other use cases, the
board files can set SION themselves, thanks to a NEW_PAD_CTRL()-like mechanism
(apparently yet to be introduced into U-Boot). The changes introduced here
should not break anything for the current in-tree boards.

You said that setting SION only for a UART is enough to trigger your USB issue.
Of course, there is no reason to set SION by default for a UART, but I was
thinking about a possible link between UART and USB, as this behavior is very
strange. Which USB host port are use using with the problematic pen drive, and
with which PHY (SoC-internal/external, bus)? Have you checked that this port is
properly configured for this PHY and PWR/OC (on/off + polarity) in both U-Boot
and Linux? For instance, if this port is configured to use OC but no OC signal
is actually wired, this can probably do weird things.

Best regards,
Benoît
_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
https://lists.denx.de/listinfo/u-boot

Reply via email to