i.MX8M Mini Hangs at ATF when booting from USB

Marek Vasut marex at denx.de
Thu Feb 3 18:23:08 CET 2022


On 2/3/22 17:46, Tom Rini wrote:
> On Wed, Feb 02, 2022 at 12:48:06PM -0600, Adam Ford wrote:
>> On Wed, Feb 2, 2022 at 12:42 PM Tom Rini <trini at konsulko.com> wrote:
>>>
>>> On Wed, Feb 02, 2022 at 02:45:44PM -0300, Fabio Estevam wrote:
>>>> Hi Marcel,
>>>>
>>>> [Adding Tom and Marek]
>>>>
>>>> On Wed, Feb 2, 2022 at 2:40 PM Marcel Ziswiler
>>>> <marcel.ziswiler at toradex.com> wrote:
>>>>
>>>>>> The blocker to getting non-dm-spl-usb support for IMX8M appears to be
>>>>>> the base addresses and instead of adding more of them to imx-regs.h we
>>>>>> need to get them from DT via of_platdata which nobody has had time to
>>>>>> dig into yet.
>>>>>
>>>>> I was also a little hesitant due to not using DM in SPL might no longer be accepted upstream. What is the
>>>>> stance on this?
>>>>
>>>> My understanding is that there is no requirement to use DM in SPL.
>>>
>>> DM isn't required in SPL, no.  Are we running in to some size limit
>>> here?  I see SPL_DM being set in a number of imx8m* platforms is why I
>>> ask.
>>
>> If we try to run SPL_DM_USB we run into serious space issues.  Some of
>> us are trying to boot over USB, but the only real way to do it appears
>> to be to not use DM_USB in SPL, but that requires adding some more
>> manual registers.
>>
>> Ideally, we would use of_platdata, but if that's enabled, it requires
>> a bunch of drivers to be updated, and until that's done, all kinds of
>> stuff break.  I think Fabio tried to push a non-DM-USB method, but
>> there was some resistance.
> 
> OK.  Yes, I would prefer that ideal situation but given the current
> backlog of imx changes, I understand the hesitation to add still more to
> the to be merged queue.

Stefano should be back soon.

That said, the hang in MX8M USB likely happens because USB block depends 
on GPC driver to bring up its power domains, which does so by means of 
SMC calls into ATF, which at SPL time is unavailable, hence the hang.

So someone would have to rewrite the MX8M GPC driver to NOT do SMC 
calls, but rather control the GPC registers directly, like it is done in 
Linux.


More information about the U-Boot mailing list