On Thu, Aug 06, 2020 at 02:41:27PM +0200, Marco Felsch wrote: > On 20-08-04 23:41, Anees Rehman wrote: > > ... > > > +static noinline void imx7d_sxb_sram_setup(void) > > +{ > > + int ret; > > + > > + relocate_to_current_adr(); > > + setup_c(); > > + > > + pr_debug("configuring ddr...\n"); > > + write_regs(imx7d_ixb_dcd, ARRAY_SIZE(imx7d_ixb_dcd)); > > + > > + ret = imx7_esdhc_start_image(2); > > + > > + BUG_ON(ret); > > +} > > + > > +ENTRY_FUNCTION(start_ac_sxb, r0, r1, r2) > > +{ > > + imx7_cpu_lowlevel_init(); > > + > > + if (IS_ENABLED(CONFIG_DEBUG_LL)) > > + setup_uart(); > > + > > + if (get_pc() < 0x80000000) > > + imx7d_sxb_sram_setup(); > > Nit: > After this call we are running in the correct place... > > > + imx7d_barebox_entry(__dtb_z_ac_sxb_start + get_runtime_offset()); > > So get_runtime_offset() shouldn't be necessary if I got it right. > > > +} If I remove get_runtime_offset(), I end up with the following crash: initcall-> imx_init+0x1/0x238 detected i.MX7d revision 1.2 i.MX reset reason POR (SRSR: 0x00000001) initcall imx_init+0x1/0x238 failed: Invalid argument initcall-> imx_serial_driver_register+0x1/0xc initcall-> input_init+0x1/0x70 initcall-> dos_partition_init+0x1/0xc initcall-> efi_partition_init+0x1/0xc initcall-> imx_esdctl_init+0x1/0xc initcall-> mmu_init+0x1/0x34 MMU: No memory bank found! Cannot continue [<9fe6373d>] (unwind_backtrace+0x1/0x78) from [<9fe01379>] (panic+0x1d/0x34) [<9fe01379>] (panic+0x1d/0x34) from [<9fe614b9>] (mmu_init+0x19/0x34) [<9fe614b9>] (mmu_init+0x19/0x34) from [<9fe01061>] (start_barebox+0x51/0x90) [<9fe01061>] (start_barebox+0x51/0x90) from [<9fe61749>] (barebox_non_pbl_start+0x121/0x164) [<9fe61749>] (barebox_non_pbl_start+0x121/0x164) from [<9fe00005>] (__bare_init_start+0x1/0xc) ### ERROR ### Please RESET the board ### _______________________________________________ barebox mailing list barebox@xxxxxxxxxxxxxxxxxxx http://lists.infradead.org/mailman/listinfo/barebox