[PATCH v2 2/2] board: mntre: imx8mq: Add MNT Reform 2 board support

Patrick Wildt patrick at blueri.se
Wed Nov 24 17:42:54 CET 2021


On Fri, Nov 12, 2021 at 11:59:29AM -0800, Vagrant Cascadian wrote:
> On 2021-11-11, Patrick Wildt wrote:
> > On Thu, Nov 11, 2021 at 12:21:26PM +0100, Patrick Wildt wrote:
> >> On Wed, Nov 10, 2021 at 02:26:54PM -0800, Vagrant Cascadian wrote:
> >> > On 2021-09-02, Patrick Wildt wrote:
> >> > > The MNT Reform 2 is a modular DIY laptop.  In its initial version it
> >> > > is based on the BoundaryDevices i.MX8MQ SoM.  Some parts have been
> >> > > lifted from BoundaryDevices official U-Boot downstream project.
> ...
> >> > Both simply hanging with:
> >> > 
> >> >   U-Boot SPL 2021.10 (Jan 01 1970 - 00:00:01 +0000)
> 
> Still hanging with the below patch...
> 

Might just be the ATF, hm.

> 
> >> There have been a few changes in U-Boot since I sent my patchset, it's
> >> possible the diff by itself might not be enough.
> >> 
> >> I will send out a new patchset soon, but the move to Binman doesn't work
> >> for me yet.  It's weird, because I don't see a diff to other i.MX8MQ
> >> platforms, so I'm still debugging that.  Maybe the other i.MX8MQ boards
> >> don't work with Binman either?
> >> 
> >> Keep note that the build procedure (how to supply bl31) changes once
> >> Binman is used.
> >
> > I have fixed the issue.  My changes depend on Peng's patchset to change
> > i.MX8MQ to Binman, so I will re-issue a v3 of the patchset as soon as
> > that is done (to not interfere any further with his patchset).
> >
> > 'Attached' you'll find a complete diff you can apply to origin/master,
> > which includes some of Peng's changes.  Let me know how it goes for you.
> 
> To get it to build, I needed to add this:
> 
> diff --git a/arch/arm/mach-imx/Makefile b/arch/arm/mach-imx/Makefile
> index 07954bc201..e51b5317fc 100644
> --- a/arch/arm/mach-imx/Makefile
> +++ b/arch/arm/mach-imx/Makefile
> @@ -161,9 +161,9 @@ spl/u-boot-spl.cfgout: $(IMX_CONFIG) FORCE
>         $(Q)mkdir -p $(dir $@)
>                 $(call if_changed_dep,cpp_cfg)
> 
> -spl/u-boot-spl-ddr.bin: spl/u-boot-spl.bin spl/u-boot-spl.cfgout FORCE
> +u-boot-spl-ddr.bin: spl/u-boot-spl.bin spl/u-boot-spl.cfgout FORCE
> 
> -flash.bin: spl/u-boot-spl-ddr.bin u-boot.itb FORCE
> +flash.bin: u-boot-spl-ddr.bin u-boot.itb FORCE
>         $(call if_changed,mkimage)
>          endif
> 

Are you doing 'make flash.bin'?  Because that might be the build issue.
I'm only running 'make', and for me that yields a working flash.bin.

I wonder if that flash.bin target is still relevant, because with binman
the default target runs binman which parses a config file which decides
which binaries to produce, so there's no need for the flash.bin target.

> >> > Is the flash.bin step unecessary? I see DDR timing code in the patch
> >> > series; are corresponding lpddr4*.bin no longer necessary?
> >> 
> >> The flash.bin has all bits: U-Boot, U-Boot SPL, lpddr4*.bin and bl31.bin
> >> 
> >> lpddr4*.bin is the firmware for the DDR controller.  So you need the
> >> timing information *and* the firmware.
> >> 
> >> > I also tried building with an old version of arm-trusted-firmware
> >> > (v2.2), as that was the most recent upstream version that successfully
> >> > built. This seems to be a fork of ATF that has support for iMX8MQ, but
> >> > it is unclear which branch/tag/etc. should be used with the mnt/reform:
> >> > 
> >> >   https://source.codeaurora.org/external/imx/imx-atf
> >> 
> >> Not sure right now, but I think I was using the one that's build on
> >> OpenBSD-current, which seems to be arm-trusted-firmware 2.5.  I'll
> >> check it.
> 
> I can't get atf 2.5 for imx8mq to build on Debian or GNU Guix; it seems
> that maybe it is no longer supported upstream:
> 
>   https://git.trustedfirmware.org/TF-A/trusted-firmware-a.git/commit/?id=e3c07d2f5a082d8bb1684ca026d1789a77b3c870
> 
> Though it's not exactly clear what works...
> 

Huh, that's crazy.  I can send you the ATF binary I'm using if you're
interested.

> 
> >> > It would be nice to include a board README in the next patch revision to
> >> > spell out some of the details of exactly which other projects and
> >> > versions/comments/branches are expected to work with MNT Reform2.
> >> > 
> >> 
> >> This is nothing specific to the MNT Reform2.  It's the same for all
> >> i.MX8MQ boards.  ATF+DDR+U-Boot have to work together, and it doesn't
> >> matter which board it is.  Hence I don't believe providing that kind
> >> information in a Reform-specific README makes sense.
> 
> I guess we need a workable README for i.MX8MQ or something, and only
> boards that differ from that process document the differences?

I do hope at the end of Peng's patchset there won't be any boards that
differ from the process.

Patrick

> But at the moment, it appears to still be guesswork.
>
> live well,
>   vagrant


More information about the U-Boot mailing list