
On 2/3/22 18:27, Adam Ford wrote:
On Thu, Feb 3, 2022 at 11:23 AM Marek Vasut marex@denx.de wrote:
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@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@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.
I did some experiments on that, but the USB enumerates, downloads the image, parses the image, but hangs on the jump. From what I could tell, the boot ROM appeared to enable enough of the USB to facilitate the USB transfer.
And this works when you load SPL via USB or does it also work when you load SPL from e.g. SD card ? I bet it is only the former.
If I did the same experiment without SPL_DM_USB, the load was successful. I am guessing the memory is too tight with SPL_DM_USB, because I am not seeing a significant difference in behavior other than code and memory footprint with and without DM_USB.
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.
This has been in my radar, since I think I understand it fairly well, but I haven't had the time to tackle it.
It's not going to implement itself.
[...]