i.MX8M Mini Hangs at ATF when booting from USB

Adam Ford aford173 at gmail.com
Mon Jan 31 22:05:40 CET 2022


On Mon, Jan 31, 2022 at 2:48 PM Adam Ford <aford173 at gmail.com> wrote:
>
> On Mon, Jan 31, 2022 at 2:45 PM Michael Nazzareno Trimarchi
> <michael at amarulasolutions.com> wrote:
> >
> > Hi
> >
> > On Mon, Jan 31, 2022 at 9:34 PM Adam Ford <aford173 at gmail.com> wrote:
> > >
> > > On Mon, Jan 31, 2022 at 2:25 PM Michael Nazzareno Trimarchi
> > > <michael at amarulasolutions.com> wrote:
> > > >
> > > > HI Adam
> > > >
> > > > On Mon, Jan 31, 2022 at 9:21 PM Adam Ford <aford173 at gmail.com> wrote:
> > > > >
> > > > > I have a situation where the same Flash.bin file can boot an MMC card,
> > > > > but hang when booting over USB.
> > > > >
> > > > > In both cases, I can see the FIT file is loaded, and the various items
> > > > > are identified and placed in their respective folders memory
> > > > > locations.  The only difference I can see is that when jumping to
> > > > > 0x920000 (ATF), the USB booting hangs and ATF doesn't appear to
> > > > > execute.  Is there some special command that I need to issue to unlock
> > > > > this memory to execute from it when booting from USB?  I am calling
> > > > > enable_tzc380 from SPL, and I read the first 100 bytes and last 100
> > > > > bytes and compared it to my bl31.bin file, and it appears to match, so
> > > > > I know I can read from it.
> > > > >
> > > > > U-Boot SPL 2022.01-00836-g3cc200c91a-dirty (Jan 30 2022 - 07:31:51 -0600)
> > > > > No pmic
> > > > > WDT:   Not starting watchdog at 30280000
> > > > > Trying to boot from USB SDP
> > > > > USB EHCI 1.00
> > > > > SDP: initialize...
> > > > > SDP: handle requests...
> > > > > Downloading file of size 832080 to 0x40400000... done
> > > > > Jumping to header at 0x40400000
> > > > > Header Tag is not an IMX image
> > > > > Found header at 0x40417c00
> > > > > firmware: 'uboot'
> > > > > External data: dst=40200000, offset=3000, size=9ddd8
> > > > > fdt: 'fdt-1'
> > > > > External data: dst=4029de00, offset=aaea0, size=87b0
> > > > > loadables: 'atf'
> > > > > External data: dst=920000, offset=a0dd8, size=a0c6
> > > > > image entry point: 0x920000
> > > > >
> > > >
> > > > Check if the uart used on atf and uboot are mapping correctly (but
> > > > this should because you can boot from sdcard)
> > >
> > > As far as i can tell, I have not done any differently in the serial
> > > from the NXP downstream.
> > >
> > > > ENV_IS_EVERYWHERE in configs file. It's no PMIC a problem when you jump in atf?
> > >
> > > I have experimented with and without ENV_IS_EVERYWHERE, but that only
> > > seemed to help my imx8m Nano when jumping from ATF -> U-Boot.  As for
> > > my Mini, the jump from SPL->ATF seems to be the issue.
> > >
> > > What might the PMIC have to do with the ATF?  From what I can tell,
> > > the PMIC is pre-configured and the default voltages appear to boot the
> >
> > I have only seen this. I don't say that is connected. If the voltage
> > are ok and you don't need
> > to program it I don't see the problem
> >
> > > MMC.  i had to disable the PMIC driver in order to make room for the
> > > USB code.  I have a few lines of code in my board's spl.c file to
> > > setup a few registers based on NXP's original 8MM design and reference
> > > software.
> >
> > Can you enable debug on the atf side?
>
> I can try that.
>
> >
> > Are you using binman to create the image flash.bin?
>
> Yes.

What's strange to me is that the same flash.bin file behaves
differently between the two boot modes.  This leads me to believe
there is something missing in the setup in order to execute from
OCRAM.  I attempted to jump directly U-Boot and bypass ATF.  U-Boot
starts to load, then hangs. The hanging is likely due to the lack of
ATF.  However, this also tells me that I can load the FIT file, place
it into memory and jump to external memory.

>
> >
> > Michael
> >
> > >
> > > adam
> > > >
> > > > Michael
> > > >
> > > > > <hang>
> > > >
> > > >

With Debug enabled booting over USB:


U-Boot SPL 2022.01-00836-g3cc200c91a-dirty (Jan 31 2022 - 14:55:11 -0600)
No pmic
WDT:   Not starting watchdog at 30280000
Trying to boot from USB SDP
USB EHCI 1.00
SDP: initialize...
SDP: handle requests...
Downloading file of size 840280 to 0x40400000... done
Jumping to header at 0x40400000
Header Tag is not an IMX image
Found header at 0x40417c00
firmware: 'uboot'
External data: dst=40200000, offset=3000, size=9ddd8
fdt: 'fdt-1'
External data: dst=4029de00, offset=acea8, size=87b0
loadables: 'atf'
External data: dst=920000, offset=a0dd8, size=c0ce
image entry point: 0x920000

<hang>


With Debug Enabled, Booting (same flash.bin file) over MMC:

U-Boot SPL 2022.01-00836-g3cc200c91a-dirty (Jan 31 2022 - 14:55:11 -0600)
No pmic
WDT:   Not starting watchdog at 30280000
Trying to boot from MMC1
firmware: 'uboot'
External data: dst=40200000, offset=3000, size=9ddd8
fdt: 'fdt-1'
External data: dst=4029de00, offset=acea8, size=87b0
loadables: 'atf'
External data: dst=920000, offset=a0dd8, size=c0ce
image entry point: 0x920000
NOTICE:  BL31: v2.4(debug):lf-5.10.72-2.2.0-0-g5782363f9
NOTICE:  BL31: Built : 14:54:53, Jan 31 2022
INFO:    GICv3 with legacy support detected.
INFO:    ARM GICv3 driver initialized in EL3
INFO:    BL31: Initializing runtime services
INFO:    BL31: cortex_a53: CPU workaround for 855873 was applied
WARNING: BL31: cortex_a53: CPU workaround for 1530924 was missing!
INFO:    BL31: Preparing for EL3 exit to normal world
INFO:    Entry point address = 0x40200000
INFO:    SPSR = 0x3c9


U-Boot 2022.01-00836-g3cc200c91a-dirty (Jan 31 2022 - 14:55:11 -0600)

CPU:   Freescale i.MX8MMQ rev1.0 at 1200 MHz
Reset cause: POR
Model: Beacon EmbeddedWorks i.MX8M Mini Development Kit
DRAM:  2 GiB
Core:  99 devices, 21 uclasses, devicetree: separate
WDT:   Not starting watchdog at 30280000
MMC:   Invalid usdhc index
FSL_SDHC: 3, FSL_SDHC: 0, FSL_SDHC: 1
Loading Environment from MMC... *** Warning - bad CRC, using default environment

In:    serial at 30890000
Out:   serial at 30890000
Err:   serial at 30890000
Net:
Warning: ethernet at 30be0000 (eth0) using random MAC address - e6:a2:02:0d:23:8b
eth0: ethernet at 30be0000
Hit any key to stop autoboot:  0
u-boot=>


> > > >
> > > > --
> > > > Michael Nazzareno Trimarchi
> > > > Co-Founder & Chief Executive Officer
> > > > M. +39 347 913 2170
> > > > michael at amarulasolutions.com
> > > > __________________________________
> > > >
> > > > Amarula Solutions BV
> > > > Joop Geesinkweg 125, 1114 AB, Amsterdam, NL
> > > > T. +31 (0)85 111 9172
> > > > info at amarulasolutions.com
> > > > www.amarulasolutions.com
> >
> >
> >
> > --
> > Michael Nazzareno Trimarchi
> > Co-Founder & Chief Executive Officer
> > M. +39 347 913 2170
> > michael at amarulasolutions.com
> > __________________________________
> >
> > Amarula Solutions BV
> > Joop Geesinkweg 125, 1114 AB, Amsterdam, NL
> > T. +31 (0)85 111 9172
> > info at amarulasolutions.com
> > www.amarulasolutions.com


More information about the U-Boot mailing list