i.MX8M Mini Hangs at ATF when booting from USB

Michael Nazzareno Trimarchi michael at amarulasolutions.com
Mon Jan 31 22:11:31 CET 2022


Hi Adam

On Mon, Jan 31, 2022 at 10:05 PM Adam Ford <aford173 at gmail.com> wrote:
>
> 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.
>

Are you using uuu? seems not

Michael

> >
> > >
> > > 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



-- 
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