[meta-freescale] kernel stuck at start up on iMx6solo customized board

Vahid Gharaee vgharaee at gmail.com
Wed Mar 6 04:42:06 PST 2019


Hello everybody,

I have a customized imx6 solo board. 1 GB of DDR3 ram and MMC for boot.

I have ported u-boot(the fslc community one) and it seems to work fine. I
also run stress RAM test and it came out OK. (calibration data is used in
imximage.cfg)

when I attempt to run kernel it stuck at "*starting kernel*" commands:

>>ext4load mmc 0 ${loadaddr} zImage >>ext4load mmc 0 ${fdt_addr} *.dtb >>bootz ${loadaddr} - ${fdt_addr}

(loadaddr=0x12000000 and fdt_addr=0x18000000 the bootargs has the right
ttymxc and baudrate value)

with early printk it says: "*Uncompressing Linux... done, booting the
kernel.*"

*printk* doesn't work, (Guess the initialize not done).

Fortunately, I have some LEDs on board, so I tried to use them and trace
the code. the it seems it kernel hangs at enabling MMU:

/arch/arm/kernel/head.S :

. .     ENTRY(__turn_mmu_on)         mov r0, r0         instr_sync
   mcr p15, 0, r0, c1, c0, 0         mrc p15, 0, r3, c0, c0, 0
instr_sync         mov r3, r3         mov r3, r13         ret r3
__turn_on_mmu_end     ENDPROC(__turn_mmu_on)`enter code here` ...

those mcr and mrc are the point that i can toggle GPIObefore them and not
after!

I should add: to toggling GPIO I used physical address before them and
virtual address after.(I also test with physical add) physical address: for
example 0x0209c000 -> gpio data register which virtual address is:
0xf429c000 (just in iMX platform)

also I disable i/d cache before boot up kernel. didn't know how to disable
MMU but according the u-boot it seems to be disabled.

please help me find the solution.

Thanks
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.yoctoproject.org/pipermail/meta-freescale/attachments/20190306/a890d81a/attachment.html>


More information about the meta-freescale mailing list