
Hi Tim et al.
On Wed, 2022-02-02 at 08:27 -0800, Tim Harvey wrote:
On Wed, Feb 2, 2022 at 3:36 AM Adam Ford aford173@gmail.com wrote:
[snip]
To give some numbers to the SPL size issue here is what I've found:
- lpddr4 dram config structs are about 3K each (I know I have 3 of
them currently in my IMX8MM board support)
- lpddr4 training blobs are about 51K but they get placed following
the SPL and padded to 87K; this is a pretty big waste. Perhaps there is some way we can easily get rid of the padding
- SPL_DM_USB/SPL_USB_HOST/SPL_USB_GADGET is 34K but with non-dm-usb
support (the patches Adam is referring to) its 17K so the cost of SPL_DM_USB is 17K
By chance I am also looking at this trying to get our USB recovery use case going using uuu with mainline U- Boot and I noticed a similar tightness in SPL space. Using LTO gave me a few more kilobytes but you are already using that as far as I can tell. In addition to that padding which may be optimized we also should really have 256 KB of SRAM while currently not all of that seem used/usable.
I know for imx8mm-venice I am down to having only a few KB left and will probably need it for future dram configs.
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?
Best Regards,
Tim
Thanks, Tim.
Cheers
Marcel